电冰箱控制系统设计.doc_第1页
电冰箱控制系统设计.doc_第2页
电冰箱控制系统设计.doc_第3页
电冰箱控制系统设计.doc_第4页
电冰箱控制系统设计.doc_第5页
免费预览已结束,剩余33页可下载查看

下载本文档

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

文档简介

第一章 设计任务与要求根据蒸发器的温度控制制冷压缩机的启、停,使电冰箱内的温度保持在设定温度范围内。当蒸发器温度升至35时启动压缩机制冷;当温度低于-10-20时停止制冷,关断压缩机。电冰箱采用单片机控制的主要功能及要求:设定3个测温点,测温范围 -26+26,精度2 利用功能键分别控制冷冻室温度设定、冷藏室温度设定、速冻温度设定等;利用数码管显示冷冻室温、冷藏室温,压缩机起、停和速冻、报警状态;制冷压缩机停机后自动延时3min后方能再次启动;具有自动除霜功能,当霜厚达到3mm时自动除霜;冷藏室稳定超过18 时声光报警,提醒用户采取应急措施;开门超过2min将声光报警,提醒用户关门;连续速冻时间设定范围18小时。工作电压180240V,当欠压或过压时,禁止启动压缩机并用指示灯显示。 第二章 硬件设计直冷式电冰箱的控制原理是根据蒸发器的温度控制制冷压缩机的启动与停止,使冰箱内的温度保持在设定的温度范围内。当蒸发器温度高至35时,启动压缩机制冷,当温度低于-10-20时,停止制冷。本电冰箱控制系统要完成冷冻室及冷藏室的温度检测和动态显示的功能,霜厚检测及除霜的功能,开门报警功能,温度设置功能,以及电源过欠压保护功能。控制系统硬件结构如图所示,主要由电源电路,温度传感器,功能按键,MCS8051单片机,ADC0809转换器,时钟电路,键盘电路,显示电路,复位电路,测霜、除霜装置和故障报警装置等。 系统总体设计硬件方框图4.1 MCS-51单片机简介 单片微型计算机简称单片机,是典型的嵌入式微处理器,最早被用于工业领域。单片机由芯片内仅有CPU的专门处理器发展而来。早期的单片机都是8位或4位的。其中最成功的是INTEL的8031,因为简单可靠而性能不错获得了很大的好评。此后在8031上发展出了MCS51系列单片机系统。基于这一系统的单片机系统直到现在还在广泛使用。本课设中我们选用MCS8051单片机。MCS-51系列单片机是美国Inter公司在1980年推出的高性能8位单片微型计算机,较原来的MCS-48系列更为先进,功能更强。4.1.1 MCS系列单片机的主要功能 (1)位CPU。(2)片内带振荡器,震荡频率范围为1.2-12MHZ;可有时钟输出。(3)128个字节的片内数据存储器。(4)4KB片内数据存储器(8031无)。(5)程序存储器的选址范围是64KB。(6)片外数据存储器的选址范围是64KB。(7)21个字节专用寄存器。(9)4个8位并行I/O接口:P0、P1、P2、P3。(10)1个全双工I/O接口,可多机通信。(11)2个16位定时器/计算机。(12)中断系统有5个中断源,可编程为两个优先级。(13)111条指令,含乘法指令和除法指令。(14)有强的位选寻址,位处理能力。(15)片内采用单总线结构。(16)单一+5v电源。4.1.2 内部结构 内部结构图可以看出:含运算器,控制器,片内存储器,4个I/O接口,串行接口,定时器/计数器,中断系统,振荡器等功能部件。4.1.3 外部引脚说明 MCS-51系列单片机中的8031、8051及8751均采用40Pin封装的双列直接DIP结构。Pin20:接地脚。Pin40:正电源脚,正常工作或对片内EPROM烧写程序时,接+5V电源。Pin19:时钟XTAL1脚,片内振荡电路的输入端。Pin18:时钟XTAL2脚,片内振荡电路的输出端。8051的时钟有两种方式,一种是片内时钟振荡方式,但需在18和19脚外接石英晶体(2-12MHz)和振荡电容,振荡电容的值一般取10p-30p。另外一种是外部时钟方式,即将XTAL1接地,外部时钟信号从XTAL2脚输入。 输入输出(I/O)引脚:Pin39-Pin32为P0.0-P0.7输入输出脚,Pin1-Pin8为P1.0-P1.7输入输出脚,Pin21-Pin28为P2.0-P2.7输入输出脚,Pin10-Pin17为P3.0-P3.7输入输出脚。Pin9:RESET/Vpd复位信号复用脚,单片机的振荡器工作时,引脚上出现持续两个机器周期的高电平就可以实现复位操作,使单片机回复到初始状态。8051的复位方式可以是自动复位,也可以是手动复位。 RESET/Vpd还是一复用脚,Vcc掉电期间,此脚可接上备用电源,以保证单片机内部RAM的数据不丢失。Pin30:ALE/当访问外部程序器时,ALE(地址锁存)的输出用于锁存地址的低位字节。而访问内部程序存储器时,ALE端将有一个1/6时钟频率的正脉冲信号,这个信号可以用于识别单片机是否工作,也可以当作一个时钟向外输出。更有一个特点,当访问外部程序存储器,ALE会跳过一个脉冲。如果单片机是EPROM,在编程其间,将用于输入编程脉冲。Pin29:当访问外部程序存储器时,此脚输出负脉冲选通信号,PC的16位地址数据将出现在P0和P2口上,外部程序存储器则把指令数据放到P0口上,由CPU读入并执行。Pin31:EA/Vpp程序存储器的内外部选通线,8051和8751单片机,内置有4kB的程序存储器,当EA为高电平并且程序地址小于4kB时,读取内部程序存储器指令数据,而超过4kB地址则读取外部指令数据。如EA为低电平,则不管地址大小,一律读取外部程序存储器指令。显然,对内部无程序存储器的8031,EA端必须接地。4.2 时钟电路 时钟电路用于产生单片机工作所需的时钟信号,时序是指令执行中各信号之间的相互关系。单片机本身就如同一个复杂的同步时序电路,为了保证同步工作方式的实现,电路应在唯一的时钟信号控制下严格地按时序进行工作。在MCS8051单片机内部带有时钟电路,因此,只需要在片外通过XTAL1和XTAL2引脚接入定时控制元件(晶体振荡器和电容),即可构成一个稳定的自激振荡器。在MCS8051单片机芯片内部有一个高增益反相放大器,而在芯片的外部,XTAL1和XTAL2之间跨接晶体振荡器和微调电容。晶体呈感性,与C1、C2构成并联谐振电路。振荡器的振荡频率主要取决于晶体;电容的值则有微调作用,通常取30pF左右。电容的安装装置应尽量靠近单片机芯片。MCS8051的时钟电路如图所示: MCS8051的时钟电路4.3 复位电路 复位是单片机的初始化操作,其主要功能是使单片机从0000H单元开始执行程序。除了进入系统的正常初始化以外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境也需按复位键以重新启动。MCS8051芯片内部有复位电路,RST引脚是复位信号的输入端高电平有效,复位方式有自动复位和手动复位两种。本单片机系统采用自动复位方式复位。MCS51系列单片机的复位(RST)引脚上只要出现10ms以上的高电平,单片机就实现复位。MCS51单片机系统常常有上电复位和操作复位两种方法。所谓上电复位,是指计算机上电瞬间,要在RST引脚上出现宽度大于10ms的正脉冲,使计算机进入复位状态。操作复位指用户按下“复位”按钮是计算机进入复位状态。复位是靠外部电路实现的。上电时+5V电源立即对单片机芯片供电,同时经R对C3充电。C3上电压建立的过程就是负脉冲的宽度,经倒相后,RST上出现正脉冲使单片机实现了上电复位。按钮按下时RST上同样出现高电平,实现了操作复位。在应用系统中,有些外围芯片也需要复位。如果这类芯片复位端的复位电平与单片机一致,则可以与单片机复位脚相连。因此,非门在这里不仅起到了倒相的作用,还增加了驱动能力。电容C1、C2其滤波作用,防止干扰窜入复位端产生误动作。MCS8051的电路复位电路如图所示: MCS8051的复位电路4.4 电源供电电路 本设计总电源是有效值220V,频率50Hz的单相交流电网电压,通过变压器降压输出一组8V低压交流电,然后再经过整流桥,整流输出直流电压。为了得到标准的5V直流电,故选用三端稳压器7805作为稳压元件,使输出直流电压基本不受电网电压波动和负载电阻变化的影响,从而输出得到足够高稳定性的直流电源。 LM7805是常用的三端稳压器,一般使用的是TO-220封装,要求输入输出电压差保持在2V以上,能提供直流5V的输出电压,应用范围广,内含过流和过载保护电路。带散热片时能持续提供1A的电流,如果使用外围器件,它还能提供不同的电压和电流。图中,C5,C6两个电容接LM7805的Vin端对外电源输入的电压进行滤波;C7,C8两个电容接LM7805的Vout端对整形后的电压进行滤波,确保Vcc端输入+5V直流电压。D1为发光二级管,接通电源时,灯亮表示电源电路供电正常,否则电源电路出错。用LM7805设计的+5V稳压电源电路图如图所示:+5V稳压电源电路图4.5 转换电路4.5.1 ADC0809简介ADC0809是8位,逐次比较式的A/D转换芯片,具有地址锁存的控制的8路模拟开关,应用单一+5V的电源,具有模拟量输入的电压的范围为0-+5V,对用的数字量输出为00H-FFH。转换时间为100us,无需调零或调整满量程。结构图如下。主要特性:(1)8路输入通道,8位AD转换器,即分辨率为8位。(2)具有转换起停控制端。(3)转换时间为100s(时钟为640kHz时),130s(时钟为500kHz时)(4)单个5V电源供电 (5)模拟输入电压范围05V,不需零点和满刻度校准。工作温度范围为-4085摄氏度 (7)低功耗,约15mW。内部结构:ADC0809是CMOS单片型逐次逼近式AD转换器,由8路模拟开关、地址锁存与译码器、比较器、8位开关树型A/D转换器、逐次逼近。外部特性(引脚功能):ADC0809芯片有28条引脚,采用双列直插式封装,下面说明各引脚功能。 IN0IN7:8路模拟量输入端。 2-12-8:8位数字量输出端。 ADDA、ADDB、ADDC:3位地址输入线,用于选通8路模拟输入中的一路 ALE:地址锁存允许信号,输入,高电平有效。 START: A/D转换启动脉冲输入端,输入一个正脉冲(至少100ns宽)使其启动(脉冲上升沿使0809复位,下降沿启动A/D转换)。 EOC: A/D转换结束信号,输出,当A/D转换结束时,此端输出一个高电平(转换期间一直为低电平)。 OE:数据输出允许信号,输入,高电平有效。当A/D转换结束时,此端输入一个高电平,才能打开输出三态门,输出数字量。 CLK:时钟脉冲输入端。要求时钟频率不高于640KHZ。 REF(+)、REF(-):基准电压。 Vcc:电源,单一5V。 GND:地。4.5.2 温度检测 本课设中要求冰箱蒸发器温度升至35时启动压缩机制冷;当温度低于-10-20时停止制冷,关断压缩机。并且要求制冷压缩机停机后自动延时3min后方能再次启动。冷藏室稳定超过18 时声光报警,提醒用户采取应急措施。我们选用DS18B20单线数字温度传感器。 1.DS18B20单线数字温度传感器的主要技术指标: (1)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。(2)测温范围 55125,固有测温分辨率0.5。(3)支持多点组网功能,多个DS18B20可以并联在唯一的三线上,最多只能并联8个,如果数量过多,会使供电电源电压过低,从而造成信号传输的不稳定,实现多点测温。(4)工作电源: 35V/DC。(5)在使用中不需要任何外围元件。(6)测量结果以912位数字量方式串行传送。 2.DS18B20外形和内部结构 64位ROM和单线接 口 高速缓存 存储器 存储器和控制器8位CRC生成器温度传感器 低温触发器TL高温触发器TH配置寄存器电源检测 DS18B20内部结构如图所示,主要由4部分组成:64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器。DS18B20的外形及管脚排列如图和表所示。 I/O VDD DS18B20的内部结构 DS18B20的管脚排列 DS18B20引脚定义:序号名称引脚功能描述1GND地信号2DQ数据输入/输出引脚。开漏单总线接口引脚。当被用着在寄生电源下,也可以向器件提供电源。3VDD可选择的VDD引脚。当工作于寄生电源时,此引脚必须接地。 3、DS18B20接口设计下图为DS18B20接入电路的两种方法:(a)寄生电源工作方式 (b)外接电源工作方式4.5.3 除霜电路 冷冻室中的水分会凝结成霜,电冰箱应有自动除霜功能。该功能的实现方法是通过热敏电阻检测环境温度,来判断霜厚是否满足化霜条件。当满足化霜条件时,检测电路产生中断信号,经过单片机的处理,控制接通化霜加热丝,同时断开压缩机。当检测到的温度值在一定温度值以上后,断开加热丝,并接通压缩机,完成自动除霜功能。本设计中要求当霜厚达到3mm时接通电热丝,断开压缩机。 选用MF53-1型热敏电阻,具有负温度系数,灵敏度较高。其阻值和温度的关系为:Rt=286/(26.8+t)-2.68(k)A点电压与温度关系为:VA=(2.68*5)/(Rt+2.68)=1.26+0.047t。热敏电阻是一种对温度极为敏感的电阻器。该种电阻器在温度发生变化时其阻值也随之而变化。热敏电阻器种类较多,按其结构及形状可分为球形、杆状、圆片形、管形、圆圈形等。按其受热方式的不同可分为直热式热敏电阻器和旁热式热敏电阻器。按温度系数可分为正温度系数热敏电阻和负温度系数热敏电阻器。按工作温度范围分类有常温、高温、超低温热敏电阻。目前应用最广泛的是负温度系数热敏电阻器,其又可分为测温型、稳压型、普通型。热敏电阻器的标称值是指环境温度为25时的电阻值。用万用表测其阻值时,其阻值不一定和标称阻值相符。1)正温度系数热敏电阻器的特点。正温度系数热敏电阻器又称PTC热敏电阻,该电阻器温度升高时电阻值也随之增大,而且阻值的变化与温度的变化为正比例关系,但电阻器的温度超过一个定值时,阻值将急剧增大,当增大到最大值时,电阻值将随温度的增加而开始下降。正温度系数热敏电阻器的型号有:MZ4l、MZ4lA、MZ42、MZ-0l、MZ-02、MZ-03、MZ-04、WZ92、MZ93、MZ71、MZ72、MZ73、MZ74、MZ75、MZ61-1、MZ61-2、MZ61-3、MZ2A、WZ2B、MZ2C、MZ2D、MZ21-l、MZ21-2等。2)负温度系数热敏电阻器的特点。负温度系数热敏电阻器又称NTC热敏电阻器,其图形号与PTC热敏电阻器相同。负温度系数热敏电阻器的种类很多且形状各异,常见约有管状、圆片形等,如图所示。NTC热敏电阻器的最大特点是电阻值与温度的变化成反比,即电阻阻值随温度的升高而降低,当温度大幅升高时,电阻值也大幅下降。常用的负温度系数热敏电阻器的类型有:MF-5l、MF-52、MF53-1、MF53-2、MF53-3、MF57-l、MF57-2、MF57-3、MFl2-l、MFl2-2、MFl2-3、MFl3、MFl4、MFl5、MFl6、MFl7、MF2l-l、MF22-l、MF22-2、MF22-3、RR827、RR831、RR841、RH869、MF3l-l、MF3l-2、MF31-3等。把热敏电阻器安装在距蒸发器3mm的某个合适的位置上,当霜厚大于3mm时,热敏电阻接触到霜而感到较低的温度,其电阻值Rt变大,A点温度降低,电压跟随器输出电压降低,经放大器放大,输入比较器中。由于输入电压低于比较器的比较电压而输出低电平,稳压管导通,经反相器输出低电平,结合软件编程,触发单片机产生中断,控制加热丝的启动和压缩机停止工作,并通过软件编程控制加热丝工作一定时间后停止工作;加热后再次检测温度;当霜有一定的融化后,热敏电阻检测到的温度升高,Rt阻值降低,VA电压值升高,经放大器放大,输入比较器中。由于输入电压高于比较器的比较电压而输出高电平,稳压管截止,无中断。除霜电路图如图所示: 除霜电路图4.5.4 过欠压保护电路 为了使电冰箱安全可靠地运行,工作电压180240V,当欠压或过压时,禁止启动压缩机并用指示灯显示。采用过压欠压保护以提高电源的可靠性和安全性。温度是影响电源设备可靠性的最重要因素,根据有关资料分析表明电子元器件温度升高,可靠性即会下降。为了避免功率器件过热造成损坏,需要在电源设置电源的过欠压保护电路。仅用一个电压跟随器及几个分立元器件构成的电源过压欠压保护电路。取样电压通过对输入的交流电源电压整流滤波后,经电阻分压,通过光敏电阻耦合,再经过电压跟随器而取得。它反映输入电源电压的变化。光敏电阻起到了隔离耦合的作用,可防止当电源电压很大时,产生的电压电流过大而损坏芯片及其他电路。取样所得的电压信号输入到8051的IN2,结合软件编程,将电压信号从模拟信号转换为数字信号,并与软件设定的特定值相比较,当电压信号高于或低于某两个固定值时,8051将向单片机产生中断,控制压缩机停止工作过压欠压保护电路如图所示: 过压欠压保护电路4.6 键盘与显示电路键盘是人与MCS8051联系的重要手段,用于向CPU输入运行参数,控制系统的运行状态。键盘电路形式分为直接编码输入键盘和矩阵键盘。前者接口电路简单,一般应用于需要少量按键的控制系统。后者因占用I/O引脚数少,常被按键较多的控制系统所采用。本课程设计采用直接编码输入键盘,系统采用了6个按键,分别设置为加一键、减一键、速冻键、正常键、冷藏室温度显示键、冷冻室温度显示键。显示器是常用的输出器件。显示器件种类很多,有LED发光二极管、LED数码管、液晶显示器LCD、阴极射线管CRT等。本电冰箱的电控系统使用的是LED数码管。LED数码管是1种由LED发光二极管组合显示字符的显示器。它使用了8个LED发光二极管,其中7个用于显示字符,1个用于显示小数点。故通常称之为7段发光二极管数码显示器。LED数码显示器有两种连接方法,包括共阳极接法和共阴极接法。本电冰箱的电控系统使用的LED数码显示器所用的是共阴极接法。系统采用了4个LED数码管用于显示冷冻室、冷藏室温度及压缩机启、停和故障等状态。本课设中74LS164芯片用于温度控制电路中。74164 为 8 位移位寄存器,其主要电特性的典型值如下:当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。 串行数据输入端(A,B)可控制数据。当 A、B任意一个为 低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0 为低电平。当A、B 有一个为高电平,则另一个就允许输入数据,并在CLOCK 上升沿作用下决定Q0 的状态。引脚功能介绍:CLOCK :时钟输入端;CLEAR:同步清除输入端(低电平有效);A,B:串行数据输入端;QAQH:输出端。 74LS164封装图 工作条件及工作原理:电源电压7V;输入电压 5.5V;工作环境温度 54164 -55125 、74164 -070 储存温度-65150。 真值表 H高电平;L低电平;X任意电平;低到高电平跳变; QA0,QB0,QH0规定的稳态条件建立前的电平;QAn,QGn时钟最近的前的电平 键盘电路和LED显示电路由串行口扩展5片74LS164实现。显示输出通道和键盘输入通道的选择由端口线P3.2和一个与门完成。当P3.2为“1”时,MCS51的TXD端输出同步脉冲,通过与门发送到显示移位寄存器74LS164的移位脉冲输入端,这样MCS51欲显示的数据,由RXD端输出,移位读入到显示器通道。当P3.2为“0”时,MCS51的RXD端的数据仅能被移位读入到键盘扫描用的移位寄存器中。由于显示通道采用LED数码管并用74LS164作为驱动器,所以简化了线路,结构简单,显示字位扩充方便,驱动程序设计容易。键盘工作原理也很简单,MCS51通过RXD端向键盘扫描移位寄存器74LS164逐位发送数据“0”,每次发送后即从T0(即P3.4)端读入键盘信号,若读得“0”表示有键按下,转入处理键功能程序。 键盘显示电路 4.7 报警电路 本设计含开门报警功能,当开门延时2min后发声报警,用于提醒使用者关门,以达到节电节能,延长电冰箱的使用时间。 报警电路图如图所示: 开门报警电路图4.8 制冷与除霜控制电路 用机械方法来增加气体压力的设备称为压缩机。在电冰箱制冷系统中,用于压缩制冷剂蒸气,并使制冷剂在系统中循环的设备称为制冷压缩机。电冰箱制冷系统所选用的压缩机属于容积型压缩机。容积型压缩机是指气缸内制冷剂蒸气直接受到压缩,使其容积变小,压力增高的压缩机。所以,在整个电冰箱的制冷系统中,压缩机的正常有序的运行是非常重要的,因此,需恰当的设计制冷压缩机的启动与停止控制电路。本设计中的电冰箱的电控系统中,含有自动除霜的功能,所以,也需要设计自动控制除霜电热丝的启动与停止的控制驱动电路。4.8.1 锁存器74LS273 (1)基本特性:74LS273是带有清除端的8D触发器,只有在清除端保持高电平时,才具有锁存功能,锁存控制端为11脚CLK,采用上升沿锁存。CPU的ALE信号必须经过反相器反相之后才能与74LS273的控制端CLK端相连。(2)74LS273引脚图如图所示: 74LS273引脚图 (3)74LS273功能表: 74LS273 功能表74LS273八D触发器输 入输出/CrCPDQn+1LLHHHHLLHLQn4.8.2 驱动控制电路的设计(1)制冷压缩机和除霜电热丝的启动和停止控制驱动电路如图所示: 制冷压缩机和除霜电热丝的启动和停止控制驱动电路 (2)工作原理: MCS8051单片机控制信号经P1.3和P1.4端口输出,并在P1.7的控制下,锁存在74LS273中,74LS273的输出在经达林顿驱动器MC1413后,驱动固态继电器SSR1和SSR2。当MC1413的16端有高电平输出时,SSR1的3、4引脚端接通,使加热丝接通电源而除霜。当MC1413的15端输出高电平时,SSR2的3、4端接通,使压缩机绕组接通电源而启动,开始制冷。74LS273琐存控制信号,一方面,增加输出功率,另一方面,也防止单片机复位时引起控制的误动作。采用固态继电器作为压缩机和除霜电热丝的开关,属于无触电开关,内部是大功率的晶闸管电路,不产生火花,无电磁干扰,并使高压与单片机系统隔离。第三章 软件设计本电冰箱的软件设计是在硬件电路设计的基础上,通过汇编程序来实现的。此电冰箱电控系统控制设计过程中主要完成以下几个功能:冷冻室及冷藏室温度采样并进行模拟到数字的转换,自动除霜功能,开门报警以及键盘扫描和LED显示。 本系统软件主要由主程序、功能子程序、中断服务程序组成。采用主程序调用功能子程序,子程序尽可能少的调用其它子程序,以保证系统的稳定运行。5.1 主程序 主程序是整个电冰箱的总控制程序,如控制各单元初始化、控制中断、定时、显示、键盘程序的启动与重复等,为系统软件的主干部分。本电冰箱的电控系统的核心部分是冷冻室和冷藏室的温度检测及控制电路。主程序中对是否为冷冻室和冷藏室的温度键进行了逐步的判断,通过判断调用不同的子程序来实现对冷冻室和冷藏室的温度的控制。 主程序框图如图所示: 主程序流程图程序如下:ORG 0000H AJMP MAINORG 0003H LJMP DY_INTORG 000BLJMP TIME0_INTORG 0030HDATA EQUP1.0 V1 EQU P1.3 V2 EQU P1.4 V3 EQU P1.5 SET_KEY EQU P1.5 V3 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; 冷藏室温度等于高于设定值时 AJMP HIGH2 HIGH1:JC HIGH3 HIGH2:SETB V1; 开启压缩机LCALL OPENAJMP LOWHIGH3:MOV A , 61HCLR C CJNE A , 63H , HIGH4; 冷冻室温度等于高于设定值时AJMP HIGH5 HIGH4:JC LOW HIGH5:SETB V2; 开启压缩机 LCALL OPEN LOW: MOV A , 61H CLR C CJNE A , 63H , LOW1; 冷冻室温度等于低于最低值时AJMP LOW2 LOW1:JNC LOW3 LOW2:CLR V2; 关闭压缩机 LCALL CLOSE AJMP LS LOW3:MOV A , 60H CLR C CJNE A , 62H , LOW4; 冷冻室温度等于低于最低值时 AJMP LOW5 LOW4:JNC LS LOW5:CLR V1; 关闭压缩机 LCALL CLOSE LS:MOV R1 , #10H; 延时1S LS1:LCALL DLY_100MS DJNZ R1 , LS1 INC 65H; 化霜时间计数加1 MOV A , 65H CJNE A , #00H , LS2 INC 66H LS2:MOV A , 65H CJNE A , #08H , LOOP MOV A , 66H CJNE A , #07H , LOOP JB V1 , LOOP; 化霜定时时间到且V1,V2均关闭 JB V2 , LOOP SETB V3; 打开V3开始化霜 MOV R0 , #50; 化霜时间5 S LS3:LCALL DLY_100MS DJNZ R0 , LS3 LOOP:AJMP START END5.2 初始化子程序 初始化模块主要完成初始化I/O口、中断、内存单元,并读出存放在闪烁存储器上的温度设定值。温度设定值存放在闪烁存储器上即使断电也可保存。 程序框图如图所示: 初始化子程序流图 程序如下:INTI1:CLR A MOV DPTR , #20H; 读取冷藏室温度设定值 MOVC A , DPTR LCALL DLY_100MS; 延时确保数据读完 MOV 60H , A INC DPTR; 读取冷藏室温度设定值 MOVC A , DPTR LCALL DLY_100MS ; 延时确保数据读完 MOV 61H , A MOV 64H , #00H ; 清空各状态位 SETB EX0 ; 允许外部中断0中断 SETB IT0 ; 选择边沿触发方式 SETB EA ; CPU开中断 RET5.3 键盘扫描子程序 扫描程序采用边延时边扫描的方法,当设置键SET_KEY按下一次,指示灯L1亮,按ADD(+)键和SUB()键设置冷藏室温度。当设置键SET_KEY按下二次,指示灯L2亮,L1灭,按ADD(+)键和SUB()键设置冷冻室温度。当设置键SET_KEY按下三次,设置完成,指示灯L1,L2均灭。如果3S内无键按下,表示误按或用户放弃设置。退出扫描。 程序框图如图所示: 键盘扫描子程序流图程序如下: KEY:CLR A ;键盘扫描子程序MOV R0 , #00H START:MOV R4 , #1EH ; 边延时边扫描3S LOOP:LCALL DLY_100MS JNB SETB_KEY , SET JNB ADD-KEY , ADD JNB SUB_KEY , SUB DJNZ R4 , LOOP AJMP EXIT ; 3S内没有键按下结束扫描 SET:CJNE R0 , #03H , SET1 ; 设置键按下三次,设置完成 CLR L1 CLR L2 AJMP EXIT SET1:INC R0 CJNE R0 , #01H , SET2 ; 设置键按下一次 SETB L1 AJMP START SET2:CLR L1 ; 设置键按下二次 SETB L2 AJMP START ; 加键按下 ADD:CJNE R0 , #01H , ADD1 ; 冷藏室温度为正时加1 MOV A , 60H JB ACC.7 , ADD_1 INC A MOV 60H , A AJMP DSP ADD_1:CLR ACC.7 ; 冷藏室温度为负时加1 DEC A SETB ACC.7 MOV 60H , A AJMP DSP ADD1:CJNE R0 , #02H , START MOV A , 61H ; 冷冻室温度为正时加1 JB ACC.7 , ADD1_1 INC A MOV 61H , A AJMP DSP ADD1_1:CLR ACC.7; 冷冻室温度为负时加1 DEC A SETB ACC.7 MOV 61H , A AJMP DSP ; 减键按下 SUB:CJNE R0 , #01H , SUB1 ; 冷藏室温度为正时减1 MOV A , 60H JB ACC.7 , SUN_1 DEC A MOV 60H , A AJMP DSP SUB_1:CLR ACC.7 ; 冷藏室温度为负时减1 INC A SETB ACC.7 MOV 60H , A AJMP DSP SUB1:CJNE R0 , #02H , START CLR ACC.7 ; 冷冻室温度为正时减1 JB ACC.7 , SUB1_1 DEC A MOV 61H , A AJMP DSP SUB1_1:CLR ACC.7 ; 冷冻室温度为负时减1 INC A SETB ACC.7 MOV 61H , A AJMP DSP DSP:MOV DPTR , #20H ; 将设定值存放在闪烁存储器上 MOV A , 62H MOVC DPTR , A LCALL DLY_100MS INC DPTR MOV A , 63H MOVC DPTR , A LCALL DLY_100MS MOV R3 , 60H ; 显示设定值 MOV R4 , 61H LC

温馨提示

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

评论

0/150

提交评论