AT89S52数字温度显示报警系统Word格式.docx
《AT89S52数字温度显示报警系统Word格式.docx》由会员分享,可在线阅读,更多相关《AT89S52数字温度显示报警系统Word格式.docx(35页珍藏版)》请在冰豆网上搜索。
![AT89S52数字温度显示报警系统Word格式.docx](https://file1.bdocx.com/fileroot1/2022-10/12/ce6f27fe-dfd2-45c2-b4f3-3c7fcf661ce5/ce6f27fe-dfd2-45c2-b4f3-3c7fcf661ce51.gif)
3.3单片机的选择3
3.4温度传感器的选择5
3.4.1DS18B20的介绍5
3.5显示模块选择7
3.5.1数码管的分类8
3.5.2数码管驱动原理8
4.系统硬件电路设计9
4.1系统整体电路图9
4.2单片机最小系统10
4.3温度传感器系统10
4.3.1DS18B20的测温原理11
4.4报警电路设计12
4.5显示电路设计12
4.6电源电路设计13
5.系统软件设计14
5.1主程序14
5.2读出温度子程序15
5.3温度转换命令子程序15
5.4计算温度子程序15
5.4键盘扫描流程图17
6.测试与结果分析17
6.1仿真软件介绍17
6.2仿真结果18
6.2.1用Keil进行程序编译18
6.2.2在Proteus中仿真19
7.总结与致谢22
参考文献:
23
英文摘要:
24
附录:
源程序25
数字温度显示报警系统
摘要:
随着时代的进步和发展,单片机技术已经普及到我们生活,工作,科研,各个领域,已经成为一种比较成熟的技术,本文将介绍一种基于单片机控制的数字温度计,利用单片机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单片机是一个低功耗,高性能CMOS8位单片机,片内含8kBytesISP(In-systemprogrammable)的可反复擦写1000次的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术制造,兼容标准MCS-51指令系统及80C51引脚结构,芯片内集成了通用8位中央处理器和ISPFlash存储单元,片上Flash允许程序存储器在系统可编程,亦适于常规编程器,在功能强大的微型计算机的AT89S52单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案可为许多嵌入式控制应用系统提供高性价比的解决方案[5]。
AT89S52引脚结构图如图3.3.1:
图3.3.1AT89S52结构图
AT89S52实物图如图3.3.2:
图3.3.2AT89S52实物图
基于对成本和性能的比较,我们选择AT89S52单片机。
3.4温度传感器的选择
3.4.1DS18B20的介绍
温度传感器的种类众多,在应用与高精度、高可靠性的场合时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.2DS18B20内部结构框
DS18B20工作原理
DS18B20的温度检测与数字数据输出全集成于一个芯片之上,从而抗干扰力更强。
其一个工作周期可分为两个部分,即温度检测和数据处理。
在讲解其工作流程之前我们有必要了解18B20的内部存储器资源。
DS18B20共有三种形态的存储器资源,它们分别是:
ROM只读存储器,用于存放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
温度MSB
TH用户字节1
TL用户字节2
配置寄存器
保留
CRC
TM
R1
R0
1
图3.4.3 DS18B20字节定义
3.5显示模块选择
数码管是一种半导体发光器件,其基本单元是发光二极管。
3.5.1数码管的分类
数码管按段数分为七段数码管和八段数码管,八段数码管比七段数码管多一个发光二极管单元(多一个小数点显示);
按能显示多少个“8”可分为1位、2位、4位等等数码管;
按发光二极管单元连接方式分为共阳极数码管和共阴极数码管。
共阳数码管是指将所有发光二极管的阳极接到一起形成公共阳极(COM)的数码管。
共阳数码管在应用时应将公共极COM接到+5V,当某一字段发光二极管的阴极为低电平时,相应字段就点亮。
当某一字段的阴极为高电平时,相应字段就不亮。
。
共阴数码管是指将所有发光二极管的阴极接到一起形成公共阴极(COM)的数码管。
共阴数码管在应用时应将公共极COM接到地线GND上,当某一字段发光二极