还剩27页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
重庆信息技术职业学院毕业设计题目电冰箱温度控制设计选题性质□设计□报告□其他院系电子工程专业电子信息工程技术班级2011级
(2)班学号1120090219学生姓名许晋杰指导教师唐玉萍教务处制2013年6月10日2011届电子工程学院毕业设计选题审批单年级2011专业电子信息工程技术班级
(2)班学生姓名许晋杰学号1120090219选题电冰箱的温度控制设计选题性质□设计□报告□其他选题论证介绍了用AT89C51作为控制器核心,对电冰箱的工作过程进行控制,使用者可根据四季变化的温度进行对电冰箱进行调整冰箱的温度满足客服的需求指导教师初审意见签名年月日毕业设计工作领导小组审批意见签名年月日2011届电子工程学院毕业设计开题报告及进度要求年级2011班级2学生姓名许晋杰学号1120090219指导教师唐玉萍选题性质□设计□报告□其他选题电冰箱的温度控制设计选题的目的和意义随着人们生活水平的提高,铺张浪费的情况逐渐上升,人们抱怨东西没地方放,时间久了就会坏掉抱怨冰箱不能起到制冷、保鲜的作用以下这种冰箱采用AT89c51单片机控制显示屏,人们可以根据四季变化看显示屏的温度显示进行温度设置用AT89C51作为控制器核心,对电冰箱的工作过程进行控制控制原理是根据蒸发器的温度控制制冷压缩机的启、停,使冰箱内的温度保持在设定温度范围内一般当蒸发器温度高至3~5℃时启动压缩机制冷,当温度低于-10~-20℃时停止制冷,关断压缩机采用单片机控制,可以使控制更准确、灵活选题研究的主要内容和技术方案主要内容使用AT89c51控制LED的数字显示屏由于多数冰箱大多数人们根本不知道冰箱中的实际温度已导致食物常常坏掉一旦把冰箱的温度使用led显示屏显现出来,人们即可根据四季的需要,调节按钮,改变冰箱的温度技术方案采用空调调节温度的方法,综合冰箱制冷的效果进行综合制造独特的冰箱毕业设计工作时间年月日至年月日毕业设计工作日程安排时间段工作内容9月1日-9月8日选题、开题、制定任务、开题11月26日完成毕业设计指导教师意见成果要求签字年月日摘要题目作者(重庆信息技术职业学院电子工程学院重庆万州404000)摘要近年来随着计算机在社会领域的渗透单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善关键词单片机;温度传感器;电冰箱;温度控制目录第一章概论5一.电冰箱的系统组成6二.工作原理7三.本系统采用单片机控制的电冰箱主要功能及要求7第二章硬件部分8一.系统结构图8二.微处理器(单片机)81.主要特性92.管脚说明103.振荡器特性114.芯片擦除125.运算器
126.中断系统12三.温度传感器13四.电压检测装置18五.功能按键19六.压缩机,风机、电磁阀控制电路19七.故障报警电路20第三章软件部分21
一、主程序MAIN 21
二、初始化子程序INTI1 25
三、键盘扫描子程序KEY 26四.打开压缩机子程序OPEN 29五.关闭压缩机CLOSE 31六.定时器0中断程序用于压缩机延时32七.延时子程序33第四章分析与结论34致谢35参考文献36第一章概论5一.电冰箱的系统组成6二.工作原理7三.本系统采用单片机控制的电冰箱主要功能及要求7第二章硬件部分8一.系统结构图8二.微处理器(单片机)81.主要特性92.管脚说明103.振荡器特性114.芯片擦除125.运算器
126.中断系统12三.温度传感器13四.电压检测装置18五.功能按键19六.压缩机,风机、电磁阀控制电路19七.故障报警电路20第三章软件部分21
一、主程序MAIN 21
二、初始化子程序INTI1 25
三、键盘扫描子程序KEY 26四.打开压缩机子程序OPEN 29五.关闭压缩机CLOSE 31六.定时器0中断程序用于压缩机延时32七.延时子程序33第四章分析与结论34致谢35参考文献36正文电冰箱温度测控系统设计(A)第一章概述随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其在日常生活中发挥的作用也越来越大人们对家用电冰箱的控制功能越来越高,这对电冰箱控制器提出了更高的要求多功能,智能化是其发展方向之一,传统的机器控制,简单的电子控制已经难以满足发展的要求而采用基于单片机温度控制系统,不仅可大大缩短设计新产品的时间,同时只要增加少许外围器件在软件设计方面就能实现功能的扩展,以及智能化方面的提高,因此可最大限度地节约成本本文即为基于单片机的电冰箱温度控制系统目前市场销售的双门直冷式电冰箱,含有冷冻室和冷藏室,冷冻室通常用于冷冻的温度为-6~-18℃;冷藏室用于在相对冷冻室较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,室温一般为0~10℃. 传统的电冰箱温度一般是由冷藏室控制,冷藏室、冷冻室的不同温度是通过调节蒸发器在两室的面积大小来实现的,温度调节完全依靠压缩机的开停来控制.但是冰箱内的温度受诸多因素的影响,如放入冰箱物品初始温度的高低、存放品的散热特性及热容量、物品在冰箱的充满率、环境温度的高低、开门的频繁程度等.因此对这种受控参数及随机因素很多的温度控制,既难以建立一个标准的数学模型,也无法用传统的PID调节来实现.一台品质优良的电冰箱应该具有较高的温度控制精度,同时又有最优的节能效果,而为了达到这一设计要求采用模糊控制技术无疑是最佳的选择.一.电冰箱的系统组成液体由液态变为气态时,会吸收很多热量,简称为“液体汽化吸热”,电冰箱就是利用了液体汽化的过程中需要吸热的原理来制冷的蒸气压缩式电冰箱制冷系统原理图如图1-1所示,主要由压缩机、冷凝器、干燥过滤器、毛细管、蒸发器等部件组成,其动力均来自压缩机,干燥过滤器用来过滤赃物和干燥水分,毛细管用来节流降压,热交换器为冷凝器和蒸发器制冷压缩机吸入来自蒸发器的低温低压的气体制冷剂,经压缩后成为高温高压的过热蒸气,排入冷凝器中,向周围的空气散热成为高压过冷液体,高压过冷液体经干燥过滤器流入毛细管节流降压,成为低温低压液体状态,进入蒸发器中汽化,吸收周围被冷却物品的热量,使温度降低到所需值,汽化后的气体制冷剂又被压缩机吸入,至此,完成一个循环压缩机冷循环周而复始的运行,保证了制冷过程的连续性直冷式电冰箱的控制原理是根据蒸发器的温度控制制冷压缩机的启、停,使冰箱内的温度保持在设定温度范围内冷冻室用于冷冻食品通常用于冷冻的温度为-3°C~-15°C冷藏室用于相对于冷冻室较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,温度一般为0°C~10°C,当测得冷冷冻室温度高至-3°C~0°C时或者是冷冻室温度高至10°C~13°C是启动压缩机制冷,当冷冻室温度低于-15°C~-18°C或都冷藏室温度低于0°C~-3°C时停止制冷,关断压缩机采用单片机控制,可以使控制更为准确、灵活二.工作原理 根据冷藏室和冷冻室的温度情况决定是否开压缩机,若冷藏室的温度过高,则打开电磁冷门V1关闭阀门V2,V3,同时打开压缩机,产生高温高压过热蒸气,经过冷凝器冷凝,干燥过滤器干燥,毛细节流管降压后,在蒸发器汽化制冷,产生低温低压的干燥气体经过电磁阀门V1流入冷藏室,使冷藏的温度迅速降低,当温度达到要求时关闭压缩机,同时关闭电磁阀门V1若是冷冻室的温度过高,则应打开V2关闭V1V3电磁阀门V3主要用于冷冻室的化霜需要化箱时打开V3从压缩机流出的高温高压气体流经冷冻室可匀速将冷冻室霜层汽化达到化霜的效果一般化霜的时间要短,不然会伤存放的食品三.本系统采用单片机控制的电冰箱主要功能及要求
1、设定2个测温点,测量范围-26°C~+26°C,精度±
0.5°C;
2、利用功能键分别控制温度设定、冷藏室及冷冻室温度设定等;
3、制冷压缩机停机后自动延时3分钟后方能再启动;
4、电冰箱具有自动除霜功能;
5、开门延时超过20秒发声报警;
6、工作电压为180~240V,当欠压或过压时,禁止启动压缩机并用指示灯显示第二章硬件部分一.系统结构图二.微处理器(单片机)微处理器是本系统的核心,其性能的好坏直接影响系统的稳定,鉴于本系统为实时控制系统,系统运行时需要进行大量的运算,所以单片机采用INTEL公司的高效微控制器MSC-C51MSC-C51单片机性能介绍51系列单片微机封装形式为双排直列式结构(DIP),引脚共40个如图2-2所示MCS-51单片机的典型芯片是8051,其内部基本组成为一个8位的中央处理器(CPU),256byte片内RAM单元,4Kbyte掩膜式ROM,2个16位的定时器/计数器,四个8位的并行I/O口(P0,P1,P2,P3),一个全双工串行口5个中断源,一个片内振荡器和时钟发生电路这种结构特点决定了单片机具有体积小、成本低、可靠性高、应用灵活、开发效率高、易于被产品化等优点,使其具有很强的面向控制的能力,在工业自动化控制、家用电器、智能化仪表、机器人、军事装置等领域获得了广泛的应用1.主要特性·4K字节可编程闪烁存储器·全静态工作0Hz-24Hz·三级程序存储器锁定·128*8位内部RAM·32可编程I/O线·两个16位定时器/计数器·5个中断源·可编程串行通道·低功耗的闲置和掉电模式·片内振荡器和时钟电路2.管脚说明VCC供电电压GND接地P0口P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流当P1口的管脚第一次写1时,被定义为高阻输入P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高P1口P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故在FLASH编程和校验时,P1口作为第八位地址接收P2口P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入并因此作为输入时,P2口的管脚被外部拉低,将输出电流这是由于内部上拉的缘故P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容P2口在FLASH编程和校验时接收高八位地址信号和控制信号P3口P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流当P3口写入“1”后,它们被内部上拉为高电平,并用作输入作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故P3口也可作为8051的一些特殊功能口,如下所示口管脚备选功能P
3.0RXD(串行输入口)P
3.1TXD(串行输出口)P
3.2/INT0(外部中断0)P
3.3/INT1(外部中断1)P
3.4T0(记时器0外部输入)P
3.5T1(记时器1外部输入)P
3.6/WR(外部数据存储器写选通)P
3.7/RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号RST复位输入当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间ALE/PROG当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节在FLASH编程期间,此引脚用于输入编程脉冲在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6因此它可用作对外部输出的脉冲或用于定时目的然而要注意的是每当用作外部数据存储器时,将跳过一个ALE脉冲如想禁止ALE的输出可在SFR8EH地址上置0此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用另外,该引脚被略微拉高如果微处理器在外部执行状态ALE禁止,置位无效/PSEN外部程序存储器的选通信号在由外部程序存储器取指期间,每个机器周期两次/PSEN有效但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现/EA/VPP当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)XTAL1反向振荡放大器的输入及内部时钟工作电路的输入XTAL2来自反向振荡器的输出3.振荡器特性XTAL1和XTAL2分别为反向放大器的输入和输出该反向放大器可以配置为片内振荡器石晶振荡和陶瓷振荡均可采用如采用外部时钟源驱动器件,XTAL2应不接有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度4.芯片擦除整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms来完成在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式在闲置模式下,CPU停止工作但RAM,定时器,计数器,串口和中断系统仍在工作在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止5.运算器1算术/逻辑部件ALU用以完成+、-、*、/的算术运算及布尔代数的逻辑运算,并通过运算结果影响程序状态寄存器PSW的某些位,从而为判断、转移、十进制修正和出错等提供依据2累加器A在算术/逻辑运算中存放一个操作数或结果,在与外部存储器和I/O接口打交道时,进行数据传送都要经过A来完成3寄存器B在*、/运算中要使用寄存器B乘法时,B用来存放乘数以及积的高字节;除法时,B用来存放除数及余数不作乘除时,B可作通用寄存器使用4程序状态标志寄存器PSW用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据
6.中断系统8051单片机的中断系统简单实用,其基本特点是有5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序;5个中断源有两级中断优先级,可形成中断嵌套;2个特殊功能寄存器用于中断控制和条件设置的编程5个中断源的符号、名称及产生的条件如下:INT0外部中断0,由P3.2端口线引入,低电平或下跳沿引起INT1外部中断1,由P3.3端口线引入,低电平或下跳沿引起T0定时器/计数器0中断,由T0计满回零引起T1定时器/计数器l中断,由T1计满回零引起TI/RI串行I/O中断,串行端口完成一帧字符发送/接收后引起三.温度传感器温度传感器是本系统不可或缺的元件,其性能的好坏直接影响系统的性能,因此温度传感器采用DALLAS公司生产的高性能数字温度传感器DS18B20数字温度传感器DS18B20的原理与应用DS18B20是DALLAS公司生产的一线式数字温度传感器具有3引脚TO-92小体积封装形式;温度测量范围为-55℃~+125℃可编程为9位~12位A/D转换精度测温分辨率可达
0.0625℃被测温度用符号扩展的16位数字量方式串行输出;其工作电源既可在远端引入也可采用寄生电源方式产生;多个DS18B20可以并联到3根或2根线上CPU只需一根端口线就能与诸多DS18B20通信占用微处理器的端口较少可节省大量的引线和逻辑电路以上特点使DS18B20非常适用于远距离多点温度检测系统2DS18B20的内部结构DS18B20内部结构如图2-3所示主要由4部分组成64位ROM、温度传感器、非挥发的温度报警触发器TH和TL、配置寄存器DS18B20的管脚排列如图2-4所示 DQ为数字信号输入/输出端; GND为电源地; VDD为外接供电电源输入端(在寄生电源接线方式时接地见图2-4)ROM中的64位序列号是出厂前被光刻好的它可以看作是该DS18B20的地址序列码每个DS18B20的64位序列号均不相同64位ROM的排的循环冗余校验码(CRC=X8+X5+X4+1)ROM的作用是使每一个DS18B20都各不相同这样就可以实现一根总线上挂接多个DS18B20的目的温度传感器高温触发器TH低温触发器TL配置寄存器存储和控制逻辑8位CRC生成器供电方式选择DS18B20用12位存贮温度值最高位为符号位.图1为18B20的温度存储方式负温度S=1正温度S=01如:0550H为+85℃0191H为
25.0625℃FC90H为-55℃.232221202-12-22-32-4温度值低字节LSBSSSSS262524温度值高字节MSB高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成使用一个存储器功能命令可对TH、TL或配置寄存器写入其中配置寄存器的格式如下0R1R011111R
1、R0决定温度转换的精度位数R1R0=00,9位精度最大转换时间为
93.75ms,R1R0=01,10位精度最大转换时间为
187.5ms,R1R0=10,11位精度最大转换时间为375ms,R1R0=11,12位精度最大转换时间为750ms;未编程时默认为12位精度高速暂存器是一个9字节的存储器开始两个字节包含被测温度的数字量信息;第
3、
4、5字节分别是TH、TL、配置寄存器的临时拷贝每一次上电复位时被刷新;第
6、
7、8字节未用表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码可用来保证通信正确3DS18B20的工作时序 DS18B20的一线工作协议流程是初始化→ROM操作指令→存储器操作指令→数据传输4DS18B20与单片机的典型接口设计图2-5以MCS-51系列单片机为例画出了DS18B20与微处理器的典型连接图2-5(a)中DS18B20采用寄生电源方式其VDD和GND端均接地图2-5(b)中DS18B20采用外接电源方式其VDD端用3V~
5.5V电源供电假设单片机系统所用的晶振频率为12MHz根据DS18B20的初始化时序、写时序和读时序分别编写了3个子程序INIT为初始化子程序WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始DATEQUP
1.0……INIT:CLREAINI10SETBDATMOVR2,#200INI11CLRDATDJNZR2INI11;主机发复位脉冲持续3μs×200=600μsSETBDAT;主机释放总线,口线改为输入MOVR2#30INI12DJNZR2INI12;DS18B20等待2μs×30=60μsCLRCORLCDAT;DS18B20数据线变低(存在脉冲)吗?JCINI10;DS18B20未准备好,重新初始化MOVR6#80INI13ORLCDATJCINI14;DS18B20数据线变高初始化成功DJNZR6INI13;数据线低电平可持续3μs×80=240μsSJMPINI10;初始化失败,重来INI14:MOVR2#240INI15:DJNZR2INI15;DS18B20应答最少2μs×240=480μsRET;------------------------WRITE:CLREAMOVR3#8;循环8次写一个字节WR11SETBDATMOVR4#8RRCA;写入位从A中移到CYCLRDATWR12DJNZR4WR12;等待16μsMOVDATC;命令字按位依次送给DS18B20MOVR4#20WR13DJNZR4WR13;保证写过程持续60μsDJNZR3WR11;未送完一个字节继续SETBDATRET;------------------------READ CLREAMOVR6#8;循环8次读一个字节RD11CLRDATMOVR4#4NOP;低电平持续2μsSETBDAT;口线设为输入RD12DJNZR4RD12;等待8μsMOVCDAT;主机按位依次读入DS18B20的数据RRCA;读取的数据移入AMOVR5#30RD13DJNZR5RD13;保证读过程持续60μsDJNZR6RD11;读完一个字节的数据存入A中SETBDATRET;------------------------主机控制DS18B20完成温度转换必须经过三个步骤初始化、ROM操作指令、存储器操作指令必须先启动DS18B20开始转换再读出温度转换值假设一线仅挂接一个芯片使用默认的12位转换精度外接供电电源可写出完成一次转换并读取温度值子程序GETWDGETWD LCALLINITMOVA#0CCHLCALLWRITE;发跳过ROM命令MOVA#44HLCALLWRITE;发启动转换命令LCALLINITMOVA#0CCH;发跳过ROM命令LCALLWRITEMOVA#0BEH;发读存储器命令LCALLWRITELCALLREADMOVWDLSBA;温度值低位字节送WDLSBLCALLREADMOVWDMSBA;温度值高位字节送WDMSBRET……子程序GETWD读取的温度值高位字节送WDMSB单元低位字节送WDLSB单元再按照温度值字节的表示格式及其符号位经过简单的变换即可得到实际温度值四.电压检测装置电压检测装置是为了保护系统的稳定运行,采用WB系列电压越限报警传感器WB系列电压越限报警传感器以电压隔离传感器为基础,增配比较器电路、基准电压设定电路、输出驱动电路组成,用来隔离监测主回路中的交流或直流电压,当被监测的电压超过预先设定的上限值,或低于预先设定的下限值时,给出开关量控制信号本系列产品测控一体化、体积小、精度高、使用方便,报警界限值可以由用户根据需要随时进行调整,具有很高的性能/价格比主要特点
1.测控一体化,体积小、精度高、反应快;
2.具有瞬态干扰抑制功能,防止误动作;
3.报警界限值可在设定值(±20%)内连续可调;
4.密封式继电器触点输出,触点寿命>30万次;
5.隔离电压交流监测>
2.5kVDC1分钟;直流监测>
1.5kVDC1分钟;
6.输入过载能力:10倍阈值,持续5秒;
7.额定环境温度商业级0~+50℃,工业级-25℃~+70℃;
8.平均无故障工作时间>5万小时;
9.20%回差设置,确保动作稳定;第3章软件部分本系统软件主要由主流程、功能子程序、中断服务程序组成采用主程序调用功能子程序,子程序尽可能少的调用其它子程序,以保证系统的稳定运行本系统温度在-64°C~64°C用七位即可存放,因此温度值用一个字节存放最高位存放符号位各温度值均用全程变量形式存放,如下60H冷藏室温度设定值61H冷冻室温度设定值62H冰箱运行时冷藏室温度实际值63H冰箱运行时冷冻室温度实际值64H用于存放压缩机,电源状态和压缩机关机延时状态值其中最低0位COMP存放压缩机状态标志1压缩机开启0压缩机关闭第1位TIME_OUT离上次关闭压缩机是否已有5S1否0是第2位UP电压过欠压标志1过欠压0正常65H,66H用于存放化霜时间计数67H用于压缩机关闭延时计数
一、主程序MAIN主程序由初始化,键盘扫描,显示,温度采集,温度控制和定时化霜子程序组成,为系统软件的主干部分,化霜采用定时化霜,每三十分钟化霜一次,化霜原理见概论电冰箱式作原理部分,其流程图如图3-1所示程序如下图3-1主程序流程图ORG0000HAJMPMAINORG0003HLJMPDY_INTORG000BHLJMPTIME0_INTORG0030HDATAEQUP
1.0V1EQUP
1.3V2EQUP
1.4V3EQUP
1.5SET_KEYEQUP
1.5V3EQUP
1.5V3EQUP
1.5SET_KEYEQUP
1.5ADD_KEYEQUP
1.6SUB_KEYEQUP
1.7L1EQUP
0.6L2EQUP
0.7L3EQUP
2.5L4EQUP
2.6MAIN CLRASTARTLCALLINIT1;初始化LCALLKEY;键盘扫描LCALLGETWD;获得冷藏室温度MOV62HR0INCDATALCALLGETWD;获得冷冻室温度MOV63HR0DECDATAMOVR362H;显示两室温度值MOVR463HLCALLDISPMOVA60HCLRCHIGH CJNEA62HHIGH1;冷藏室温度等于高于设定值时AJMPHIGH2HIGH1JCHIGH3HIGH2SETBV1;开启压缩机LCALLOPENAJMPLOWHIGH3MOVA61HCLRCCJNEA63HHIGH4;冷冻室温度等于高于设定值时AJMPHIGH5HIGH4JCLOWHIGH5SETBV2;开启压缩机LCALLOPENLOW MOVA61HCLRCCJNEA63HLOW1;冷冻室温度等于低于最低值时AJMPLOW2LOW1JNCLOW3LOW2CLRV2;关闭压缩机LCALLCLOSEAJMPLSLOW3MOVA60HCLRCCJNEA62HLOW4;冷冻室温度等于低于最低值时AJMPLOW5LOW4JNCLSLOW5CLRV1;关闭压缩机LCALLCLOSELS MOVR1#10H;延时1SLS1LCALLDLY_100MSDJNZR1LS1INC65H;化霜时间计数加1MOVA65HCJNEA#00HLS2INC66HLS2MOVA65HCJNEA#08HLOOPMOVA66HCJNEA#07HLOOPJBV1LOOP;化霜定时时间到且V1V2均关闭JBV2LOOPSETBV3;打开V3开始化霜MOVR0#50;化霜时间5SLS3LCALLDLY_100MSDJNZR0LS3LOOP AJMPSTARTEND
二、初始化子程序INTI1初始化模块主要完成初始化I/O口、中断、内存单元并读出存放在闪烁存储器上的温度设定值温度设定值存放在闪烁存储器上即使断电也可保存程序如下INTI1CLRAMOVDPTR#20H;读取冷藏室温度设定值MOVCA@DPTRLCALLDLY_100MS;延时确保数据读完MOV60HAINCDPTR;读取冷藏室温度设定值MOVCA@DPTRLCALLDLY_100MS;延时确保数据读完MOV61HAMOV64H#00H;清空各状态位SETBEX0;允许外部中断0中断SETBIT0;选择边沿触发方式SETBEA;CPU开中断RET
三、键盘扫描子程序KEY扫描程序采用边延时边扫描的方法,当设置键SET_KEY按下一次,指示灯L1亮,按ADD+键和SUB-键设置冷藏室温度当设置键SET_KEY按下二次,指示灯L2亮L1灭,按ADD+键和SUB-键设置冷冻室温度当设置键SET_KEY按下三次,设置完成,指示灯L1,L2均灭如果3S内无键按下,表示误按或用户放弃设置退出扫描扫描程序流程图如3-2所示图3-2扫描程序流程图程序如下KEY CLRAMOVR0#00HSTART MOVR4#1EH;边延时边扫描3SLOOP LCALLDLY_100MSJNBSETB_KEYSETJNBADD-KEYADDJNBSUB_KEYSUBDJNZR4LOOPAJMPEXIT;3S内没有键按下结束扫描SET CJNER0#03HSET1;设置键按下三次,设置完成CLRL1CLRL2AJMPEXITSET1INCR0CJNER0#01HSET2;设置键按下一次SETBL1AJMPSTARTSET2CLRL1;设置键按下二次SETBL2AJMPSTART;加键按下ADD CJNER0#01HADD1;冷藏室温度为正时加1MOVA60HJBACC.7ADD_1INCAMOV60HAAJMPDSPADD_1CLRACC.7;冷藏室温度为负时加1DECASETBACC.7MOV60HAAJMPDSPADD1CJNER0#02HSTARTMOVA61H;冷冻室温度为正时加1JBACC.7ADD1_1INCAMOV61HAAJMPDSPADD1_1CLRACC.7;冷冻室温度为负时加1DECASETBACC.7MOV61HAAJMPDSP;减键按下SUB CJNER0#01HSUB1;冷藏室温度为正时减1MOVA60HJBACC.7SUN_1DECAMOV60HAAJMPDSPSUB_1CLRACC.7;冷藏室温度为负时减1INCASETBACC.7MOV60HAAJMPDSPSUB1CJNER0#02HSTARTCLRACC.7;冷冻室温度为正时减1JBACC.7SUB1_1DECAMOV61HAAJMPDSPSUB1_1CLRACC.7;冷冻室温度为负时减1INCASETBACC.7MOV61HAAJMPDSPDSP MOVDPTR#20H;将设定值存放在闪烁存储器上MOVA62HMOVC@DPTRALCALLDLY_100MSINCDPTRMOVA63HMOVC@DPTRALCALLDLY_100MSMOVR360H;显示设定值MOVR461HLCALLDISPAJMPSTARTEXIT RET四.打开压缩机子程序OPEN程序流程图如下图3-3如示图3-3打开压缩机子程序流程图入口参数全局变量COMPTIME_OUTUPCOMP压缩机开启标志1压缩机开启0压缩关闭TIME_OUT离上次关闭压缩机是否已有3S1否0是UP电压过欠压标志1过欠压0正常作用根据条件打开压缩机返回值无程序如下OPEN CLRAMOVA64HMOVCOMPACC.0MOVTIMP_OUTACC.1MOVUPACC.2JBCOMPEXIT;压缩机处于关闭状态JBTIMP_OUTEXIT;距上次关闭有3sJBUPEXIT;电压正常SETBCOMP;置压机状态位SETBTIME_OUT;置TIME_OUT位MOVACC.0COMPMOVACC.1TIME_OUTMOV64HASETBP
2.4;打开压缩机SETBL3;打开压缩机运行指示灯EXIT MOVR7#10H;延时一段时间退出MOVR6#0FFHNOPNOPDJNZR6DL1DJNZR7DL2RET五.关闭压缩机CLOSE关闭压缩机后用定时器0中断计时,做为下次是否开压缩机的依据,因为压缩机不能连续启停程序如下CLOSE CLRACLRP
2.4;关闭压缩机CLRL3;关闭压缩机运行指示灯MOVA64H;清空压缩机状态标志CLRACC.0MOV64HAMOVTMOD#01H;设置T0工作于模式1MOVTL0#0B0HMOVTH0#3CHSETBTR0;启动定时器T0SETBET0;允许T0中断RET六.定时器0中断程序用于压缩机延时TIME0_INT INC67HMOVA67HCJNEA#50A1;关压缩机是否有5SMOV67H#00HMOVA64H;有5S清空TIME_OUT位CLRACC.1MOV64HACLRT0CLRET0;关闭定时器0中断AJMPLOOPA1MOVTL0#0B0H;没有5S重新允许中断MOVTH0#3CHSETBT0SETBET0LOOP RETIDY_INT LCALLCLOSE;关闭压缩机SETBL4;置电源状态指示灯MOVA64H;置电源状态位SETBACC.2MOV64HASETBP
2.7;报警10SMOVR0#64HLOOP LCALLDLY_100MSDJNZR0LOOPCLRP
2.7RETI七.延时子程序DLY_100MS MOVR1#64HLOOP1MOVR2#7DHLOOP2NOPNOPDJNZR2LOOP2DJNZR1LOOP1RET总结通过此项设计的分析可得到如下结论
1.本系统运用单片机速度快、体积小、价格低廉的8位MCS51单片机可以做出可行、可靠性强的自动控制产品---电冰箱温度的控制系统实现了电冰箱温度的自动控制
2.在单片机应用环境不是很恶劣的地方,利用软件抗干扰也可以达到精度不高的要求,而且,节省了硬件资源,降低了产品设计成本,有助于产品的推广、民用化
3.本系统的设计尽量简化电路,提高软件质量
4.本系统支持多功能模块如果再加上少许外围器件,如语音芯片,环境温度传感器,在软件方面采用模糊控制技术,可以使电冰箱的智能化大大提高参考文献
[1]《嵌入式系统远离与应用设计》主编.王光学电子工业出版社13版
[2]百度文学道客巴巴网
[3]《protell99实用培训教材》主编.陈爱弟北京·人民邮电出版社·2000指导教师意见 评定内容学习态度任务完成情况设计完成质量总分等级评分标准10%20%70%得分评语(至少写2行) 指导教师签字 年月日评审组意见 评审成绩评审组长签字 终审意见 院系负责人签章 终审成绩年月日说明
1、指导教师认定合格方能填写此表并提交评审,不合格指导教师继续指导
2、指导教师及评审组成绩按“优秀、良好、合格、不合格”四个等级评阅。