工学院毕业设计(论文)题目:数字温度显示报警系统专业:电子信息工程班级:06(2)班姓名:乾坤学号:2006654212指导教师:叶爱芹日期:2010年6月5日目录引言32. 设计要求42.1基本功能42.2扩展功能43. 总体设计方案43.1数字温度计设计方案论证43.1.1 方案一43.1.2 方案二43.2 总体设计框图53.3单片机的选择53.4 温度传感器的选择73.4.1 DS18B20的介绍73.5 显示模块选择113.5.1数码管的分类113.5.2数码管驱动原理114. 系统硬件电路设计134.1系统整体电路图134.2 单片机最小系统144.3 温度传感器系统144.3.1 DS18B20的测温原理154.4 报警电路设计174.5 显示电路设计174.6电源电路设计185. 系统软件设计195.1主程序195.2读出温度子程序205.3温度转换命令子程序215.4 计算温度子程序215.4 键盘扫描流程图236. 测试与结果分析236.1仿真软件介绍236.2 仿真结果246.2.1 用Keil进行程序编译246.2.2 在Proteus中仿真257. 总结与致29参考文献:30英文摘要:31附录:源程序32数字温度显示报警系统摘要:随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,利用单片机AT89S52设计了一种数字温度计,它由单片机、DS18B20传感器以及LED 数码管等部件组成,本温度计属于多功能温度计,功能较强,可以设置上下限报警温度,且测量准确、误差小。
当测量温度超过设定的温度上下限时,启动蜂鸣器和指示灯报警。
关键词:单片机AT89S52;温度计;DS18B20;温度显示引言温度是工业控制中主要的被控参数之一,特别是在冶金、化工、建材、食品、机械、石油等工业中,具有举足重轻的作用。
对于不同场所、不同工艺、所需温度高低围不同、精度不同,则采用的测温元件、测温方法以及对温度的控制方法也将不同;产品工艺不同、控制温度的精度不同、时效不同,则对数据采集的精度和采用的控制算法也不同,因而,对温度的测控方法多种多样。
随着电子技术和微型计算机的迅速发展,微机测量和控制技术也得到了迅速的发展和广泛的应用[1]。
利用微机对温度进行测控的技术,也便随之而生,并得到日益发展和完善,越来越显示出其优越性。
随着人们生活水平的不断提高,单片机控制无疑是人们追求的目标之一,它所给人带来的方便也是不可否定的,其中数字温度计就是一个典型的例子,但人们对它的要求越来越高,要为现代人工作、科研、生活、提供更好的更方便的设施就需要从数单片机技术入手,一切向着数字化控制,智能化控制方向发展[2]。
本设计即用单片机对温度进行实时检测与控制,本文所介绍的数字温度计与传统的温度计相比,具有读数方便,测温围广,测温准确,其输出温度采用数字显示,主要用于对测温比较准确的场所,或科研实验室使用,该设计控制器使用单片机AT89S52,测温传感器使用DS18B20,用4位共阳极LED数码管以串口传送数据,实现温度显示,能准确达到设计要求。
本温度计属于多功能温度计,功能较强,可以设置上下限报警温度,且测量准确、误差小。
当测量温度超过设定的温度上下限时,启动蜂鸣器和指示灯报警。
2. 设计要求2.1基本功能■基本围0℃-99℃■精度误差小于0.5℃■LED数码直读显示2.2扩展功能■实现声光报警■可以任意设定温度的上下限报警功能3. 总体设计方案3.1数字温度计设计方案论证3.1.1 方案一由于本设计是测温电路,根据设计要求可以使用热敏电阻之类的感温器件利用其感温效应,然后将随被测温度变化的电压或电流采集过来,经过A/D转换后,将数据传输到单片机进行数据的处理,然后在显示电路上显示,这样就可以将被测温度显示出来,这种设计需要用到A/D转换电路,感温电路比较麻烦。
3.1.2 方案二在单片机电路设计中,大多都是使用传感器,这是非常容易想到利用数字温度传感器,所以可以采用一只温度传感器DS18B20,此传感器,可以很容易直接读取被测温度值,进行转换,然后传输给单片机进行数据处理,就可以满足设计要求。
从以上两种方案,很容易看出,采用方案二,电路设计比较简洁,软件设计也比较简单,故采用方案二。
3.2 总体设计框图温度计电路设计总体设计方框图如图3.2.1所示,控制器采用单片机AT89S52,温度传感器采用DS18B20,用4位LED数码管以串口传送数据实现温度显示。
图3.2.1 总体设计方框图3.3单片机的选择方案一:选择Microchip公司的PIC系列单片机作为世界上最为顶尖的单片机研发与生产企业,微芯公司设计的PIC系列单片机一度风靡全球,其优秀的性能和卓越的品质受到了许多人的青睐,其优点毋庸赘述。
但是,高知名度的缺点也显而易见,价格昂贵,性价比不高是其软肋[3]。
方案二:选择仪器的MSP430系列单片机MSP430单片机是一个16 位的、具有精简指令集的混合型单片机,它具有极低的功耗、丰富的片外设和方便灵活的开发手段。
但是,由于MSP430单片机系列价格较高,比较适合于较为复杂的应用系统[4]。
方案三:选择Atmel公司的AT89S52单片机AT89S52单片机是一个低功耗,高性能CMOS 8位单片机,片含8k Bytes ISP(In-system programmable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片集成了通用8位中央处理器和ISP Flash存储单元,片上Flash允许程序存储器在系统可编程,亦适于常规编程器,在功能强大的微型计算机的AT89S52单芯片上,拥有灵巧的8 位CPU 和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案可为许多嵌入式控制应用系统提供高性价比的解决方案[5]。
AT89S52引脚结构图如图3.3.1:图3.3.1 AT89S52结构图AT89S52 实物图如图3.3.2:图3.3.2 AT89S52 实物图基于对成本和性能的比较,我们选择AT89S52单片机。
3.4 温度传感器的选择3.4.1 DS18B20的介绍温度传感器的种类众多,在应用与高精度、高可靠性的场合时DALLAS(达拉斯)公司生产的DS18B20 温度传感器当仁不让。
超小的体积,超低的硬件开消,抗干扰能力强,精度高,附加功能强,使得DS18B20 更受欢迎。
DS18B20 的主要特征:●全数字温度转换及输出;●最高12 位分辨率,精度可达土0.5摄氏度;●12 位分辨率时的最大工作周期为750 毫秒;●可选择寄生工作方式;●检测温度围为–55°C~+125°C (–67°F ~+257°F);●置EEPROM,限温报警功能。
用户可定义报警设置;●64 位光刻ROM,置产品序列号,方便多机挂接;●多样封装形式,适应不同硬件系统;●独特的单线接口仅需要一个端口引脚进行通信;●多个DS18B20 可以并联在惟一的三线上,实现多点组网功能;●无须外部器件;●可通过数据线供电,电压围为3.0~5.5V;●零待机功耗;●温度以9 或12 位数字;●报警搜索命令识别并标志超过程序限定温度(温度报警条件)的器件;●负电压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作;DS18B20它有64 位ROM 的结构开始8 位是产品类型的编号,接着是每个器件的惟一的序号,共有48 位,最后8 位是前面56位的CRC 检验码,这也是多个DS18B20 可以采用一线进行通信的原因。
温度报警触发器TH 和TL,可通过软件写入户报警上下限[6]。
另外,由于DS18B20 单线通信功能是分时完成的,它有严格的时隙概念,因此读写时序很重要。
系统对DS18B20 的各种操作按协议进行。
操作协议为:初始化DS18B20(发复位脉冲)→发ROM 功能命令→发存储器操作命令→处理数据。
DS18B20芯片封装结构如图3.4.1:图3.4.1DS18B20芯片封装结构DS18B20采用3脚PR -35封装或8脚SOIC 封装,其部结构框图如图3.4.2所示。
图 3.4.2 DS18B20部结构框DS18B20 工作原理DS18B20 的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
其一个工作周期可分为两个部分,即温度检测和数据处理。
在讲解其工作流程之前我们有必要了解18B20的部存储器资源。
DS18B20 共有三种形态的存储器资源,它们分别是:C64 位 R O M 和 单 线 接高速缓存存储器与控制逻辑温度传感器高温触发器TH 低温触发器TL配置寄存器 8位CRC 发生器VddI/OROM 只读存储器,用于存放DS18B20ID 编码,其前8 位是单线系列编码(DS18B20 的编码是19H),后面48 位是芯片唯一的序列号,最后8位是以上56的位的CRC码(冗余校验)。
数据在出产时设置不由用户更改。
DS18B20 共64 位ROM。
RAM 数据暂存器,用于部计算和数据存取,数据在掉电后丢失,DS18B20 共9 个字节RAM,每个字节为8 位。
第1、2 个字节是温度转换后的数据值信息,第3、4 个字节是用户EEPROM(常用于温度报警值储存)的镜像。
在上电复位时其值将被刷新。
第5 个字节则是用户第3 个EEPROM的镜像。
第6、7、8 个字节为计数寄存器,是为了让用户得到更高的温度分辨率而设计的,同样也是部温度转换、计算的暂存单元。
第9 个字节为前8个字节的CRC码。
EEPROM 非易失性记忆体,用于存放长期需要保存的数据,上下限温度报警值和校验数据,DS18B20共3位EEPROM,并在RAM 都存在镜像,以方便用户操作[7]。
DS18B20工作时寄存器中的分辨率转换为相应精度的温度数值。
该字节各位的定义如图3.4.3所示。
低5位一直为1,TM是工作模式位,用于设置DS18B20在工作模式还是在测试模式,DS18B20出厂时该位被设置为0,用户要去改动,R1和R0决定温度转换的精度位数,来设置分辨率。
温度LSB温度MSBTH用户字节1TL用户字节2配置寄存器保留保留保留CRCTM R1 R0 1 1 1 1 1图3.4.3 DS18B20字节定义3.5 显示模块选择数码管是一种半导体发光器件,其基本单元是发光二极管。
3.5.1数码管的分类数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);按能显示多少个“8”可分为1位、2位、4位等等数码管;按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。