单片机鸡雏恒温孵化器设计_第1页
单片机鸡雏恒温孵化器设计_第2页
单片机鸡雏恒温孵化器设计_第3页
单片机鸡雏恒温孵化器设计_第4页
单片机鸡雏恒温孵化器设计_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

辽宁工业大学单片机原理及接口技术课程设计(论文)题目:鸡雏恒温孵化器设计

课程设计(论文)任务及评语院(系):电气工程学院教研室:学号学生姓名专业班级课程设计(论文)题目鸡雏恒温孵化器设计课程设计(论文)任务该鸡雏恒温孵化器可实现鸡雏孵化过程恒温控制,温度可通过键盘自行设定。并有温度上下限报警功能,利用电热丝加热,温度测量范围0~50度。设计任务:1.CPU最小系统设计(包括CPU选择,晶振电路,复位电路)2.温度传感器选择及接口电路设计3.驱动电路设计4.程序流程图设计及程序清单编编写技术参数:1.温度测量范围:0-50℃2.工作电源220V设计要求:1、分析系统功能,尽可能降低成本,选择合适的单片机、AD转换器、输出电路等;2、应用专业绘图软件绘制硬件电路图和软件流程图;3、按规定格式,撰写、打印设计说明书一份,其中程序开发要有详细的软件设计说明,详细阐述系统的工作过程,字数应在4000字以上。进度计划第1天 查阅收集资料第2天 总体设计方案的确定第3-4天 CPU最小系统设计温度传感器选择及接口电路设计第6天 驱动电路设计第7天 程序流程图设计第8天 软件编写与调试第9天设计说明书完成第10天 答辩指导教师评语及成绩平时:论文质量:答辩:总成绩:指导教师签字:年月日注:成绩:平时20%论文质量60%答辩20%以百分制计算摘要温度控制系统广泛应用于社会生活的各个领域,如家电、汽车、材料、电力电子等,常用的控制电路根据应用场合和所要求的性能指标有所不同。开发出性能较好的温度控制系统对于测控技术的发展具有很大的意义,随着温度控制器应用范围的日益广泛和多样,各种适用于不同场合的温度控制器应运而生。由于单片机功能强大,可大大加快系统的开发与调试速度,并具有控制方便、简单、灵活等特点,在很多的电子产品中也用到了温度检测和温度控制。本设计所介绍的鸡雏恒温孵化器,硬件电路以AT89C51单片机为核心来实现温度控制,具有实用性强、可靠性强等特点。采用数字温度传感器DS18B20,因其内部集成了A/D转换器,使得电路结构更加简单,减少了温度测量转换时的精度损失,使得测量温度更加精确。其输出温度采用LED数码管实现温度数字显示,保证了测量的灵敏度和准确度。另外系统具有超限自动报警等功能,具有结构新颖、电路简单和控制方便等优点。关键词:温度控制;单片机;数字温度传感器;LED数码管目录TOC\o"1-3"\f\h\z第1章绪论 11.1智能恒温箱系统概况 11.2本文研究内容 1第2章CPU最小系统设计 22.1智能恒温系统总体设计方案 22.2CPU的选择 22.3数据存储器扩展 42.4复位电路设计 72.5时钟电路设计 82.6CPU最小系统图 8第3章系统硬件输入输出接口电路设计 103.1温度传感器的选择 103.2报警与继电控制电路设计 123.3键盘输入接口电路设计 143.4显示接口电路设计 17第4章系统软件设计 184.1软件实现功能综述 184.2流程图设计 194.2.1主程序流程图设计 194.2.2模拟量检测流程图设计 204.2.3键盘管理程序流程图设计 214.3程序清单 22第5章系统设计与仿真 315.1系统原理图 315.2硬件仿真图 32第6章课程设计总结 33参考文献 34绪论智能恒温箱系统概况智能恒温箱主要是用来控制温度,他为农业研究、生物技术、测试提供所需的各种环境模拟条件,因此可广泛适用于药物、纺织、食品加工等无菌试验、稳定性检查以及工业产品的原料性能、产品包装、产品寿命等测试。智能恒温箱的温度是医疗、工业生产和食品加工等领域的关键,因此对温度的测量及控制始终占据着重要的地位。市场上常见的温度传感器以电压输出为主要形式,不同的的传感器其非线性曲线也各不相同,缺乏一个产品应具备的通用性和互换性。温度传感器应用范围很广、使用数量很大,但是在常规的环境参数中由于温度受其它因素影响较大,而且难以校准,因此,温度也是最难准确测量的一个参数。常规方法测量温度误差大、准确度低、测量滞后的时间长。今年来,国内传感器正向着集成化、智能化、网络化和单片机的方向发展,为开发新一代温度测量系统创造了有利条件。在智能恒温箱控制系统的设计中,用数字传感器将温度信号以数字信号的方式传送给单片机,经单片机处理后的温度数值,一方面送LED数码管显示;另一方面与给定值经行比较,判断温度高低,从而采取相应的措施:加热或者制冷。使温度达到设定值。随着单片机技术的飞速发展,通过单片机对被控制对象控制日益广泛,具有体积小、功能强、性价比高等特点,把单片机应用于温度控制系统中可以起到更好的控温作用,智能恒温箱是使用单片机进行温度控制的典型应用,采用单片机做主控单元可完成对温度的采集和控制等的要求。本文研究内容本课题采用单片机为主控制器,通过数字传感器测得箱内温度,再将温度信号送入主控制器,来完成恒温箱的温度控制系统的硬件。使用时可以通过键盘自行调节预期的恒温温度,调节范围为0~50℃。调节好后系统会将采集来的实时温度与设定的预期温度进行比较,如果实时温度比设定温度高就开启制冷设备,如果实时温度比预期温度低就开启加热设备。LCD液晶显示器即时显示温度。

CPU最小系统设计智能恒温系统总体设计方案本设计目的为基于单片机的鸡雏恒温孵化器,系统中借用单片机采用模块化设计的智能恒温箱,包括温度设定,温度采集,温度调节,实时温度显示和报警信号等模块。温度控制设定范围为0~50°C,上、下限温度在程序中设置,实现控制可以升温也可以降温,实时显示当前温度值,以及蜂鸣器报警功能。实际设计中使用热电偶温度自动控制系统。(采用A/D转换器)单片机控制,液晶显示模块LCD显示。系统的主要功能模块方框图如图2.1所示:温度设定温度设定电路温度显示报警电路89C51单片机继电器控制A/D转换电路加热设备信号放大温度传感器制冷设备图2.1温度控制系统原理图单片机是整个恒温箱的核心,内部电路设计用汇编语言编写。它完成了温度参数设定,温度采集计算,温度显示,温度比较,温度调节等功能。所以采用AT89C51作为电路系统的控制核心。恒温箱控制器的总体布局如图2.1所示。通过键盘按键将设置好的温度值传给单片机,通过温度显示模块显示出来。初始温度设置好后,单片机开启输出控制模块,使电热器开始加热,同时将从数字温度传感器DS18B20测量到的温度值实时的显示出来,当加热到设定温度值上限时,单片机控制声光报警模块,发出声光报警,加热设备停止并开启制冷设备,冷却到上限值以下时制冷设备也停止。当自然冷却到设定温度下限时,单片机再次启动加热器,如此循环反复,以达到恒温控制的目的。CPU的选择本设计使用单片机作为中心控制器。系统采用美国Intel公司生产的89C-51型单片机,由于其具有集成度高、处理功能强、可靠性高、系统结构简单、价格低廉等优点并具有4K字节的程序存储器,使得它应用起来更加方便。89C51单片机引脚功能:(1)XTAL1:接外部晶体和微调电容的一端。在89C51片内,它是振荡电路反向放大器的输入端及内部时钟发生器的输入端,振荡电路的频率就是晶体的固有频率。当采用外部振荡器是次引脚输入外部时钟脉冲。(2)XTAL2:解外部晶体和微调电容的另一端。在89C51片内,它是振荡电路反向放大器的输出端。在采用外部振荡器时此引脚应悬浮。通过示波器查看XTAL2端是否有脉冲信号输出,可以确认89C51的振荡电路是否正常工作。(3)RST:复位信号输入端,高电平有效。当振荡器工作时,在此引脚上出现两个机器周期一上的高电平,就可以使单片机复位。(4)ALE/:地址锁存允许信号。ALE锁存P0口传送的低8位地址信号,实现低8位地址与数据的分离。(5):外部程序存储器的读选通信号。当89C51由外部程序存储器取指令(或常数)时,每个机器周期内两次有效输出。(6)/VPP:内,外ROM选择端。当端接高电平时,CPU访问并执行内部ROM的指令;但当PC值超过4KB时,将自动转去执行外部ROM中的程序。接低电平时,CPU只访问外部ROM中的指令。图2.289C51单片机的引脚图(7)P0口:双向8位三态I/O口,在访问外部存储器时,可分时用做低8位地址线和8位数据线。无上拉电阻,能驱动8个LSTTL门电路。P1口:8位双向I/O口,用做普通I/O口。有上拉电阻,能驱动4个LSTTL门电路。P2口:8位双向I/O口,做高8位地址线。有上拉电阻,能驱动4个LSTTL门电路。P3口:8位双向I/O口,具有第二功能。有上拉电阻,能驱动4个LSTTL门电路。数据存储器扩展89C-51型单片机片内有128B的RAM,在实际应用中仅靠这256B的数据存储器是远远不够的。这种情况下可利用MCS-51单片机所具有的扩展功能扩展外部数据存储器。MCS-51系列单片机最大可扩展64KB。6264是8K×8位静态随机存储器,采用CMOS工艺制造,单一+5V电源供电,额定功率200mW,典型存取时间200ns,为28线双列直插式封装。图2.36264引脚图6264的特性及引脚信号:6264的容量为8KB,是28引脚双列直插式芯片,采用CMOS工艺制造A12~A0:地址线,可寻址8KB的存储空间。D7~D0:数据线,双向,三态。:读出允许信号,输入,低电平有效。:写允许信号,输入,低电平有效。CE1:片选信号1,输入,在读/写方式时为低电平。CE2:片选信号2,输入,在读/写方式时为高电平。VCC:+5V工作电压。GND:信号地。6264的操作方式:6264的操作方式由CE1、CE2的共同作用决定写入:当和为低电平,且和CE2为高电平时,数据输入缓冲器打开,数据由数据线D7~D0写入被选中的存储单元。读出:当和为低电平,且和CE2为高电平时,数据输出缓冲器选通,被选中单元的数据送到数据线D7~D0上。保持:当为高电平,CE2为任意时,芯片未被选中,处于保持状态,数据线呈现高阻状态。74LS373是一种带三态门的8D锁存器,其管脚示意图如下图所示:图2.474LS373引脚图其中D0~D7为8个输入端;,Q0~Q7为8个输入端;LE为数据打入端:当LE为“1”时,锁存器输出状态同输入状态:当LE“0”时,数据打入端锁存器;为输出允许端:当=0时,三态门打开;=1时,三态门关闭,输出高阻。89C51单片机与6264的接口,如下图:图2.589C51单片机扩展复位电路设计单片机的第9脚RST为硬件复位电路,只要在该端加上持续2个机器周期以上的高电平即可实现复位,复位后单片机的各个状态都恢复到初始化状态,其电路图如图2.6所示。图2.6中由按键以及电容C1、电阻R1、R2构成上电复位及手动电路。由于单片机是高电平复位,所以上电复位时,接通电源即可,当上电后,由于电容C1开始缓缓充电,则图中电路由5V电源到电容到电阻R1和地之间形成一个通路,由于在R1上产生电压降,则单片机的RST脚上为高电平,经过一段时间后电容的电充满,此时C1处可视为断路,单片机RST脚处电压逐渐降为0V,即处于稳定的低电平状态,此时单片机完成上电复位,程序从0000H开始执行。手动复位时,按一下图中的按钮即可,当按键按下的时候,单片机的9脚RST管脚处于高电平,此时单片机处于复位状态。值得注意的是,在设计当中使用到了硬件复位电路和软件复位两种功能,由上面所述的硬件复位之后的各状态可知,寄存器的值都恢复到了初始值,而前面的功能介绍中提到了倒计时时间的记忆功能,该功能实现的前提条件就是不能对单片机进行硬件复位,所以设定了软件复位功能。软件复位实际上就是当程序执行完毕之后,将程序指针通过一条跳转指令让它跳转到程序执行的起始地址。图2.6复位电路原理图时钟电路设计单片机必须在时钟的驱动下才能工作,在单片机内部有一个时钟振荡电路,只需要外接一个振荡源就能产生一定周期的时钟信号送到单片机内部的各个单元,决定单片的工作频率,时钟电路如图2.7所示:图2.7时钟电路原理图此电路大约延迟10ms后振荡器起振,在XTAL2引脚产生幅度为3V左右的正弦波时钟信号,其振荡频率主要有石英晶体的频率确定。单片机工作时,由内部振荡器产生或由外直接输入的送至内部控制逻辑单元的时钟信号的周期称为时钟周期,其大小是时钟信号频率的倒数,时钟信号频率常用fosc表示。CPU的所有操作均在时钟脉冲同步下进行。片内振荡器的振荡频率非常接近晶振频率,一般多在1.2MHz~24MHz之间选取。C1、C2是反馈电容,作用有两个:一是帮助振荡器起振;二是对振荡器的频率进行微调。其值在20pF~100pF之间选取,本电路选用的电容为30pF,晶振频率为12MHz。则振荡周期=;机器周期;指令周期=。CPU最小系统图本设计中的89C51的最小系统包括89C51单片机,6264可编程I/O接口,晶振电路,按键复位电路.1.复位电路的极性电容C1的大小直接影响单片机的复位时间,一般采用10~30uF,容值越大需要的复位时间越短。2.晶振Y1也可以采用6MHz或者11.0592MHz,在正常工作的情况下可以采用更高频率的的晶振,晶振的振荡频率直接影响单片机的处理速度,频率越大单片机处理速度越快。本设计采用110592MHz,图中用约等于12MHz。3.起振电容 C2、C3一般采用15~33uF,并且电容离晶振越近越好,晶振离单片机越近越好。本设计中C2、C3采用33uF。CPU最小系统图如图2.8所示:图2.8CPU最小系统图系统硬件输入输出接口电路设计温度传感器的选择温度传感器是该系统的关键器件,本次设计选用的是美国温度监控的实现Dallas半导体公司生产的数字化温度传感器DSl8B20,它支持系统工作时先由使用者设定预期达到的两位温度值。DS18B20数字温度计是1-Wire器件,即单总线器件。与传统的热敏电阻有所不同,DS18B20可直接将被测温度转化成串行数字信号,以供单片机处理,具有连线简单、微型化、低功耗、高性能、抗干扰能力强、精度高等特点。因此用它来组成一个测温系统,具有电路简单,在一根通信线上可以挂很多这样的数字温度计,十分方便。目前已被众多行业进行广泛的运用(锅炉、温控表粮库、冷库、工业现场温度监控、仪器仪表温度监控、农业大棚温度监控等)。DS18B20是智能温度传感器,它的输入/输出采用数字量,以单总线技术接收主机发送的命令,根据DS18B20内部的协议进行相应的处理,将转换的温度以串口发送给主机。主机按照通信协议用一个I/O口模拟DS18B20的时序,发送命令(初始化命令、ROM命令、功能命令)给DS18B20,并读取温度值,在内部进行相应的数值处理,用图形液晶模块显示各点的温度。DS18B20的特性介绍:(1)独特的单线接口方式,与单片机通信只需一个引脚,DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。

(2)在使用中不需要任何外围元件。

(3)可用数据线供电,电压范围:+3.0~+5.5V。

(4)测温范围为-55~+125℃。在-10~+85℃范围内误差为0.5℃。

(5)通过编程可实现9~12位的数字读数方式。

(6)用户可自设定非易失性的报警上下限值。

(7)支持多点组网功能,通过识别芯片各自唯一的产品序列号从而实现单线多挂接,多个DS18B20可以并联在唯一的线上,简化了分布式温度检测的应用,实现多点测温。

(8)负压特性,电源极性接反时,温度计不会因发热而烧毁,但不能正常工作。(9)告警寻找命令可以识别和寻址那些温度超出预设告警界限的器件。DS18B20的外形见图3.1,其引脚功能描述见表1,实测温度和数字输出的对应关系见表2。图3.1DS18B20外形序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。表1DS18B20详细引脚功能描述温度数字输出(二进制)数字输出(十六进制)+125℃000001111101000007D0H+85℃00000101010100000550H+25.0625℃00000001100100010191H+10.125℃000000001010001000A2h+0.5℃00000000000010000008H0℃0000000000000000000H-0.5℃1111111111110000FFF8H-10.125℃1111111101011110FF5EH-25.0625℃1111111001101111FF6FH-55℃1111110010010000FC90H表2温度值分辨率配置表器件从单线的通信线去得其电源,在信号线为高电平的时间周期内,把能量贮存在内部的电容器中,在单信号线为低电平的时间期内断开此电源,直到信号线变为高电平重新接上寄生电源为止。作为另一种可供选择的方法,DS18B20也可用外部5V电源供电。DS18B20接线方式如图3.2:图3.2DS18B20测温电路报警与继电控制电路设计报警控制电路用于当系统断电等特殊情况下提醒用户。在这里报警电路中未采用蜂鸣器,因为当未达到设定温度时,将会产生连续报警,影响工作环境。因此,这里采用红绿灯进行指示孵化箱中的环境状态。当温度偏差较大时,可以人工使系统脱离危险状态,以维护生产的安全可靠。这里当温度低于设定温度时,绿灯亮,当温度高于设定温度上限时,红灯亮。图3.3报警指示电路继电器是一种当输入量(电、磁、声、光、热)达到一定值时,输出量将发生跳跃式变化的自动控制器件。它具有控制系统(又称输入回路)和被控制系统(又称输出回路),通常应用于自动控制电路中。它实际上是用较小的电流.较低的电压去控制较大电流.较高的电压的一种“自动开关”。故在电路中起着自动调节、安全保护、转换电路等作用。单片机的Pl.2接DS18820的2号引脚.P1口送数P0口扫描,P2.4、P2.5控制加热设备和制冷设备的继电器。继电器的工作原理:当输入量(如电压、电流、温度等)达到规定值时,使被控制的输出电路导通或断开的电器。可分为电气量(如电流、电压、频率、功率等)继电器及非电量(如温度、压力、速度等)继电器两大类。具有动作快、工作稳定、使用寿命长、体积小等优点。广泛应用于电力保护、自动化、运动、遥控、测量和通信等装置中。继电器采用SRD-D6VDC-SL-C型,240AC通断TA的电流。其直流线圈电阻95欧,三极管Q1采用KTC9012,输出电流IC为150mA,放大系数β为60至1000范围内,若取β为200则Ic在5V下为50mA左右,则基极电流为0.25mA。只有P0口在高点位输出时才能达到这样大的电流值。因此把这两个口分别用P0和P01代替。由于P0口属于三态输出输入口,因此,必须接上拉电阻,其阻值大小可计算为: 取10千欧的电阻让Q1在高电平时饱和导通,此时,基极电流为。二极管D1主要起保护作用,在Q1关断时续流,以免电感线圈断路时产生过压损坏三极管。图3.4继电器控制电路由于DS18B20自带了存储器,能够将设定的温度报警值自动存入DS18B20的EEROM中,永久保存,因此每次开机时系统都会自动从DS18B20的EEROM读出温度报警值。两个继电器中,K1接的是降温装置,K2接的是加热装置,当实际温度大于TH的设定值时,指示灯亮起报警,表示超温,此时继电器K1吸合,接通降温装置进行降温;当实际温度处于TL与TH的设定值之间时,继电器常闭。键盘输入接口电路设计8255可编程并行I/O接口设计MCS-51系列单片机共有4个8位并行I/O口,这些I/O口一般是不能完全提供给用户使用的,在外部扩展存储器时,提给用户使用的I/O口只有P1和P3口的部分口线。因此在大部分的MCS-51单片机应用系统中都免不了要进行I/O口的扩展。8255芯片引脚图如图3.5所示:图3.58255芯片引脚图键盘功能说明:1号键:上升。2号键:下降。3号键:下限温度值确定。4号键:上限值确定。5号键:查询上下限值。使用1号键和2号键,设定需要的温度控制系统的上限值,然后按下4号键,将这个上限值确定,也就是将上限值保存到专用的寄存器里。在完成设定上限值的工作后,使用1号键和2号键设定需要的温度控制系统的下限值,然后按下3号键,将这个下限值确定,也就是将这个下限值保存到专用的寄存器里,然后系统进去实时的温度测量和控制工作中。键盘接口电路如图3.6所示:图3.6键盘接口电路单片机与8255的接口比较简单,如图3.7所示,8255的片选信号及口地址选择线AO、A1分别由单片机的P0.7和P0.0、P0.1经地址锁存器提供。8255的A、B、C口及控制口地址分别为FF7CH、FF7DH、FF7EH、FF7FH。8255的D0~D7分别与P0.0到P0.7相连。图3.7I/O口扩展电路显示接口电路设计显示功能与硬件关系极大,在这里我们使用的是七段数码管显示,通常在显示上我们采用的方法一般包括两种:一种是静态显示,一种是动态扫描。其中静态显示的特点是显示稳定不闪烁,程序编写简单,但占用端口资源多;动态扫描的特点是显示稳定程度没有静态显示好,程序编写复杂,但是相对静态显示而言最大的优点是占用端口资源少。由于本设计需要较多的端口用于其它的功能因此采用占用端口少的动态扫描显示的办法。LED数码管按内部连接方式又分为共阳极数码管和共阴极数码管两种。若内部8个发光二极管的阳极连在一起接电源正极,就成为共阳极数码管;若8个发光二极管的阴极连在一起接地,测称为共阴极数码管。数码管显示码是表述二进制数与数码管所显示字符的对应关系的。本设计选用的显示块是共阴极的LED(共阴极LED显示块的发光二极管阴极接地,当某个发光二极管的阳极为高电平时,发光二极管点亮)。将单片机I/O口的8位线与显示块的发光二极管的引出端(a~dp)相连,共阴极低电平有效,选通有效后8位并行输出口输出不同的数据就点亮相应的发光二极管,获得不同的数字或字符。数码管显示电路如图3.8所示:图3.82位LED显示电路系统软件设计软件实现功能综述一个应用系统要完成各项功能,首先必须有较完善的硬件作保证。同时还必须得到设计合理的软件的支持,尤其是微机应用高速发展的今天,许多由硬件完成的工作,都可通过软件编程而代替。甚至有些必须采用很复杂的硬件电路才能完成的工作,用软件编程有时会变得很简单,如数字滤波,信号处理等。因此充分利用其内部丰富的硬件资源和软件资源,这里采用51系列单片机进行程序设计并进行软件编程。从软件的功能来看可分为两大类:一类是执行软件,它能完成各种实质性的功能,如测量,计算,显示,打印,输出控制和通信等;另一类是监控软件,它是专门用来协调各执行模块和操作者的关系,使在系统软件中充当组织调度角色的软件。在软件设计时,必须先弄清恒温控制系统的操作过程和工作过程。加热器开始时处于停止状态,首先设定温度,显示器显示温度,温度设定后则可以启动加热。温度检测系统不断检测并显示系统中的实时温度,当达到设定值后停止加热,当温度下降到下限(小于设定值3℃)时再自动启动加热,这样不断的循环,使温度保持在设定范围之内。启动加热以后就不能再设定温度,因为温度的设定可以根据实验要求改变。若要改变设定的温度,可以先按复位/停止键再重复上述过程。根据以上对操作和工作过程的分析,程序应分为两个阶段:一是通电或复位后到启动加热,程序主要是按键设定、显示器显示设定温度;二是检测并显示系统的实时温度,并根据检测的结果控制电热器,这时系统不接收键盘的输入。因此,程序可以分为以下几个功能模块:温度设定和启动;显示;温度检测;温度控制以及报警。流程图设计主程序流程图设计主控程序系统上电后,AT89S52对内部RAM及接口电路初始化,然后便一直在循环查询键盘入口是否有键按下,若有则转向各功能子程序,相应的任务完成后,再返回主控程序。同时单片机系统还将完成键盘扫描、按键温度设定、超温报警等程序的处理,将处理的温度信号与系统设定温度值比较,形成可以控制加热,散热两种工作状态。该孵化箱温度控制系统的工作流程是:开机实时显示当前环境温度,并在数码管上进行显示,同时可根据需求进行温度上下限控制。然后通过实时温度与设定温度进行比较,如果当前温度低于设定温度的话,进行加热,;如果当前温度高于设定温度时,发出报警信号,风扇启动用以降温。接下来通过DS18B20采集到实际温度和设定的温度进行比较,当实际温度小于设定的温度的时候,进行加热,直至温度达到设定值。加热装置和降温装置都停止运行是否否是开始初始化DS18B20设定温度上下限显示当前温度高于温度上限报警启动降温装置加热装置和降温装置都停止运行是否否是开始初始化DS18B20设定温度上下限显示当前温度高于温度上限报警启动降温装置启动加热器低于温度下限否是否图4.1程序主流程图模拟量检测流程图设计采样程序初始化输出通道号启动A/D转换读A/D数据修改通道及通道号采样程序初始化输出通道号启动A/D转换读A/D数据修改通道及通道号重装定时器0常数启动返回NY图4.2温度采样程序流程键盘管理程序流程图设计键盘设定:用于温度设定。共三个按键。KEY1(P1.1):状态切换;温度设置确认;温度重新设置。KEY2(P1.2):设置温度“+”。KEY3(P1.3):设置温度“-”。系统上电后,数码管全部显示为零,根据按KEY1次数,决定显示的状态,根据相应的状态,利用KEY2、KEY3进行加减,当温度设定好之后,再按KEY1确定,系统开始测温,开启加热器。键盘管理子程序流程如图4.3所示:图4.3键盘处理程序流程当通电或复位以后,系统进入键盘管理状态,单片机只接收设定温度和启动。当检测到有键闭合时先去除抖动,这里采用软件延时的方法,延时一段时间后,再确定是否有键闭合,然后将设定好的值送入预置温度数据区,并调用温度合法检测报警程序,当设定温度超过最大值如50℃时就会报警,最后当启动键闭合时启动加热。程序清单单片机程序如下:ORG0000HSJMPMAINORG0003HLJMPINTORG0025HMAIN:MOVSP,#60HMOV20H,#00HMOV21H,#08HMOV29H,#0FEHLCALLZIJIANLCALLREADTHTLLCALLTESTRANGELCALLDISPSETBINT0SETBEX0SETBEALOOP:LCALLDELAYLCALLGET_TEMPLCALLTURNLCALLDISPLAYCLRCMOVA,24HCJNEA,2EH,LOOP1SJMPHOTTINGLOOP1:JCHOTTINGMOVA,24HCLRCCJNEA,2DH,LOOP2SJMPSTOPHOTLOOP2:JNCSTOPHOTSJMPKEEPHOTTING:CLRP3.1CLRP1.5SETBP1.6KEEP:SJMPLOOPSTOPHOT:SETBP3.1SETBP1.5CLRP1.6SJMPLOOPZIJIAN:MOV30H,#08HMOV31H,#08HMOV32H,#13HMOV33H,#08HMOV34H,#13HCLRP1.4CLRP1.5CLRP1.6CLRP1.7MOVR3,#0FFHWAIT0:ACALLDISPLAYDJNZR3,WAIT0SETBP1.5SETBP1.6SETBP1.7RETTURNTH:MOV2DH,27HMOV2EH,28HMOV24H,27HACALLTURNMOV2AH,30HMOV2BH,31HMOV2CH,32HMOVA,2CHCLRCSUBBA,#0BHMOV2CH,AMOV33H,#00HMOV34H,#15HRETTESTRANGE:MOVA,2AHCJNEA,#01H,NOMAXMOV22H,#08HSJMPEXITTESTNOMAX:MOVA,2BHCJNEA,#00H,MIDDMOV22H,#02HSJMPEXITTESTMIDD:MOV22H,#04HEXITTEST:RETDISPLAY:MOVR0,#03HDIS:MOVDPTR,#TABMOVA,@R0MOVCA,@A+DPTRMOVDPTR,#7FFFHMOVX@DPTR,AINVR0MOVDPTR,#0BFFFHMOVA,29HMOVX@DPTR,AHERE:DJNZR4,HERESETBCRLCAMOV29H,AJBACC.5,DISMOV29H,#OFEHRETTAB:DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,00H,OBFHDB86H,0DBH,0CFH,0E6H,0EDH,0FDH,87H,0FFH,0EFH,79HGET_TEMP:CLREAACALLINIMOVA,#0CCHACALLWRITEMOVA,#44HACALLWRITEACALLINIMOVA,@0CCHACALLWRITEACALLREADMOV24H,ASETBEARETSETTHTL:CLREAACALLINIMOVA,#0CCHACALLWRITEMOVA,#4EHACALLWRITEMOVA,2DHACALLWRITEMOVA,2EHACALLWRITEACALLINIMOVA,#0CCHACALLWRITEMOVA,#48HACALLWRITEACALLREADTHTLMOVA,27HCJNEA,2KH,SETTHTLMOVA,28HCJNEA,2EH,SETTHTLSETBEARETREADTHTL:CLREAACALLINIMOVA,@0CCHACALLWRITEMOVA,#0B8HACALLWRITEACALLINIMOVA,#0CCHACALLWRITEMOCA,#0BEHACALLWRITEACALLREADACALLREADACALLREADMOV27H,AACALLREADMOV28H,ASETBEARETINI:CLRP3.0MOVR2,#10011:CLRP3.0DJNZR2,I1SETBP3.0MOVR2,#15I2:DJNZR2,I2CLRCORLC,P3.0JCINIMOVR6,#40HI3:ORLC,P3.OJCI4DJNZR6,I3SJMPINII4:MOVR2,#120I5:DJNZR2,I5RETTEAD:MOVR6,#8WR1:SETBP3.0MOVR4,#4RRCACLRP3.0WR2:DJNZR4,WR2MOVP3.0,CMOVR4,$40WR3:DJNZR4,WR3DJNZR3,WR1SETBP3.0RETREAD:MOVR6,#8RE1:CLRP3.0MOVR4,#2SETBP3.ORE2:DJNZR4,RE2MOVC,P3.0RRCAMOVR5,#15RE3:DJNZR5,RE3DJNZR6,RE1RE5:SETBP3.0RETTURN:CLRCMOVA,24HRRCAMOV25H,AJNCTURN0MOV33H,#05HAJMPTURN1TURN0:MOV33H,#00HTURN1:MOVA,25HACALLBTODRETBTOD:MOVB,#100DIVABMOVT0,#30HMOV@R0,HINCR0MOVA,#10XCHA,BDIVABMOV@R0,AINCR0MOVA,BADDA,#0BHMOV@R0,ARETDIS:LCALLDIRJNBP3.0,LCJNBP3.4,LC0JNBP3.2,LC1JNBP3.5,LC2AJMPDISLC:LCALLDELJBP3.0,DISMOVA,30HCJNEA,#0FFH,XIAMOVA,#5ADDA,

温馨提示

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

评论

0/150

提交评论