爱玩科技网
您的当前位置:首页冰箱温度智能控制系统的设计

冰箱温度智能控制系统的设计

来源:爱玩科技网
冰箱温度控制系统的设计

摘要

近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。

电冰箱温度控制系统是利用温度传感器DS18B20采集电冰箱冷藏室和冷冻室的温度,通过INTEL公司的高效微控制器MCS-C51单片机进行数字信号处理,从而达到智能控制的目的。本系统可实现电冰箱冷藏室和冷冻室的温度设置、电冰箱自动除霜、开门报警等功能。

本文在第一章介绍了电冰箱的系统组成及工作原理,第二章论述了本控制系统的硬件设计部分。第三章论述了系统的软件设计部分。

通过对直冷式电冰箱制冷系统的改进和采用模糊控制技术,实现了电冰箱的双温双控,使电冰箱能根据使用条件的变化迅速合理地调节制冷量,且节能效果良好。

关键词:单片机;温度传感器;电冰箱;温度控制

德州职业技术学院毕业设计论文

目录

第一章 概 论 ...................................................................................................................... 3

1.1.电冰箱的系统组成 .............................................................................................. 3 1.2.工作原理 ................................................................................................................ 4 1.3.本系统采用单片机控制的电冰箱主要功能及要求 ................................... 5

第二章硬件部分 ............................................................................................................... 6

2.1.系统结构图 ............................................................................................................ 6 2.2.微处理器(单片机) ......................................................................................... 6

2.2.1主要特性 ............................................................................................................ 7 2.2.2 管脚说明 ........................................................................................................... 8 2.2.3振荡特性 ............................................................................................................ 9 2.2.4芯片擦除 .......................................................................................................... 10 2.2.5运算器 .............................................................................................................. 10 2.2.6中断系统 ........................................................................................................... 11

2.3.温度传感器 ........................................................................................................... 11 2.4.电压检测装置 ..................................................................................................... 15 2.5.功能按键 .............................................................................................................. 16 2.6.压缩机,风机、电磁阀控制 .......................................................................... 16 2.7.故障报警电路 ..................................................................................................... 17

第三章 软件部分 ............................................................................................................ 18

3.1. 主程序:MAIN ................................................................................................ 18 3.2. 初始化子程序:INTI1 ................................................................................... 23 3.3. 键盘扫描子程序:KEY ................................................................................ 24 3.4 打开压缩机子程序:OPEN............................................................................ 29 3.5.关闭压缩机:CLOSE ....................................................................................... 30 3.6.定时器0中断程序:用于压缩机延时 ........................................................ 31 3.7 延时子程序 .......................................................................................................... 32

第四章 分析与结论 ....................................................................................................... 33 致谢 ........................................................................................................................................ 34 参考文献 ............................................................................................................................. 35

2

冰箱温度控制系统的设计

第一章 概 论

随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来。单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其在日常生活中发挥的作用也越来越大。人们对家用电冰箱的控制功能越来越高,这对电冰箱控制器提出了更高的要求。多功能,智能化是其发展方向之一,传统的机器控制,简单的电子控制已经难以满足发展的要求。而采用基于单片机温度控制系统,不仅可大大缩短设计新产品的时间,同时只要增加少许外围器件在软件设计方面就能实现功能的扩展,以及智能化方面的提高,因此可最大限度地节约成本。本文即为基于单片机的电冰箱温度控制系统。

目前市场销售的双门直冷式电冰箱,含有冷冻室和冷藏室,冷冻室通常用于冷冻的温度为-6~-18℃;冷藏室用于在相对冷冻室较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,室温一般为0~10℃. 传统的电冰箱温度一般是由冷藏室控制,冷藏室、冷冻室的不同温度是通过调节蒸发器在两室的面积大小来实现的,温度调节完全依靠压缩机的开停来控制.但是冰箱内的温度受诸多因素的影响,如放入冰箱物品初始温度的高低、存放品的散热特性及热容量、物品在冰箱的充满率、环境温度的高低、开门的频繁程度等.因此对这种受控参数及随机因素很多的温度控制,既难以建立一个标准的数学模型,也无法用传统的PID调节来实现.一台品质优良的电冰箱应该具有较高的温度控制精度,同时又有最优的节能效果,而为了达到这一设计要求采用模糊控制技术无疑是最佳的选择.

1.1.电冰箱的系统组成

液体由液态变为气态时,会吸收很多热量,简称为“液体汽化吸热”,电冰箱就是利用了液体汽化的过程中需要吸热的原理来制冷的。

蒸气压缩式电冰箱制冷系统原理图如图1-1所示,主要由压缩机、冷凝器、干燥过滤器、毛细管、蒸发器等部件组成,其动力均来自压缩机,干燥过滤器用来过滤赃物和干燥水分,毛细管用来节流降压,热交换器为冷凝器和蒸发器。制冷压缩机吸入来自蒸发器的低温低压的气冷剂,经压缩后

3

德州职业技术学院毕业设计论文

成为高温高压的过热蒸气,排入冷凝器中,向周围的空气散热成为高压过冷液体,高压过冷液体经干燥过滤器流入毛细管节流降压,成为低温低压液体状态,进入蒸发器中汽化,吸收周围被冷却物品的热量,使温度降低到所需值,汽化后的气冷剂又被压缩机吸入,至此,完成一个循环。压缩机冷循环周而复始的运行,保证了制冷过程的连续性。

图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时停止制冷,关断压缩机。采用单片机控制,可以使控制更为准确、灵活。

1.2.工作原理

根据冷藏室和冷冻室的温度情况决定是否开压缩机,若冷藏室的温度过高,则打开电磁冷门V1,关闭阀门V2,V3,同时打开压缩机,产生高温高压

4

冰箱温度控制系统的设计

过热蒸气,经过冷凝器冷凝,干燥过滤器干燥,毛细节流管降压后,在蒸发器汽化制冷,产生低温低压的干燥气体。经过电磁阀门V1 流入冷藏室,使冷藏的温度迅速降低,当温度达到要求时关闭压缩机,同时关闭电磁阀门V1 。若是冷冻室的温度过高,则应打开V2关闭V1, V3 。电磁阀门V3主要用于冷冻室的化霜。需要化箱时打开V3,从压缩机流出的高温高压气体流经冷冻室可匀速将冷冻室霜层汽化。达到化霜的效果。一般化霜的时间要短,不然会伤存放的食品。

1.3.本系统采用单片机控制的电冰箱主要功能及要求

1、 设定2个测温点,测量范围:-26C~+26C,精度±0.5C; 2、 利用功能键分别控制温度设定、冷藏室及冷冻室温度设定等; 3、 制冷压缩机停机后自动延时3分钟后方能再启动; 4、 电冰箱具有自动除霜功能; 5、 开门延时超过20秒发声报警;

6、工作电压为180~240V,当欠压或过压时,禁止启动压缩机并用指示灯显示。

5

德州职业技术学院毕业设计论文

第二章硬件部分

2.1.系统结构图

控制系统结构如图2-1 所示,主要由电源开关,电压检测装置,温度传感器,功能按键,单片机,延时电路,显示电路,指示灯电路,除霜装置和故障报警装置等够成。

图2-1 控制系统结构图

2.2.微处理器(单片机)

微处理器是本系统的核心,其性能的好坏直接影响系统的稳定,鉴于本系统为实时控制系统,系统运行时需要进行大量的运算,所以单片机采用INTEL公司的高效微控制器ATC51。

ATC51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM—Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51 ? 指令集和输出管脚相兼容。由于将多功能8位

6

冰箱温度控制系统的设计

CPU和闪烁存储器组合在单个芯片中,ATMEL的ATC51是一种高效微控制器,为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。

图2-2 ATC51

2.2.1主要特性

·与MCS-51 兼容

·4K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年 ·全静态工作:0Hz-24Hz ·三级程序存储器锁定 ·128*8位内部RAM ·32可编程I/O线 ·两个16位定时器/计数器 ·5个中断源

7

德州职业技术学院毕业设计论文

·可编程串行通道 ·低功耗的闲置和掉电模式 ·片内振荡器和时钟电路

2.2.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口也可作为ATC51的一些特殊功能口,如下表所示:

8

冰箱温度控制系统的设计

口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /INT1(外部中断1) P3.4 T0(记时器0外部输入) P3.5 T1(记时器1外部输入) P3.6 /WR(外部数据存储器写选通) P3.7 /RD(外部数据存储器读选通)

P3口同时为闪烁编程和编程校验接收一些控制信号。

RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。

2.2.3振荡特性

/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器

9

德州职业技术学院毕业设计论文

(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)

XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。

2.2.4芯片擦除

整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。

此外,ATC51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。

2.2.5运算器

(1)算术/逻辑部件ALU:用以完成+、-、*、/ 的算术运算及布尔代数的逻辑运算,并通过运算结果影响程序状态寄存器PSW的某些位,从而为判断、转移、十进制修正和出错等提供依据。

(2)累加器A:在算术/逻辑运算中存放一个操作数或结果,在与外部存储器和I/O接口打交道时,进行数据传送都要经过A来完成。

(3)寄存器B:在 *、/ 运算中要使用寄存器B 。乘法时,B用来存放乘数以及积的高字节;除法时,B用来存放除数及余数。不作乘除时,B可作通用寄存器使用。

(4)程序状态标志寄存器PSW:用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。

10

冰箱温度控制系统的设计

2.2.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中断,串行端口完成一帧字符发送/接收后引起。

2.3.温度传感器

在传统的模拟信号远距离温度测量系统中,需要很好的解决引线误差补偿问题、多点测量切换误差问题和放大电路零点漂移误差问题等技术问题,才能够达到较高的测量精度。我们在为冰箱测温系统中,为了克服上面提到的三个问题,采用了新型数字温度传感器DS1820,在对其测温原理进行详细分析的基础上,提出了提高DS1820测量精度的方法,使DS1820的测量精度由0.5℃提高到0.1℃以上,取得了良好的测温效果。 1 DS1820简介

DS1820是美国DALLAS半导体公司生产的可组网数字式温度传感器,在其内部使用了在板(ON-B0ARD)专利技术。全部传感元件及转换电路集成在形如一只三极管的集成电路内。与其它温度传感器相比,DS1820具有以下特性。 (1)独特的单线接口方式,DS1820在与微处理器连接时仅需要一条口线即可实现微处理器与DS1820的双向通讯。

11

德州职业技术学院毕业设计论文

(2)DS1820支持多点组网功能,多个DS1820可以并联在唯一的三线上,实现多点测温。

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

(4)温范围-55℃~+125℃,固有测温分辨率0.5℃。 (5)测量结果以9位数字量方式串行传送 DS1820内部结构框图如图2-3所示。

图2-3 DS1820内部结构框图

DS1820测温原理如图2-4所示。图中低温度系数晶振的振荡频率受温度影响很小,用于产生固定频率的脉冲信号送给计数器1。高温度系数晶振随温度变化其振荡率明显改变,所产生的信号作为计数器2的脉冲输入。计数器1和温度寄存器被预置在-55℃所对应的一个基数值。计数器1对低温度系数晶振产生的脉冲信号进行减法计数,当计数器1的预置值减到0时,温度寄存器的值将加1,计数器1的预置将重新被装入,计数器1重新开始对低温度系数晶振产生的脉冲信号进行计数,如此循环直到计数器2计数到0时,停止温度寄存器值的累加,此时温度寄存器中的数值即为所测温度。图2中的斜率累加器用于补偿和修正测温过程中的非线性,其输出用于修正计数器1的预置值。

12

冰箱温度控制系统的设计

图2-4DS1820测温原理框图

在正常测温情况下,DS1820的测温分辩率为0.5℃以9位数据格式表示,其中最低有效位(LSB)由比较器进行0.25℃比较,当计数器1中的余值转化成温度后低于0.25℃时,清除温度寄存器的最低位(LSB),当计数器1中的余值转化成温度后高于0.25℃,置位温度寄存器的最低位(LSB),如-25.5℃对应的9位数据格式如下: 2 提高DS1820测温精度的途径 2.1 DS1820高精度测温的理论依据

DS1820正常使用时的测温分辨率为0.5℃,这对于水轮发电机组轴瓦温度监测来讲略显不足,在对DS1820测温原理详细分析的基础上,我们采取直接读取DS1820内部暂存寄存器的方法,将DS1820的测温分辨率提高到0.1℃~0.01℃。

表1 DS1820暂存寄存器分布

13

德州职业技术学院毕业设计论文

DS1820内部暂存寄存器的分布如表1所示,其中第7字节存放的是当温度寄存器停止增值时计数器1的计数剩余值,第8字节存放的是每度所对应的计数值,这样,我们就可以通过下面的方法获得高分辨率的温度测量结果。首先用DS1820提供的读暂存寄存器指令(BEH)读出以0.5℃为分辨率的温度测量结果,然后切去测量结果中的最低有效位(LSB),得到所测实际温度整数部分T整数,然后再用BEH指令读取计数器1的计数剩余值M剩余和每度计数值M每度,考虑到DS1820测量温度的整数部分以0.25℃、0.75℃为进位界限的关系,实际温度T实际可用下式计算得到: T实际=(T整数-0.25℃)+(M每度-M剩余)/M每度 2.2 测量数据比较

表2为采用直接读取测温结果方法和采用计算方法得到的测温数据比较,通过比较可以看出,计算方法在DS1820测温中不仅是可行的,也可以大大的提高DS1820的测温分辨率。

表2 DS1820直读测温结果与计算测温结果数据比较

3 DS1820使用中注意事项

DS1820虽然具有测温系统简单、测温精度高、连接方便、占用口线少等优点,但在实际应用中也应注意以下几方面的问题:

(1)较小的硬件开销需要相对复杂的软件进行补偿,由于DS1820与微处理器间采用串行数据传送,因此,在对DS1820进行读写编程时,必须严格的保证读写时序,否则将无法读取测温结果。在使用PL/M、C等高级语言进行系统程序设计时,对DS1820操作部分最好采用汇编语言实现。

14

冰箱温度控制系统的设计

(2)在DS1820的有关资料中均未提及单总线上所挂DS1820数量问题,容易使人误认为可以挂任意多个DS1820,在实际应用中并非如此。当单总线上所挂DS1820超过8个时,就需要解决微处理器的总线驱动问题,这一点在进行多点测温系统设计时要加以注意。

(3)连接DS1820的总线电缆是有长度的。试验中,当采用普通信号电缆传输长度超过50m时,读取的测温数据将发生错误。当将总线电缆改为双绞线带屏蔽电缆时,正常通讯距离可达150m,当采用每米绞合次数更多的双绞线带屏蔽电缆时,正常通讯距离进一步加长。这种情况主要是由总线分布电容使信号波形产生畸变造成的。因此,在用DS1820进行长距离测温系统设计时要充分考虑总线分布电容和阻抗匹配问题。

(4)在DS1820测温程序设计中,向DS1820发出温度转换命令后,程序总要等待DS1820的返回信号,一旦某个DS1820接触不好或断线,当程序读该DS1820时,将没有返回信号,程序进入死循环。这一点在进行DS1820硬件连接和软件设计时也要给予一定的重视。

2.4.电压检测装置

电压检测装置是为了保护系统的稳定运行,采用WB系列电压越限报警传感器WB系列电压越限报警传感器以电压隔离传感器为基础,增配比较器电路、基准电压设定电路、输出驱动电路组成,用来隔离监测主回路中的交流或直流电压,当被监测的电压超过预先设定的上限值,或低于预先设定的下限值时,给出开关量控制信号。

本系列产品测控一体化、体积小、精度高、使用方便,报警界限值可以由用户根据需要随时进行调整,具有很高的性能/价格比。 主要特点:

1.测控一体化,体积小、精度高、反应快; 2.具有瞬态干扰抑制功能,防止误动作; 3.报警界限值可在设定值(±20%)内连续可调;

15

德州职业技术学院毕业设计论文

4.密封式继电器触点输出,触点寿命>30万次;

5.隔离电压:交流监测>2.5kVDC,1分钟;直流监测>1.5kVDC,1分钟 6.输入过载能力:10倍阈值,持续5秒;

7.额定环境温度:商业级0~+50℃,工业级-25℃~+70℃; 8.平均无故障工作时间>5万小时; 9.20%回差设置,确保动作稳定;

2.5.功能按键

因本系统使用的按键数目少,故按键采用硬件去抖。按键电路如图2-6 所示。用两个与非门构成一个RS触发器。当按键未按下时输出为1;刚键按下时输出为0。此时即使用按键的机器性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原来状态A,双稳态电路的状态不会改变,输出保持为0,不会产生抖动的波形。也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。

图2-5 按键电路

2.6.压缩机,风机、电磁阀控制

压缩机,风机工作原理是制冷系统内制冷剂的低压蒸汽被压缩机吸入并压缩为高压蒸汽后排至冷凝器。同时轴流风扇吸入的室外空气流经冷凝器,带走制冷剂放出的热量,使高压制冷剂蒸汽凝结为高压液体。高压液体经过过滤器、节流机构后喷入蒸发器,并在相应的低压下蒸发,吸取周围的热量。

16

冰箱温度控制系统的设计

同时贯流风扇使空气不断进入蒸发器的肋片间进行热交换,并将放热后变冷的空气送向室内。如此室内空气不断循环流动,达到降低温度的目的。 而冰箱没有风扇靠自然对流来进行热量交换。电磁阀的工作原理非常简单,阻流板就象一个闸门,一个弹簧让它处于关闭状态,上面一个电磁铁芯,铁芯(低部橡胶)压在阻流板中间(凸起)的一个小眼儿上,外面一个电磁线圈,接通电源后铁芯别吸上去,小眼儿开始进气,压力达到顶开弹簧后电磁阀打开。

2.7.故障报警电路

报警电路主要用示电冰箱使用过程中出现的故障,包括系统自身故障,外界故障,和误操作,如:冰箱内温度太高,外界电压波动大,未关好冰箱门或是开门时间太长等等。 四个指示灯作用: L1:设置冷藏室温度时亮 L2:设置冷冻室温度时亮 L3:压缩机运行时亮 L4:电源过压或欠压时亮

17

德州职业技术学院毕业设计论文

第三章 软件部分

本系统软件主要由主流程、功能子程序、中断服务程序组成。采用主程序调用功能子程序,子程序尽可能少的调用其它子程序,以保证系统的稳定运行。本系统温度在-C~C,用七位即可存放,因此温度值用一个字节存放, 最高位存放符号位。

各温度值均用全程变量形式存放,如下: 60H冷藏室温度设定值 61H冷冻室温度设定值

62H冰箱运行时冷藏室温度实际值 63H冰箱运行时冷冻室温度实际值

H用于存放压缩机,电源状态和压缩机关机延时状态值 其中:

最低0位COMP存放压缩机状态标志:1 压缩机开启0压缩机关闭 第1位TIME_OUT离上次关闭压缩机是否已有5S:1 否0是 第2 位UP电压过欠压标志:1过欠压0正常 65H,66H用于存放化霜时间计数 67H用于压缩机关闭延时计数

3.1. 主程序:MAIN

主程序由初始化,键盘扫描,显示,温度采集,温度控制和定时化霜子程序组成,为系统软件的主干部分,化霜采用定时化霜,每三十分钟化霜一次,化霜原理见概论电冰箱式作原理部分,其流程图如图3-1所示:

18

冰箱温度控制系统的设计

程序如下:

ORG 0000H AJMP MAIN ORG 0003H LJMP DY_INT

ORG 000B LJMP TIME0_INT ORG 0030H DATA EQUP1.0

图3-1 主程序流程图

19

德州职业技术学院毕业设计论文

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

20

; 初始化 ; 键盘扫描 ; 获得冷藏室温度

冰箱温度控制系统的设计

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 OPEN AJMP LOW

HIGH3:MOV A , 61H

CLR C

CJNE A , 63H , HIGH4 AJMP HIGH5

HIGH4:JC LOW HIGH5:SETB V2

; 冷藏室温度等于高于设定值时

; 开启压缩机

; 冷冻室温度等于高于设定值时 ; 开启压缩机

21

德州职业技术学院毕业设计论文

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

LS1:LCALL DLY_100MS DJNZ R1 , LS1 INC 65H

; 关闭压缩机

; 冷冻室温度等于低于最低值时

; 关闭压缩机 ; 延时1S

; 化霜时间计数加1

22

冰箱温度控制系统的设计

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 闭

JB V2 , LOOP SETB V3

; 打开V3开始化霜 ; 化霜时间5 S

; 化霜定时时间到且V1,V2均关

MOV R0 , #50

LS3:LCALL DLY_100MS

DJNZ R0 , LS3

LOOP:AJMP START

END

3.2. 初始化子程序:INTI1

初始化模块主要完成初始化I/O口、中断、内存单元,并读出存放在闪烁存储器上的温度设定值。温度设定值存放在闪烁存储器上即使断电也可保存。 程序如下:

23

德州职业技术学院毕业设计论文

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 H , #00H SETB EX0 SETB IT0 SETB EA RET

; 清空各状态位 ; 允许外部中断0中断 ; 选择边沿触发方式 ; CPU开中断

; 延时确保数据读完

3.3. 键盘扫描子程序:KEY

扫描程序采用边延时边扫描的方法,当设置键SET_KEY按下一次,指示灯L1亮,按ADD(+)键和SUB(-)键设置冷藏室温度。当设置键SET_KEY按下二次,指示灯L2亮,L1灭,按ADD(+)键和SUB(-)键设置冷冻室温度。当设置键SET_KEY按下三次,设置完成,指示灯L1,L2均灭。如果3S内无键按下,表示误按或用户放弃设置。退出扫描。 程序如下:

24

冰箱温度控制系统的设计

KEY:CLR A

MOV R0 , #00H START:MOV R4 , #1EH

LOOP:LCALL DLY_100MS

JNB SETB_KEY , SET JNB ADD-KEY , ADD JNB SUB_KEY , SUB DJNZ R4 , LOOP AJMP EXIT

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

; 边延时边扫描3S

; 3S内没有键按下结束扫描

; 设置键按下三次,设置完成 ; 设置键按下一次

; 设置键按下二次

25

德州职业技术学院毕业设计论文

SETB L2 AJMP START

; 加键按下 ADD:CJNE R0 , #01H , ADD1

MOV A , 60H JB ACC.7 , ADD_1 INC A MOV 60H , A AJMP DSP

ADD_1:CLR ACC.7

DEC A SETB ACC.7 MOV 60H , A AJMP DSP

ADD1:CJNE R0 , #02H , START

MOV A , 61H

JB ACC.7 , ADD1_1 INC A

26

; 冷藏室温度为正时加1

; 冷藏室温度为负时加1

; 冷冻室温度为正时加1

冰箱温度控制系统的设计

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 MOV A , 60H JB ACC.7 , SUN_1 DEC A MOV 60H , A AJMP DSP SUB_1:CLR ACC.7

INC A SETB ACC.7 MOV 60H , A AJMP DSP

SUB1:CJNE R0 , #02H , START

; 减键按下

; 冷藏室温度为正时减1

; 冷藏室温度为负时减1 27

德州职业技术学院毕业设计论文

CLR ACC.7 JB ACC.7 , SUB1_1 DEC A MOV 61H , A AJMP DSP SUB1_1:CLR ACC.7

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

; 冷冻室温度为正时减1

; 冷冻室温度为负时减1

; 将设定值存放在闪烁存储器上

; 显示设定值

28

冰箱温度控制系统的设计

MOV R4 , 61H LCALL DISP AJMP START EXIT:RET

3.4 打开压缩机子程序:OPEN

程序流程图如下图3-2如示:

图3-2 打开压缩机子程序

入口参数:全局变量COMP , TIME_OUT , UP

COMP 压缩机开启标志:1 压缩机开启 0 压缩关闭 TIME_OUT 离上次关闭压缩机是否已有3S:1 否 0 是 UP 电压过欠压标志:1 过欠压 0 正常

作用: 根据条件打开压缩机 返回值:无 程序如下: OPEN:CLR A

MOV A , H MOV COMP , ACC.0 MOV TIMP_OUT , ACC.1 MOV UP , ACC.2

29

德州职业技术学院毕业设计论文

JB COMP , EXIT ; 压缩机处于关闭状态

; 距上次关闭有3s ; 电压正常 ; 置压机状态位

JB TIMP_OUT , EXIT JB UP , EXIT SETB COMP

SETB TIME_OUT ; 置TIME_OUT位

MOV ACC.0 , COMP MOV ACC.1 , TIME_OUT MOV H , A SETB P2.4 SETB L3

; 打开压缩机

; 打开压缩机运行指示灯 ; 延时一段时间退出

EXIT:MOV R7 , #10H

MOV R6 , #0FFH NOP NOP

DJNZ R6 , DL1 DJNZ R7 , DL2 RET

3.5.关闭压缩机:CLOSE

关闭压缩机后用定时器0中断计时,做为下次是否开压缩机的依据,因为压缩机不能连续启停。 程序如下: CLOSE:CLR A

CLR P2.4 CLR L3

; 关闭压缩机

; 关闭压缩机运行指示灯

; 清空压缩机状态标志

MOV A , H CLR ACC.0 MOV H , A

MOV TMOD , #01H

30

; 设置T0工作于模式1

冰箱温度控制系统的设计

MOV TL0 , #0B0H MOV TH0 , #3CH SETB TR0 SETB ET0 RET

; 启动定时器T0 ; 允许T0中断

3.6.定时器0中断程序:用于压缩机延时

TIME0_INT:INC 67H

MOV A , 67H CJNE A , #50 , A1

MOV 67H , #00H MOV A , H

CLR ACC.1 MOV H , A CLR T0 CLR ET0

AJMP LOOP

A1:MOV TL0 , #0B0H

MOV TH0 , #3CH SETB T0

SETB ET0

LOOP:RETI

DY_INT:LCALL CLOSE SETB L4

MOV A , H

SETB ACC.2 MOV H , A SETB P2.7

MOV R0 , #H

; 关压缩机是否有5S

; 有5S清空TIME_OUT位

; 关闭定时器0中断

; 没有5S重新允许中断

; 关闭压缩机 ; 置电源状态指示灯

; 置电源状态位

; 报警10S

31

德州职业技术学院毕业设计论文

LOOP:LCALL DLY_100MS DJNZ R0 , LOOP CLR P2.7

RETI

3.7 延时子程序

DLY_100MS:MOV R1 , #H LOOP1:MOV R2 , #7DH LOOP2:NOP NOP

DJNZ R2 , LOOP2

DJNZ R1 , LOOP1 RET

32

冰箱温度控制系统的设计

第四章 分析与结论

通过此项设计的分析可得到如下结论:

1.本系统运用单片机速度快、体积小、价格低廉的8位MCS51单片机,可以做出可行、可靠性强的自动控制产品---电冰箱温度的控制系统。实现了电冰箱温度的自动控制。

2.在单片机应用环境不是很恶劣的地方,利用软件抗干扰也可以达到精度不高的要求,而且,节省了硬件资源,降低了产品设计成本,有助于产品的推广、民用化。

3.本系统的设计尽量简化电路,提高软件质量。

4.本系统支持多功能模块。如果再加上少许外围器件,如语音芯片,环境温度传感器,在软件方面采用模糊控制技术,可以使电冰箱的智能化大大提高。

33

德州职业技术学院毕业设计论文

致谢

毕业设计即将结束,要感谢的人很多。首先要感谢的是本次设计的指导老师,刘敏老师。导师严谨的治学态度、深厚的学术功底、平易近人的待人方式、幽默诙谐的讲解和授之以渔的启发给我留下了深刻的印象,这不仅对我现在的学习产生重要作用,并将对我以后的工作和生活起到指引和激励作用。和老师的探讨交流使我的思路开阔、受益匪浅。在论文完成之际,谨向刘老师表示诚挚的敬意和衷心的感谢。

同时还要感谢我的同学和好友,感谢他们在毕业设计期间对我的帮助,通过与他们的交流,我掌握了所学知识,开拓了思路,摆脱迷茫,并最终完成了本次设计。

感谢三年朝夕相处的大学同学、老师、寝室好友,他们不仅在学习生活上给我了帮助和支持,还让我感受到集体的温暖和家的温馨以及值得一辈子珍藏的友谊。

34

冰箱温度控制系统的设计

参考文献:

[1] 陈明荧.8051单片机课程设计实训教材 北京:清华大学出版社 2004

[2]李军 .检测技术及仪表[M]. 北京: 中国轻工业出版社 2002.4

[3 ]凌玉华.单片机原理与应用系统设计 长沙:中南大学出版社 2006

[4] 刘鸣,车立新,陈兴梧,赵煜. 温度传感器DS18B20的特性及程序设计方法. 电测与仪表 , 2001,(10) .

[5] 周月霞,孙传友. DS18B20硬件连接及软件编程[J]. 传感器世界 , 2001,(12) .

[6] 刘易雄,刘建雄 DS18B20接口的C语言程序设计. 仪器仪表用户,河南科技大学机电工程学院 ,2005,06

[7] 陈涛. DS18B20芯片与单片微控制器的接口设计与应用[J]. 山东煤炭科技 , 2002,(03) .

[8] 陈跃东. DS18B20集成温度传感器原理及其应用[J]. 安徽工程科技学院学报 , 2002,(04) .

[9]赖寿宏.微型计算机控制技术[M]. 北京:机械工业出版社.2003,21~42 [10] Zhang Chunzhi Feng Haiming. Design of Micro-controllers Control System of Electric Refrigerator[J] .Journal of Beijing Vocational & Technical Institute of Industry.2002,(03).

35

因篇幅问题不能全部显示,请点此查看更多更全内容