电冰箱温度控制设计毕业设计

上传人:仙*** 文档编号:81214579 上传时间:2022-04-26 格式:DOC 页数:27 大小:255KB
收藏 版权申诉 举报 下载
电冰箱温度控制设计毕业设计_第1页
第1页 / 共27页
电冰箱温度控制设计毕业设计_第2页
第2页 / 共27页
电冰箱温度控制设计毕业设计_第3页
第3页 / 共27页
资源描述:

《电冰箱温度控制设计毕业设计》由会员分享,可在线阅读,更多相关《电冰箱温度控制设计毕业设计(27页珍藏版)》请在装配图网上搜索。

1、重庆信息技术职业学院毕业设计 题目 电冰箱温度控制设计 选题性质:设计报告其他 院 系 电子工程 专 业 电子信息工程技术 班 级 2011级(2)班 学 号 1120090219 学生姓名 许晋杰 指导教师 唐玉萍 教务处制 2013年 6 月 10 日 2011 届 电子工程 学院毕业设计选题审批单年级 2011 专业 电子信息工程技术 班级 (2)班 学生姓名许晋杰 学 号1120090219 选题电冰箱的温度控制设计 选题性质设计报告其他选题论证:介绍了用AT89C51作为控制器核心,对电冰箱的工作过程进行控 制,使用者可根据四季变化的温度进行对电冰箱进行调整冰箱的温度。满足客服的需求

2、 指导教师初审意见:签 名:年 月 日毕业设计工作领导小组审批意见:签 名:年 月 日 2011 届 电子工程 学院毕业设计开题报告及进度要求年级 2011 班级 2 学生姓名许晋杰 学 号1120090219 指导教师唐玉萍 选题性质设计报告其他选题电冰箱的温度控制设计 选题的目的和意义:随着人们生活水平的提高,铺张浪费的情况逐渐上升,人们抱怨东西没地方放,时间久了就会坏掉。抱怨冰箱不能起到制冷、保鲜的作用。以下这种冰箱采用AT89c51单片机控制显示屏,人们可以根据四季变化看显示屏的温度显示进行温度设置。用AT89C51作为控制器核心,对电冰箱的工作过程进行控 制。控制原理是根据蒸发器的温

3、度控制制冷压缩机的启、停,使冰箱内的温度保持在设 定温度范围内。一般当蒸发器温度高至35 时启动压缩机制冷,当温度低于-10-20 时停止制冷,关断压缩机。采用单片机控制,可以使控制更准确、灵活。 选题研究的主要内容和技术方案:主要内容:使用AT89c51控制LED的数字显示屏。由于多数冰箱大多数人们根本不知道冰箱中的实际温度。已导致食物常常坏掉。一旦把冰箱的温度使用led显示屏显现出来,人们即可根据四季的需要,调节按钮,改变冰箱的温度。技术方案:采用空调调节温度的方法,综合冰箱制冷的效果进行综合。制造独特的冰箱。毕业设计工作时间 年 月 日 至 年 月 日毕业设计工作日程安排时间段工作内容9

4、月1日-9月8日选题、开题、制定任务、开题11月26日完成毕业设计指导教师意见: 成果要求: 签字: 年 月 日 摘要题目 作者 (重庆信息技术职业学院电子工程学院 重庆万州 404000)摘要:近年来随着计算机在社会领域的渗透, 单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,以作完善。关键词:单片机;温度传感器;电冰箱;温度控制目录第一章 概 论5一电冰箱的系统组成6二工作原理:7三本系统采用单片机控制的电冰箱主要

5、功能及要求:7第二章 硬件部分8一系统结构图8二微处理器(单片机)81主要特性:92管脚说明:103振荡器特性:114芯片擦除:125运算器126.中断系统:12三温度传感器13四电压检测装置18五功能按键19六压缩机,风机、电磁阀控制电路19七故障报警电路20第三章 软件部分21一、主程序:MAIN21二、初始化子程序:INTI125三、键盘扫描子程序:KEY26四打开压缩机子程序:OPEN29五关闭压缩机:CLOSE31六定时器0中断程序:用于压缩机延时32七延时子程序33第四章 分析与结论34致 谢35参考文献:36重庆信息技术职业学院毕业设计 正 文电冰箱温度测控系统设计(A)第一章

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

7、基于单片机的电冰箱温度控制系统。 目前市场销售的双门直冷式电冰箱,含有冷冻室和冷藏室,冷冻室通常用于冷冻的温度为-6-18;冷藏室用于在相对冷冻室较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,室温一般为010.传统的电冰箱温度一般是由冷藏室控制,冷藏室、冷冻室的不同温度是通过调节蒸发器在两室的面积大小来实现的,温度调节完全依靠压缩机的开停来控制.但是冰箱内的温度受诸多因素的影响,如放入冰箱物品初始温度的高低、存放品的散热特性及热容量、物品在冰箱的充满率、环境温度的高低、开门的频繁程度等.因此对这种受控参数及随机因素很多的温度控制,既难以建立一个标准的数学模型,也无法用传统的PID调

8、节来实现.一台品质优良的电冰箱应该具有较高的温度控制精度,同时又有最优的节能效果,而为了达到这一设计要求采用模糊控制技术无疑是最佳的选择. 一电冰箱的系统组成 液体由液态变为气态时,会吸收很多热量,简称为“液体汽化吸热”,电冰箱就是利用了液体汽化的过程中需要吸热的原理来制冷的。 蒸气压缩式电冰箱制冷系统原理图如图1-1所示,主要由压缩机、冷凝器、干燥过滤器、毛细管、蒸发器等部件组成,其动力均来自压缩机,干燥过滤器用来过滤赃物和干燥水分,毛细管用来节流降压,热交换器为冷凝器和蒸发器。制冷压缩机吸入来自蒸发器的低温低压的气体制冷剂,经压缩后成为高温高压的过热蒸气,排入冷凝器中,向周围的空气散热成为

9、高压过冷液体,高压过冷液体经干燥过滤器流入毛细管节流降压,成为低温低压液体状态,进入蒸发器中汽化,吸收周围被冷却物品的热量,使温度降低到所需值,汽化后的气体制冷剂又被压缩机吸入,至此,完成一个循环。压缩机冷循环周而复始的运行,保证了制冷过程的连续性。 直冷式电冰箱的控制原理是根据蒸发器的温度控制制冷压缩机的启、停,使冰箱内的温度保持在设定温度范围内。冷冻室用于冷冻食品通常用于冷冻的温度为3C15C,冷藏室用于相对于冷冻室较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,温度一般为0C10C,当测得冷冷冻室温度高至3C 0C时或者是冷冻室温度高至10C13C是启动压缩机制冷,当冷冻室温度

10、低于15C18C或都冷藏室温度低于0C3C时停止制冷,关断压缩机。采用单片机控制,可以使控制更为准确、灵活。 二工作原理:根据冷藏室和冷冻室的温度情况决定是否开压缩机,若冷藏室的温度过高,则打开电磁冷门V1,关闭阀门V2,V3,同时打开压缩机,产生高温高压过热蒸气,经过冷凝器冷凝,干燥过滤器干燥,毛细节流管降压后,在蒸发器汽化制冷,产生低温低压的干燥气体。经过电磁阀门V1 流入冷藏室,使冷藏的温度迅速降低,当温度达到要求时关闭压缩机,同时关闭电磁阀门V1 。若是冷冻室的温度过高,则应打开V2关闭V1, V3 。电磁阀门V3主要用于冷冻室的化霜。需要化箱时打开V3,从压缩机流出的高温高压气体流经

11、冷冻室可匀速将冷冻室霜层汽化。达到化霜的效果。一般化霜的时间要短,不然会伤存放的食品。 三本系统采用单片机控制的电冰箱主要功能及要求: 1、设定2个测温点,测量范围:26C26C,精度0.5C; 2、利用功能键分别控制温度设定、冷藏室及冷冻室温度设定等; 3、制冷压缩机停机后自动延时3分钟后方能再启动; 4、电冰箱具有自动除霜功能; 5、开门延时超过20秒发声报警; 6、工作电压为180240V,当欠压或过压时,禁止启动压缩机并用指示灯显示。 第二章 硬件部分一系统结构图 二微处理器(单片机) 微处理器是本系统的核心,其性能的好坏直接影响系统的稳定,鉴于本系统为实时控制系统,系统运行时需要进行

12、大量的运算,所以单片机采用INTEL公司的高效微控制器MSC-C51。 MSC-C51单片机性能介绍: 51系列单片微机封装形式为双排直列式结构(DIP),引脚共40个。如图2-2所示。MCS51单片机的典型芯片是8051,其内部基本组成为:一个8位的中央处理器(CPU),256byte片内RAM单元,4Kbyte掩膜式ROM,2个16位的定时器计数器,四个8位的并行IO口(P0,P1,P2,P3),一个全双工串行口5个中断源,一个片内振荡器和时钟发生电路。这种结构特点决定了单片机具有体积小、成本低、可靠性高、应用灵活、开发效率高、易于被产品化等优点,使其具有很强的面向控制的能力,在工业自动化

13、控制、家用电器、智能化仪表、机器人、军事装置等领域获得了广泛的应用。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进行校验

14、时,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位地址外部数据存储器进行存取时,

15、P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。 P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。 P3口也可作为8051的一些特殊功能口,如下所示: 口管脚 备选功能 P3.0 RXD(串行输入口) P3.1 TXD(串行输出口) P3.2 /INT0(外部中断0) P3.3 /

16、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。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时

17、,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时, ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。 /PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。 /EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间

18、,此引脚也用于施加12V编程电源(VPP)。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 3振荡器特性: XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。 4芯片擦除: 整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任

19、何非空存储字节被重复编程以前,该操作必须被执行。 此外,AT89C51设有稳态逻辑,可以在低到零频率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 5运算器 (1)算术逻辑部件ALU:用以完成+、-、*、/ 的算术运算及布尔代数的逻辑运算,并通过运算结果影响程序状态寄存器PSW的某些位,从而为判断、转移、十进制修正和出错等提供依据。(2)累加器A:在算术逻辑运算中存放一个操作数或结果,在与外部存储器和I/O接口打交道时,进行

20、数据传送都要经过A来完成。(3)寄存器B:在 *、/ 运算中要使用寄存器B 。乘法时,B用来存放乘数以及积的高字节;除法时,B用来存放除数及余数。不作乘除时,B可作通用寄存器使用。(4)程序状态标志寄存器PSW:用来存放当前指令执行后操作结果的某些特征,以便为下一条指令的执行提供依据。 6.中断系统: 8051单片机的中断系统简单实用,其基本特点是:有5个固定的可屏蔽中断源,3个在片内,2个在片外,它们在程序存储器中各有固定的中断入口地址,由此进入中断服务程序;5个中断源有两级中断优先级,可形成中断嵌套;2个特殊功能寄存器用于中断控制和条件设置的编程。5个中断源的符号、名称及产生的条件如下:I

21、NT0:外部中断0,由P32端口线引入,低电平或下跳沿引起。INT1:外部中断1,由P33端口线引入,低电平或下跳沿引起。T0:定时器计数器0中断,由T0计满回零引起。T1:定时器计数器l中断,由T1计满回零引起。TIRI:串行IO中断,串行端口完成一帧字符发送接收后引起。 三温度传感器 温度传感器是本系统不可或缺的元件,其性能的好坏直接影响系统的性能,因此温度传感器采用DALLAS公司生产的高性能数字温度传感器DS18B20 。 数字温度传感器DS18B20的原理与应用 DS18B20是DALLAS公司生产的一线式数字温度传感器,具有3引脚TO92小体积封装形式;温度测量范围为55125,可

22、编程为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

23、:为电源地; VDD:为外接供电电源输入端(在寄生电源接线方式时接地,见图2-4)。 ROM中的64位序列号是出厂前被光刻好的,它可以看作是该DS18B20的地址序列码,每个DS18B20的64位序列号均不相同。64位ROM的排的循环冗余校验码(CRC=X8X5X41)。ROM的作用是使每一个DS18B20都各不相同,这样就可以实现一根总线上挂接多个DS18B20的目的。 温度传感器 高温触发器TH 低温触发器TL 配置寄存器 存储和控制逻辑 8位CRC生成器 供电方式选择 DS18B20 用12 位存贮温度值,最高位为符号位. 图1为18B20 的温度存储方式,负温度S = 1 ,正温度S

24、= 01 如:0550H 为+ 85 ,0191H 为25. 0625 ,FC90H 为- 55 . 23 22 21 20 21 22 23 24 温度值低字节 LSB S S S S S 26 25 24 温度值高字节 MSB 高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。其中配置寄存器的格式如下: 0 R1 R0 1 1 1 1 1 R1、R0决定温度转换的精度位数:R1R0=00,9位精度,最大转换时间为93.75ms,R1R0=01,10位精度,最大转换时间为187.5ms,R1R0=10,11位精度,最大

25、转换时间为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以MCS51系列单片机为例,画出了DS18B20与微处理器的典型连接。图2-5(a)中

26、DS18B20采用寄生电源方式,其VDD和GND端均接地,图2-5(b)中DS18B20采用外接电源方式,其VDD端用3V5.5V电源供电。假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写了3个子程序:INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。DAT EQU P1.0 INIT::CLR EA INI10:SETB DATMOV R2,200 INI11:CLR DATDJNZ R2, INI11 ; 主机发复位脉冲持续3s200=600sSETB DAT ; 主机释放总线

27、,口线改为输入MOV R2, 30INI12:DJNZ R2, INI12 ; DS18B20等待2s30=60sCLR CORL C, DAT ; DS18B20数据线变低(存在脉冲)吗?JC INI10 ; DS18B20未准备好,重新初始化MOV R6,80INI13:ORL C, DATJC INI14 ; DS18B20数据线变高,初始化成功DJNZ R6, INI13 ; 数据线低电平可持续3s80=240sSJMP INI10 ; 初始化失败, 重来INI14::MOV R2, 240INI15::DJNZ R2, INI15 ; DS18B20应答最少2s240=480sRET

28、; WRITE::CLR EAMOV R3,8 ; 循环8次,写一个字节WR11:SETB DATMOV R4, 8RRC A ; 写入位从A中移到CYCLR DATWR12:DJNZ R4, WR12 ;等待16sMOV DAT, C ; 命令字按位依次送给DS18B20MOV R4, 20WR13:DJNZ R4, WR13 ;保证写过程持续60sDJNZ R3, WR11 ;未送完一个字节继续SETB DATRET;READ:CLR EAMOV R6, 8 ;循环8次,读一个字节RD11:CLR DATMOV R4, 4NOP ;低电平持续2sSETB DAT ;口线设为输入RD12:D

29、JNZ R4, RD12 ;等待8sMOV C, DAT ;主机按位依次读入DS18B20的数据RRC A ;读取的数据移入AMOV R5, 30RD13:DJNZ R5, RD13 ;保证读过程持续60sDJNZ R6, RD11 ;读完一个字节的数据,存入A中SETB DATRET;主机控制DS18B20完成温度转换必须经过三个步骤:初始化、ROM操作指令、存储器操作指令。必须先启动DS18B20开始转换,再读出温度转换值。假设一线仅挂接一个芯片,使用默认的12位转换精度,外接供电电源,可写出完成一次转换并读取温度值子程序GETWD。GETWD:LCALL INITMOV A, 0CCHL

30、CALL WRITE ;发跳过ROM命令MOV A, 44HLCALL WRITE ;发启动转换命令LCALL INITMOV A, 0CCH ;发跳过ROM命令LCALL WRITEMOV A, 0BEH ;发读存储器命令LCALL WRITELCALL READMOV WDLSB, A ;温度值低位字节送WDLSBLCALL READMOV WDMSB, A ;温度值高位字节送WDMSBRET子程序GETWD读取的温度值高位字节送WDMSB单元,低位字节送WDLSB单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。 四电压检测装置 电压检测装置是为了保护系统的稳

31、定运行,采用WB系列电压越限报警传感器WB系列电压越限报警传感器以电压隔离传感器为基础,增配比较器电路、基准电压设定电路、输出驱动电路组成,用来隔离监测主回路中的交流或直流电压,当被监测的电压超过预先设定的上限值,或低于预先设定的下限值时,给出开关量控制信号。 本系列产品测控一体化、体积小、精度高、使用方便,报警界限值可以由用户根据需要随时进行调整,具有很高的性能/价格比。 主要特点: 1.测控一体化,体积小、精度高、反应快; 2.具有瞬态干扰抑制功能,防止误动作; 3.报警界限值可在设定值(20%)内连续可调; 4.密封式继电器触点输出,触点寿命30万次; 5.隔离电压:交流监测2.5kV

32、DC,1分钟;直流监测1.5kV DC,1分钟; 6.输入过载能力: 10倍阈值,持续5秒; 7.额定环境温度:商业级0+50,工业级-25+70; 8.平均无故障工作时间5万小时; 9.20%回差设置,确保动作稳定; 第3章 软件部分 本系统软件主要由主流程、功能子程序、中断服务程序组成。采用主程序调用功能子程序,子程序尽可能少的调用其它子程序,以保证系统的稳定运行。本系统温度在64C64C,用七位即可存放,因此温度值用一个字节存放, 最高位存放符号位。 各温度值均用全程变量形式存放,如下: 60H 冷藏室温度设定值 61H 冷冻室温度设定值 62H 冰箱运行时冷藏室温度实际值 63H 冰箱

33、运行时冷冻室温度实际值 64H 用于存放压缩机,电源状态和压缩机关机延时状态值 其中: 最低0位COMP存放压缩机状态标志:1 压缩机开启 0压缩机关闭 第1位TIME_OUT离上次关闭压缩机是否已有5S:1 否 0 是 第2 位UP电压过欠压标志:1 过欠压 0 正常 65H,66H 用于存放化霜时间计数 67H 用于压缩机关闭延时计数 一、主程序:MAIN 主程序由初始化,键盘扫描,显示,温度采集,温度控制和定时化霜子程序组成,为系统软件的主干部分,化霜采用定时化霜,每三十分钟化霜一次,化霜原理见概论电冰箱式作原理部分,其流程图如图3-1所示: 程序如下: 图3-1 主程序流程图 ORG

34、0000H AJMP MAIN ORG 0003H LJMP DY_INT ORG 000BH LJMP TIME0_INT ORG 0030H DATA EQU P1.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; 初始化 LCA

35、LL 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 OPEN AJMP LOW HIGH3:MOV A , 61H CLR C CJNE

36、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;

37、 关闭压缩机 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 DL

38、Y_100MS DJNZ R0 , LS3 LOOP:AJMP START END 二、初始化子程序:INTI1 初始化模块主要完成初始化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

39、 64H , #00H ; 清空各状态位 SETB EX0 ; 允许外部中断0中断 SETB IT0 ; 选择边沿触发方式 SETB EA ; CPU开中断 RET 三、键盘扫描子程序:KEY 扫描程序采用边延时边扫描的方法,当设置键SET_KEY按下一次,指示灯L1亮,按ADD(+)键和SUB()键设置冷藏室温度。当设置键SET_KEY按下二次,指示灯L2亮,L1灭,按ADD(+)键和SUB()键设置冷冻室温度。当设置键SET_KEY按下三次,设置完成,指示灯L1,L2均灭。如果3S内无键按下,表示误按或用户放弃设置。退出扫描。扫描程序流程图如3-2所示: 图3-2 扫描程序流程图 程序如下

40、: 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

41、 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 AJ

42、MP 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.

43、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 LCALL DISP AJMP START EXIT:RET 四打

44、开压缩机子程序:OPEN 程序流程图如下图3-3如示: 图3-3 打开压缩机子程序流程图 入口参数:全局变量COMP , TIME_OUT , UP COMP 压缩机开启标志:1 压缩机开启 0 压缩关闭 TIME_OUT 离上次关闭压缩机是否已有3S:1 否 0 是 UP 电压过欠压标志:1 过欠压 0 正常 作用: 根据条件打开压缩机 返回值:无 程序如下: OPEN:CLR A MOV A , 64H MOV COMP , ACC.0 MOV TIMP_OUT , ACC.1 MOV UP , ACC.2 JB COMP , EXIT ; 压缩机处于关闭状态 JB TIMP_OUT ,

45、EXIT ; 距上次关闭有3s JB UP , EXIT ; 电压正常 SETB COMP ; 置压机状态位 SETB TIME_OUT ; 置TIME_OUT位 MOV ACC.0 , COMP MOV ACC.1 , TIME_OUT MOV 64H , A SETB P2.4 ; 打开压缩机 SETB L3 ; 打开压缩机运行指示灯 EXIT:MOV R7 , #10H ; 延时一段时间退出 MOV R6 , #0FFH NOP NOP DJNZ R6 , DL1 DJNZ R7 , DL2 RET 五关闭压缩机:CLOSE 关闭压缩机后用定时器0中断计时,做为下次是否开压缩机的依据,因

46、为压缩机不能连续启停。 程序如下: CLOSE:CLR A CLR P2.4; 关闭压缩机 CLR L3; 关闭压缩机运行指示灯 MOV A , 64H; 清空压缩机状态标志 CLR ACC.0 MOV 64H , A MOV TMOD , #01H; 设置T0工作于模式1 MOV TL0 , #0B0H MOV TH0 , #3CH SETB TR0; 启动定时器T0 SETB ET0; 允许T0中断 RET 六定时器0中断程序:用于压缩机延时 TIME0_INT:INC 67H MOV A , 67H CJNE A , #50 , A1; 关压缩机是否有5S MOV 67H , #00H

47、MOV A , 64H; 有5S清空TIME_OUT位 CLR ACC.1 MOV 64H , A CLR T0 CLR ET0; 关闭定时器0中断 AJMP LOOP A1:MOV TL0 , #0B0H; 没有5S重新允许中断 MOV TH0 , #3CH SETB T0 SETB ET0 LOOP:RETI DY_INT:LCALL CLOSE; 关闭压缩机 SETB L4; 置电源状态指示灯 MOV A , 64H; 置电源状态位 SETB ACC.2 MOV 64H , A SETB P2.7; 报警10S MOV R0 , #64H LOOP:LCALL DLY_100MS DJN

48、Z R0 , LOOP CLR P2.7 RETI 七延时子程序 DLY_100MS:MOV R1 , #64H LOOP1:MOV R2 , #7DH LOOP2:NOP NOP DJNZ R2 , LOOP2 DJNZ R1 , LOOP1 RET 总 结通过此项设计的分析可得到如下结论: 1.本系统运用单片机速度快、体积小、价格低廉的8位MCS51单片机,可以做出可行、可靠性强的自动控制产品-电冰箱温度的控制系统。实现了电冰箱温度的自动控制。 2.在单片机应用环境不是很恶劣的地方,利用软件抗干扰也可以达到精度不高的要求,而且,节省了硬件资源,降低了产品设计成本,有助于产品的推广、民用化。

49、 3.本系统的设计尽量简化电路,提高软件质量。 4.本系统支持多功能模块。如果再加上少许外围器件,如语音芯片,环境温度传感器,在软件方面采用模糊控制技术,可以使电冰箱的智能化大大提高。 参考文献1嵌入式系统远离与应用设计主编.王光学 电子工业出版社 13版2百度文学道客巴巴网3protell99实用培训教材主编.陈爱弟北京人民邮电出版社2000 1 指导教师意见评定内容学习态度任务完成情况设计完成质量总分等级评分标准10%20%70%得 分评语:(至少写2行) 指导教师签字: 年 月 日评审组意见:评审成绩:评审组长签字:终审意见:院系负责人签章:终审成绩: 年 月 日说明:1、指导教师认定合格方能填写此表并提交评审,不合格指导教师继续指导。2、指导教师及评审组成绩按“优秀、良好、合格、不合格”四个等级评阅。

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

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!