《电气工程毕业论文-范本.doc》由会员分享,可在线阅读,更多相关《电气工程毕业论文-范本.doc(41页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、成都理工大学工程技术学院毕业论文基于单片机的恒温箱设计作者姓名 :张华胜专业名称 :电气工程及其自动化指导教师 :雷永锋 讲师IV基于单片机的恒温箱设计摘要在工业产品及家庭电器中,经常要用到恒温系统,而这些恒温系统的性能经常对这些产品的总体性能起很重要的作用,本设计利用传感器和单片机等技术,将传感器检测到的温度与设定值进行比较,通过单片机进行恒温控制,并加以显示,具有一定的现实意义和实用价值。设计内容包括硬件和软件两个部分。硬件主要由AT89S52单片机、DS18B20数字温度传感器、8155片外存储器、继电器,LED数码管和报警器等组成。电原理图包括数据采集、温度显示、键盘设定、温度控制和复
2、位电路等几个模块。软件部分主要对主程序和子程序进行介绍和编程。基于此要求,本设计利用单片机在温度测量与控制方面的优点对温度的进行控制,采用控制算法控制温度的调节。本系统具有温度控制和被控对象实际温度显示功能。可以在099范围内任意设定被控系统的目标温度,系统能实现自动调整和控制,在环境变化等情况下调控对象的温度与设定温度值一致。温度控制的静态误差0.1,显示的标定温度与被控对象实际温度差2。关键词:单片机 DS18B20 温度测量 温度控制AbstractIn the manufactured products and the family electric appliance, must u
3、se the constant temperature system frequently, but these constant temperature systems performance plays the very vital role frequently to these products overall performance, the design, such as the use of sensors and single-chip technology, the sensor detects the temperature settings compared to the
4、 adoption of single-chip temperature control, and display. Has a certain relevance and practical value.Design content including hardware and software two parts. The hardware mainly by at89S52 monolithic integrated circuit, the DS18B20 digital temperature sensor, 8155 piece of external memory, the re
5、lay, the LED nixietube and the alarm apparatus and so on is composed. Electricity schematic diagram including data acquisition, temperature demonstration, keyboard hypothesis, temperature control and reset circuit and so on several modules.The software part mainly has introduce main and small progra
6、m and make the programming.Based on this request, the design of the use of single-chip temperature measurement and control in regard to the merits of temperature control, PID control algorithm used to control water temperature regulation. The temperature control system and was charged with actual te
7、mperature display object. 0-99 in the range of any set temperature was charged with the goal of the system, the system can automatically adjust and control changes in the environment, adjust the temperature-controlled object in line with the set temperature. Keywords:MCU,DS18B20,temperature measurem
8、ent,temperature control目录摘要IAbstractII目录III前言11 绪论22方案设计分析33 恒温控制系统硬件设计53.1 AT89S52单片机简介53.1.1 AT89S52单片机资源简介53.1.2 AT89S52单片机时钟和复位电路63.2 DS18B20数字温度传感器简介83.2.1 DS18B20数字温度传感器资源简介83.2.2 DS18B20数字温度传感器引脚介绍9DS18B20引脚定义:93.3 并行I/O接口芯片的选择123.3.1 Intel8155芯片123.3.2 内部结构133.3.3 引脚功能133.4 74LS373锁存器144 恒温控
9、制系统模块分析设计164.1 温度的采集164.2键盘和显示电路的设计174.2.1 按键设置174.2.2 LED数码管显示原理184.2.3 LED接口电路195 恒温控制系统各功能和软件设计205.1 工作流程205.2 主程序设计205.2.1 LED显示子程序225.2.2按键温度设定子程序235.2.3温度标度转换子程序275.2.4数码转换子程序285.3 系统软件调试295.4 系统软硬件联合调试29总结31致谢32参考文献33附件 硬件系统原理图34前言温度控制被广泛地用在生产、生活、实验等领域。而在医用、水产、特种工业、工业探伤、照相等行业,都需要求有稳定而精确的温度,也就
10、是在设定一个温度之后,系统能够自动调整到这一个数值并保持不变。本论文是基于单片机而设计的温度控制系统,通过对温度的检测传到单片机,与给设定值进行比较,单片机对数据进行处理,根据偏差信号来改变特定I/O口的电平,从而达到温度控制的目的。本论文是对温度控制。从室内温度的检测并传送到单片机,在设计过程中也遇到了困难,比如说温度测量器件的选用,是选用数字量输出还是选用模拟量输出,各有什么有特点,这些都经过了考虑才选择了这个方案。在单片机的设计中,单片机外部线路的设计,端口的分配和选用,复位和内部时钟的配合和电路的驱动等方面也遇到了不少问题,经过对各模块功能及单片机I/O的特点详细了解后都基本上解决了。
11、本论文利用芯片DS18B20作为室内温度的检测元件。DS18B20芯片可以直接把测量的温度值变换成单片机可以读取的标准电压信号。单片机通过外部矩阵键盘进行温度设定,读入的温度值与设定值进行比较,根据偏差的大小,单片机执行程序对系统进行控制,即经过特定I/O口的电平变化,让系统加热或者说是制冷,从而改变了温度。当系统加热时,使温度升高,DS18B20不断对室内温度进行温度检测,当偏差存在时单片机就继续驱动热电系统电路进行加热,直到偏差为零。1 绪论恒温控制系统就是在设定一个温度之后,系统能够自动调整到这一个数值并保持不变。它在国防、科研、工农业、气象、医疗卫生等领域得到了广泛应用,可用于仪器仪表
12、、电子元件、药品、疫苗等的恒温,一些应用型无线电元件恒温器,显影液恒温槽,便携式冰箱,旅游汽车冷热两用箱,半导体空调器等。把温度作为被控参数进行研究无论在工业生产,还是在日常生活中,都已经变得非常适用和广泛了。在工业生产中,例如冶金工业、化工生产、电力工程、食品加工、机械制造、医疗以及科研研究室等,人们对需要对温度进行监测和控制;而日常生活中的家用电器如电烤箱、微波炉、烘干箱、保温箱等等,也是我们不可或缺的。因此,就恒温箱的研究就有极其重要的现实意义。本设计系统主要由AT89S52单片机、8155片外存储器、74LS373和DS18B20数字温度传感器等组成。电原理图包括数据采集、BCD码转换
13、和温度显示、按键设定、温度控制和复位电路等几个模块。通常,采用单片机系统来实现对温度的控制,不仅具有控制方便、简单、灵活等优点,而且可以大幅度的提高被控温度的技术指标。在本设计中,需要达到以下几点技术要求:1. 控制温度范围0-99,控制精度为2。2. 温度采集数字量输入。3. 键盘按键输入,具有设定功能。4. 显示功能,数码管显示设定值及当前所测温度值。本课题应该解决的问题:在设计过程中,对硬件选型时一定要注意控制精度。所选用的芯片必须达到我们设计任务书中的精度要求。核心设计内容是硬件和软件部分,硬件是基础,在软件设计中,分析清楚各个功功能模块,如主程序、中断服务程序,以及包含在中断程序中的
14、数据采集、温度显示子程序等。2方案设计分析恒温箱的控制系统可以选用PLC或单片机,PLC一般较贵,用于一般的恒温箱显然有些不适合。结合本系统的控制要求,选用Atmel公司的AT89S52单片机,它有8K的系统可编程flash存储器,有32个通用I/O口,能够实现本控制系统的功能、满足要求,也不用再扩展存储器,减少了硬件延迟与误差,保证系统快速响应,而且组成系统的性价比高,资源得到了充分的利用。关于基于单片机的恒温箱的设计的控制模块的选择,数字比较器与模拟控制器相比较,数字比较器具有以下几个优点:1. 模拟调节器调节能力有限,当控制规律较为复杂时,就难以甚至无法实现。而数字控制器能实现复杂控制规
15、律的控制。2. 计算机具有分时控制能力,可实现多回路控制。3. 数字控制器具有灵活性。起控制规律可灵活多样,可用一台计算机对不同的回路实现不同的控制方式,并且修改控制参数或控制方式一般只可改变控制程序即可,使用起来简单方便,可改善调节品质,提高产品的产量和质量。4. 采用计算机除实现数字控制外,还能实现监控、数据采集、数字显示等其他功能。综合考虑,本设计控制模块采用数字调节器。本系统是一个恒温箱的温度控制器。其控温范围是0-99。控制器可以在线设定控制温度,并对温度进行实时数码显示。当系统处于设定状态时,数码管显示设定温度值,平时显示实际温度。当实际温度与设定温度偏差达小于-2时,全功率加热电
16、阻丝,当偏差值在2的范围内时,实行PID控制来达到控制温度的目的,当偏差值大于2时,停止加热,从而达到恒温控制的目的。这样的一闭环控制系统,其控制速度快,超调小、线性控制精度高和实现成本低。根据上面分析,结合控制要求,总体方案确定如下为了使设计的成本低、抗干扰强,系统动态性能与稳态性能好的前提下,设计方案的总体结构框图如图2.1所示:此系统主要有单片机系统、用户接口、温度控制电路、传感器等组成。单片机系统主要用来运行控制软件,接受温度设定和控制指令,输入采样温度信息,输出加热控制信号、温度显示数据。图2.1设计总体结构框图(1)用户接口包括温度显示和按键两部分。由于控温范围为0-99,可以采用
17、两位8段LED数码管显示。按钮设置四个,分别为设定键、增键、减键和移位键。(2)DS18B20采集到的就是为数字信号。(3)继电器的接通时间来控制电阻丝的加热功率,而继电器的接通时间又由P1.3上的触发脉冲来控制。3 恒温控制系统硬件设计考虑到尽量降低成本和避免与复杂的电路,此系统所用到的元器件均为常用的电子器件。而主控器采用低功耗、高性能、片内含8k byte可反复擦写的Flash、只读程序器CMOS8位单片机AT89S52;温度传感器采用DALLAS公司生产的单总线数字温度传感器DS18B20;采用控制端TTL电平,即可实现对继电器的开关,使用时完全可以用 NPN型三极管接成电压跟随器的形
18、式驱动;单片机所需要的+5V工作电源是通过220V交流电压通过变压、整流、稳压、滤波得到。用DS18B20定时采集环境温度存到EEPROM,通过两个LED实时显示采集到的温度值,并用此温度与设定的温度比较,通过单片机对偏差进行运算,控制继电器的通断,加热或断开热敏电阻,使温度上升或下降,温度达到时断开继电器,使温度自然下降,不够时接通继电器加热,控制显示器、键盘并通过单片机来完成键盘扫描与输出动态显示。3.1 AT89S52单片机简介3.1.1 AT89S52单片机资源简介图3.1AT89S52芯片AT89S52芯片如图3.1所示。由于它的广泛使用使得市面价格较8155、8255、8279要低
19、,所以说用它是很经济的。该芯片具有如下功能: 1个专用的键盘/显示接口; 有1个全双工异步串行通信接口; 有2个16位定时/计数器。这样,1个89S52,承担了3个专用接口芯片的工作;不仅使成本大大下降,而且优化了硬件结构和软件设计,给用户带来许多方便。89S52有40个引脚,有32个输入端口(I/O),有2个读写口线,可以反复插除,所以可以降低成本。89S52主要功能特性: 兼容MCS51指令系统 32个双向I/O口线 3个16位可编程定时/计数器中断 2个串行中断口 2个外部中断源 2个读写中断口线 低功耗空闲和掉电模式 8k可反复擦写(1000次)Flash ROM 2568 bit内部
20、RAM 时钟频率0-24MHz 可编程UART串行通道 共6个中断源 3级加密位 软件设置睡眠和唤醒功能3.1.2 AT89S52单片机时钟和复位电路1. 时钟电路单片机内部有一个高增益反向放大器,输入端为芯片引脚,输出端为引脚。而在芯片外部和之间跨接晶体振荡器和微调电容,从而构成一个稳定的自激振荡器。晶体震荡频率高,则系统的时钟频率也高,单片机运行速度也就快,但反过来运行速度快对存储器的速度要求就高,对印制电路板的工艺要求也高,所以,这里使用震荡频率为6MHz的石英晶体。震荡电路产生的震荡脉冲并不直接是使用,而是经分频后再为系统所用,震荡脉冲经过二分频后才作为系统的时钟信号。在设计电路板时,
21、振荡器和电容应尽量靠近单片机,以避免干扰。需要注意的是:电路板时,振荡器和电容应尽量安装得与单片机靠近,以减小寄生电容的存在更好的保障振荡器稳定、可靠的工作电路图如图3.2所示。图3.2时钟电路2. 复位电路单片机的复位电路分上电复位和按键复位两种方式。(1) 上电复位:在加电之后通过外部复位电路的电容充电来实现的。当的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就完成了系统的初始化电路原理图。RST上的电压必须保证在斯密特触发器的阀值电压以上足够长时间,满足复位操作的要求。(2) 按键复位:程序运行出错或操作错误使系统处于死锁状态时,为了摆脱困境,也需按复位键以重新启动。RST引
22、脚是复位信号的输入端,复位信号是高电平有效。按键复位又分按键脉冲复位和按键电平复位。电平复位将复位端通过电阻与相连,按键脉冲复位是利用RC分电路产生正脉冲来达到复位的。(3) 注意:因为按键脉冲复位是利用RC微分电路产生正脉冲来达到复位的。所以电平复位要将复位端通过电阻与相连.如复位电路中R、C的值选择不当,使复位时间过长,单片机将处于循环复位状态。故本设计采用按键复位。图3.3按键复位3.2 DS18B20数字温度传感器简介DS1820是美国Dallas半导体公司推出的数字化温度传感器,它是世界上第一片支持一线总线接口的温度传感器,在其内部使用了ON-B0ARD专利技术。全部传感元件及转换电
23、路集成在形如一只三极管的集成电路内。一线总线独特而且经济的特点,使用户可轻松地组建传感器网络,为测量系统的构建引入全新概念。现在,新一代的DS18B20体积更小、更经济、更灵活,使你可以充分发挥“一线总线”的优点。3.2.1 DS18B20数字温度传感器资源简介1. 新的一线器件DS18B20体积更小、适用电压更宽、更经济。DS18B20、DS1822 一线总线数字化温度传感器,同DS1820一样,DS18B20也支持一线总线接口,测量温度范围为-55+125,在-10+85范围内,精度为0.5。DS1822的精度较差为2。现场温度直接以一线总线的数字方式传输,大大提高了系统的抗干扰性。适合于
24、恶劣环境的现场温度测量,如:环境控制、设备或过程控制、测温类消费电子产品等。与前一代产品不同,新的产品支持3V5.5V的电压范围,使系统设计更灵活、方便。而且新一代产品更便宜,体积更小。2. DS18B20、DS1822的特性DS18B20可以程序设定912位的分辨率,精度为0.5。可选更小的封装方式,更宽的电压适用范围。分辨率设定,及用户设定的报警温度存储在EEPROM中,掉电后依然保存。DS18B20的性能是新一代产品中最好的,性能价格比也非常出色。DS1822与DS18B20软件兼容,是DS18B20的简化版本。省略了存储用户定义报警温度、分辨率参数的EEPROM,精度降低为2,适用于对
25、性能要求不高,成本控制严格的应用,是经济型产品。继一线总线的早期产品后,DS1820开辟了温度传感器技术的新概念。DS18B20和DS1822使电压、特性及封装有更多的选择,让我们可以构建适合自己的经济的测温系统。3.2.2 DS18B20数字温度传感器引脚介绍DS18B20引脚定义:图3.4 DS18B20(1)DQ为数字信号输入/输出端;(2)GND为电源地;(3)VCC为外接供电电源输入端(在寄生电源接线方式时接地)。3.2.3 DS18B20数字温度传感器的使用1. DS18B20的主要特性(1) 适应电压范围更宽,电压范围:3.05.5V,在寄生电源方式下可由数据线供电(2) 独特的
26、单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯(3) DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测温(4). DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内(5). 温范围55125,在-10+85时精度为0.5(6). 可编程的分辨率为912位,对应的可分辨温度分别为0.5、0.25、0.125和0.0625,可实现高精度测温(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快
27、(8)测量结果直接输出数字温度信号,以一线总线串行传送给CPU,同时可传送CRC校验码,具有极强的抗干扰纠错能力(9)负压特性:电源极性接反时,芯片不会因发热而烧毁,但不能正常工作。2. DS18B20的内部结构DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。图3.5 DS18B20内部结构3. DS18B20的工作原理DS18B20的读写时序和测温原理与DS1820相同,只是得到的温度值的位数因分辨率不同而不同,且温度转换时的延时时间由2s减为750ms。DS18B20测温原理如图3所示。图中低温度系数晶振的振荡频率受温度影
28、响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在55所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图3.6中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。图3.6 DS18B20原理图3.3 并行I/O接口芯片
29、的选择在单片机控制系统中,经常利用I/O接口芯片来扩张CPU的并行I/O端口。这类I/O接口芯片的种类很多。在单片机系统中,广泛应用的I/O接口芯片是8155。3.3.1 Intel8155芯片8155是Intel公司研制的通用I/O接口芯片。AT89S52芯片和8155相连不仅可为外设提供两个八位I/O端口(A口和B口)和一个六位I/O端口(C口),而且也为CPU提供一个256字节的RAM存储器和一个14位定时器/计数器。内部结构如下图所示。图3.6 8155芯片引脚图3.3.2 内部结构8155共有七部分电路组成,它们是双线数据总线缓冲器、地址锁存器、地址译码器和读写编码盘、RAM存储器、
30、I/O寄存器、命令寄存器和状态寄存器以及定时器/计数器等。双向数据总线缓冲器:该缓冲器是8位的,用于传送CPU对RAM存储器的读写数据。地址译码器:共八位,用于锁存CPU送来的RAM单元地址和端口地址。地址译码器和读写控制器:地址译码器的三位地址由地址锁存器输出端送来,译码后可以选中命令/状态寄存器、定时器/计数器和ABC三个I/O寄存器中的某个工作。读写控制其接收RD和WR线上的信息,实现对CPU和8155间所传信息的控制。RAM存储器,容量为256字节,主要用于存放实时数据。存储器存储单元地址由地址锁存器输出端送来。I/O寄存器,分为ABC三个端口。A口和B口的I/O寄存器为8位,既可以存
31、放外设的输出数据又可以存放外设的输入数据;C口的I/O寄存器只有6位,用于存放I/O数据或命令/状态信息。8155在某一瞬间只能选中某个I/O寄存器工作,这有CPU送给8155的命令字决定。命令寄存器和状态寄存器,皆为8位寄存器。命令寄存器存放CPU送来的命令字,状态寄存器存放8155的状态字。定时器/计数器,这是一个二进制14位的减1计数器,计数器初值由CPU通过程序送来。定时器/计数器由T/N输入线上脉冲减1,当计满溢出时可在T/OUT线上输出一个终止脉冲。3.3.3 引脚功能1. AD7-AD0(8条):AD7-AD0为地址/数据总线,常可和MCS-51的P0口相接,用于分时的传送地址/
32、数据信息。I/O总线(22条):PA7-PA0通用I/O线,用于传送A口上的外设数据,数据外送方向由8155命令字决定。PB7-PB0为通用I/O线,用于传送B口上的外设数据,数据传送的方向也是由8155命令字决定的。PC5-PC0为I/O数据/控制线,共6条,通用I/O方式下,用作传送I/O数据,在选通I/O方式下,用作传送命令/状态信息。2. 控制总线(8条)RESET:8155总清输入线,在RESET线上输入一个大于600ns宽的正脉冲时,8155立即处于总清状态,A、B、C三口也定义为输入方式。CE和IO/M:CE为8155片输入线,若CE=0,则CPU选中本8155工作;否则,本81
33、55不工作。IO/M为I/O端口或RAM存储器的选通输入线;若IO/ M=0,则CPU选中8155的RAM存储器工作;若IO/M=1 ,则CPU选中8155内某一寄存器工作。RD和WR:RD是8155的读/写命令输入线,WR为写命令线当RD=0和WR=1时,8155处于读出数据状态;当RD=1和WR=0时,8155处于写入数据状态。ALE:为允许地址输入线,高电平有效。若ALE=1,则8155允许AD7AD0上的地址锁存道“地址锁存器”;否则,8155的地址锁存器处于封锁状态。8155的ALE常和MCS-51的同名端相连。T/IN和T/OUT:T/IN实计数器输入线,其上脉冲用于对8155片内
34、14位计数器减1。T/OUT为计数器输出线,当14位计数器从计满回零时就可以在该引线上输出脉冲波形,输出脉冲的形状和计数器工作方式有关。3. 电源线2条:Vcc为+5V电源输入线,Vss为接地线。3.4 74LS373锁存器74LS373为三态输出的八D透明锁存器。373的输出端Q0Q7可直接与总线相连。当三态允许控制端OE为低电平时,Q0Q7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,Q0Q7呈高阻态即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。当LE端施密特触发器的输入滞
35、后作用,使交流和直流噪声抗扰度改善400mV。其图如3.7所示。引出端符号: D0D7数据输入端 OE三态允许控制端(低电平有效) LE锁存允许端 Q0Q7输出端图3.7 74LS373芯片图4 恒温控制系统模块分析设计恒温控制系统包括温度的采集,温度的转换,温度恒温控制等,在此我们还将介绍其键盘和显示电路。4.1 温度的采集温度测量转换部分是整个系统的数据来源,直接影响系统的可靠性。传统的温度测量方法是:温度传感器例如AD590,将测量的温度转换成模拟电信号,再经过A/D转换器把模拟信号转换成数字信号,单片机再对采集的数字信号进行处理3。这种模拟数字混合电路实现起来比较复杂,滤波消噪难度大系
36、统稳定性不高,鉴于这些考虑,本设计采用数字式温度传感器DS18B20。DS18B20支持“一线总线”接口,测量温度的范围为-55C+125C,现场温度直接以“一线总线”的数字式传输,大大的提高了系统的抗干扰性。DS18B20为3引脚, DQ为数字信号输入/输出端;GND为电源地;VDD为外接供电电源输入端。温度采集电路模块如图4.1所示。DSB8B20的3脚接系统中单片机的P1.4口线,用于将采集到的温度送入单片机中处理,2脚和3脚之间接一个4.7K上拉电阻,即可完成温度采集部分硬件电路。DS18B20内部结构主要由四部分组成:64位光刻ROM、温度传感器、非挥发的温度报警触发器TH和TL、配
37、置寄存器。图4.1温度采集电路DS18B20中的温度传感器可完成对温度的测量,以12位转化为例:用16位符号扩展的二进制补码读数形式提供,以0.0625/LSB形式表达,其中S为符号位。数据转换如下表4.1。表4.1 DS18B20温度数据转换表LS ByteBit7Bit6Bit5Bit4Bit3Bit2Bit1Bit0232221202-12-22-32-4MS ByteBit15Bit14Bit13Bit12Bit11Bit10Bit9Bit8SSSSS262524这是12位转化后得到的12位数据,存储在18B20的两个8比特的RAM中,二进制中的前面5位是符号位,如果测得的温度大于0,
38、这5位为0,只要将测到的数值乘于0.0625即可得到实际温度;如果温度小于0,这5位为1,测到的数值需要取反加1再乘于0.0625即可得到实际温度。例如+125的数字输出为07D0H,+25.0625的数字输出为0191H,-25.0625的数字输出为FF6FH,-55的数字输出为FC90H。DS18B20采集到的温度数字量存在31H(高位),30H(低位)4.2键盘和显示电路的设计4.2.1 按键设置本系统中,采用四个按键实现温度的设定,分别为设定键、增键、减键和移位键,温度值有三个位,通过移位键可以方便的设定温度值。并接在8155PC口中。PC为读入口表4.2 按键功能按键键名功能SET键
39、设定键或退出键使系统产生中断,进入设置状态或退出+ 键增键按一次当前值加1- 键减键按一次当前值减1MOV键移位键按一次移动到另一位设置电路参考图4.2(在下面)4.2.2 LED数码管显示原理显示电路实行LED显示。这里采用八段共阳LED。LED数码管结构简单,价格便宜。八段LED显示管有八只发光二极管组成,编号分别为a、b、c、d、e、f、g、dp,分别和同名管相连。八段LED数码显示管原理简单,是通过同名管脚上所加电压高低来控制发光二极管是否点亮而显示不同的字形的。例如,若在共阳LED管的dp、g、f、e、d、c、b、a管脚上分别加上80H控制电平(即dp上为TTL高电平,不亮,其余为0
40、伏,亮),则LED显示管显示字形“8”。80H是按照dp、g、f、e、d、c、b、a顺序排列后的十六进制编码(0为TTL低电平,1为TTL高电平),常称为字形码。因此,LED上显示字形不同,相应字形码也不一样。图4.2 七段码示意图LED管的显示可以分为静态显示和动态显示两种。1. 静态显示的特点是各个LED管能稳定地同时显示各自字形;动态显示是指各LED轮流地一遍一遍显示各自字符,人们因视觉气管惰性而看到的是各LED似乎在同时显示不同字形。但是静态显示所需的硬件开锁大,CPU也无法预先知道什么时候需要改变LED的被显示字符。为了减少硬件开锁,提高系统可靠性和降低成本,单片机控制控制系统通常采
41、用动态扫描显示。在本电路图中,8031通过8155对三支共阳LED的接口电路;A口和所有LED的a、b、c、d、e、f、g、dp 引线相连,各LED控制端G和8155C口相连,故B口为字形口和C口为字形口,因为CPU可以通过C口控制各LED是否点亮。2 动态显示采用软件法把欲显示十六进制(或BCD码)转换为相应的字形码,故它通常需要在RAM区建立一个显示缓冲区。显示缓冲区内包含的存储单元个数常和系统中LED的个数相等。显示缓冲区的起始很重要,它决定了显示缓冲区在RAM中的位置。在本系统程序中,设置了70H,71H,72H三个显示缓冲区。4.2.3 LED接口电路显示采用3位共阳LED动态显示方
42、式,显示内容有温度值的十位、个位,按键并接在8155PC口中,PC为读入口。显示电路实行LED显示,A口字段口,B口为在位选口,LED用动态显示,这里采用八段共阳LED。模块电路如下图4.3所示: 图4.3 显示接口电路 5 恒温控制系统各功能和软件设计5.1 工作流程恒温箱在复位后处于停止加热的状态,此时,系统默认显示设定温度值为50。我们可以通过用设定键改变预设定温度,也可以直接启动运行。在运行的过程中,系统不断的检测当前温度,并送往显示器显示,超过设定温度值允许的范围后停止加热,当温度下降到上限(比设定温度大2时)启动加热,实行PID计算达到控制温度的目的。当下降到下限(比设定温度小2以
43、上)时,实行全功率控制。快速达到加热到设定温度的目的。这样不断的重复上述的过程,使温度保持在与设定的温度范围内。当然,运行过程中,也可以随时地改变设定温度,温度设定好之后运行,系统按新设定的温度运行。5.2 主程序设计主程序应该包括各个的初始化工作,T0初始化,开中断、温度显示和键盘的扫描以及看门狗子程序。其相应的程序框图以及程序见附录。T0 初始化时,设定T0的计数器方式为2,初值为06H,故它的溢出中断时间为250个过零同步触发脉冲。而T1中断服务程序的执行时间必须满足T0的这一时间要求,因为T1的中断是嵌套在T0中断之中的。其中有LED显示子程序,按键温度设定子程序。主程序设计基本框图:
44、图5.1 主程序设计主程序:MAIN:MOV A,#03H; 初始化8155 A,B输出,C输入(方式控制字03H)MOV DPTR,#8000HMOVX DPTR,AMOV TMOD,#56H ;定义T0为定时器计数方式2,T1为方式1(01010110)MOV TL0,#06H ;装入定时初值MOV TH0,#06HCLR PT0 ;T0为低中断优选MOV IE,#82H ;开T0中断(10000010)SETB TR0 ;启动T0计数MIAN1:ACALL LED_DISPACALL BUTTONAJMP MIAN15.2.1 LED显示子程序LED采用动态显示,先由PA口送段选码,PB
45、口送位选码,延时1MS,指向下一单元,判断是否3位显示完,完了返回,没完,位选码左移,继续显示。动态显示汇编子程序:LED_DISP: MOVR0,#00HMOV R1,#00HMOV A,#03H ;口输出,B输出 C输入MOV DPTR,#8000H ;命令状态字MOVX DPTR,AMOV R0,LED_NUM1 ;显示存储首址送R0MOV R1,0FEH ;LED1位选(字位码始址送R1)MOV A,R1LED_1: MOV DPTR,#8002H ;位选码送B口MOVX DPTR,AMOV A,R0 ;取显示数据MOV DPTR,#LED_TAB ;字型码表首址MOVC A,A+DP
46、TRMOV DPTR,#8001H ;A口地址MOVX DPTR,AACALL DELAYINC R0 ;指向下一显示单元MOV A,R1JNB ACC.2,LED_2 ;显示完一遍,则跳转RL AMOV R1,AAJMP LED_1LED_2:RETLED_TAB:DB 0C0H,0F9H,0A4H,0B0H,99HDB 92H, 82H, 0F8H,80H, 90HDB 88H, 83H, 0C6H,0A1H,86HDB 8EH, 0FFH,0CH, 89H, 7FHDB 0BFH5.2.2按键温度设定子程序本设计中,安排四个按键,分别为设定建、增键、减键和移位键。可实现的功能为:开始必须按一设定建,表示系统现在处于设定状态了,如果没有按设定键,而直接按其他的三个键中的一个,那么将无效,返回。接着,如果所需设定的温度与当前温度相差不大时,可以直接按增减建来