温度测量---仿真+pcb_第1页
温度测量---仿真+pcb_第2页
温度测量---仿真+pcb_第3页
温度测量---仿真+pcb_第4页
温度测量---仿真+pcb_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目 录1. 前言22. 所需硬件32.1 AT89C52单片机32.2 DS18B20 温度传感器73. 设计方案113.1 方案的总体设计框图113.2 电路设计124. 程序设计135. 总结与体会15附录1 软件仿真16附录2 制板图17附录3 程序源代码181. 前言目前,单片机已经在测控领域获得了广泛的应用,它除了可以测量电信号以外,还可以用于温度,湿度等非电信号的测量。能独立工作的单片机温度检测和温度控制系统已经广泛用于很多领域。单片机是一种特殊的计算机,它是在一块半导体的芯片上集成了CPU,存储器,RAM,ROM及输入与输出接口电路,这种芯片成为:单片机。由于单片机的集成度高,功

2、能强,通用性好,特别它具有体积小,重量轻,能耗低,价格便宜,抗干扰能力强和使用仿版等方面的优点,是它迅速的得到了推广和应用,目前已经成为测量控制系统中的优良机种和新电子产品中的关键部件。单片机已不仅仅局限于小系统的概念,现已广泛应用于家用电器,机电产品,办公自动化产品,机器人,儿童玩具,航天器等领域。这次温度测量系统,就是用的单片机实现温度的测量,传统的温度传感器大多以热敏电阻作为温度传感器,但热敏电阻的可靠性差,测量温度准确率低,而且必须经过专门的接口电路转换成数字信号才能由单片机进行处理。本次我和陆路裕同学采用的正是DS18B20数字温度传感器来实现基于51单片机的温度计的设计。传统的温度

3、计有发映速度慢,读数麻烦,测量精度不高,误差大等缺点而下面利用集成温度传感器DS18B20设计并制作了一款基于AT89C51的4位数码管现实的数字温度计,其电路简单,软硬件结构模块化,易于实现。该数字温度计利用温度传感器及接口电路完成温度的测量并转换成模拟电压信号,经由模数转换器转换成单片机能够处理的数字信号,然后送到单片机中进行处理变换,最后将温度值显示在数码管上。系统以单片机为系统核心,加上DS18B20温度传感器,两位位温度数据显示的共阴极数码管,及晶振电路和复位电路组成。2. 所需硬件2.1 AT89C52单片机图2-1 PDIP封装的AT89C52引脚图 图2-2 AT89C52 P

4、DIP封装芯片AT89C52是一个低电压,高性能CMOS 8位单片机,片内含8k bytes的可反复擦写的Flash只读程序存储器和256 bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,AT89C52单片机在电子行业中有着广泛的应用。主要功能特性1、兼容MCS51指令系统 2、8k可反复擦写(大于1000次)Flash ROM; 3、32个双向I/O口; 4、256x8bit内部RAM; 5、3个16位可编程定时/计数器中断; 6、时钟频率0-24MHz; 7、2个串行

5、中断,可编程UART串行通道; 8、2个外部中断源,共8个中断源; 9、2个读写中断口线,3级加密位; 10、低功耗空闲和掉电模式,软件设置睡眠和唤醒功能; 11、有PDIP、PQFP、TQFP及PLCC等几种封装形式,以适应不同产品的需求。引脚功能及管脚电压AT89C52为8 位通用微处理器,采用工业标准的C51内核,在内部功能及管脚排布上与通用的8xc52 相同,其主要用于会聚调整时的功能控制。功能包括对会聚主IC 内部寄存器、数据RAM及外部接口等功能部件的初始化,会聚调整控制,会聚测试图控制,红外遥控信号IR的接收解码及与主板CPU通信等。主要管脚有:XTAL1(19 脚)和XTAL2

6、(18 脚)为振荡器输入输出端口,外接12MHz 晶振。RST/Vpd(9 脚)为复位输入端口,外接电阻电容组成的复位电路。VCC(40 脚)和VSS(20 脚)为供电端口,分别接+5V电源的正负端。P0P3 为可编程通用I/O 脚,其功能用途由软件定义,在本设计中,P0 端口(3239 脚)被定义为N1 功能控制端口,分别与N1的相应功能管脚相连接,13 脚定义为IR输入端,10 脚和11脚定义为I2C总线控制端口,分别连接N1的SDAS(18脚)和SCLS(19脚)端口,12 脚、27 脚及28 脚定义为握手信号功能端口,连接主板CPU 的相应功能端,用于当前制式的检测及会聚调整状态进入的

7、控制功能。P0 口P0 口是一组8 位漏极开路型双向I/O 口, 也即地址/数据总线复用口。作为输出口用时,每位能吸收电流的方式驱动8 个TTL逻辑门电路,对端口P0 写“1”时,可作为高阻抗输入端用。 在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8 位)和数据总线复用,在访问期间激活内部上拉电阻。在Flash 编程时,P0 口接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。 P1 口P1 是一个带内部上拉电阻的8 位双向I/O 口, P1 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑 门电路。对端口写“1”,通过内部的上拉电阻把端口拉到高电平,

8、此时可作输入口。作输入口使用时,因为内部存在上拉 电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。与AT89C51 不同之处是,P1.0 和P1.1 还可分别作为定时/计数器2 的外部计数输入(P1.0/T2)和输入(P1.1/T2EX)。P2 口P2 是一个带有内部上拉电阻的8 位双向I/O 口,P2 的输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻辑门电路。对端口P2 写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。在访问外部程序存储器或16 位地址的外部数据存储器(例如执行M

9、OVX DPTR 指令)时,P2 口送出高8 位地址数据。在访问8 位地址的外部数据存储器(如执行MOVX RI 指令)时,P2 口输出P2 锁存器的内容。Flash 编程或校验时,P2亦接收高位地址和一些控制信号。 P3 口P3 口是一组带有内部上拉电阻的8 位双向I/O 口。P3 口输出缓冲级可驱动(吸收或输出电流)4 个TTL 逻 辑门电路。对P3 口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。此时,被外部拉低的P3 口将用上拉电阻输出电流(IIL)。P3 口除了作为一般的I/O 口线外,更重要的用途是它的第二功能 P3 口还接收一些用于Flash 闪速存储器编程和程序校验的控

10、制信号。 RST复位输入。当振荡器工作时,RST引脚出现两个机器周期以上高电平将使单片机复位。XTAL1振荡器反相放大器的及内部时钟发生器的输入端。 XTAL2振荡器反相放大器的输出端。时钟振荡器AT89C52 中有一个用于构成内部振荡器的高增益反相放大器,引脚XTAL1 和XTAL2 分别是该放大器的输入端和输出端。这个放大器与作为反馈元件的片外石英晶体或陶瓷谐振器一起构成自激振荡器,振荡电路。外接石英晶体(或陶瓷谐振器)及电容C1、C2 接在放大器的反馈回路中构成并联振荡电路。对外接电容C1、C2 虽然没有十分严格的要求,但电容容量的大小会轻微影响振荡频率的高低、振荡器工作的稳定性、起振的

11、难易程序及温度稳定性,如果使用石英晶体,我们推荐电容使用30pF10pF,而如使用陶瓷谐振器建议选择40pF10pF。用户也可以采用外部时钟。采用外部时钟的电路如图10 右图所示。这种情况下,外部时钟脉冲接到XTAL1 端,即内部时钟发生器的输入端,XTAL2 则悬空。由于外部时钟信号是通过一个2 分频触发器后作为内部时钟信号的,所以对外部时钟信号的占空比没有特殊要求,但最小高电平持续时间和最大的低电平持续时间应符合产品技术条件的要求。2.2 DS18B20 温度传感器图2-3 DS18B20传感器DS18B20数字温度传感器接线方便,封装成后可应用于多种场合,如管道式,螺纹式,磁铁吸附式,不

12、锈钢封装式,型号多种多样,有LTM8877,LTM8874等等。主要根据应用场合的不同而改变其外观。封装后的DS18B20可用于电缆 沟测温,高炉水循环测温,锅炉测温,机房测温,农业大棚测温,洁净室测温,弹药库测温等各种非极限温度场合。耐磨耐碰,体积小,使用方便,封装形式多样,适用于各种狭小空间设备数字测温和控制领域。DS18B20工作原理 DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s 减为750ms。低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振 随温度变化其振荡率

13、明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对 低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重 新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。高速暂存存储器高速暂存存储器由9个字节组成,其分配如表5所示。当温度转换命令发布后,经转换所得的温度值以二字节补码形式存放在 高速暂存存储器的第

14、0和第1个字节。单片机可通过单线接口读到该数据,读取时低位在前,高位在后,数据格式如表1所示。对应的温度计算: 当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变为原码,再计算十进制值。第九个字节是 冗余检验字节。根据DS18B20的通讯协议,主机(单片机)控制DS18B20完成温度转换必须经过三个步骤:每一次读写之前都要对DS18B20进行 复位操作,复位成功后发送一条ROM指令,最后发送RAM指令,这样才能对DS18B20进行预定的操作。复位要求主CPU将数据线下拉500微秒,然后 释放,当DS18B20收到信号后等待1660微秒左右,后发出60240微秒的存在低脉冲,主

15、CPU收到此信号表示复位成功。技术性能描述 1、 独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 2、测温范围 55+125,固有测温分辨率0.5。 3、支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,实现多点测温,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定。 4、工作电源: 35V/DC 5 、在使用中不需要任何外围元件 6、 测量结果以912位数字量方式串行传送 7 、不锈钢保护管直径 6 8 、适用于DN1525, DN40DN250各种介质工业管道和狭小空间设备测温 9、 标

16、准安装螺纹 M10X1, M12X1.5, G1/2”任选 10 、PVC电缆直接出线或德式球型接线盒出线,便于与其它电器设备连接。DS18B20的主要特性 1、适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数 据线供电 2、独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯 3、 DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温 4、DS18B20在使用中不需要任何外围元件,全部 传感元件及转换电路集成在形如一只三极管的集成电路内 5、温范围55+125,在-10+85时精度

17、为0.5 6、可编程 的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温 7、在9位分辨率时最多在 93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快 8、测量结果直接输出数字温度信号,以一 线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力 9、负压特性:电源极性接反时,芯片不会因发热而烧毁, 但不能正常工作。应用范围1 该产品适用于冷冻库,粮仓,储罐,电讯机房,电力机房,电缆线槽等测温和控制领域 2 轴瓦,缸体,纺机,空调,等狭小空间工业设备测温和控制。 3 汽车空调、冰箱

18、、冷柜、以及中低温干燥箱等。 4 供热/制冷管道热量计量,中央空调分户热能计量和工业领域测温和控制3. 设计方案方案一:提到温度的检测,我首先会考虑到传统的测温元件有热电阻和热电偶,而热点阻和热电偶测出的一般都是电压,进行A/D转换后,这样可以用单片机进行数据的处理,在显示电路上就可以将温度显示出来,但这需要比较多的外部的硬件的支持,硬件电路复杂(需要用到A/D转换电路,感温电路),软件调试也复杂,准确度也不高。方案二:温度传感器是在单片机电路设计中,使用较多的传感器。所以可以采用一只温度传感器DS18B20,此温度传感器,可以很容易读出温度值,进行转换,就可以满足设计要求,可以实时测出系统温

19、度。将两个方案进行比较可以看出,方案二原理简明易行,测量精度高,故采用方案二。3.1 方案的总体设计框图根据系统的设计要求,选择DS18B20作为本系统的温度传感器,选择单片机AT89C51为测控系统的核心来完成数据采集、处理、显示功能。选用数字温度传感器DS18B20,省却了采样/保持电路、运放、数/模转换电路以及进行长距离传输时的串/并转换电路,简化了电路,缩短了系统的工作时间,降低了系统的硬件成本。该系统的总体设计思路如下:温度传感器DS18B20把所测得的温度发送到AT89C51单片机上,经过51单片机处理,将把温度在显示电路上显示,本系统显示器用两位共阴LED数码管以动态扫描法实现。

20、检测范围0摄氏度到85摄氏度。数字温度计总体电路结构框图如图2-1所示。图3-13.2 电路设计4. 程序设计DSl8820的主要数据元件有:64位激光Lasered ROM,温度灵敏元件和非易失性温度告警触发器TH和TL。DSBl820可以从单总线获取电源,当信号线为高电平时,将能量贮存在内部电容器中;当单信号线为低电平时,将该电源断开,直到信号线变为高电平重新接上寄生(电容)电源为止。此外,还可外接5 V电源,给DSl8820供电。DSl8820的供电方式灵活,利用外接电源还可增加系统的稳定性和可靠性。图4-1为读取数据流程图。开始DS18B20的初始化启动温度转换跳过读序列号的操作跳过读

21、序列号的操作DS18B20的初始化RETLOW-低八位 HIGH-高八位图4-1 读取数据的流程图读出温度数据后,LOW的低四位为温度的小数部分,可以精确到0.0625,LOW的高四位和HIGH的低四位为温度的整数部分,HIGH的高四位全部为1表示负数,全为0表示正数。所以先将数据提取出来,分为三个部分:小数部分、整数部分和符号部分。小数部分进行四舍五入处理:大于0.5的话,向个位进1;小于0.5的时候,舍去不要。当数据是个负数的时候,显示之前要进行数据转换,将其整数部分取反加一。还因为DS18B20最低温度只能为-55,所以可以将整数部分的最高位换成一个“-”,表示为负数。图4-2为温度数据

22、处理程序的流程图。图4-2 温度数据处理流程图开始提取整数部分存入HT提取小数部分存入LTLT右移三位,将精度降低到0.5摄氏度HT+将小数部分整数化提取符号部分存入signLT是否大于5Sign=?0XF0RET负数表示flag=1 HT=HT+1YNNY 5. 总结与体会作为一名即将大四的测控学生,我觉得做单片机方面的课程设计是很有意义的,而且也是必要的。通过这次课程设计的过程中,我感触最深的当属查阅大量的设计资料了。为了让自己的设计更加完善,查阅这方面的实际资料是十分必要的,也是必不可少的。其次,在这次课程设计中,我们运用了许多专业软件,如:proteus仿真、Altium Design

23、er等。虽然过去我从未独立应用过他们,但在学习的过程中带着问题去学我发现效率很高,这是我做这次课程设计的又一收获。最后,要做好一个课程设计,就必须做到:在设计程序之前,对所用单片机的内部结构有一个系统的了解,知道该单片机有哪些资源;要有一个清晰的思路和一个完整的软件流程图;在设计程序时,不能妄想一次将整个程序设计好,反复修改、不断改进是程序设计的必经之路;要养成注释程序的好习惯,这样为资料的保留和交流提供了方便;在设计中遇到的问题要记录,以免下次遇到同样的问题。在这次的课程设计中,我真正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习单片机更是如此,程序只有在经

24、常写与读的过程中才能提高,这就是这次课程设计的最大收获。附录1 软件仿真附录2 制板图附录3 程序源代码22DATA_BUSBITP3.3FLAG BIT00H;标志位TEMP_L EQU 30H;温度值低字节TEMP_HEQU31H;温度值高字节TEMP_SW EQU35H;温度十位数TEMP_GWEQU36H;温度个位数DIS_BWEQU37H;显示百位数DIS_SWEQU38H;显示十位数DIS_GWEQU39H;显示个位数DIS_ADDEQU3BH;显示地址ORG 0000H AJMPSTARTORG 0050H;初始化START: MOV SP,#40HMAIN: LCALLREAD

25、_TEMP;调读温度程序 LCALLPROCESS;调数据处理程序 AJMPMAIN;读温度程序READ_TEMP: LCALL RESET_PULSE ;调用复位脉冲程序MOV A,#0CCH;跳过ROM命令LCALL WRITEMOV A, #44H;读温度LCALL WRITELCALL DISPLAY;显示温度LCALLRESET_PULSE;调用复位脉冲程序MOV A,#0CCH ;跳过ROM命令LCALL WRITEMOV A,#0BEH ;读缓存命令LCALL WRITELCALL READRET;复位脉冲程序RESET_PULSE:RESET: SETBDATA_BUSNOPN

26、OPCLRDATA_BUSMOVR7,#255DJNZR7,$SETB DATA_BUSMOVR7,#30DJNZR7,$JNB DATA_BUS,SETB_FLAGCLRFLAGAJMPNEXTSETB_FLAG:SETB FLAGNEXT: MOV R7,#120DJNZR7,$SETB DATA_BUSJNBFLAG,RESET RET;写命令WRITE: SETBDATA_BUS MOVR6,#8 CLR CWRITING:CLRDATA_BUSMOVR7,#5DJNZR7,$RRCAMOVDATA_BUS, CMOVR7,#30HDJNZR7,$SETBDATA_BUSNOPDJNZ

27、R6,WRITINGRET;循环显示段位DISPLAY:MOV R4,#200DIS_LOOP:MOVA,DIS_DPMOVP2,#0FFHMOVP0,A CLRP2.7 LCALLDELAY2MSMOVA,DIS_GWMOVP2,#0FFHMOVP0,ASETBP0.7 CLRP2.6 LCALLDELAY2MSMOVA,DIS_SWMOVP2,#0FFHMOVP0,ACLRP2.5 LCALLDELAY2MSMOVA,DIS_BW MOVP2,#0FFHMOVP0,AMOVA,TEMP_BWCJNEA,#0,SKIPAJMPNEXTTSKIP: CLRP2.4LCALLDELAY2MSNEXTT

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论