基于单片机的多路温度采集系统设计毕业设计论文_第1页
基于单片机的多路温度采集系统设计毕业设计论文_第2页
基于单片机的多路温度采集系统设计毕业设计论文_第3页
基于单片机的多路温度采集系统设计毕业设计论文_第4页
基于单片机的多路温度采集系统设计毕业设计论文_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

1、学生毕业设计(论文)题 目基于单片机的多路温度采集系统设计作 者院 (系)能源工程学院专 业测控技术与仪器指导教师答辩日期 榆 林 学 院毕业设计(论文)诚信责任书本人郑重声明:所呈交的毕业设计(论文),是本人在导师的指导下独立进行研究所取得的成果。毕业设计(论文)中凡引用他人已经发表或未发表的成果、数据、观点等,均已明确注明出处。尽我所知,除文中已经注明引用的内容外,本论文不包含任何其他个人或集体已经公开发表或撰写过的研究成果。对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。本人毕业设计(论文)与资料若有不实,愿意承担一切相关的法律责任。 论文作者签名: 年 月 日摘 要 单

2、片机是一种集cpu、ram、rom、i/o接口和中断系统等部分于一体的器件,只需要外加电源和晶振就可实现对数字信息的处理和控制。单片机由于其微小的体积和极低的成本,而广泛的应用于家用电器、工业控制等领域中。多路温度采集系统是利用温度传感器ds18b20检测温度,并由单片机处理显示。 本设计利用at89s52单片机为处理器,结合温度采集电路、键盘电路、显示电路、报警电路等实现对多路温度的实时检测与显示。通过设计实物并调试,对系统存在的问题进行了分析和总结,并提出了改进措施。实验证明:该信号采集系统性能稳定,采集精度高,具有极高的性价比。关键词:单片机;ds18b20;温度采集design of

3、multi-channel temperature acquisition system based on at89s52 mcu abstractsingle-chip is a device which consists of a set of cpu, ram, rom, i/o interface, interrupt system and other parts. you only need external power supply and clock then the digital information processing and control can be achiev

4、ed on. because of the small scale, low price and high efficiency of mcu, it is widely used in home appliances and industrial control. multi-channel temperature acquisition system is used temperature thermometer ds18b20 to detect the temperature, process and display by the single-chip. this design us

5、es at89s52 as microprocessor to realize design goal this design including temperature gathering circuit, keyboard circuit, display circuit, alarm circuit etc. to achieve the temperature detection and the display. to introduce the problems during the debugging are analyzed and summarized, some measur

6、e about the system improvement are proposed.the result of experiments indicated that signal sampling system has good performance, high precision, and has a very high pertormance-to-price ration.key words: mcu;ds18b20;temperature acquisition目 录摘 要iabstractii1 绪论11.1选题背景11.2本设计国内外状况11.3本设计的任务和主要内容22 系

7、统总体设计32.1系统概述32.2系统工作原理分析33 系统的硬件设计43.1 温度采集系统的开发过程43.2 单片机的最小系统设计43.2.1 单片机的选型43.2.2 at89s52的性能及应用53.2.3 时钟电路设计73.2.4 复位电路设计73.3温度采集接口电路设计83.3.1 ds18b20简介83.3.2 ds18b20与单片机的接口设计123.4显示器与键盘电路的设计133.4.1 显示电路设计133.4.2 键盘电路设计143.5 报警电路设计154 多路温度采集系统的软件设计164.1 主程序流程设计164.2 程序设计及巡检子程序设计174.3巡检键盘及数码管多通道显示

8、194.4 温度报警程序设计225 系统仿真236 总 结26参考文献27致 谢28附录a 多路温度检测系统示意图29附录b ds18b20温度测量程序301 绪论本设计主要设计一种多路温度采集检测系统,采用目前低价位但技术十分成熟的at89s52单片机作为内核,选用ds18b20作为温度传感器,送到显示器循环显示所测的四路温度数值,并根据现场工业需要,设置了一定范围的报警值,报警优先显示,利用按键消除报警。可用按键查看某一路的温度值,查看时数据采集不中断。软件算法上采用了直接拟合的方法(通过电压-温度关系来计算温度值),符合课题要求。本课题构成的多路温度系统具有结构简单、价格低廉、测量精度高

9、、量程宽的特点,在很多场合具有一定的适用性。1.1选题背景温度是工业对象中主要的被控参数之一,在各个种类的企业中应用广泛的各种加热设备、反应炉设备等都需要严格的控制温度。随着时代的进步,科技的发展,各行各业对于温度采集系统的要求也在不断提高以达到设备环境、生产流程的安全要求,也越来越成为温度采集系统的几个重要指标。随着集成电路技术的越来越快、越来越大规模化的发展,由于单片机具有体积小、功能强、性价比高等优点,基于单片机开发出来的一系列采集、控制系统也逐渐受到广泛关注。采取单片机作为核心,可完成对温度的采集要求。所以基于单片机的多路温度采集系统被广泛应用于很多工业过程控制中,使产品既提高了产品的

10、功能和质量,又降低了成本,简化了设计。采用单片机设计的多路温度采集系统,可进行温度检测、采集及显示,对于提高生产效率,节约能源、资源都有非常重要的作用。1.2 本设计国内外状况二十世纪七十年代单片机的出现是近代计算机技术发展史上的一个重要里程碑,单片机的诞生标志着计算机正式形成了通用计算机系统和嵌入式计算机系统两大分支。在不断的完善通用操作系统的过程中,单片机在数据处理,模拟仿真,人工智能等得到了广泛的应用。单片机目前以8位机为主流,不断增强控制能力,降低成本,减小体积,改善开发环境,以空前的速度迅速而广泛地取代经典电子系统。温度是表征物体冷热程度的物理量,是国际单位制中7个基本物理量之一,它

11、与人类生活、工农业生产和科学研究有着密切关系。随着科学技术的不断提高,温度测量采集技术也在不断的发展着。温度采集是过程控制中的重要课题,各行业对高性能的温度采集系统的需求也在日益增加。在温度采集方面各国均取得了许多可喜的成果,其中前苏联的压石英频率温度计分辨能力可达0.0001摄氏度,而且在-40230摄氏度范围内温度与频率的线性特性;我国生产的石英温度传感器分辨率达到0.0001摄氏度,误差在0.05摄氏度以内。国内的温度控制仪发展经历了三个阶段:第一阶段为动圈式控温仪,显示精度差,升温速度和加热时间设定都不能自动控制;第二阶段为数字式控温仪,精度有所提高,但控制精度低,反应不灵敏;第三阶段

12、为智能型控温仪,带有特有的程序,控制精度高,减少了误差。虽然温度的采集方法有很多种,但在很多情况下,对于一些特殊条件的温度测量来讲,想要的到精确的结果并不容易,需要熟练掌握各种测量方法的原理及特点,同时结合设计要求才能完成。与此同时,还需探究新的采集方法,改进以前的技术,以满足不同条件下的温度采集需要。1.3本设计的任务和主要内容如何基于at89s52对4路温度进行采集的具体要求,有以下几点:(1)选用哪种传感器将温度信号转化为电信号;(2)单片机外围硬件的电路设计;(3)内部程序的编写。在温度采集系统中我们经常用到集成型温度传感器,集成型传感器可以达到较高的精度,在集成型温度传感器的使用过程

13、中,由于采用的单总线传输方式进行对远距离的多点温度进行检测,故在程序的控制上较复杂。新型温度传感器ds18b20具有体积小、精度高、使用电压宽采用一线总线等优点,在实际应用中取得了良好的测温效果。用四只ds18b20同时采集4路温度。at89s52单片机p3.7接口接单线总线。单片机有一个全双工的串行通讯口,单片机与电脑之间能更好地进行串口通讯。2 系统总体设计2.1系统概述根据设计要求的性能指标,本系统不仅要满足一定精度的温度采集的基本功能,而且由于测量的路数为4路,还存在多路信号的循环显示问题,还要考虑温度超限报警输出的功能,同时系统还具有显示当前各路的测量温度值的功能和键盘选择显示路数的

14、功能。2.2 系统工作原理分析 在测温系统中我们常常用到集成型温度传感器,集成型温度传感器可以达到较高的精度,在集成型温度传感器的使用过程中,由于采用的单总线传输方式进行对远距离的多点温度进行检测,所以在程序的控制上比较复杂。在温度测量系统中,采用抗干扰能力强的新型数字温度传感器是解决这些问题的最有效方案,新型数字温度传感器ds18b20具有体积更小、精度更高、适用电压更宽、采用一线总线、可组网等优点,在实际应用中取得了良好的测温效果。根据本课题的设计目标以及硬件的特点,本系统的总体设计框图如图2-1所示at89s52报警时钟电路键盘电路4位led显示ds18b20 1ds18b20 2ds1

15、8b20 3ds18b20 4 图2-1总体设计框图3 系统的硬件设计一个温度采集系统,包括被采集信息的采集、转换、显示等环节,在本多路温度采集系统设计中,包括cpu的选型以及包括显示电路、存储器、报警电路、电源电路等设计。3.1 温度采集系统的开发过程本设计中以ds18b20为传感器、at89s52单片机为控制核心组成的多点温度测试系统。用4只ds18b20同时测控4路温度(视实际需要还可扩展通道数)。由于每片ds18b20含有唯一的硅串行数,所以在一条总线上可挂接多个ds18b20芯片。从ds18b20读出的信息或写入ds18b20的信息,仅需要一根口线(单线接口)。读写及温度变换功率来源

16、于数据总线,总线本身也可以向所挂接的ds18b20供电,而无需额外电源。ds18b20提供9位温度读数,构成多点温度检测系统而无需任何外围硬件。处理时,将ds18b20信号线与单片机一位口线相连,单片机可挂接多片ds18b20,从而实现多点温度检测系统。由于ds18b20只有三个引脚,其中两根是电源线vdd和gnd,另外一根用作总线dq(data in/out),由于其输出和输入均是数字信号且与ttl电平兼容,因此其可以与微处理器直接进行接口,从而省去了一般传感器所必需的中间转换环节。3.2 单片机的最小系统设计3.2.1 单片机的选型目前,生产单片机的厂商有很多,尤其是近年来微电子技术、计算

17、机技术的飞速发展,比较著名的有intel、philips、microchip、motorola、zilog、atmel等半导体企业。在上述著名的半导体企业产品中,尤其在工业测控场合,运用较多的为intel公司的mcs-51系列,microchip公司的pic系列,如果作单路温度测量,恐怕要选择该系列的cpu,但由于本系统涉及的是多路,各路报警的输出信号需要单独输出,而且考虑信号调理电路的切换等还需要不少的控制线,因此该系列的少引脚特点就不适合本设计的需要,因此,本设计还是选用了atmel最新的8位单片机at89s52作为本系统的cpu。下面简单地介绍一下at89s52。3.2.2 at89s5

18、2的性能及应用功能特性描述:at89s52 是一种低功耗、高性能 cmos8 位微控制器,具有8k 在系统可编程 flash 存储器。使用 atmel 公司高密度易失性存储器技术制造,与工业 80s52 产品指令和引脚完全兼容。片上 flash 允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的 8 位 cpu 和在系统可编程 flash,使得 at89s52 为众多嵌入式控制应用系统提供高灵活、有效的解决案,其引脚如图3-1所示。at89s52 具有以下标准功能:8k 字节 flash,256 字节 ram,32 位 i/o 口线,看门狗定时器,2 个数据指针,三个 16

19、位定时器/计数器,一个 6 向量 2 级中断结构,全双工串行口,片内晶振及时钟电路。另外,at89s52 可降至 0hz 静态逻辑操作,支持 2 种软件可选择节电模式。空闲模式下,cpu停止工作,允许 ram、定时器/计数器、串口、中断继续工作。掉电保护方式下,ram 内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或图3-1是at89s52的引脚配置,40个引脚中,正电源和地线两根,外置石英振荡器的时钟线两根,4组8位共32个i/o口,中断口与p3口复用。其对应的引脚功能:pin40:正电源脚,正常工作或对片内eprom抄写程序时,接+5v电源。pin19:时钟xtal1脚,片内

20、振荡电路的输入端。pin18:时钟xtal2脚,片内振荡电路的输出端。at89s52的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12mhz)和振荡电容,振荡电容的值一般取10pf-30pf;另外一种是外部时钟方式,即将xtal1接地,外部时钟信号从xtal2脚输入。本设计采用片内时钟电路,外接晶振和电容组成振荡器。图3-1 at89s52引脚输入输出(i/o)引脚:pin39-pin32为。p0.0-p0.7输入输出脚,pin1-pin8为p1.0-p1.7输入输出脚,pin21-pin28为p2.0-p2.7输硬件复位为止入输出脚,pin10-pin17为p

21、3.0-p3.7输入输出脚。在对单片机设计中,p0作为数码管的段选选通端口何数字键盘接口。pin9:reset/ 复位信号复用脚,当at89s52通电,时钟电路开始工作,在reset引脚上出现2个时钟周期以上的高平,系统即初始复位。初始化后,程序计数器pc指向0000h, p0-p3输出口全部为高电平,堆栈指针写入07h,其它专用寄存器被清“0”。reset由高电平下降为低电平后,系统即从0000h地址开始执行程序。 值得注意的是,p0、p1、p2、p3口作为普通i/o口使用时都是准双向口结构,其输入操作和输出操作本质不同,输入操作是读引脚状态,输出是对锁存器的写入操作。当内部总线给口锁存器置

22、0或1时,锁存器中的0、1状态立即反映到引脚上。但在输入操作时,如果锁存器状态为0引脚被钳位0状态,导致无法读出引脚的高电平输入。因此,准双向口作为输入口时,应先使锁存器置1(称之为置输入方式)。然后,再读引脚,例如:要将p1口的状态读入到累加器a中,应执行以下两条指令: mov p1,#0ffh ;p1口置入方式。mov a, p1 ;读p1口引脚状态到a。此外,i/o口的端口自动识别功能,保证了无论是p1口(低8位地址)p2口(高8位地址)的总线复用,还是p3口的功能复用,内部资源自动选择不需要用指令进行状态选择。随着计算机技术的发展,单片机的功能越来越强大,寿命长、速度快、低功耗、低噪声

23、、可靠性高的特点及16位、32位单片机的出现,在工业领域仍具有很大的发展潜力。3.2.3 时钟电路设计本设计采用内部时钟方式来为系统提供时钟信号。时钟电路通常由晶震控制芯片、电容和晶体震荡器组成。时钟电路是用来产生at89c51单片机工作时所需要的时钟信号。一般时钟设计有两种形式:内部时钟和外部时钟。at89c51单片机内部有一个高增益反响放大器,它用来构成振荡器。此放大器有两个引脚,一个是的输入引脚xtal1,另一个是输出引脚xtal2,这两个引脚跨接晶体振荡器和用于微调的电容,目的是用来构成一个自激励振荡器。如图3-2时钟电路,晶体振荡器的频率范围一般在1.2mhz和12mhz之间,单片机

24、的运行速度会受到晶振频率的影响,因此晶振频率的选择很重要。晶振的起振频率有两个,一个是11.0592mhz,另一个是12mhz,本设计的at89s52单片机采用的是12mhz。通常电路中的电容c1和c2的值都取为30pf。电路对外接电容的值尽管没有明确的要求,然而电容的晶体振荡器频率会受到电容大小的影响,以及振荡器的稳定性和起振的快速性都会受到影响。为了减少寄生电容,晶振和电容应该与单片机芯片安装时尽可能的靠近,以确保振荡器稳定,可靠地工作。本设计使用npo电容,原因是它的温度稳定性比较好。时钟电路如图3-2所示。图3-2 时钟电路3.2.4 复位电路设计为了使系统能够从正确的初始状态开始工作

25、,就必须在启动单片机的时候对单片机复位。对电源+5v而言,电容c3和电阻r3构成了微分电路。对于上电复位,上电以后,复位电路通过电容使rst持续一段时间的高电平,如果rst能够持续充足时间的高电平,系统就有足够的时间复位,那么就实现了系统复位的可靠性。但是,电容的充电时间决定了rst端持续高电平的时间。随着电容充电的完成,rst端变成低电平。如图3-3所示。对于手动按钮复位,它是通过手动操作按键来给rst一个高电平,这种复位方式可以满足设计的要求,原因是,手动按键的时候总是有一个过程,在这个时间段内,系统能够有足够的时间复位。图3-3中:c7=10uf,r21=4.7k图3-3 复位电路3.3

26、温度采集接口电路设计本设计中以ds18b20为传感器、at89s52单片机为控制核心组成的多点温度测试系统。用4只ds18b20同时测控4路温度(视实际需要还可扩展通道数)。由于每片ds18b20含有唯一的硅串行数,所以在一条总线上可挂接多个ds18b20芯片。从ds18b20读出的信息或写入ds18b20的信息,仅需要一根口线(单线接口)。读写及温度变换功率来源于数据总线,总线本身也可以向所挂接的ds18b20供电,而无需额外电源。ds18b20提供9位温度读数,构成多点温度检测系统而无需任何外围硬件。处理时,将ds18b20信号线与单片机一位口线相连,单片机可挂接多片ds18b20,从而实

27、现多点温度检测系统。由于ds18b20只有三个引脚,其中两根是电源线vdd和gnd,另外一根用作总线dq(data in/out),由于其输出和输入均是数字信号且与ttl电平兼容,因此其可以与微处理器直接进行接口,从而省去了一般传感器所必需的中间转换环节。3.3.1 ds18b20简介ds18b20是美国dallas半导体公司推出的第一片支持一线总线接口的温度传感器。它具有微型化、低功耗、高性能、抗干扰能力强、易配微处理器等优点,可直接将温度转化成串行数字信号供微机处理。ds18b20 特点如下:硬件接口简单,性能稳定,单线接口,仅需一根口线与mcu连接无需外围元件;由总线提供电源;测温范围为

28、-5575;精度为0.5;9位温度读数;a/d变换时间为200ms;用户自设定温度报警上下限,其值是非易失性的;报警搜索命令可识别那片ds18b20超温度限。(1)ds18b20的引脚介绍to92封装的ds18b20的引脚排列见图3.1,其引脚功能描述见表3-1。表3-1 ds18b20详细引脚功能描述序号名称引脚功能描述1gnd地信号2dq数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3vdd可选择的vdd引脚。当工作于寄生电源时,此引脚必须接地。 图3-3 ds18b20的管脚排列(2)ds18b20的产品特点1) 只要求一个端口即可实现通信。2) 在

29、ds18b20中的每个器件上都有独一无二的序列号。3) 实际应用中不需要外部任何元器件即可实现测温。 4) 测量温度范围在55到125之间。 5) 数字温度计的分辨率用户可以从9位到12位选择。6) 内部有温度上、下限告警设置。 7)支持多点组网功能,多个ds18b20可以并联在一根三线上,实现多点测温8) 负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。 ds18b20的工作原理是:ds18b20采用3脚pr-35封装,其中 gnd为地;i/o为数据输入/输出端(即单线总线),该脚为漏极开路输出,常态下呈高电平;vdd是外部+5v电源端,不用时应接地;dq为空脚。图3-4所

30、示为ds18b20的内部框图,它主要包括寄生电源、温度传感器、64位激光rom单线接口、存放中间数据的高速暂存器(内含ram),用于存储用户设定的温度上下限值的th和tl触发器存储与控制逻辑、8位循环冗余校验码(crc)发生器等七部分。电源检测存储器控制逻辑温度传感器高温度触发低温度触发64位rom和单线借口存储器8位crc触发器图3-4 ds18b20内部结构图ds18b20的一线工作协议流程是:初始化rom操作指令存储器操作指令数据传输。其工作时序包括复位时序、写时序和读时序,如图3-4,3-5,3-6所示。由于ds18b20采用的是1wire总线协议方式,即在一根数据线实现数据的双向传输

31、,而对at89s52单片机来说,硬件上并不支持单总线协议,因此,我们必须采用软件的方法来模拟单总线的协议时序来完成对ds18b20芯片的访问。 由于ds18b20是在一根i/o线上读写数据,因此,对读写的数据位有着严格的时序要求。ds18b20有严格的通信协议来保证各位数据传输的正确性和完整性。该协议定义了几种信号的时序:初始化时序、读时序、写时序。所有时序都是将主机作为主设备,单总线器件作为从设备。而每一次命令和数据的传输都是从主机主动启动写时序开始,如果要求单总线器件回送数据,在进行写命令后,主机需启动读时序完成数据接收。数据和命令的传输都是低位在先。ds18b20的复位时序图3-5 ds

32、18b20的复位时序ds18b20的读时序对于ds18b20的读时序分为读0时序和读1时序两个过程。对于ds18b20的读时序是从主机把单总线拉低之后,在15s之内就得释放单总线,以让ds18b20把数据传输到单总线上。ds18b20在完成一个读时序过程,至少需要60s才能完成。图3-6 ds18b20的读时序ds18b20的写时序对于ds18b20的写时序仍然分为写0时序和写1时序两个过程。图3-7 ds18b20的写时序对于ds18b20写0时序和写1时序的要求不同,当要写0时序时,单总线要被拉低至少60s,保证ds18b20能够在15s到45s之间能够正确地采样i/o总线上的“0”电平,

33、当要写1时序时,单总线被拉低之后,在15s之内就得释放单总线。lsb设置清除斜率累加器比较预置低温度系数振荡器高温度系数振荡器计数器计数器=0=0温度寄存器预置停止加1图3-8 ds18b20测温原理框图ds18b20的温度测量原理如下:ds18b20测量温度时使用特有的温度测量技术,其测量电路框图如图3-8所示。内部计数器对一个受温度影响的振荡器的脉冲计数,低温时振荡器的脉冲可以通过门电路,而当到达某一设置高温时,振荡器的脉冲无法通过门电路。计数器设置为-55时的值,如果计数器到达0之前,门电路未关闭,则温度寄存器的值将增加,这表示当前温度高于-55。同时,计数器复位在当前温度值上,电路对振

34、荡器的温度系数进行补偿,计数器重新开始计数直到回零。如果门电路仍然未关闭,则重复以过程。温度表示值为9bit,高位为符号位。另外,由于ds18b20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对ds18b20的各种操作必须按协议进行。操作协议为:初始化ds18b20(发复位脉冲)发rom功能命令发存储器操作命令处理数据。3.3.2 ds18b20与单片机的接口设计温度采集是工业生产经常遇到的问题。本设计中以ds18b20为传感器at89s52单片机为控制核心组成的多点温度测试系统。用4只ds18b20同时测控4路温度(视实际需要还可扩展通道数)。本系统采用四位共阳极数

35、码管动态显示温度,系统设有上下限报警电路。该控制系统的功能如下: (1)温度控制得设定范围为0100,最小分辨率为0.5。 (2)实时显示当前温度,可以单通道也可以循环显示。 (3)命令按键5个:通道0通道3按键,巡检键,。3.4 显示器与键盘电路的设计 基于ds18b20的多点温度采集,共模拟了4点温度,具有各点温度采集功能,通过按键设置也可以监控某一通道的温度,还设置报警温度,具有越限报警功能。sw1sw4通道0通道3报警, xunjian为巡检键,关闭进入巡检模式。 在本系统中,由于该温度计还要进行信息的实时显示,所以设计了led显示电路。led显示器采用8段发光二极管。共阳极led显示

36、器的发光二极管的阳极连接在一起,通常此公共阳极接正电压。该电路由晶体管(npn)、显示器(共阳极led)和电阻构成。3.4.1 显示电路设计本设计使用了四块共阳极结构的led,对数码管的驱动有两种选择,一种是显示驱动器max7221,一种选择是三极管驱动。max7221的特点是显示多样、需要单片机输入输出口少(只需要3根)、编程灵敏、简单且实用等,但是它是共阴极的驱动器。因此,选择直接由三极管驱动。led数码管显示器有静态显示和动态显示两种方式。静态显示就是当显示器显示某个字符时侯,和它相应的段(即就是发光二极管)恒定的导通或者截止,直到显示要另一个字符为止。比起动态显示器,静态显示器的亮度较

37、高,编程也很容易,管理也较简单,但就是占用输入输出线资源较多,而且没有位选信号,线路复杂,成本也高。动态显示就是单片机定时的对led进行扫描,然后使其逐个的显示出结果。当数码管显示的时候,由于人眼的视觉暂留效果,仍然感觉到所有的数码管都同时在显示,此方法用到的是硬件扫描,成本低,但是占用的cpu资源多,亮度也不如静态显示。根据以上所述,本设计选用的显示方示为动态显示。如图3-9为显示电路。图3-9 显示电路3.4.2 键盘电路设计基于ds18b20的多点温度采集,共模拟了4点温度,具有各点温度采集功能,通过按键设置也可以监控某一通道的温度,还设置报警温度,具有越限报警功能。键盘电路如图3-10

38、所示。图3-10 键盘电路3.5 报警电路设计在单片机采集温度发生低于或超出所设定的温度时,单片机系统能相应发出提醒。本次设计采用蜂鸣器。蜂鸣器可用at89s52的i/o口线通过设置pnp的饱和截止驱动蜂鸣器发声,当i/o口线发出具有一定的低电平信号,即可使蜂鸣器报警。报警电路如图3-11所示。 图3-11 报警电路4 多路温度采集系统的软件设计4.1 主程序流程设计 开始初始化扫描键盘是否有键按下?采集温度是否为单通道显示?显示温度值并且过温度报警循环显示并且过温度报警结束ynyn图4-1 主程序框图(1) 采用模块程序设计。(2) 采用自顶向下的程序设计。 (3) 外部设备和外部事件尽量采

39、用中断方式与cpu联络,这样既便于系统模块化, 也可提高程序效率。 (4) 近几年推出的单片机开发系统, 有些是支持高级语言的,如c51与pl/m96的编程和在线跟踪调试。 (5) 系统的软件设计应充分考虑到软件抗干扰措施。4.2 程序设计及巡检子程序设计程序处理是整个系统的关键,即简洁的硬件结构是靠复杂的软件来支持的。多个器件挂在一条总线上为了识别不同的器件,在程序设计过程中一般有四个步骤:初始化命令;传送rom命令;传送ram命令;数据交换命令。由于已经在上面获取了多个ds18b20的rom代码并在at89s52单片机内部的e2prom中建立了测量位置点和传感器64位rom代码之间的关系表

40、,因此对多个温度的巡回测量流程图如图4-2所示。开始复位ds18b20发出搜索rom的命令返回读在线ds18b20序列号所有在线ds18b20是否访问完?是否存在一个ds18b20?初始化ds18b20启动所有在线的ds18b20作温度a/d转换跳过rom命令;转换命令延时104s初始化ds18b20执行期间匹配命令发一个ds18b20序列号发读暂存ram命令读匹配的ds18b20温度ynyn图4-2巡检显示子程序流程图(1) 发跳过rom命令cch。(2) 发启动所有在线的ds18b20进行温度转换命令44h。(3) 延迟104s。(4) 发匹配rom命令55h。(5) 按照e2prom中建

41、立的关系表的顺序取出64位rom代码发送到单总线。(6) 发读温度值命令beh,读取温度值。(7) 进行crc校验和数据处理后送led显示器显示。(8) 重复第4步到第7步,直到所有的ds18b20测量处理完。需要注意的是,无论是单点还是多点温度检测,在系统安装及工作之前,应将主机逐个与ds18b20挂接,读出其序列号。其工作过程为:主机发出一个脉冲,待0电平大于104s后,复位ds18b20,在ds18b20所发响应脉冲由主机接收后,主机再发读rom命令代码33h,然后发一个脉冲(104s),并接着读取ds18b20序列号的一位。用同样方法读取序列号的56位。另外,由于ds1820单线通信功

42、能是分时完成的,遵循严格的时隙概念,因此,系统对ds18b20和各种操作必须按协议进行,即初始化ds18b20(发复位脉冲)发rom功能命令发存储器操作命令处理数据。在正常测温情况下,ds18b20的测温分辨力为0.5。采用下述方法可获得高分辨率的温度测量结果:首先用ds18b20提供的读暂存器指令(beh)读出以0.5为分辨率的温度测量结果,然后切去测量结果中的最低有效位(lsb),得到所测实际温度的整数部分,然后再用beh指令取计数器1的计数剩余值和每度计数值。考虑到ds18b20测量温度的整数部分以0.25和0.75为进位界限的关系。4.3巡检键盘及数码管多通道显示选用高亮度发光led器

43、件。温度数据按动态方式显示,将采集到的数值通过标度转换由四位数码管显示。其段选段接p0,位选信号由p2.2、p2.3、p2.4和p2.5设置。存放位置:6ah6dh为0通道设定值存放单元(依次为小数位,个位,十位,百位数);6eh6fh,76h77h为1通道设定值存放单元(依次为小数位,个位,十位,百位数);78h7bh为2通道设定值存放单元(依次为小数位,个位,十位,百位数);7ch7fh为3通道设定值存放单元(依次为小数位,个位,十位,百位数);51h54h显示值存放单元(调温度闪烁时再送回显示单元)。各显示按键功能如表4-1所示。表4-1 显示按键按 键 功 能 xunjian键 用于控

44、制循环显示各通道温度数据 sw1用于实时显示“0”通道的温度数据 sw2 用于实时显示“1”通道的温度数据 sw3 用于实时显示“2”通道的温度数据 sw4 用于实时显示“3”通道的温度数据 系统经过初始化,进入多通道显示,然后扫描键盘,判断是否有按键按下,然后进行按键所控制的通道的温度采集。所采集的温度与设定的温度相比较,越限可以报警。多通道数据显示流程图如图4-3所示。开始单通道显示方式 扫描键盘 是sw1吗? 是否有键按下? 是sw2吗? 是sw3吗?显示1通道数据 过温度报警及温度显示显示2通道数据 过温度报警及温度显示显示3通道数据 过温度报警及温度显示显示4通道数据 过温度报警及温

45、度显示是xunjian模式吗?返回 yny 是sw4吗?yyynnnnny图4-3 多通道数据显示4.4 温度报警程序设计由于ds18b20需要初始化才能使用,因此,首先必须对系统进行初始化并且要关闭所有中断,ds18b20把转换到的温度读出,然后放到累加器a中,把之前设置的温度报警的上限值转换成ds18b20的输出值,这样然后再与报警上限的温度值进行比较,如果检测的结果是温度没有超限,那么系统继续进行检测。温度报警的程序流程如图4-4所示。报警程序入口ds18b20初始化ds18b20转换值温度是否过高?自动报警温度降低,是否有按键接触?报警结束是否是否报警程序入口图4-4 报警程序流程图5

46、 系统仿真本部分采用将ds18b20 的i/ 0 数据线与at89s52 单片机p3. 4、p3. 5、p3. 6 、p3. 7口线相连,用4 只ds18b20 同时测量4 路温度(视实际需要还可扩展通道数) 实现多点温度检测。ds18b20 只有3 个引脚,其中两根是电源线vdd 和gnd (本设计中采用外部电源供电方式) ,另外1 根用作总线dq ,其输出和输入均是数字信号且与ttl 电平兼容,因此可以与微处理器直接进行接口。主cpu 经过单线接口访问ds18b20 的工作流程为:对ds18b20 进行初始化rom 操作命令存储器操作命令数据处理。主cpu 对rom 操作完毕后即发出控制操

47、作命令,使ds18b20 完成温度测量并将测量结果存入高速暂存器中,然后读出此结果。(1)键盘与显示部分本设计采用独立式键盘和四位显示。键盘用来设置上限与下限的温度报警,字符液晶用来显示通道号、该通道的温度和所设置的上下限温度。使用液晶显示更加形象,而且抗干扰能力强,便于以后扩展。当运行pro teus 软件时,从液晶屏可以清楚的看到所采集到的温度值、通道号和上下限报警。(2)软件电路设计单片机编程在开机之初,主程序先对系统进行初始化,然后采集4 路温度信号,并在液晶屏上循环显示。(3)软硬联合调试整个软件通过汇编语言编程,先在keil c51 集成开发环境下将编好的程序进行编译、调试,调试通

48、过后会生成ds18b20。hex 文件。运行proteus 模拟仿真软件,打开已绘制好的仿真电路原理图,选中单片机at89s52,左键点击at89s52,出现对应的对话框,在program file 中找到编译好的“ds18b20. hex”文件,然后点击“o k”就可以进行仿真了。点击模拟调试按钮的运行按钮,进入调试状态,此时可以看到液晶屏循环显示所采集到的温度值、通道号和上下限报警,同时在虚拟终端上也可以看到上位机接收到的数据。利用proteus 进行单片机系统的仿真设计可以极大地简化单片机程序在目标硬件上的调试工作,大幅度节省制作电路板的时间,对于提高产品的开发效率、降低开发成本等有重要

49、作用。图5-1 系统实物图图5-2 ds18b20在实物中的连接图5-3 实物仿真6 总 结使用ds18b20数字化温度传感器;实现多路测温;简化了硬件系统,减少了使用模拟传感器要进行放大a/d转换等工作。由于它的级联功能,可以在单总线上挂靠多个器件,而不必占用多个i/o口,因此使系统更简捷。如果长距离测温,还可以使用它的寄生电源功能,省去一根电源线。进行设计和测试后,用模拟值检测按键功能,接着实现了ds18b20对多路温度信号通道的采集,同时也完成了四路通道的循环采集和单通道采集,再根据采集到的实际信号进行运算处理转换成温度值送入显示器显示。在本次设计过程中,对于如何实现软件和硬件的结合有着

50、很大的考验,所要考虑很多因素的影响。如按键去抖动,高低电平的变化等。在毕业设计中,为了少走弯路和节省时间,应充分考虑并满足抗干扰的要求,避免在设计完成后再去进行抗干扰的补救措施。 综上所述,用简单的硬件以及编程方法自动建立关系表,在单总线多点温度测量系统中实现了数字温度传感器的自动识别,大大有利于系统的调试、维护,减少维护工作量,并解决了过去维护工作必须由专业人员来完成,而不是由运行人员来完成的不便。本设计创新点在于将单片机技术和一线总线技术相结合,改进现有的用放大和集成电路采集系统。同时充分利用有限端口,在保证温度采集可靠性的基础上简化电路、降低成本。参考文献1 蔡可健.多路无线测温系统设计

51、j.传感器技术,2005,(12):52.2 贾振国.ds18b20及高精度温度测量的实现j.电子技术应用,2000,(1):58-593 周月霞,孙传友. ds18b20 硬件连接及软件编程j.传感器世界,2001,(12):35-42.4 周建春,钱敏等.基于单片机和pc串口通信的测温系统j.通信技术,2011,4(5):78-82.5 张毅刚.单片机原理及应用m.北京:高等教育出版社,2001:397-407.6 杨恢先,黄辉先.单片机原理及应用m.上海:复旦大学出版社, 2002:36-52.7 徐淑华,程退安,姚万生.单片机微型机原理及应用m.哈尔滨:哈尔滨工业大学出版社,1994:

52、85-107.8 周云波.由ds18b20单线数字温度计构成的单线多点温度测量系统j.电子技术应用,2006,5(15):42.9 杨丽君.at89c51单片机控制的多路温度检测系统j.自动化与仪表,2000,(15): 66-68.10 秦娟,郝弗非.多路温度检测自动控制系统的设计实现j.天津理工大学报,2007,(23):51-53.11 何立明,单片机应用系统抗干扰技术m.北京:北京航空航天大学出版社,2000:99-110.12 涂时亮等编.单片微机软件设计技术m.重庆:科学技术文献出版社重庆分社,2003:72-80.13 邦田. 电子电路实用抗干扰技术m.北京:人民邮电出版社,1994:34-52.14 董慧敏,朱智民. 多点温度检测系统电路设计j.漯河

温馨提示

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

评论

0/150

提交评论