基于单片机的测温系统方案.doc
《基于单片机的测温系统方案.doc》由会员分享,可在线阅读,更多相关《基于单片机的测温系统方案.doc(27页珍藏版)》请在课桌文档上搜索。
1、基于单片机的测温系统摘要:随着时代的进步和发展,人们生活水平的不断提高,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从单片机技术入手,一切向着数字化控制,智能化控制方向发展。本文将介绍一种基于单片机控制的测温系统,本测温系统与传统的测温系统相比,具有读数方便,测温围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT
2、89C51,测温传感器使用DS18B20,采用共阴极LED数码管以串口传送数据,实现温度显示。可以设置报警温度,当温度超过报警温度时,可以报警。 目录 1 设计要求 22 总体设计方案 22.1 测温系统设计方案论证22.1.1 方案一22.1.2 方案二22.2 方案二的总体设计框图23 元器件的介绍和选定 33.1 主控制器 33.2 数码管33.3 温度传感器44 系统整体硬件电路 74.1 主板电路74.2 报警电路74.3 键盘电路74.4 显示电路84.5 DS18B20温度传感器与单片机的接口电路95 系统软件流程图105.1 主程序流程图105.2 采集温度子程序流程图115.
3、2.1 DS18B20初始化子程序流程图115.2.2 DS18B20写入和读取子程序流程图125.3 显示数据刷新子程序流程图145.4 键盘扫描子程序流程图146总结与体会 16参考文献16附录1 17附录2 181 设计要求基本围0-110精度误差小于0.5LED数码直读显示可以任意设定温度的上限报警功能2 总体设计方案2.1测温系统设计方案论证2.1.1方案一由于本设计是测温电路,可以使用热敏电阻之类的器件利用其感温效应,在将随被测温度变化的电压或电流采集过来,进行A/D转换后,就可以用单片机进行数据的处理,在显示电路上,就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电
4、路比较麻烦。2.1.2 方案二 进而考虑到用温度传感器,在单片机电路设计中,大多都是使用传感器,所以这是非常容易想到的,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,就可以满足设计要求。从以上两种方案,很容易看出,采用方案二,电路比较简单,软件设计也比较简单,故采用了方案二。2.2方案二的总体设计框图温度计电路设计总体设计方框图如图1所示,控制器采用单片机AT89C51,温度传感器采用DS18B20,用LED数码管以串口传送数据实现温度显示。主 控 制 器LED显 示温 度 传 感 器单片机复位时钟振荡报警点按键调整图1总体设计方框图3 元器件选定
5、3.1 主控制器AT89C51是一个低电压,高性能CMOS 8位单片机,片含4k bytes的可反复擦写的Flash只读程序存储器和128 bytes的随机存取数据存储器RAM,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片置通用8位中央处理器和Flash存储单元,置功能强大的微型计算机的AT89C51提供了高性价比的解决方案。AT89C51是一个低功耗高性能单片机,40个引脚,32个外部双向输入/输出I/O端口,同时含2个外中断口,2个16位可编程定时计数器,2个全双工串行通信口,AT89C51可以按照常规方法进行编程,也可以在线编程。其将通用的微处理
6、器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。AT89C51具有PDIP、PQFP/TQFP及PLCC等三种封装形式,以适应不同产品的需求。主要功能特性: 兼容MCS51指令系统 4k可反复擦写1000次Flash ROM 32个双向I/O口 可编程UARL通道 两个16位可编程定时/计数器 全静态操作0-24MHz 1个串行中断 128x8bit部RAM 两个外部中断源 共6个中断源 可直接驱动LED 3级加密位 低功耗空闲和掉电模式 软件设置睡眠和唤醒功能3.2 数码管1) 显示电路采用共阴极LED数码管,从P1口输出段码。LED数码管的结构LED
7、数码管是由发光二极管构成的,亦称半导体数码管. 将条状发光二极管按照共阴极或共阳极的方法连接,组成8字,再把发光二极管另一电极作笔段电极,就构成了LED数码管.若按规定使某些笔段上的发光二极管就能显示从09的一系列数字。同荧光数码管、辉光数码管相比它具有:体积小、功耗低、耐震动、寿命长、亮度高、单色性好、发光响应的时间短,能与TTL,CMOS电路兼容等的数显器件。2) LED数码管的管脚排列本次设计采用共阴极的LED数码管,其管脚排列如图2所示。图2 共阴极数码管及其管脚排列3.3温度传感器DS18B20温度传感器是美国DALLAS半导体公司最新推出的一种改进型智能温度传感器,与传统的热敏电阻
8、等测温元件相比,它能直接读出被测温度,并且可根据实际要求通过简单的编程实现位的数字值读数方式。DS18B20的性能特点如下:独特的单线接口仅需要一个端口引脚进行通信;多个DS18B20可以并联在惟一的三线上,实现多点组网功能;无须外部器件;可通过数据线供电,电压围为3.05.5;零待机功耗;温度以或位数字;用户可定义报警设置;报警搜索命令识别并标志超过程序限定温度温度报警条件的器件;负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作; DS18B20采用脚PR35封装或脚SOIC封装,其部结构框图如图3所示。C64 位ROM和单线接口高速缓存存储器与控制逻辑温度传感器高温触发器
9、TH低温触发器TL配置寄存器8位CRC发生器VddI/O图3 DS18B20部结构64位ROM的结构开始位是产品类型的编号,接着是每个器件的惟一的序号,共有48位,最后位是前面56位的CRC检验码,这也是多个DS18B20可以采用一线进行通信的原因。温度报警触发器和,可通过软件写入户报警上下限。DS18B20温度传感器的部存储器还包括一个高速暂存和一个非易失性的可电擦除的EERAM。高速暂存RAM的结构为字节的存储器,结构如图4所示。头个字节包含测得的温度信息,第和第字节和的拷贝,是易失的,每次上电复位时被刷新。第个字节,为配置寄存器,它的容用于确定温度值的数字转换分辨率。DS18B20工作时
10、寄存器中的分辨率转换为相应精度的温度数值。该字节各位的定义如图4所示。低位一直为,是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为,用户要去改动,R1和0决定温度转换的精度位数,来设置分辨率。温度 LSB温度 MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRC图4DS18B20字节定义由表1可见,DS18B20温度转换的时间比较长,而且分辨率越高,所需要的温度数据转换时间越长。因此,在实际应用中要将分辨率和转换时间权衡考虑。高速暂存的第、字节保留未用,表现为全逻辑。第字节读出前面所有字节的CRC码,可用来检验数据,从而保证通信数据的正确
11、性。当DS18B20接收到温度转换命令后,开始启动转换。转换完成后的温度值就以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第、字节。单片机可以通过单线接口读出该数据,读数据时低位在先,高位在后,数据格式以0.0625LSB形式表示。当符号位时,表示测得的温度值为正值,可以直接将二进制位转换为十进制;当符号位时,表示测得的温度值为负值,要先将补码变成原码,再计算十进制数值。表2是一部分温度值对应的二进制温度数据。表1 DS18B20温度转换时间表DS18B20完成温度转换后,就把测得的温度值与RAM中的TH、T字节容作比较。若TH或TTL,则将该器件的报警标志位置位,并对主机发出的报警
12、搜索命令作出响应。因此,可用多只DS18B20同时测量温度并进行报警搜索。在64位ROM的最高有效字节中存储有循环冗余检验码CRC。主机ROM的前56位来计算CRC值,并和存入DS18B20的CRC值作比较,以判断主机收到的ROM数据是否正确。DS18B20的测温原理是这这样的,器件中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器;高温度系数晶振随温度变化其振荡频率明显改变,所产生的信号作为减法计数器的脉冲输入。器件中还有一个计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲进行计数进而完成温度测量。计数门的开启时间由高温度系数振荡器来
13、决定,每次测量前,首先将55所对应的一个基数分别置入减法计数器、温度寄存器中,计数器和温度寄存器被预置在55所对应的一个基数值。减法计数器对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器的预置值减到时,温度寄存器的值将加,减法计数器的预置将重新被装入,减法计数器重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器计数到时,停止温度寄存器的累加,此时温度寄存器中的数值就是所测温度值。其输出用于修正减法计数器的预置值,只要计数器门仍未关闭就重复上述过程,直到温度寄存器值大致被测温度值。表2一部分温度对应值表温度/二进制表示十六进制表示+1250000 0111 1101
14、000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00000191H+10.1250000 0000 1010 000100A2H+0.50000 0000 0000 00100008H00000 0000 0000 10000000H-0.51111 1111 1111 0000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000FC90H另外,由于DS18B20单线通信功能是分时完成的,它有严格的
15、时隙概念,因此读写时序很重要。系统对DS18B20的各种操作按协议进行。操作协议为:初使化DS18B20发复位脉冲发ROM功能命令发存储器操作命令处理数据。DS18B20的使用方法由于DS18B20采用的是1Wire总线协议方式,即在一根数据线实现数据的双向传输,而对AT89S51单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对DS18B20芯片的访问。由于DS18B20是在一根I/O线上读写数据,因此,对读写的数据位有着严格的时序要求。DS18B20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时
16、序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。DS18B20的复位时序DS18B20的读时序对于DS18B20的读时序分为读0时序和读1时序两个过程。对于DS18B20的读时隙是从主机把单总线拉低之后,在15秒之就得释放单总线,以让DS18B20把数据传输到单总线上。DS18B20在完成一个读时序过程,至少需要60us才能完成。DS18B20的写时序对于DS18B20的写时序仍然分为写0时序和写1时序两个过程。对于DS1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 测温 系统 方案

链接地址:https://www.desk33.com/p-23025.html