资源描述
基于单片机的电冰箱温控器设计毕业设计前言.1第1章绪论.21.1 电冰箱的基本介绍.21.2 国内外的研究状况.21.3 本设计的研究内容.3第2章 总体方案设计.52.1 功能特点.52.2 设计要求.62.3 方案设计.6第3章 系统的硬件设计.73硬件设计方案.73.2 硬件电路主要芯片介绍.83.2.1 MCS-51 单片机.83.2.2 MCS-51单片机引脚介绍.9323基本时序单位.113.2.4 温度传感器DS18B20.123.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 键盘电路.243.4 压缩机、风机、电磁阀控制.25第4章 系统的软件设计.264.1 软件设计流程.264.2 主程序的设计.274.3 子程序的设计.294.3.1 初始化子程序.304.3.2 测温子程序.304.3.3 控制子程序.324.3.4 中断子程序.33第5章 系统调试及性能分析.345.1 调试.345.2 性能分析.34结论.35谢辞.36参考文献.37附 录.39外文资料译文.40刖 百冰箱是深刻改变了人类生活的现代奇迹之一。在人们发明冰箱之前,保 存肉类的唯一方法是腌制,而在夏季喝到冰镇饮料更是一种奢望。随着国 民经济的日益发展,人民的生活水平有了很大的提高,冷冻器具在家庭,医 院,旅馆,餐厅和科研单位得到了广泛的应用。电冰箱作为应用较为普及的 家用电器,近年来,随着微电子技术、传感器技术以及控制理论的发展,其呈 现迅猛发展,电冰箱向大容量、多功能、无氟、节能、智能化、人性化方向 发展,因此传统的机械式、简单的电子控制难以满足现代冰箱的发展要求。电冰箱一般设有冷冻室和冷藏室。冷冻室的温度为:-1624 o冷藏 室的温度为:28 o电冰箱控制的主要任务就是保持箱内食品最佳温度 达到食品保鲜的目的。本论文介绍单片机结合DS18B20设计的智能温度控制系统,系统用一 种新型的“一总线”可编程数字温度传感器(DS18B20),不需复杂的信号 调理电路和A/D转换电路能直接与单片机完成数据采集和处理,实现方 便、精度高、功耗低、微型化、抗干扰能力强,可根据不同需要用于各种 温度监控及其他各种温度测控系统中。美国DALLAS最新单线数字温度传感器DS18B20,具有微型化低功耗、高性能、可组网等优点,新的“一线器件”体积更小、适用电压更宽、更 经济Dallas半导体公司的数字化温度传感器DS1820是世界上第一片支 持“一线总线”接口的温度传感器。一线总线独特而且经济的特点,使用 户可轻松地组建传感器网络,为测量系统的构建引入全新概念。DS18B20 的测温分辨率较高,DS18B20可直接将温度转化成串行数字信号,因此特 别适合和单片机配合使用,直接读取温度数据。现场温度直接以“一线总 线”的数字方式传输,大大提高了系统的抗干扰性。而且新一代产品更便 宜,体积更小。DS18B20可以程序设定912位的分辨率,精度为0.0625 C。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的 报警温度存储在EEPR0M中,掉电后依然保存。DS18B20的性能是新一代产 品中最好的!性能价格比也非常出色!第1章绪论1.1 电冰箱的基本介绍冰箱的基本原理很简单:冰箱利用液体蒸发吸收热量。冰箱中使用的 液体(即制冷剂)会在极低的温度蒸发,使冰箱内部保持冰冻温度。所有 冰箱都由五个基本部件组成:压缩机 安全阀 热交换管,冰箱外部呈弯曲或盘曲状的管道 冷交换管,冰箱内部呈弯曲或盘曲状的管道 制冷剂,冰箱内蒸发以制造低温的液体很多工业冰箱使用纯氨作 为制冷剂,纯氨在-32。时蒸发。压缩机压缩制冷剂气体,这将升 高制冷剂的压力和温度(橙色),而冰箱外部的热交换线圈帮助制 冷剂散发加压产生的热量。当制冷剂冷却时,制冷剂液化成液体形式(紫色),并流经安全阀。当 制冷剂流经安全阀时,液态制冷剂从高压区流向低压区,因此它会膨胀并 蒸发(浅蓝色)。在蒸发过程中,它会吸收热量,发挥制冷效果。冰箱内的 线圈帮助制冷剂吸收热量,使冰箱内部保持低温。然后,重复该循环。1.2 国内外的研究状况长期以来,在电子行业,温控器正快速发展。温控器是控制末端装置,实现分室温度控制和节能运行的关键。普通电冰箱温控器基本上是一个独立的闭环温度调节系统,主要由温 度传感器、控制器、温度设定机构等装置组成。其控制原理是电冰箱温控 器根据温度传感器测得的室温与设定值的比较结果发生控制信号,控制电 冰箱压缩机电源的开关,即用切断和打开压缩机电源的方式,调节电冰箱 内温度。第一代空调温控器主要是电气式产品,空调温控器的温度传感器采用 双金属片或气动温包,通过“给定温度盘”调整预紧力来设定温度,风机 三速开关和季节转换开关为拨档式机械开关。这类温控器产品普遍存在“温 度设定分度值过粗”、“时间常数太大”、“机械开关易损坏”等问题。第二代空调温控器为电子式产品,温度传感器采用热敏电阻或热电阻,部分产品的温度设定和风速开关通过触摸键和液晶显示屏实现人机交互界 面,冷热切换自动完成,运算放大电路和开关电路实现双位调节。这类智 能空调温控器产品改善了人机交互界面,解决了“温度设定分度值过粗”等问题,但仍存在“控制精度不高”、“时间常数大”、“操作较复杂”等问 题。目前国内外生产厂家正在研究开发第三代智能型温控器,如DS18B20o 个别厂家积极响应国家的政策,应用新型控制模型和数控芯片实现智能控 制。现在已有国内厂家生产出了智能型温控器,并已应用于实际工程。这 一生产带动电子行业的发展。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报警。总而言之,电冰箱使用这个由单片机设计的冰箱控制器后,用户再也 不用像以前那样,对使用电冰箱的工作状况,性能好坏全然不知道,而是 通过电脑对电冰箱工作状况的实时监测和显示,实时清楚的了解温度、效 率、能耗的情况;它使得一台普通的电冰箱有了“大脑”,它能通过不断地 5监测,调整自己的行为,使之维持在正常的水平上。当自己“生病”时,便向它的主人发出病态信号,并且给予“治疗”。这个控制器真正使得电冰 箱智能化,因此称之为“智能冰箱控制器”。2.2 设计要求通过液晶显示所设定的温度,温度能随意调节,能自动控制电冰箱工 作,使其通过制冷达到所设定的温度。2.3 方案设计根据设计的要求,我们可以知道在本次设计中最重要的部分就是温控 器,温控器的选择将决定外部电路的设计,在日常生活及工农生产中,经 常要用到温度的检测及控制,传统的测温元件有热电耦和热电阻。温控器的第一选择就可以选择热电耦和热电阻,他们 测出的一般都是电压,再转换成对应的温度,但是需要比较多的外部硬件 支持。因此这种选择就有如下主要缺点:1.硬件电路复杂2.软件调试复杂 3.制作成本高方案设计采用美国DALLAS半导体公司生产的高性能数字智能温度传 感器DS18B20。DS18B20作为检测元件,测温范围为-55125,最高分辨 率可达0.0625C。DS18B20可以直接读出被测温度值,而且采用三线制与 单片机相连,减少了外部的硬件电路,具有低成本和易使用的特点。所以 在本次毕业设计中采用方案二,使用DS18B20作温控器配合51单片机 STC89C52进行设计。6洛阳理工学院毕业设计(论文)第3章系统的硬件设计3.1 硬件设计方案按照系统设计功能的要求,确定系统由8个模块组成:主控制器、测温 电路、液晶显示电路、过欠压检测电路、继电器压缩机电路、复位电路、按 键电路和报警电路。图37 8 9c 5 1单片机控制电冰箱的原理框图应用89C51单片机控制电冰箱的原理框图如图3-l,MCS-51单片机的 典型芯片是89C51o MCS-51系列单片机研制于1980年,由Intel公司所开 发,其结构是8048的延伸,改进了 8048的缺点,其ROM、RAM都可扩充至 64KB,也增添了如乘(MUL)、除(DIV)、减(SUBB)、比较(CJNE)、栈入(PUSH)、栈出(POP)、16位数据指针、布尔代数运算等指令,以及串行 通信能力和5个中断源。采用温度传感器测得冷冻室温度,通过单线与单片机通信,单片机将 此温度值进行保存后,通过控制版面的按键输入某一冷冻温度设定值(电 冰箱出厂时候,已经输入了一个比较合适的温度值,或叫做隐含值),这个 7洛阳理工学院毕业设计(论文)设定的温度值由单片机送往右边四位数码显示的同时,还不断与实测的冷 冻室温度进行比较,如下:TINT设+8?即冷冻室温是否比设定的温度高8 度,若是的话,单片机2.0 口输出高电平,使得VT1饱和导通,继电器K1吸合,压缩机运转,电冰箱开始制冷过程.若比较结果是否定的,则压缩机保持原来 状态不变,这里会有两种情况:一种是压缩机在开机后使冷冻室温度T1降下 来,使得T1不再大于T设+8的情况,这也需要保持压缩机继续停机。程 序设计必须考虑对于非变频式压缩机(即活塞式、玄片式等开停式温控制 器型),为避免压缩机的频繁启动/停止,而规定的大约8范围内,是上升 还是下降进入两种不同情形时压缩机应有的状态。压缩机运行后,冷冻室温度不断下降,控温程序将对T1WT设继续进 行比较,当冷冻室温度T1降至设定温度以下时,单片机P2.0 口输出低电 平,继电器K1释放,控制压缩机停机,若比较结果是否定的则保持压缩 机开机状态不变。只要压缩机一运转,单片机就对压缩机开机进行及时,当压缩机开机 时间达到10小时后,主程序使P2.0 口变成低电平,压缩机停机,同时P1.2 口送出高电平,使得VT2饱和导通,继电器K2吸合,化霜加热器接通电 源220V,化霜开始。化霜过程的结束时由蒸发器便面的温度T3来决定的,当结霜融化,蒸发器表面温度T3 DS18B20的单线输入单片机的P1.0 口,温度存入单片机,该温度值与化霜结束温度值13度进行比较,T3三13?若结果是肯定的,则执行两个动作,一时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个中断优先级。中断控制 8洛阳理工学院毕业设计(论文)电路主要包括用于中断控制的四个寄存器;定时器控制寄存器TCON,串行 口控制器SCON,中断允许控制寄存器IE,中断优先级控制寄存器IP等。一个片内振荡器和时钟发生电路。其中2路温度输入PL0和,一路状态电 平输入,三路键盘输入;其中故障报警和冷藏室温度公用一个端口。MCS-51系列单片机特点如下:(I)专为控制应用所设计的八位CPU;(2)具有布尔代数的运算能力;(3)32条双项且可被独立寻址的10 口;(4)芯片内有128字节可供存储数据的RAM(8052:256字节);(5)内部有两组16位定时器(8052有3个);(6)具有全多工传输信号UART;(7)5个中断源,且具有两级(高/低)优先权顺序的中断结构;(8)芯片内有4KB(8KB/8052)的程序存储器(ROM);(9)芯片内有时钟(CLOCK)振荡器电路;(10)程序存储器可扩展至64KB(ROM);(H)数据存储器可扩展至64KB(RAM)o3.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是片 内振荡电路反相放大器的输出端,振荡电路的频率就是晶体的固有频率。9洛阳理工学院毕业设计(论文)2_34LB_7Ba_g11_12n14g617出!9组P1P1P1P1P1P1P1P1Rswpxaaw叩皿P3UXTAL2XTAL1 GNDVOCPOO pai PO2PO3 pa4PO5 PO6 _pa?EA/VPPALE I PROGPSENP2.7 P2j6 P2-5 P2.4 P23 PZ2P2.1 PZOo 9876543210 9 87654321 433J一c*lrl3j3rl-37 2 1 11,二 二22图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 10洛阳理工学院毕业设计(论文)只执行外部ROM中的程序。当EA为高电平且PC值小于OFFF(4K)时,CPU执行内部ROM的程序,但当PC的值超出4K时将自动转去执行片外 ROM的程序。对于无片内ROM的8031或不使用内部ROM的89C51,需 外扩EPROM,此时EA必须接地。在Flash ROM编程期间,该引脚也用 于施加允许电源VPP(如果选用12V编程)。(4)并行 I/O 端 DPO、Pl、P2 和 P3P0 口(P0.0-P0.7):P0 口是一个8位双向I/O端口(需外接上拉电阻)。在访问外部存储器时,分时提供低8位地址线和8位双向数据线。P0 口先 输出片外存储器的低8位地址并锁存在地址锁存器中,然后再输入或输出 数据。P1 口(P1.0Pl.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.0P3.7):P3 口是一个内部带有上拉电阻的8位准双向I/O 端口,在系统中8个引脚都有各自的第二功能。3.2.3 基本时序单位单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时 序单位,片内的各种微操作都以此周期为时序基准。振荡频率二分频后形成状态周期或称s周期,所以1个状态周期包含 有2个振荡周期。振荡频率foscl2分频后形成机器周期MC。所以,一个 机器周期包含有6个状态周期或12个振荡周期。14个机器周期确定一条 指令的执行时间,这个时间就是指令周期。89C51单片机指令系统中,各 条指令的执行时间都在14个机器周期之间。4种时序单位中,振荡周期和机器周期是单片机内计算其他时间值(例 如,波特率、定时器的定时时间等)的基本时序单位。下面是单片机外接 晶振频率12MHz时的各种时序单位的大小:11洛阳理工学院毕业设计(论文)状态周期二2/fosc=2/12MHZR.0167.s机器周期=12/fosc=12/12MHZ=1 口 s指令周期二(14)机器周期二(14)口 s振荡周期二 1/fosc=1/12MHZ=0.0833 口 s3.2.4 温度传感器DS18B20温度传感器是本系统不可或缺的元件,其性能的好坏直接影响系统的 性能,因此采用DALLAS公司生产的高性能数字温度传感器DS18B20。DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚 T0-92小体积封装形式;温度测量范围为一55。+125,可编程为9 位12位A/D转换精度,测温分辨率可达0.0625,被测温度用符号扩展 的16位数字量方式串行输出;其工作电源既可在远端引入,也可采用寄生 电源方式产生;多个DS18B20可以并联到3根或2根线上,CPU只需一根端 口线就能与诸多DS18B20通信,占用微处理器的端口较少,可节省大量的引 线和逻辑电路。以上特点使DS18B20非常适用于远距离多点温度检测系统。12洛阳理工学院毕业设计(论文)DS18B20的管脚排列如图3-3所示:DQ:为数字信号输入/输出端;GND:为电源地;VDD:为外接供电电源输入端(在寄生电源接线方式时接地,见图3-2)oROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20 的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的 循环冗余校验码(CRC=X8+X5+X4+1)。ROM的作用是使每一个DS18B20 都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。DS18B20内部结构如图3-4所示主要由4部分组成:64位ROM、温度 传感器、非挥发的温度报警触发器TH和TL、配置寄存器。图3-4 DS18B20的内部结构K速 城存KEK皮黑“几件W3W护朗尊长整号TL13洛阳理工学院毕业设计(论文)DS18B20用12位存贮温度值,最高位为符号位。以下图表2-1为DS18B20的温度存储方式,负温度S=1,正温度S=Oo表3-1 DS18B20温度值格式表温度值低字节LBSBit7Bit6Bit5Bit4Bit3Bit2BitlBitO232221221222324温度值高字节MBSBitl5Bitl4Bitl3Bitl2BitllBitlOBit9Bit8sssss2%2522高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM 组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。其中配 置寄存器的格式如下:表3-2配置寄存器结构0RIRO11111转化后得到的12位数据,存储在DS18B20的两个8byte的RAM中,二 进制中的前面5位是符号位,如果测得的温度大于0,这5位为0,只要将 测得的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。如:0550H为+85,0191H 为 25.0625C,FC90H 为-55。RI、R0决定温度转换的精度位数:R1RO=OO,9位精度,最大转换时间 为 93.75ms,R1RO=O1,10 位精度,最大转换时间为 187.5ms,R1RO=1O,11位精度,最大转换时间为375ms,R1RO=H,12位精度,最大转换时间为 750ms;未编程时默认为12位精度。14洛阳理工学院毕业设计(论文)表3-3 DS18B20温度数据表温度数据输出(二进制)数据输出(十六进制)+1250000 0111 1101 000007D0H+85 0000 0101 0101 00000550H+25.06250000 0001 1001 00010191H+10.125 0000 0000 1010 001000A2H+0.5 0000 0000 0000 10000008H00000 0000 0000 00000000H-0.5 1111 1111 1111 1000FFF8H-10.1251111 1111 0101 1110FF5EH-25.0625 1111 1110 0110 1111FE6FH-55 1111 1100 1001 0000FC90H高速暂存器是一个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与单片机进行数据通讯,简单、可靠、易行。15洛阳理工学院毕业设计(论文)U2R8P1.0U327.0VCC DQ GNDDS18B20R94k7-1DS18B20P1.137 Tw 7T377八1:k7 图3-5温度检测电路图3-5中低温度系数晶振的振荡频率受温度的影响很小,用于产生固 定频率的脉冲信号送给减法计数器1,高温度系数晶振随温度变化其震荡 频率明显改变,所产生的信号作为减法计数器2的脉冲输入,图中还隐含 着计数门,当计数门打开时,DS18B20就对低温度系数振荡器产生的时钟 脉冲后进行计数,进而完成温度测量。计数门的开启时间由高温度系数振 荡器来决定,每次测量前,首先将-55。所对应的基数分别置入减法计数 器1和温度寄存器中,减法计数器1和温度寄存器被预置在-55。所对应的 一个基数值。减法计数器1对低温度系数晶振产生的脉冲信号进行减法计 数,当减法计数器1的预置值减到0时温度寄存器的值将加1,减法计数 器1的预置将重新被装入,减法计数器1重新开始对低温度系数晶振产生 16洛阳理工学院毕业设计(论文)的脉冲信号进行计数,如此循环直到减法计数器2计数到。时,停止温度 寄存器值的累加,此时温度寄存器中的数值即为所测温度。图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操作部分最好采用汇编语言实现。17洛阳理工学院毕业设计(论文)2.在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总 线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一 点在进行多点测温系统设计时要加以注意。3.连接DS1820的总线电缆是有长度限制的。试验中,当采用普通信号 电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改 为双绞线带屏蔽电缆时,正常通讯距离可达15011b当采用每米绞合次数更 多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由 总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离 测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。4.在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序 总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序 读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820 硬件连接和软件设计时也要给予一定的重视。3.3 部分电路介绍3.3.1 时钟电路89C51单片机的时钟信号通常用两种电路形式得到:内部振荡方式和 外部振荡方式。在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷 谐振器,就构成了内部振荡方式。由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了 自激振荡器并产生震荡时钟脉冲。内部振荡方式的外部电路如图3-6所示,图中,电容器Cl、C2起稳定振荡频率、快速起振的作用,其电容值通常取 30PF左右。晶振频率的典型值位12MHZ,采用6MHz的情况也比较多。内部 振荡方式的时钟信号比较稳定,实用电路中使用较多。由图3-6可见,外部振荡信号由XTAL2引入,XTAL1接地。为了提 高输入电路的驱动能力,通常使外部信号经过一个带有上拉电阻的TTL反 相门后接入XTAL2o18洛阳理工学院毕业设计(论文)XTAL1C1X1CRYSTAL33pXTAL2图3-6内部振荡方式外部振荡方式是把外部已有的时钟信号引入单片机内,这种方式适宜 用来使单片机的时钟与外部信号保持同步。3.3.2 复位电路当MCS51系列单片机的复位引脚RST(全称RERST)出现2个机 器周期以上的高电平时,单位就执行复位操作。如果RST持续为高电平,单片机就处于循环复位状态。根据应用的要求,复位操作通常有两种基本形式:上电自动复位和按 键手动复位。上电复位要求接通电源后,自动实现复位操作。通常用的上 电复位电路如图3-7所示。图中电容C和电阻R对电源Vcc来说构成微分 电路。上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作 用,不用图中电阻R也能达到上电复位的操作功能。所谓手动复位,是指通过接通一按钮开关,使单片机进入复位状态。系统上电运行后,若需要复位,一般是通过手动复位来实现的。通常采用19洛阳理工学院毕业设计(论文)手动复位和上电复位结合,其电路如图3-7所示。图3-7单片机复位电路图单片机复位后的状态:单片机的复位操作时单片机进入初始化状态,其中包括是程序计数器PC=OOOOH,这表明程序从0000H地址单元开始执 行。单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片 内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值。值得指出的是,记住一些特殊功能寄存器复位后的主要状态如表3-4 所示,对于了解单片机的初态,减少应用程序中的初始化部分是十分必要 的。说明:表中符号为随机状态;A=OOH,表面累加器已被清零;20洛阳理工学院毕业设计(论文)表3-4特殊功能寄存器特殊功能寄存器初始状态特殊功能寄存器初始状态A00HTMOD00HB00HTCON00HPSW00HTHO00HSP07HTLO00HDPL00HTH100HP0P3FFHSBUF不定IP*00000BSCON00HIE0*00000BPCON0*BPSW=OOH,表明选寄存器0组为工作寄存器组;SP=07H,表明堆栈指针指向片内RAMO7H字节单元,根据堆栈操作的 先加后压法则,第一个被压入的内容写入到08H单元中;P0p3=FFH,表明已向各端口线写入1,此时,个端口既可用于输入又 可用于输出;IP=*OOOOOB,表明各个中断源处于低优先级;IE=O*OOOOOB,表明各个中断均被关断;系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的 硬件状态下。51单片机的复位是由RESET引脚来控制的,此引脚与高电 平相接超过24个震荡周期后,51单片机即进入芯片内部复位状态,而且 一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是 高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便 会执行外部程序。51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,至于内部RAM的数据则不变。21洛阳理工学院毕业设计(论文)3.3.3 过欠电压检测电路过欠压检测电路只有检测出电压是否稳定便可,而这种电路允许输出 端并接在一起。使用电压比较器,内部采用射级接地、集电极开路的三极 管集电极输出方式。此电路的工作原理是:当输入电压UiUR2时,比较器A1的输出管截止,而比较器A2的输出 管导通,此时窗口比较器的输出电平将由比较器A2输出电平确定为低电 平。当输入电压UiURl时,比较器A1的输出管导通,而比较器A2的输出 管截止,此窗口比较器的输出电平将由比较器A1输出电平确定为低电平。只有当输入电压处于窗口电压之内,即UR2UiURl时,比较器A1和A2 输出管均截止,窗口比较器输出电平是由上拉负载电阻拉向高电平。3.3.4 显示电路LED显示器是单片机应用系统中常用的廉价输出设备。它是由若干 个发光二极管组成的,当发光二极管导通时,相应一个笔画划发光,控制 某段发光二极管导通,就能显示出某个数码或字符。在静态显示系统中,每位显示器都应有各自的锁存器、译码器(若采 用软件译码,译码器可省去)与驱动器,用以锁存各自待显示数字的BCD 码或字段码。因此,静态显示系统在每一次显示输出后能够保持显示不变,仅在待显示数字需要改变时,才更新其数字显示锁存器中的内容。这种显 示占用CPU的时间少,显示稳定可靠。缺点是,当显示的位数较多时,占 用的I/O 口较多。在动态显示的系统中,CPU需定时地对每位LED显示器进行扫描,每位LED显示器分时轮流工作,每次只能使一位LED显示,但由于人的 视觉暂留现象,仍感觉所有的LED显示器都在同时显示。这种显示的优点 是使用硬件少,占用I/O 口少。缺点是占用CPU时间长,只要不执行显 示程序,就立刻停止显示。但随着大规模集成电路的发展,目前已有能自 动对显示器进行扫描的专用显示芯片,使电路既简单又占用CPU时间。在 我们所设计的温度计中数码管显示就是利用的动态显示。22洛阳理工学院毕业设计(论文)R10l=F1k61CMC0 寸 LO9Z8 COOCOOOOU574LS37761-CXICO 寸 LO9Z8 oooooaooCJLOlCMCO 寸 LO9Z8 OOOOOOOOU574LS377lCMOO b LO9Z8 三 QQQQQQQQ O UJlOJCO 寸 LO9Z8 三 QQQQQQQQ Qcooo00P0.0.0.7 P2.5 P2.6 P2.7 P3.6ooU574LS377lOJCO b LO9Z8 三 QQQQQQQQ O LJJ0096图271 LED显示电路3.3.5 报警电路报警电路主要用示电冰箱使用过
展开阅读全文