基于单片机的智能冰箱温度控制器的设计1.doc_第1页
基于单片机的智能冰箱温度控制器的设计1.doc_第2页
基于单片机的智能冰箱温度控制器的设计1.doc_第3页
基于单片机的智能冰箱温度控制器的设计1.doc_第4页
基于单片机的智能冰箱温度控制器的设计1.doc_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

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

文档简介

基于单片机的电冰箱温控器设计摘 要单片机是实时检测和自动控制系统中心一个核心器件。本文设计的基于单片机的电冰箱温度控制器系统是利用温度传感器DS18B20采集电冰箱冷藏室的温度,通过INTEL公司的高效微控制器STC89C52单片机进行信号控制,从而达到智能控制的目的。本系统可实现电冰箱温度设置、电冰箱过欠压检测、开门显示、压缩机开启延时等功能。通过对直冷式电冰箱制冷系统的改进,实现了电冰箱的智能控制,使电冰箱能根据使用条件的变化迅速合理地调节制冷,且节能效果良好。关键词:单片机;电冰箱;温度控制;过欠压检测;开启延时 DESIGN OF THE REFRIGERATOR TEMPERATURE CONTROLLER BASED ON MICROCONTROLLER UNIT ABSTRACT MCU is the center of real-time detection and control system a core device. This design of microcontroller-based temperature control system is used refrigerator temperature sensor DS18B20 collecting refrigerator freezer temperature, high-performance companies through INTEL microcontroller STC89C52 MCU signal control so as to achieve intelligent control. The system can set the refrigerator temperature, refrigerators over voltage detection, open display, open the compressor delay functions. Through direct cool refrigerator cooling system improvements, implementation of the intelligent control of refrigerator to refrigerator according to rapidly changing conditions of reasonable use to adjust cooling, and the effect is good. KEY WORDS: MCU; refrigerator; Temperature Control; Over-voltage detection;open display目录前言1第1章 绪论21.1电冰箱的基本介绍21.2国内外的研究状况21.3本设计的研究内容3第2章 总体方案设计52.1功能特点52.2设计要求62.3方案设计6第3章 系统的硬件设计73.1硬件设计方案73.2硬件电路主要芯片介绍83.2.1 MCS-51单片机83.2.2 MCS-51单片机引脚介绍93.2.3基本时序单位113.2.4温度传感器DS18B20123.2.5 DS18B20的测温原理153.2.6 DS18B20使用中注意的事项173.3部分电路介绍183.3.1时钟电路183.3.2复位电路193.3.3过欠电压检测电路223.3.4显示电路223.3.5报警电路233.3.6键盘电路233.4压缩机、风机、电磁阀控制24第4章 系统的软件设计264.1软件设计流程264.2主程序的设计274.3子程序的设计294.3.1初始化子程序294.3.2测温子程序304.3.3控制子程序324.3.4中断子程序33第5章 系统调试及性能分析345.1调试345.2性能分析34结论35谢 辞36参考文献37附录39外文资料译文40前言冰箱是深刻改变了人类生活的现代奇迹之一。在人们发明冰箱之前,保存肉类的唯一方法是腌制,而在夏季喝到冰镇饮料更是一种奢望。随着国民经济的日益发展,人民的生活水平有了很大的提高,冷冻器具在家庭,医院,旅馆,餐厅和科研单位得到了广泛的应用。电冰箱作为应用较为普及的家用电器,近年来,随着微电子技术、传感器技术以及控制理论的发展,其呈现迅猛发展,电冰箱向大容量、多功能、无氟、节能、智能化、人性化方向发展,因此传统的机械式、简单的电子控制难以满足现代冰箱的发展要求。电冰箱一般设有冷冻室和冷藏室。冷冻室的温度为:- 16 - 24 。冷藏室的温度为:28 。电冰箱控制的主要任务就是保持箱内食品最佳温度达到食品保鲜的目的。本论文介绍单片机结合DS18B20设计的智能温度控制系统,系统用一种新型的“一总线”可编程数字温度传感器(DS18B20),不需复杂的信号调理电路和AD转换电路能直接与单片机完成数据采集和处理,实现方便、精度高、功耗低、微型化、抗干扰能力强,可根据不同需要用于各种温度监控及其他各种温度测控系统中。美国DALLAS最新单线数字温度传感器DS18B20,具有微型化低功耗、高性能、可组网等优点,新的“一线器件”体积更小、适用电压更宽、更经济 Dallas 半导体公司的数字化温度传感器DS1820是世界上第一片支持 “一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20的测温分辨率较高,DS18B20可直接将温度转化成串行数字信号,因此特别适合和单片机配合使用,直接读取温度数据。现场温度直接以“一线总线”的数字方式传输,大大提高了系统的抗干扰性。而且新一代产品更便宜,体积更小。 DS18B20可以程序设定912位的分辨率,精度为0.0625C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的!性能价格比也非常出色! 第1章 绪论1.1电冰箱的基本介绍冰箱的基本原理很简单:冰箱利用液体蒸发吸收热量。冰箱中使用的液体(即制冷剂)会在极低的温度蒸发,使冰箱内部保持冰冻温度。所有冰箱都由五个基本部件组成: l 压缩机 l 安全阀 l 热交换管,冰箱外部呈弯曲或盘曲状的管道l 冷交换管,冰箱内部呈弯曲或盘曲状的管道 l 制冷剂,冰箱内蒸发以制造低温的液体很多工业冰箱使用纯氨作为制冷剂,纯氨在-32时蒸发。压缩机压缩制冷剂气体,这将升高制冷剂的压力和温度(橙色),而冰箱外部的热交换线圈帮助制冷剂散发加压产生的热量。当制冷剂冷却时,制冷剂液化成液体形式(紫色),并流经安全阀。当制冷剂流经安全阀时,液态制冷剂从高压区流向低压区,因此它会膨胀并蒸发(浅蓝色)。在蒸发过程中,它会吸收热量,发挥制冷效果。冰箱内的线圈帮助制冷剂吸收热量,使冰箱内部保持低温。然后,重复该循环。1.2国内外的研究状况长期以来,在电子行业,温控器正快速发展。温控器是控制末端装置,实现分室温度控制和节能运行的关键。 普通电冰箱温控器基本上是一个独立的闭环温度调节系统,主要由温度传感器、控制器、温度设定机构等装置组成。其控制原理是电冰箱温控器根据温度传感器测得的室温与设定值的比较结果发生控制信号,控制电冰箱压缩机电源的开关,即用切断和打开压缩机电源的方式,调节电冰箱内温度。 第一代空调温控器主要是电气式产品,空调温控器的温度传感器采用双金属片或气动温包,通过“给定温度盘”调整预紧力来设定温度,风机三速开关和季节转换开关为拨档式机械开关。这类温控器产品普遍存在“温度设定分度值过粗”、 “时间常数太大”、“机械开关易损坏”等问题。 第二代空调温控器为电子式产品,温度传感器采用热敏电阻或热电阻,部分产品的温度设定和风速开关通过触摸键和液晶显示屏实现人机交互界面,冷热切换自动完成,运算放大电路和开关电路实现双位调节。这类智能空调温控器产品改善了人机交互界面,解决了“温度设定分度值过粗”等问题,但仍存在“控制精度不高”、“时间常数大”、“操作较复杂”等问题。目前国内外生产厂家正在研究开发第三代智能型温控器,如DS18B20。个别厂家积极响应国家的政策,应用新型控制模型和数控芯片实现智能控制。现在已有国内厂家生产出了智能型温控器,并已应用于实际工程。这一生产带动电子行业的发展。1.3本设计的研究内容课题的任务是应用单片机及DS18B20单总线器件设计一套温度检测系统,实现对温度的测量及显示,并通过按键人为设定温度上下限!而且在温度超上限价或下限量有控制功能,系统以高性能/价格比的89C51为核心,完成对数据的分析、处理、显示、温度上下限设置、超限自动控制,采用单线数字温度传感器DS18B20来完成对温度的采样和转换。由于课题是完成对温度的实时监测,因而系统的核心部分就是如何实现温度采集。系统采用的是美国DALLAS公司继DS1820之后推出的一种改进型智能温度传感器DS18B20来完成这一任务的。DS18B20与传统的热敏电阻相比,它能够直接读出被测温度并且可根据实际要去通过简单的编程实现9-12位的数字值读数方式,可分别在93.75ms和750ms内完成9位和12位的数字量,并且从DS18B20读出的信息或写入DS18B20的信息仅从一根口线,温度变换功率来源于数据总线,总线本身可以为所接的DS180B20供电,而无需外电源。DS18B20需在严格的时序控制下才能进行正常操作。对DS18B20的操作包括初始化操作、读/写时间片。总线上的所有操作均从初始化开始,初始化或对RAM、ROM操作。主CPU通过“时间片”来写入或读出DS18B20中的数据。概括说,主CPU经过单线接口访问DS18B20的工作流程为:对DS18B20进行初始化ROM操作命令存储器(包括RAM和EERAM)操作命令数据处理。主CPU对ROM操作完毕,即发出控制操作命令,使DS18B20完成温度测量并将测量结果存入高速暂存器中,然后单片机可读出此温度转换值,并随之进行数据处理、送显示等操作。研究方法则是采用C51单片机开发板模拟电冰箱工作环境,并模拟设定电冰箱各项参数,以研究电冰箱温控器的工作原理及设计。 研究的内容主要包括以下方面: 1、液晶显示的工作原理,并通过液晶将各项数据显示在冰箱外; 2、温度控制器原理,制冷原理,自动控制电冰箱工作使其通过制冷达到所设定的温度; 3、智能检测电冰箱工作电压是否正常,避免压缩机烧坏; 4、继电器工作原理,模拟对压缩机的通/断电操作; 5、单片机C程序编程语言; 本文介绍基于单片机的电冰箱温控器设计的总体设计思想和方案,及用到的部分芯片及硬件设计的原理,还有软件设计过程中的思想和方法等。第2章 总体方案设计2.1功能特点基于单片机设计的智能冰箱控制器,与传统的电冰箱相比,在功能上有了很大的扩展,更加人性化,更加方便,真正实现了智能化的要求。它的智能化主要表现在以下几个方面:第一,用户可以通过控制面板上的按钮,对冷冻室的温度进行预先设定,而不必打开冰箱门,电脑能根据用户设定的温度,控制压缩机的开、停,使冷冻室的温度达到设定的温度,同时在控制面板上有数码管向用户显示冷冻室的实时温度和预设的温度值。第二, 通过按钮转换,数码管还可以向用户显示冰箱压缩机开机时间和停机时间,用户通过观察这两个计时时间能估计出实时的压缩机开机时间百分率,了解冰箱的工作状况及耗电情况,了解在长期的使用过程中冰箱的性能、效率、能耗变化情况。第三,使冰箱具有“大脑”功能,能够根据自身的“感觉”,不断做出自身的调整,如自己控制压缩机的启动/停止,以及相应的时间;同时,它还忠诚的响应主人的号召,时刻按照主人的要求行事。主人下达最终的执行任务,它就通过自身的方式执行,如它的行动方向与主人的指令是一致的。第四,当用户开启冰箱门之后,未关严或开门时间过长时发出开门超时报警、提醒用户及时关门以节省电能,当电冰箱因氟利昂泄露或压缩机等机械部件性能劣化,发生制冷效率下降而使压缩机长时间开机连续超过6小时以上,发出1报警,以及冷冻室温度下降不下去,高于零下5度时发出故障2报警。总而言之,电冰箱使用这个由单片机设计的冰箱控制器后,用户再也不用像以前那样,对使用电冰箱的工作状况,性能好坏全然不知道,而是通过电脑对电冰箱工作状况的实时监测和显示,实时清楚的了解温度、效率、能耗的情况;它使得一台普通的电冰箱有了“大脑”,它能通过不断地监测,调整自己的行为,使之维持在正常的水平上。当自己“生病”时,便向它的主人发出病态信号,并且给予“治疗”。这个控制器真正使得电冰箱智能化,因此称之为“智能冰箱控制器”。2.2设计要求通过液晶显示所设定的温度,温度能随意调节,能自动控制电冰箱工作,使其通过制冷达到所设定的温度。2.3方案设计根据设计的要求,我们可以知道在本次设计中最重要的部分就是温控器,温控器的选择将决定外部电路的设计,在日常生活及工农生产中,经常要用到温度的检测及控制,传统的测温元件有热电耦和热电阻。温控器的第一选择就可以选择热电耦和热电阻,他们测出的一般都是电压,再转换成对应的温度,但是需要比较多的外部硬件支持。因此这种选择就有如下主要缺点:1.硬件电路复杂2.软件调试复杂3.制作成本高 方案设计采用美国DALLAS半导体公司生产的高性能数字智能温度传感器DS18B20。DS18B20作为检测元件,测温范围为-55125,最高分辨率可达0.0625。DS18B20可以直接读出被测温度值,而且采用三线制与单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。所以在本次毕业设计中采用方案二,使用DS18B20作温控器配合51单片机STC89C52进行设计。第3章 系统的硬件设计3.1硬件设计方案按照系统设计功能的要求,确定系统由8个模块组成:主控制器、测温电路、液晶显示电路、过欠压检测电路、继电器压缩机电路、复位电路、按键电路和报警电路。图3-1 单片机控制电冰箱的原理框图应用89C51单片机控制电冰箱的原理框图如图31,MCS-51单片机的典型芯片是89C51。MCS-51系列单片机研制于1980年,由Intel公司所开发,其结构是8048的延伸,改进了8048的缺点,其ROM、RAM都可扩充至64KB,也增添了如乘(MUL)、除(DIV)、减(SUBB)、比较(CJNE)、栈入(PUSH)、栈出(POP)、16位数据指针、布尔代数运算等指令,以及串行通信能力和5个中断源。采用温度传感器测得冷冻室温度,通过单线与单片机通信,单片机将此温度值进行保存后,通过控制版面的按键输入某一冷冻温度设定值(电冰箱出厂时候,已经输入了一个比较合适的温度值,或叫做隐含值),这个设定的温度值由单片机送往右边四位数码显示的同时,还不断与实测的冷冻室温度进行比较,如下:T1T设+8?即冷冻室温是否比设定的温度高8度,若是的话,单片机2.0口输出高电平,使得VT1饱和导通,继电器K1吸合,压缩机运转,电冰箱开始制冷过程.若比较结果是否定的,则压缩机保持原来状态不变,这里会有两种情况:一种是压缩机在开机后使冷冻室温度T1降下来,使得T1不再大于T设+8的情况,这也需要保持压缩机继续停机。程序设计必须考虑对于非变频式压缩机(即活塞式、玄片式等开停式温控制器型),为避免压缩机的频繁启动/停止,而规定的大约8范围内,是上升还是下降进入两种不同情形时压缩机应有的状态。压缩机运行后,冷冻室温度不断下降,控温程序将对T1T设继续进行比较,当冷冻室温度T1降至设定温度以下时,单片机P2.0口输出低电平,继电器K1释放,控制压缩机停机,若比较结果是否定的则保持压缩机开机状态不变。只要压缩机一运转,单片机就对压缩机开机进行及时,当压缩机开机时间达到10小时后,主程序使P2.0口变成低电平,压缩机停机,同时P1.2口送出高电平,使得VT2饱和导通,继电器K2吸合,化霜加热器接通电源220V,化霜开始。化霜过程的结束时由蒸发器便面的温度T3来决定的,当结霜融化,蒸发器表面温度T3 DS18B20的单线输入单片机的P1.0口,温度存入单片机,该温度值与化霜结束温度值13度进行比较,T313?若结果是肯定的,则执行两个动作,一时P2.0口恢复低电平,使化霜继电器K2释放,化霜电热器断电。二是将压缩机开机累计时间清零,为下一个化霜控制周期做好准备。3.2硬件电路主要芯片介绍3.2.1 MCS-51单片机MCS-51内部基本组成为:一个8位的中央处理器(CPU),256byte片内RAM单元,4Kbyte掩膜式ROM,2个16位的定时器/计数器,四个8位的并行I/O口(P0,P1,P2,P3),一个全双工串行口,5个中断源,即外部中断2个,定时器中断2个,串行中断1个,有2个中断优先级。中断控制电路主要包括用于中断控制的四个寄存器;定时器控制寄存器TCON,串行口控制器SCON,中断允许控制寄存器IE,中断优先级控制寄存器IP等。一个片内振荡器和时钟发生电路。其中2路温度输入P1.0和,一路状态电平输入,三路键盘输入;其中故障报警和冷藏室温度公用一个端口。MCS-51系列单片机特点如下:(1)专为控制应用所设计的八位CPU ;(2)具有布尔代数的运算能力;(3)32条双项且可被独立寻址的IO口;(4)芯片内有128字节可供存储数据的RAM(8052:256字节);(5)内部有两组16位定时器(8052有3个);(6)具有全多工传输信号UART;(7)5个中断源,且具有两级(高低)优先权顺序的中断结构;(8)芯片内有4KB(8KB/8052)的程序存储器(ROM);(9)芯片内有时钟(CLOCK)振荡器电路;(10)程序存储器可扩展至64KB(ROM);(11)数据存储器可扩展至64KB(RAM)。 3.2.2 MCS-51单片机引脚介绍MCS-51系列单片机采用40引脚双列直插式封装(DIP),4个并行口共有32根引脚,可分别作为地址线、数据线和I/O线;2根电源线;2根时钟振荡电路引脚和4根控制线。MCS-51 单片机是高性能单片机,因为受引脚数目的限制,所以有许多引脚具有第二功能,以89C51芯片为例,说明各引脚功能如下图3-2所示。(1)电源引脚Vss和VccVss:接地端。 Vcc:芯片+5V电源端。(2)时钟信号引脚XTAL1和XTAL2XTAL1、XTAL2:当使用单片机内部振荡电路时,用来外接石英晶体和微调电容,XTAL1是片内振荡电路反相放大器的输入端,XTAL2是片内振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。图3-2 89C51引脚图当使用外部时钟时,XTAL1接地,XTAL2接外部时钟信号源。(3)控制信号引脚RST/VPD、ALE/PROG、PSEN和EA/VPPRST/VPD:RST是复位信号输入端。当输入的复位信号保持两个机器周期(24个时钟周期)以上的高电平时有效,用来完成复位操作;第二功能VPD作为备用电源输入端,当主电源Vcc发生故障,电压降低到低电平规定值时,可通过VPD为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使系统上电后能继续正常运行。ALE/PROG:ALE为地址锁存允许输出信号。在访问外部存储器时,ALE用来锁存P0口扩展低8位地址的控制信号。在不访问外部存储器时,ALE也以时钟振荡频率的1/6的固定频率输出,因为它又可用作对外输出时钟信号或其他需要,例如可以用示波器查看ALE是否有脉冲信号输出来确定89C51芯片的好坏;第二功能PROG是对内部有EPROM的单片机的EPROM编程时编程脉冲输入端,它和31号引脚的第二功能Vpp一起使用。PSEN:外部ROM的读选通信号输出端。在访问外部ROM时,PSEN产生负脉冲作为读外部ROM的选通信号。而在访问外部RAM或片内ROM时,不会产生有效PSEN信号。EA /VPP:EA是访问外部RAM的控制信号。当EA为低电平时,CPU只执行外部ROM中的程序。当EA为高电平且PC值小于0FFF(4K)时,CPU执行内部ROM的程序,但当PC的值超出4K时将自动转去执行片外ROM的程序。对于无片内ROM的8031或不使用内部ROM的89C51,需外扩EPROM,此时EA必须接地。在Flash ROM编程期间,该引脚也用于施加允许电源VPP(如果选用12V编程)。(4)并行I/O端口P0、P1、P2和P3P0口(P0.0-P0.7):P0口是一个8位双向I/O端口(需外接上拉电阻)。在访问外部存储器时,分时提供低8位地址线和8位双向数据线。P0口先输出片外存储器的低8位地址并锁存在地址锁存器中,然后再输入或输出数据。P1口(P1.0P1.7):P1口是一个内部带有上拉电阻的8位准双向I/O端口。P1口只能作为一般I/O口使用。P2口(P2.0P2.7):P2口是一个内部带有上拉电阻的8位准双向I/O端口。在访问外部ROM或外部ROM时,输出高8位地址,与P0口提供的低8位地址一起组成16位地址总线。P0口和P2口用作数据/地址线后,不能再作为通用I/O口使用。P3口(P3.0 P3.7):P3口是一个内部带有上拉电阻的8位准双向I/O端口,在系统中8个引脚都有各自的第二功能。3.2.3基本时序单位单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。振荡频率二分频后形成状态周期或称s周期,所以1个状态周期包含有2个振荡周期。振荡频率fosc12分频后形成机器周期MC。所以,一个机器周期包含有6个状态周期或12个振荡周期。14个机器周期确定一条指令的执行时间,这个时间就是指令周期。89C51单片机指令系统中,各条指令的执行时间都在14个机器周期之间。4种时序单位中,振荡周期和机器周期是单片机内计算其他时间值(例如,波特率、定时器的定时时间等)的基本时序单位。下面是单片机外接晶振频率12MHZ时的各种时序单位的大小:状态周期=2/fosc=2/12MHZ=0.0167s机器周期=12/fosc=12/12MHZ=1s指令周期=(14)机器周期=(14)s振荡周期=1/fosc=1/12MHZ=0.0833s3.2.4温度传感器DS18B20 温度传感器是本系统不可或缺的元件,其性能的好坏直接影响系统的性能,因此采用DALLAS公司生产的高性能数字温度传感器DS18B20。 DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可编程为9位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。 图3-3 DS18B20引脚图DS18B20的管脚排列如图3-3所示:DQ: 为数字信号输入输出端;GND:为电源地;VDD:为外接供电电源输入端(在寄生电源接线方式时接地,见图3-2)。 ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8X5X41)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20内部结构如图3-4所示主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。 图3-4 DS18B20的内部结构 DS18B20用12 位存贮温度值,最高位为符号位。以下图表2-1为DS18B20的温度存储方式,负温度S = 1,正温度S = 0。表3-1 DS18B20 温度值格式表温度值低字节LBSBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0222222224温度值高字节 MBSBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8sssss262524高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。其中配置寄存器的格式如下: 表3-2 配置寄存器结构0R1R011111转化后得到的12位数据,存储在DS18B20的两个8byte的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将测得的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。如:0550H为+85,0191H为25.0625,FC90H为- 55。R1、R0决定温度转换的精度位数:R1R0=00,9位精度,最大转换时间为93.75ms,R1R0=01,10位精度,最大转换时间为187.5ms,R1R0=10,11位精度,最大转换时间为375ms,R1R0=11,12位精度,最大转换时间为750ms;未编程时默认为12位精度。 表3-3 DS18B20温度数据表温度数据输出(二进制)数据输出(十六进制)+1250000 0111 1101 000007D0H+850000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.125 0000 0000 1010 0010 00A2H+0.50000 0000 0000 1000 0008H00000 0000 0000 00000000H-0.51111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.06251111 1110 0110 1111FE6FH-551111 1100 1001 0000 FC90H高速暂存器是一个9字节的存储器。开始两个字节包含被测温度的数字量信息;第3、4、5字节分别是TH、TL、配置寄存器的临时拷贝,每一次上电复位时湖南人文科技学院毕业设计 11 被刷新;第6、7、8字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。3.2.5 DS18B20的测温原理DS18B20测量温度采用了特有的温度测量技术,其温度测量电路如图3-5所示。冷藏室温度T2.冷冻室温度T1温度蒸发器表面温度T3均由DS18B20温度传感器获得。采用DS18B20较普通传感器有诸多优点,最主要的是它省去了大量的硬件电路,避免了太多的调试问题,而且精度高,响应迅速,实在是上上之举。它通过单数据线DQ与单片机进行数据通讯,简单、可靠、易行。图3-5 温度检测电路图3-5中低温度系数晶振的振荡频率受温度的影响很小,用于产生固定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振荡器来决定,每次测量前,首先将-55 所对应的基数分别置入减法计数器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55所对应的一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到减法计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3-5中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正减法计数器的预置值,只要计数门仍未关闭就重复上述过程,直至温度寄存器值达到被测温度值,这就是DS18B20的测温原理。 由于DS18B20单线通信功能是分时完成的,他有严格的时隙概念,因此读写时序很重要。系统对DS18B20的各种操作必须按协议进行。DS18B20的一线工作协议流程是:初始化ROM操作指令存储器操作指令数据传输。另外,在寄生电源供电方式下,DS18B20从单线信号线上汲取能量:在信号线DQ处于高电平期间把能量储存在内部电容里,在信号线处于低电平期间消耗电容上的电能工作,直到高电平到来在给寄生电源(电容)充电。独特的寄生电源方式有三个好处:(1)进行远距离测温时,无需本地电源(2)可以在没有常规电源的条件下读取ROM(3)电路更加简洁,仅用一根I/O口实现温测 要想使DS18B20进行精确的温度转换,I/O线必须保证在温度转换期间提供足够的能量,由于每个DS18B20在温度转换期间工作电流达到1mA,当几个温度传感器挂在同一根I/O线上进行多点测温时,只靠4.7K上拉电阻就无法提供足够的能量,会造成无法转换温度或温度误差极大。3.2.6 DS18B20使用中注意的事项DS18B20虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题: 1.较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。 2.在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。 3.连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。 4.在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。 3.3部分电路介绍3.3.1时钟电路89C51单片机的时钟信号通常用两种电路形式得到:内部振荡方式和外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生震荡时钟脉冲。内部振荡方式的外部电路如图3-6所示,图中,电容器C1、C2起稳定振荡频率、快速起振的作用,其电容值通常取30PF左右。晶振频率的典型值位12MHZ,采用6MHZ的情况也比较多。内部振荡方式的时钟信号比较稳定,实用电路中使用较多。由图3-6可见,外部振荡信号由XTAL2引入,XTAL1接地。为了提高输入电路的驱动能力,通常使外部信号经过一个带有上拉电阻的TTL反相门后接入XTAL2。图3-6内部振荡方式外部振荡方式是把外部已有的时钟信号引入单片机内,这种方式适宜用来使单片机的时钟与外部信号保持同步。3.3.2复位电路当MCS51系列单片机的复位引脚RST(全称RERST)出现2个机器周期以上的高电平时,单位就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电自动复位和按键手动复位。上电复位要求接通电源后,自动实现复位操作。通常用的上电复位电路如图3-7所示。图中电容C和电阻R对电源Vcc来说构成微分电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R也能达到上电复位的操作功能。所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态。系统上电运行后,若需要复位,一般是通过手动复位来实现的。通常采用手动复位和上电复位结合,其电路如图3-7所示。 图3-7单片机复位电路图 单片机复位后的状态:单片机的复位操作时单片机进入初始化状态,其中包括是程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值。 值得指出的是,记住一些特殊功能寄存器复位后的主要状态如表3-4所示,对于了解单片机的初态,减少应用程序中的初始化部分是十分必要的。 说明:表中符号为随机状态; A=00H,表面累加器已被清零;表3-4特殊功能寄存器特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTH000HSP07HTL000HDPL00HTH100HP0P3FFHSBUF不定IP*00000BSCON00HIE0*00000BPCON0*BPSW=00H,表明选寄存器0组为工作寄存器组;SP=07H,表明堆栈指针指向片内RAM07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中;P0p3=FFH,表明已向各端口线写入1,此时,个端口既可用于输入又可用于输出;IP=*00000B,表明各个中断源处于低优先级;IE=0*00000B,表明各个中断均被关断;系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个震荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,至于内部RAM的数据则不变。3.3.3过欠电压检测电路过欠压检测电路只有检测出电压是否稳定便可,而这种电路允许输出端并接在一起。使用电压比较器,内部采用射级接地、集电极开路的三极管集电极输出方式。 此电路的工作原理是: 当输入电压UiUR1时,比较器A1的输出管导通,而比较器A2的输出管截止,此窗口比较器的输出电平将由比较器A1输出电平确定为低电平。只有当输入电压处于窗口电压之内,即UR2UiUR1时,比较器A1和A2输出管均截止,窗口比较器输出电平是由上拉负载电阻拉向高电平。3.3.4显示电路 LED显示器是单片机应用系统中常用的廉价输出设备。它是由若干个发光二极管组成的,当发光二极管导通时,相应一个笔画划发光,控制某段发光二极管导通,就能显示出某个数码或字符。 在静态显示系统中,每位显示器都应有各自的锁存器、译码器(若采用软件译码,译码器可省去)与驱动器,用以锁存各自待显示数字的BCD码或字段码。因此,静态显示系统在每一次显示输出后能够保持显示不变,仅在待显示数字需要改变时,才更新其数字显示锁存器中的内容。这种显示占用CPU的时间少,显示稳定可靠。缺点是,当显示的位数较多时,占用的I/O口较多。 在动态显示的系统中,CPU需定时地对每位LED显示器进行扫描,每位LED显示器分时轮流工作,每次只能使一位LED显示,但由于人的视觉暂留现象,仍感觉所有的LED显示器都在同时显示。这种显示的优点是使用硬件少,占用I/O口少。缺点是占用 CPU时间长,只要不执行显示程序,就立刻停止显示。但随着大规模集成电路的发展,目前已有能自动对显示器进行扫描的专用显示芯片,使电路既简单又占用CPU时间。在我们所设计的温度计中数码管显示就是利用的动态显示。图2-11 LED显示电路3.3.5报警电路报警电路主要用示电冰箱使用过程中出现的故障,包括系统自身故障,外界故障,和误操作,如:冰箱内温度太高,外界电压波动大,未关好冰箱门或是开门时间太长等等。 四个指示灯作用: L1: 温度超限失控报警L2: 开门超时报警L3:压缩机运行时报警 L4:电源过压或欠压时报警 图3-8报警电路3.3.6键盘电路因本系统使用的按键数目少,故按键采用硬件去抖。按键电路如图3-9 所示。用两个与非门构成一个RS触发器。当按键未按下时输出为1;刚键按下时输出为0。此时即使用按键的机器性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原来状态A,双稳态电路的状态不会改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。图3-9键盘显示电路3.4压缩机、风机、电磁阀控制压缩机,风机工作原理是制冷系统内制冷剂的低压蒸汽被压缩机吸入并压缩为高压蒸汽后排至冷凝器。同时轴流风扇吸入的室外空气流经冷凝器,带走制冷剂放出的热量,使高压制冷剂蒸汽凝结为高压液体。高压液体经过过滤器、节流机构后喷入蒸发器,并在相应的低压下蒸发,吸取周围的热量。同时贯流风扇使空气不断进入蒸发器的肋片间进行热交换,并将放热后变冷的空气送向室内。如此室内空气不断循环流动,达到降低温度的目的。 而冰箱没有风扇靠自然对流来进行热量交换。电磁阀的工作原理非常简单,阻流板就象一个闸门,一个弹簧让它处于关闭状态,上面一个电磁铁芯,铁芯(低部橡胶)压在阻流板中间(凸起)的一个小眼儿上,外面一个电磁线圈,接通电源后铁芯别吸上去,小眼儿开始进气,压力达到顶开弹簧后电磁阀打开。第4章 系统的软件设计4.1软件设计流程 基于单片机的电冰箱温控器软件设计主要由主程序、显示子程序、读出并处理DS18B20的测量温度值程序、预置温度调节程序、温度判断控制程序、电冰箱开启延时程序、还有软件复位程序等组成。采用主程序调用功能子程序,子程序尽可能少的调用其它子程序,以保证系统的稳定运行。软件程序设计总体流程图如下图4-1: 图-1 主程序流程图4.2主程序的设计主程序由初始化,键盘扫描,显示,温度采集,温度控制和定时化霜子程序组成,为系统软件的主干部分,化霜采用定时化霜,每三十分钟化霜一次。ORG 0000HAJMP MAIN ORG 0003H LJMP DY_INT ORG 000BH LJMP TIME0_INT ORG 0030H DATA EQU P1.0 V1 EQU P1.3 V2 EQU P1.4 V3 EQU P1.5 SET_KEY EQU P1.5 V3 EQU P1.5 SET_KEY EQU P1.5 ADD_KEY EQU P1.6 SUB_KEY EQU P1.7 L1 EQU P0.6 L2 EQU P0.7 L3 EQU P2.5 L4 EQU P2.6 MAIN: CLR A START:LCALL INIT1 ; 初始化 LCALL KEY ; 键盘扫描 LCALL GETWD ; 获得冷藏室温度 MOV 62H , R0 INC DATA LCALL GETWD ; 获得冷冻室温度 MOV 63H , R0 DEC DATA MOV R3 , 62H ; 显示两室温度值 MOV R4 , 63H LCALL DISP MOV A , 60H CLR C HIGH:CJNE A , 62H , HIGH1 ; 冷藏室温度等

温馨提示

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

评论

0/150

提交评论