单片机课程设计热敏电阻测温显示系统.doc

上传人:精*** 文档编号:855362 上传时间:2023-09-17 格式:DOC 页数:29 大小:905.34KB
下载 相关 举报
单片机课程设计热敏电阻测温显示系统.doc_第1页
第1页 / 共29页
单片机课程设计热敏电阻测温显示系统.doc_第2页
第2页 / 共29页
单片机课程设计热敏电阻测温显示系统.doc_第3页
第3页 / 共29页
单片机课程设计热敏电阻测温显示系统.doc_第4页
第4页 / 共29页
单片机课程设计热敏电阻测温显示系统.doc_第5页
第5页 / 共29页
点击查看更多>>
资源描述

1、燕 山 大 学 课 程 设 计 说 明 书大学课程设计(论文)任务书院(系):电气工程学院 基层教学单位:仪器科学与工程系 学 号学生姓名Xxx专业(班级)xxx班设计题目热敏电阻测温显示系统设计技术参数设计一个采用热敏电阻为敏感元件的温度测量显示系统,温度显示范围为0-100,显示分辨率0.1。设计要求设计热敏电阻检测电路与单片机的接口电路、4位LED显示电路;编制相应的程序。工作量设计的内容满足课程设计的教学目的与要求,设计题目的难度和工作量适合学生的知识和能力状况,工作量饱满。工作计划查阅资料进行设计准备、设计硬件电路、编制程序,编制程序、验证设计、撰写任务书。参考资料单片微型计算机接口

2、技术及其应用 张淑清 国防工业出版社单片机原理及应用技术 张淑清 国防工业出版社单片机应用技术汇编指导教师签字基层教学单位主任签字说明:此表一式四份,学生、指导教师、基层教学单位、系部各一份。2012 年 6 月 29 日 目 录第一章 摘要2第二章 总体设计42.1 理论分析42.2 过程分析4第三章 硬件电路设计53.1 传感器电路模块53.2 A/D变换电路模块93.3 八段数码管显示123.4 8051芯片介绍153.5 电源电路16第四章 压力传感器实验数据采集、显示及程序164.1 数据采集及显示174.2 程序设计17第五章 拓展 DS18B20芯片测温显示系统.23第六章 心得

3、体会29参考文献资料 30 第一章 摘要随着以知识经济为特征的信息化时代的到来人们对仪器仪表的认识更加深入,温度作为一个重要的物理量,是工业生产过程中最普遍,最重要的工艺参数之一。随着工业的不断发展,对温度的测量的要求也越来越高,而且测量的范围也越来越广,对温度的检测技术的要求也越来越高,因此,温度测量及其测量技术的研究也是一个很重要的课题。目前温度计按测使用的温度计种类繁多,应用范围也比较广泛,大致可以包括以下几种方法: 1 利用物体热胀冷缩原理制成的温度计 2 利用热电效应技术制成的温度检测元件 3 利用热阻效应技术制成的温度计 4 利用热辐射原理制成的高温计 5 利用声学原理进行温度测量

4、本系统的温度测量采用的就是热阻效应。本文设计一个采用热敏电阻为敏感元件的温度测量显示系统,温度显示范围为0-100,显示分辨率为0.1。通过热敏电阻温度传感器、AD模数转换器、LED显示电路并利用汇编语言编写程序,最终实现温度测量系统。测温电桥的主要部分是热敏电阻。 热敏电阻的主要特点是:灵敏度较高,其电阻温度系数要比金属大10100倍以上,能检测出10-6的温度变化;工作温度范围宽,常温器件适用于-55315,高温器件适用温度高于315(目前最高可达到2000),低温器件适用于-27355;体积小,能够测量其他温度计无法测量的空隙、腔体及生物体内血管的温度;使用方便,电阻值可在0.1100k

5、间任意选择;易加工成复杂的形状,可大批量生产;稳定性好、过载能力强。温度是表征物体冷热程度的物理量,常见的温度传感器有热电阻传感器、 热敏电阻传感器、 热电偶温度 传感器、 集成温度传感器。热敏电阻本身是一个利用其电阻值随温度变化而 变化的温度传感元件, 而且其灵敏度高、 体积小、 使用方便、 结构简单等 优点, 因此利用热敏电阻制成的温度计广泛应用于航空、 医学、 工业及 家用电器等方面做测温、 控制、 温度补偿、 流速测量、 液面指示等。采用 以单片机为核心的热敏电阻温度计能很容易地减小上述影响,并且读 数方便, 精确度高, 更显数字化。 本设计采用全桥测量电路,使系统产生的误差更小,输出

6、的数据更精确。而运算放大电路的作用就是把传感器输出的微弱的模拟信号进行一定倍数的放大,以满足A/D转换器对输入信号电平的进行各种转换处理的要求。ADC0809 的A/D转换作用是进行模数转换把模拟信号转变成数字信号,然后把数字信号输送到显示电路中去,由六位(本实验采用四位)八段数码管显示出测量结果。关键字:温度传感器 热敏电阻 A/D数模转换 数码管动态显示第二章 总体设计2.1 理论分析温度测量模块主要为温度测量电桥,当温度发生变化时,电桥失去平衡,从而在电桥输出端有电压输出,但该电压很小。经过集成放大器放大,将放大后的信号输入AD转换芯片, 进行A/D转换后,就可以用单片机进行数据的处理,

7、在显示电路上,就可以将被测温度显示出来。显 示 模 块单 片 机测 温 系 统AD 转换模块 信 号 放 大 电 源 图11系统框图 图2.1.1 系统硬件原理图如图112.2 过程分析该温度传感器系统硬件原理图如图11所示,由热电阻传感器测得外界温度,经过信号放大,然后送给模数转换,将原有的模拟信号转换为可以被单片机识别和运算的数字信号,然后再通过软件编程由显示电路显示出来当前所测得的温度。它的各部分电路说明如下:(1).测温模块:该部分电路主要使用测温电桥,当温度变化时,电桥处于不平衡状态,从而输出不平衡电压,为测温的基础。(2).信号处理部分:该部分电路包括电压信号的放大和AD转换,实现

8、模数变换,以及硬件滤波。(3)单片机部分:本实验采用8051单片机,其工作在最小模式下,主要任务有:控制AD0809进行模数转换、形成必要的时序、进行数据计算以及控制数码管显示。(4).电源电路部分:该部分电路负责将输入的9V12V直流电,分别转换为稳定的9V、5V、-9V直流电,给传感器,放大电路,单片机,AD0809等供电。(5).显示电路:显示电路的作用是将测量的温度利用动态数码管实时显示出来。 第三章 硬件电路设计3.1传感器电路模块1 测温电桥及信号放大电路 图3.1.1 测温电桥及信号放大电路上图是一个比较常用的温度测量电路,大致分为电源,电阻电桥,运放,输出部分。电源由R4,R6

9、,C1,U1B组成,R4,R6为分压电路,C1主要滤除VCC中纹波,U1B为LM324运算放大器,工作于电压跟随器方式,其特点是具有高输入阻抗低输出阻抗,为后级电桥提供较稳定的电流。电桥由R1,R2,R3,R13及热敏电阻组成,通过调节R13使电桥平衡,当温度发生变化时,热敏电阻变化,电桥产生电压差。运放电路由R7,R8,R9,R10及U1A组成,调节R14可以调节输出电压幅值。D1主要用于防止输出负电压,保护后级A/D电路。 2.测温电桥 图3.1.2 测温电桥如上图所示,热敏电阻RT和RA1,RB1,RC1,以及可变电阻R2组成一个测温电桥,在温度为20度时,调节R2使电桥达到平衡。当温度

10、升高时,热敏电阻的阻值变大,电桥失去平衡,电桥输出的不平衡电压,经过滤波后,输入运算放大器,进行放大处理。3. 电桥的分析 图3.1.3 电桥原理图(1)电桥输出电压: =(2)电桥平衡条件: 当各桥臂发生微小变化时,电桥失去平衡,其输出为: 一般R很小,即RR,又电桥开始平衡,即 所以 实际使用中,为了简化桥路设计,同时也为了得到电桥的最大灵敏度,往往取桥臂电阻相等。4.放大电路最后经过放大部分,如图3.2.3,为压力传感器的微弱电压输出的放大电路。分析它是一个差分放大电路,其放大倍数为,那么放大后的电压值为,因为和温度T有一定的线性关系,A/D转换器的最大输入电压为5v,因此对应A/D输出

11、的电压,与热敏电阻感知的外界温度具有一定的线性关系。图4.1.3放大电路3.2 A/D变换电路模块 ADC0809是M美国国家半导体公司生产的CMOS工艺8通道,8位逐次逼近式A/D转换器。其内部有一个8通道多路开关,它可以根据地址码锁存译码后的信号,只选通8路模拟输入信号中的一个进行A/D转换,是目前国内应用最广泛的8位通用A/D芯片。 1主要特性: (1)8路输入通道,8位A/D转换器,即分辨率为8位 (2)具有转换启停控制端 (3)转换时间为100us(时钟为640kHZ时),130us(时钟为500KHZ时) (4)它由单一+5V电源供电,片内带有锁存功能的8路模拟多路开关,ADC08

12、09可对0V5V的双极性模拟信号进行转换。 (5),引脚图如图4.2.1 所示。各引脚功能说明如下:8位数字量输出引脚,由最低引脚到最高引脚。IN0IN7:8路模拟量输入引脚。:+5V工作电压。GND:地。REF(+):参考电压正端。REF():参考电压负端。START:A/D转换启动信号输入端。ALE:地址锁存允许信号输入端。以上两个信号用于启动A/D转换。EOC:转换结束信号输出引脚。开始转换时为低电平,转换结束时为高电平。OE:输出允许控制端。用以打开三态数据输出锁存器。CLK:时钟信号输入端。ADDA、ADDB、ADDC:地址输入线。经译码后可选通IN0IN7 8个通道的一个通道进行转

13、换。图3.2.1 ADC0809各引脚图实验电路及接线如下图示 :连线连接孔1连接孔21IN0温度传感器输出2AD_CSCS2 图3.2.2 接线框图 A/D转换器的结构及连线图如上图所示,AD0809的工作过程如下:首先用指令选择0809的一个模拟输入通道,当执行MOVX DPTR,A时,产生一个启动信号给START引脚送入脉冲,开始对选中通道转换。当转换结束后发出结束信号,置EOC引脚信号为高电平,该信号可以作为中断申请信号,当读允许信号到,OE端有高电平,则可以读出转换的数字量,利用MOVX A,DPTR把该通道转换结果读到累加器A中。转换电压为05V,调节桥路中的电位器,使其输出电压为

14、05V,可以在较小范围内波动,当满量程输出时对应八个1的输出,由于前边计算的电压变化和电阻变化成正比关系,而且电阻变化和应变成正比,进而得出的压力和电压是成正比的。传感器桥路输出的电压经过比例变换后转换成二进制码的形式送入P0口。其程序框图如下:图3.2.3A/D转换电路程序框图3.3八段数码管显示1.实验线路及接线如下 连线连接孔1连接孔21KEY/LED_CSCS0 图3.3.1 接口图2.动态显示数码管接线部分图3.3.2 数码管电路接线图 用6 位8 段码LED 显示电路,只要按地址输出相应数据,就可以实现对显示器的控制。显示共有6 位,用动态方式显示。8 位段码、6 位位码是由两片7

15、4LS374 输出。位码经MC1413 或ULN2003 倒相驱动后,选择相应显示位。 本实验仪中 8 位段码输出地址为0X004H,位码输出地址为 0X002H。此处X 是由KEY/LED CS 决定,参见地址译码。做LED 实验时,需将KEY/LED CS 接到相应的地址译码上。以便用相应的地址来访问。例如,将KEY/LED CS 接到CS0 上,则段码地址为08004H,位码地址为08002H 七段数码管的字型显示表如下: 显示过程如下:经过单片机P0输出的八位二进制码,变换成BCD码,在数码管上显示,经过段选信号和位选信号的控制,最后在相应数码管上显示出相应的温度值。程序框图如下: 图

16、3.3.3 数码管程序框图译码插孔地址范围CS008000H08FFFHCS109000H09FFFHCS20A000H0AFFFHCS30B000H0BFFFHCS40C000H0CFFFHCS50D000H0DFFFHCS60E000H0EFFFHCS70F000H0FFFFH图3.3.4 地址码插孔及对应地址范围3.4 8051芯片介绍 本实验采用8051单片机,其管脚图如下:图3.4.1 80C51的引脚图1.电源 (1)VCC - 芯片电源,接+5V; (2)VSS - 接地端; 2.时钟XTAL1、XTAL2 - 晶体振荡电路反相输入端和输出端。 3.控制线(4根)(1)ALE/P

17、ROG:地址锁存允许/片内EPROM编程脉冲。 ALE功能:用来锁存P0口送出的低8位地址。 PROG功能:片内有EPROM的芯片,在EPROM编程期间,此引脚输入编程脉冲。 (2)PSEN:外ROM读选通信号。(3)RST/VPD:复位/备用电源。 RST(Reset)功能:复位信号输入端。 VPD功能:在Vcc掉电情况下,接备用电源。(4)EA/Vpp:内外ROM选择/片内EPROM编程电源。 EA功能:内外ROM选择端。 Vpp功能:片内有EPROM的芯片,在EPROM编程期间,施加编程电源Vpp。 4.I/O线 80C51共有4个8位并行I/O端口:P0、P1、P2、P3口,共32个引

18、脚。P3口还有 第二功能,用于特殊信号输入输出和控制信号(属控制总线)。3.5 电源电路 电源是整套系统工作的基础,要实现温度的精确测量与显示跟一个合适的稳定的电源是密不可分的,由系统组成可知,系统要正常工作需要一个稳定的+5V电源,用来给测温电桥,单片机,显示模块,AD模块供电,要实现信号的放大还需要给放大模块提供稳定的+9V ,-9V电源。第四章 温度传感器实验数据采集、显示及程序4.1 数据采集及显示数据处理子程序是整个程序的核心。主要用来调整输入值系数,使输出满足量程要求。另外完成A/D的采样结果从十六进制数向十进制数形式转化。系数转换在IN0输入的数最大为5V,要求压力80N对应的是

19、5V,为十六进制向十进制转换方便,将系数进行一定倍数的变换,并用小数点位置的变化体现这一过程。数制之间的转换:在二进制数制中,每向左移一位表示数增加两倍。要求压力80N对应的是5V,而压力与电压的变换是线性关系,对应AD转换器的输出为八个1,当有一定的压力值输入时,对应这个关系转化成相应的二进制代码送入P0口。然后再反过来应用这个变化关系,经最终得到的数值进行二进制到BCD码转化,然后逐位在LED数码管上显示。数据采集用A/D0809芯片来完成,主要分为启动、读取数据、延时等待转换结束、读出转换结果、存入指定内存单元、继续转换(退出)几个步骤。ADC0809初始化后,就具有了将某一通道输入的0

20、5模拟信号转换成对应的数字量00HFFH,然后再存入存储器的指定单元中。在控制方面有所区别。可以采用程序查询方式,延时等待方式和中断方式。显示子程序是字符显示,首先调用事先编好数码管显示子程序。初始化命令,然后输出显示命令。在显示过程中一定要调用延时子程序。当输入通道采集了一个新的过程参数,当有压力信号输入时,调用显示子程序在数码管上显示。4.2 程序的设计ADC EQU 41HLED3 EQU 31HLED2 EQU 32HLED1 EQU 33HLED0 EQU 34HORG 0000HLJMP MAINMAIN:MOV LED0,#00H MOV LED1,#00H MOV LED2,#

21、00H MOV LED3,#00HLOOP:MOV DPTR,#08000H MOV A,#00H MOVX DPTR,A LCALL DELAY MOV DPTR,#08000H MOVX A,DPTR MOV B,A MOV A,#0FFH CLR C SUBB A,B MOV ADC,ATRSL:MOV A,ADC MOV R0,A XRL A,#0FFH JZ MAX MOV A,R0 MOV B,#10 MUL AB MOV R0,A MOV A,B MOV DPTR,#TABLE MOVC A,A+DPTR MOV LED2,A MOV A,R0 MOV B,#10 MUL AB

22、MOV R0,A MOV A,B MOV DPTR,#TABLE MOVC A,A+DPTR ADD A,#80H MOV LED1,A MOV A,R0 MOV B,#10 MUL AB MOV A,B MOV DPTR,#TABLE MOVC A,A+DPTR MOV LED0,A LCALL SMXS SJMP LOOPSMXS:MOV R0, #LED3 MOV R1,#4 MOV R2, #00100000BSMXS1:MOV DPTR,#09002H MOV A,#00H MOVX DPTR,A MOV A,R0 MOV DPTR,#09004H MOVX DPTR,A MOV D

23、PTR,#09002H MOV A,R2 MOVX DPTR,A LCALL DELAY MOV A,R2 RR A MOV R2,A INC R0 DJNZ R1,SMXS1 MOV DPTR,#09002H MOV A,#00H MOVX DPTR,A RETDELAY:MOV R7,#10DELAY1:MOV R6,#12 NOP DJNZ R6,$ DJNZ R7,DELAY1 RETMAX:MOV LED3,#06H MOV LED2,#3FH MOV LED1,#3FH MOV LED0,#3FHTABLE:db 3fh,06h,5bh,4fh,66h,6dh,7dh,07h db

24、 7fh,6fh,77h,7ch,39h,5eh,79h,71h第五章 拓展 DS18B20芯片测温显示系统 DS18B20数字单线温度计以9位数字量的形式反映器件的温度值。DS18B20通过一个单线接口发送或接收信息,因此在中央微处理器和DS18B20 之间仅需一条连接线(加上地线)。用于读写和温度转换的电源可以从数据线本身获得,无需外部源。因为每个DS18B20都有一个独特的片序列号,所以多只DS18B20可以同时连在一根单线总线上,这样就可以把温度传感器放在许多不同的地方。这一特性在HVAC环境控制、探测建筑物、仪器或机器的温度以及过程监测和控制等方面非常有用。 DS18B20依靠一个单

25、线端口通讯。在单线端口条件下,必须先建立ROM操作协议,才能进行存储器和控制操作。因此,控制器必须首先提供下面5个ROM操作命令之一:1)读ROM,2)匹配ROM,3)搜索ROM,4)跳过ROM,5)报警搜索。这些命令对每个器件的激光ROM部分进行操作,在单线总线上挂有多个器件时,可以区分出单个器件,同时可以向总线控制器指明有多少器件或是什么型号的器件。成功执行完一条ROM 操作序列后,即可进行存储器和控制操作,控制器可以提供6条存储器和控制操作指令中的任一条。一条控制操作命令指示DS18B20完成一次温度测量。测量结果放在DS18B20的暂存器里,用一条读暂存器内容的存储器操作命令可以把暂存

26、器中数据读出。温度报警触发器TH和TL各由一个EEPROM字节构成。如果没有对DS18B20使用报警搜索命令,这些寄存器可以做为一般用途的用户存储器使用。可以用一条存储器操作命令对TH和TL 进行写入,对这些寄存器的读出需要通过暂存器。所有数据都是以最低有效位在前的方式进行读写。B不过与热敏电阻类似的,DS18B20也必须连接A/D转换器,以实现模拟与数字之间的转换,接线如下图:与80c51单片机的接线部分,可以在单片机的最小系统中实现,我们连线时只需要连接我们需要的线路就可以了单片机最小系统如下:显示采用八段数码管显示(实际上只会用到四段数码管)如图:DS18B20测温程序如下:(由于水平有

27、限故在此采用C语言程序)#include#include#include#define uchar unsigned char#define uint unsigned int;/*/sbit seg1=P10;/sbit seg2=P11;/sbit seg3=P12;sbit DQ=P27;/ds18b20 端口sfr dataled=0x80;/显示数据端口/*/ uchar temp;uchar flag_get,count,num,minute,second;uchar code tab=0x3f,0x06,0x5b,0x4f,0x66,0x6d,0x7d,0x07,0x7f,0x6

28、f;/7段数码管段码表共阴uchar a,b;/*/void delay1(uchar MS);unsigned char ReadTemperature(void);void Init_DS18B20(void);unsigned char ReadOneChar(void);void WriteOneChar(unsigned char dat);void delay(unsigned int i);/*/main()TMOD|=0x01;/定时器设置TH0=0xef;TL0=0xf0;IE=0x82;TR0=1;/启动定时器P1=0x00;count=0;while(1) / str2=

29、0x39;/显示C符号 a=tabtemp/10; /十位温度 b=tabtemp%10; /个位温度 if(flag_get=1) /定时读取当前温度 temp=ReadTemperature()-1; flag_get=0; void tim(void) interrupt 1 using 1/中断,用于数码管扫描和温度检测间隔TH0=0xef;/定时器重装值TL0=0xf0;num+;if (num=50) num=0; flag_get=1;/标志位有效 second+; if(second=60) second=0; minute+; count+;if(count=1) P1=0x

30、fe; dataled=a;/数码管扫描if(count=2) P1=0xfd; dataled=b;count=0;/*if(count=3) P1=2; dataled=str2; count=0;*/*/void delay(unsigned int i)/延时函数 while(i-);/*/18b20初始化函数void Init_DS18B20(void) unsigned char x=0; DQ = 1; /DQ复位 delay(8); /稍做延时 DQ = 0; /单片机将DQ拉低 delay(80); /精确延时 大于 480us DQ = 1; /拉高总线 delay(10)

31、; x=DQ; /稍做延时后 如果x=0则初始化成功 x=1则初始化失败 delay(5);/读一个字节unsigned char ReadOneChar(void)unsigned char i=0;unsigned char dat = 0;for (i=8;i0;i-) DQ = 0; / 给脉冲信号 dat=1; DQ = 1; / 给脉冲信号 if(DQ) dat|=0x80; delay(5); return(dat);/写一个字节void WriteOneChar(unsigned char dat) unsigned char i=0; for (i=8; i0; i-) DQ

32、 = 0; DQ = dat&0x01; delay(5); DQ = 1; dat=1; delay(5);/读取温度unsigned char ReadTemperature(void)unsigned char a=0;unsigned char b=0;unsigned char t=0;/float tt=0;Init_DS18B20();WriteOneChar(0xCC); / 跳过读序号列号的操作WriteOneChar(0x44); / 启动温度转换delay(200);Init_DS18B20();WriteOneChar(0xCC); /跳过读序号列号的操作 WriteO

33、neChar(0xBE); /读取温度寄存器等(共可读9个寄存器) 前两个就是温度a=ReadOneChar();b=ReadOneChar();b4;t=b;/tt=t*0.0625;/t= tt*10+0.5; /放大10倍输出并四舍五入return(t);第六章 心得体会为期一周的单片机课程设计,让我在很多方面都有了相当大的收获。不仅有数模转换和单片机编程部分的知识,还有动态数码管的显示,以及由热敏电阻构成的温度传感器的相关知识。此次单片机课程设计综合了传感器,运算放大器等,联系到很多方面的知识,让我们充分联系平时所学知识,全力以赴。它不仅是我巩固了之前所学的知识,加深了对学过知识的印象

34、,还使我发现了自己对理论知识掌握还不够扎实,对一些知识点存在着错误的认识。为今后的学习和工作都奠定了良好的基础。在完成课设的过程中,每一处都凝聚了老师和同学对我的帮助,所有的成果都是大家共同努力的成果。在整个设计过程中,我懂得了许多东西,也培养了自己独立工作的能力,树立了对自己工作能力的信心。充分体会了在创造过程中探索的艰难和成功时的喜悦。 在最后,回想整个课程设计,我们看到了同学们专心研究,忙碌的身影,看到了学院领导和老师对我们严厉的监督和热情的指导。总之,这次课程设计让我收获颇丰,在以后的学习生活中,我一定会更加努力,满怀激情去面对!参考文献 1张淑清单片机原理及应用技术M 国防工业出版社 2010 2蔡朝洋单片机控制实习与专题制作M 北京航空航天大学出版社 2006 3李大友单片机及应用M 高等教育出版社 4胡汉才单片机原理及接口技术(第2版)M 清华大学出版社 2004 燕 山 大 学 课 程 设 计 说 明 书 第29页 共29页

展开阅读全文
相关资源
相关搜索
资源标签

当前位置:首页 > 技术资料 > 课程设计

版权声明:以上文章中所选用的图片及文字来源于网络以及用户投稿,由于未联系到知识产权人或未发现有关知识产权的登记,如有知识产权人并不愿意我们使用,如有侵权请立即联系:2622162128@qq.com ,我们立即下架或删除。

Copyright© 2022-2024 www.wodocx.com ,All Rights Reserved |陕ICP备19002583号-1 

陕公网安备 61072602000132号     违法和不良信息举报:0916-4228922