第一章 引 言
随着单片机应用技术的不断发展,单片机不断更新换代,单片机应用的模式,方法也不断发展。一方面单片机应用系统的规模越来越大,另一方面单片机的嵌入式应用又使单片机的体积越来越小。近年来,单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,在自动化和各个测控领域中得到了广泛的应用,在工业生产中成为必不可少的器件之一。
冰箱发明于20年代,在冰箱出现以前,我们一直在为食品存放时间一久就会变得不再新鲜甚至而烦恼。20世纪以前,用冰箱保存食物是不可想象的,20世纪没有冰箱的生活是不可想象的。经过数十年的发展,人们对家用电冰箱的控制功能越来越高,这对电冰箱控制器提出了更高的要求。多功能,智能化是现今的其、发展方向之一,传统的机器控制,简单的电子控制已经难以满足发展的要求,而采用基于单片机温度控制系统已经成为主流,具有很强的性价比,通过软件设计就能实现功能的扩展,以及智能化的提高,最大限度地节约了成本。 本文是基于单片机的电冰箱温度控制系统的设计。通过单片机,温度传感器,A/D转换器等一系列器件的使用达到智能温控的目的。
传统的电冰箱温度一般是由冷藏室控制,冷藏室、冷冻室的不同温度是通过调节蒸发器在两室的面积大小来实现的,温度调节完全依靠压缩机的开停来控制.但是冰箱内的温度受诸多因素的影响,如放入冰箱物品初始温度的高低、存放品的散热特性及热容量、物品在冰箱的充满率、环境温度的高低、开门的频繁程度等.因此对这种受控参数及随机因素很多的温度控制,既难以建立一个标准的数学模型,也无法用传统的PID调节来实现.一台品质优良的电冰箱应该具有较高的温度控制精度,同时又有最优的节能效果,而为了达到这一设计要求采用模糊控制技术无疑是最佳的选择.
1.1 电冰箱的原理
电冰箱是利用蒸发致冷或气化吸热的作用而达到制冷的目的,液体由液态变为气态时,会吸收很多热量,简称为“液体汽化吸热”。电冰箱的喉管内,装有一种商业上称为氟利昂,俗称雪种的致冷剂。常用的一种为二氟二氯甲烷(CCL2F2),是一种无色无臭无毒的气体,沸点为29℃。氟利昂在气体状态时,
1
第一章 引言
被压缩器加压。 加压后,经喉管流到电冰箱背部的冷凝器,借散热片散热(物质被压缩后,温度就会升高)后,冷凝而成液体。液体的氟里昂进入蒸发器的活门之后,由于脱离了压缩器的压力,就立即化为蒸汽,同时向电冰箱内的空气和食物等吸取汽化潜热,引致冰箱内部冷却。汽化后的氟里昂又被压缩器压回箱外的冷凝器散热,再变为液体,如此循环不息,把冰箱内的热能泵到箱外。
蒸气压缩式电冰箱制冷系统原理图如图1-1所示,主要由压缩机、冷凝器、干燥过滤器、毛细管、蒸发器等部件组成,其动力均来自压缩机,干燥过滤器用来过滤赃物和干燥水分,毛细管用来节流降压,热交换器为冷凝器和蒸发器。制冷压缩机吸入来自蒸发器的低温低压的气冷剂,经压缩后成为高温高压的过热蒸气,排入冷凝器中,向周围的空气散热成为高压过冷液体,高压过冷液体经干燥过滤器流入毛细管节流降压,成为低温低压液体状态,进入蒸发器中汽化,吸收周围被冷却物品的热量,使温度降低到所需值,汽化后的气冷剂又被压缩机吸入,至此,完成一个循环。压缩机冷循环周而复始的运行,保证了制冷过程的连续性。
图1-1 电冰箱制冷系统原理图
直冷式电冰箱的控制原理是根据蒸发器的温度控制制冷压缩机的启、停,使冰箱内的温度保持在设定温度范围内。冷冻室用于冷冻食品通常用于冷冻的温度为-3C~-15C,冷藏室用于相对于冷冻室较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,温度一般为0C~10C,当测得冷冷冻室温度高至-3C ~0C时或者是冷冻室温度高至10C~13C是启动压缩机制冷,当冷冻
2
南昌工程学院本科毕业设计(论文)
室温度低于-15C~-18C或都冷藏室温度低于0C~-3C时停止制冷,关断压缩机。采用单片机控制,可以使控制更为准确、灵活。
1.2 本系统主要功能及要求:
1、利用功能键分别控制温度设定、速冻设定冷藏室及冷冻室温度设定等; 2、利用液晶显示冷冻室、冷藏室温度、数码管显示压缩机启、停和报警状态;
3、制冷压缩机停机后自动延时5s后方能再启动; 4、开门延时超过2min发声报警;
3
第二章 硬件部分
第二章 硬件部分
2.1 系统组成
控制系统结构如图2-1 所示,主要由温度传感器,功能按键,单片机,继电器,显示电路,和故障报警装置等构成。
2-1系统结构控制图
2.2 MSC-C51单片机
单片机是整个温度控制系统的核心及数据处理核心。该部分的功能不仅包括向温度传感器写入各种控制命令、读取温度数据、数据处理,同时还要对执行单元进行控制。基于性价比的考虑,本系统单片机采用INTEL公司的高效MSC-C51。
2.2.1 MSC-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个中断源,一个片内振荡器和时钟发生电路。这种结构特点决定了单片机具有体积小、成本低、可靠性高、应用灵活、开发效率高、易于被产品化等优点,
4
南昌工程学院本科毕业设计(论文)
使其具有很强的面向控制的能力,在工业自动化控制、家用电器、智能化仪表、机器人、军事装置等领域获得了广泛的应用。
图2-2 MSC-C51单片机引脚图
2.3 温度传感器DS18B20
温度传感器是本系统的重要元件,其性能直接影响系统的性能,本设计采用的是DALLAS公司生产的高性能数字温度传感器DS18B20。 2.3.1 DS18B20简介
(1)独特的单线接口方式:DS18B20与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯。 (2)在使用中不需要任何外围元件。 (3)可用数据线供电,电压范围:+3.0~
+5.5 V。
(4)测温范围:-55 ~+125 ℃。固有测温分辨率为0.5 ℃。 (5)通过编程可实现9~12位的数字读数方式。 (6)用户可自设定非易失性的报警上下限值。
(7)多点组网功能,多个DS18B20可以并联在惟一的三线上实现多点测温。 (8)负压特性,电源极性接反时温度计不会因发热而烧毁,但不能正常工作。
5
第二章 硬件部分
2.3.2 DS18B20的管脚排列
DS18B20的管脚排列如图2-3所示: DQ: 为数字信号输入/输出端; GND:为电源地;
VDD:为外接供电电源输入端(在寄生电源接线方式时接地,见图2-3)
图2-3 DS18B20的管脚排列图
DS18B20 用12 位存贮温度值,最高位为符号位。表2-1为18B20 的温度存储方式,负温度S = 1 ,正温度S = 0 如:0550H 为+ 85 ℃,0191H 为25. 0625 ℃,FC90H 为- 55 ℃。
表2-1实际温度换算表
23 22 21 20 2-1 2-2 2-3 2-4 温度值低字节 LSB
S S S S S 26 25 24 温度值高字节 MSB
高低温报警触发器TH和TL、配置寄存器均由一个字节的EEPROM组成,使用一个存储器功能命令可对TH、TL或配置寄存器写入。
表2-2 配置寄存器格式
0
R1 R0 1 1 1 1 1 6
南昌工程学院本科毕业设计(论文)
R1、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码,可用来保证通信正确。
DS18B20的一线工作协议流程是:初始化→ROM操作指令→存储器操作指令→数据传输。
2.3.3 DS18B20与单片机的典型接口设计:
图2-4以MCS-51系列单片机为例,画出了DS18B20与微处理器的典型连接。图2-4中DS18B20采用寄生电源方式,其VDD和GND端均接地。
假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写了3个子程序:INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。
图2-4 DS18B20与微处理器的典型连接图
2.4 功能按键
7
第二章 硬件部分
按键电路如图2-5 所示。因本系统使用的按键数目少,故按键采用硬件去抖。当按键未按下时输出为1 , 刚键按下时输出为0 。 此时即使用按键的机器性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B) ,只要按键不返回原来状态,双稳态电路的状态不会改变,输出保持为0 ,不会产生抖动的波形。也就是说,即使电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。
图2-5 按键电路
2.5 压缩机,风机、电磁阀控制电路
由I/O口输出信号,通过一个非门电路来控制继电器,再由继电器控制压缩机的开停。当I/O口输出高电平时,二极管饱和导通,继电器线圈流过电流,其触点吸合;当I/O口输出低电平时,二极管截止,继电器线圈无电流,其触点断开。压缩机的开关由相关室的温度决定,每次开机之前必须检测延时保护条件是否满足,才能作出开机决策。按功能要求,电冰箱无论是自动停机还是强制停机,为了延长压缩机的寿命,都要延时5s后压缩机才能启动,即在每次接通压缩机时利用单片机内的EEPROM将计数值保存。
输入信号 开关 压缩机 图2-6 控制电路
8
南昌工程学院本科毕业设计(论文)
2.6 故障报警电路
报警电路主要用示电冰箱使用过程中出现的故障,包括系统自身故障,外界故障,和误操作,如:冰箱内温度太高,外界电压波动大,未关好冰箱门或是开门时间太长等等。由电路如下图2-7 所示:
接单片机的P3.0开关 电阻
图2-7 报警电路
三个指示灯作用:
L1:设置冷藏室温度时亮 L2:设置冷冻室温度时亮 L3:压缩机运行时亮
2.7 液晶显示
液晶是白色混浊的粘性液体,显示棒状的分子形状。液晶是一种规则性排列的有机化合物,是一种介于固体和液体间的物质,目前一般采用的是分子排列最适合用于制造液晶显示器的nematic细柱型液晶。液晶本身并不能构发光,它主要是通过因为电压的更改产生电场而使液晶分子排列产生变化来显示图像。数字显示,采用的主要是所谓场效应扭曲向列型液晶,利用液晶的电光效应制作成的显示器就是液晶显示器(LCD)。液晶显示器具有功耗低,寿命长的特点。
本次设计中采用1602液晶显示器,1602识别的是ASCII码,试验可以用ASCII码直接赋值。
9
第二章 硬件部分
10
南昌工程学院本科毕业设计(论文)
第三章 软件部分
本系统软件主要由主流程、功能子程序、中断服务程序组成。采用主程序调用功能子程序,子程序尽可能少的调用其它子程序,以保证系统的稳定运行。本系统温度在-18C~18C,用七位即可存放,因此温度值用一个字节存放, 最高位存放符号位。
各温度值均用全程变量形式存放,如下: 60H 冷藏室温度设定值 61H 冷冻室温度设定值
62H 冰箱运行时冷藏室温度实际值 63H 冰箱运行时冷冻室温度实际值
H 用于存放压缩机,电源状态和压缩机关机延时状态值 其中:
最低0位COMP存放压缩机状态标志:1 压缩机开启 0压缩机关闭 第1位TIME_OUT离上次关闭压缩机是否已有5S:1 否 0 是 67H 用于压缩机关闭延时计数
3.1 主程序:MAIN
主程序由初始化,键盘扫描,显示,温度采集,温度控制组成,为系统软件的主干部分。主程序流程图如图3-1所示:
11
第三章 软件部分
图3-1 主程序流程图
主程序如下:
ORG 0000H ;设置目标程序起始地址
12
南昌工程学院本科毕业设计(论文)
AJMP MAIN ;跳转到程序的入口地址 ORG 000BH ;定时/计数器0中断入口 LJMP TIME0_INT ORG 0030H V1 EQU P1.3 V2 EQU P1.4 ;电磁阀1 ;电磁阀2 DAT EQU P1.6
SET_KEY EQU P2.0 ADD_KEY EQU P2.1 SUB_KEY EQU P2.2 SUDONG EQU P2.3 L1 EQU P2.4 L2 EQU P2.5
L3 EQU P2.6
MAIN:
CLR A
START: LCALL INIT1 LCALL KEY
LCALL GETWD JNB SUDONG,NSD
LCALL OPEN
AJMP START
NSD: MOV 62H , R0 INC DAT
LCALL GETWD MOV 63H , R0
DEC DAT
;设置键 ;加1键 ;减1键 ;的速冻自锁开关
;指示灯1 ;指示灯2
;指示灯3
;初始化 ;键盘扫描
;获得冷藏室温度 ;自锁按键按下调用OPEN开启压缩机;获得冷冻室温度
13
第三章 软件部分
MOV R3 , 62H MOV R4 , 63H
LCALL COV
LCALL DISMAIN ;显示两室温度值 MOV A , 60H CLR C
CJNE A,62H,HIGH1
AJMP HIGH2
HIGH1:
JNC HIGH3
HIGH2: SETB V1
LCALL OPEN
AJMP LOW0
HIGH3: MOV A , 61H CLR C
CJNE A , 63H , HIGH4
AJMP HIGH5
HIGH4:
JNC LOW0
HIGH5: SETB V2
LCALL OPEN LOW0: MOV A , 61H CLR C
CJNE A , 63H , LOW1
AJMP LOW2
LOW1:
;冷藏室温度高于等于设定值时
;开启压缩机
;冷冻室温度等于高于设定值时
;开启压缩机
;冷冻室温度等于低于设定值时14
南昌工程学院本科毕业设计(论文)
JC LOW3
LOW2: CLR V2
LCALL CLOSE ;关闭压缩机
AJMP LS
LOW3: MOV A,60H CLR C
CJNE A,62H,LOW4
AJMP LOW5
LOW4:
JC LS
LOW5: CLR V1
LCALL CLOSE
LS: MOV R1,#10H LS1: LCALL DLY_100MS
DJNZ R1 , LS1
MOV R4,#30 P01: MOV R4,#40
Lcall DLY_100MS
P02:
DJNZ R3,P02 DJNZ R4,P01 SETB P1.7 SETB L3
RET
LOOP:
AJMP START
;冷藏室温度等于低于设定值时 ;关闭压缩机
;延时1S
;延时2min
;超过2min报警 ;点亮L3指示灯
15
第三章 软件部分
END
3.2 子程序:INTI1
初始化模块主要完成初始化I/O口、中断、内存单元,液晶的初始化,并读出存放在闪烁存储器上的温度设定值。温度设定值存放在闪烁存储器上即使断电也可保存。 程序如下: INTI1:CLR A
MOV DPTR , #20H MOVC A , @DPTR LCALL DLY_100MS MOV 60H , A INC DPTR
; 读取冷冻室温度设定值
; 延迟0.1s确保数据读完
; 读取冷藏室温度设定值
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内无键按下,表示误按或用户放弃设置。退出扫描。 扫描程序流程图如3-2所示。
16
南昌工程学院本科毕业设计(论文)
开始延时扫描3s设置键按下?N返回YN设置键按下3次?N设置完成Y设置键按下1次?NY显示冷藏室温度为正时加1Y加键按下?Y冷藏室温度为负时加1显示N显示冷藏室温度为正时减1Y减键按下?Y冷藏室温度为负时减1显示N设置键按下2次?Y显示冷冻室温度为正时加1Y加键按下?Y冷冻室温度为负时加1显示N显示冷冻室温度为正时减1Y减键按下 ?Y冷冻室温度为负时减1显示N返回主程序
图3-2 扫描程序流程图
程序如下: KEY:CLR A
MOV R0 , #00H START:MOV R4 , #1EH
; 边延时边扫描3S
LOOP:LCALL DLY_100MS
JNB SETB_KEY , SET JNB ADD-KEY , ADD
17
第三章 软件部分
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 , ADD_1
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
18
; 设置键按下一次
; 设置键按下二次
; 加键按下
; 冷藏室温度为正时加1
; 冷藏室温度为负时加1
南昌工程学院本科毕业设计(论文)
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
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
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
19
; 冷藏室温度为正时减1
; 冷藏室温度为负时减1 ; 冷冻室温度为正时减1
; 冷冻室温度为负时减1
第三章 软件部分
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 cov
LCALL dismain ; 显示设定值 AJMP START EXIT:RET
; 将设定值存放在闪烁存储器上
3.4 DS18B20初始化及读取温度程序
假设单片机系统所用的晶振频率为12MHz,根据DS18B20的初始化时序、写时序和读时序,分别编写了3个子程序:INIT为初始化子程序,WRITE为写(命令或数据)子程序,READ为读数据子程序,所有的数据读写均由最低位开始。 DAT EQU P1.6
INIT::CLR EA ;关闭中断 INI10:SETB DAT MOV R2,#200 INI11:CLR DAT
DJNZ R2, INI11 ; 主机发复位脉冲持续3μs×200=600μs SETB DAT ; 主机释放总线,口线改为输入
20
南昌工程学院本科毕业设计(论文)
MOV R2, #30
INI12:DJNZ R2, INI12 ; DS18B20等待2μs×30=60μs CLR C
ORL C, DAT ; DS18B20数据线变低(存在脉冲)吗? JC INI10 ; DS18B20未准备好,重新初始化 MOV R6,#80 INI13:ORL C, DAT
JC INI14 ; DS18B20数据线变高,初始化成功 DJNZ R6, INI13 ; 数据线低电平可持续3μs×80=240μs SJMP INI10 ; 初始化失败, 重来 INI14::MOV R2, #240
INI15::DJNZ R2, INI15 ; DS18B20应答最少2μs×240=480μs RET
;------------------------ WRITE::CLR EA
MOV R3,#8 ; 循环8次,写一个字节 WR11:SETB DAT MOV R4, #8
RRC A ; 写入位从A中移到CY CLR DAT
WR12:DJNZ R4, WR12 ;等待16μs
MOV DAT, C ; 命令字按位依次送给DS18B20 MOV R4, #20
WR13:DJNZ R4, WR13 ;保证写过程持续60μs DJNZ R3, WR11 ;未送完一个字节继续 SETB DAT RET
;------------------------
21
第三章 软件部分
READ:CLR EA
MOV R6, #8 ;循环8次,读一个字节 RD11:CLR DAT MOV R4, #4
NOP ;低电平持续2μs SETB DAT ;口线设为输入 RD12:DJNZ R4, RD12 MOV C, DAT RRC A MOV R5, #30
RD13:DJNZ R5, RD13 DJNZ R6, RD11 SETB DAT RET
GETWD:LCALL INIT MOV A, #0CCH
LCALL WRITE MOV A, #44H
LCALL WRITE LCALL INIT
MOV A, #0CCH LCALL WRITE
MOV A, #0BEH LCALL WRITE LCALL READ
MOV WDLSB, A LCALL READ
MOV WDMSB, A RET ……
;等待8μs
;主机按位依次读入DS18B20的数据;读取的数据移入A ;保证读过程持续60μs ;读完一个字节的数据,存入A中 ;发跳过ROM命令 ;发启动转换命令 ;发跳过ROM命令 ;发读存储器命令 ;温度值低位字节送WDLSB ;温度值高位字节送WDMSB 22
南昌工程学院本科毕业设计(论文)
子程序GETWD读取的温度值高位字节送WDMSB单元,低位字节送WDLSB单元,再按照温度值字节的表示格式及其符号位,经过简单的变换即可得到实际温度值。
3.5 打开压缩机子程序:OPEN
入口参数:全局变量COMP , TIME_OUT , UP
COMP 压缩机开启标志:1 压缩机开启 0 压缩关闭 TIME_OUT 离上次关闭压缩机是否已有5S:1 否 0 是 作用: 根据条件打开压缩机 返回值:无 程序如下: OPEN:CLR A
MOV A , H MOV COMP , ACC.0 MOV TIMP_OUT , ACC.1 JB COMP , EXIT
; 压缩机处于开启状态则跳转
; 距上次关闭没有5s则跳转 ; 置压缩机状态位
JB TIME_OUT , EXIT SETB COMP
SETB TIME_OUT ; 置TIME_OUT位
MOV ACC.0 , COMP MOV ACC.1 , TIME_OUT MOV H , A SETB P2.7 SETB L3
EXIT:
DL2:MOV R7 , #10H DL1:MOV R6 , #0FFH
NOP NOP
23
; 打开压缩机
; 打开压缩机运行指示灯
; 延时一段时间退出
第三章 软件部分
DJNZ R6 , DL1 DJNZ R7 , DL2 RET
3.6 关闭压缩机:CLOSE
关闭压缩机后用定时器0中断计时,做为下次是否开压缩机的依据,因为压缩机不能连续启停。 程序如下: CLOSE:CLR A
CLR P2.7 CLR L3
; 关闭压缩机
; 关闭压缩机运行指示灯
MOV A , H
CLR ACC.0 ; 清空压缩机状态标志 MOV H , A MOV TMOD , #01H
; 设置T0工作于模式1
MOV TL0 , #0B0H MOV TH0 , #3CH SETB TR0 SETB ET0 RET
; 启动定时器T0 ; 允许T0中断
3.7 定时器0中断程序:用于压缩机延时
TIME0_INT:INC 67H
MOV A , 67H CJNE A , #50 , A1
; 关压缩机是否有5S
MOV 67H , #00H MOV A , H CLR ACC.1 MOV H , A
24
; 有5S清空TIME_OUT位
南昌工程学院本科毕业设计(论文)
CLR T0 CLR ET0
AJMP LOOP
A1:MOV TL0 , #0B0H
MOV TH0 , #3CH SETB T0
SETB ET0
LOOP:RETI
3.8 显示子程序
RS EQU P1.2; RW EQU P1.1; E EQU P1.0; DISMAIN:
MOV P1,#01H ACALL INENABLE MOV P1,#38H ACALL INENABLE MOV P1,#0FH ACALL INENABLE MOV P1,#06H ACALL INENABLE DIS:
ACALL INENABLE ACALL ADDRESS1 ACALL WRENABLE ACALL WRITE ACALL ADDRESS2 ACALL WRENABLE
; 关闭定时器0中断
; 没有5S重新允许中断
;清屏
;8位点阵
;开显示
;移动光标 ;命令使能 ;显示LDS ;写使能
;显示冷冻室温度 ;写使能
25
第三章 软件部分
ACALL WRITE
ACALL ADDRESS5 ;显示冷冻室温度设定值 ACALL WRENABLE ;写使能 ACALL WRITE
MOV P1,#0C0H ;换行显示 ACALL INENABLE
ACALL ADDRESS3 ACALL WRENABLE ACALL WRITE
ACALL ADDRESS4 ACALL WRENABLE ACALL WRITE
ACALL ADDRESS6 ACALL WRENABLE ACALL WRITE CALL DELAY RET INENABLE:
CLR S CLR W
ACALL DELAY SETB E RET
WRENABLE:
SETB RS CLR RW ACALL DELAY SETB E RET
WRITE:
;显示LCS ;显示冷藏室温度 ;显示冷藏室设定值 26
南昌工程学院本科毕业设计(论文)
MOV R1 ,#00H
FIND: ;检查是否是空格
MOV A,R1
MOVC A ,@A+DPTR ACALL WRENABLE
MOV P1, A ;写数据到1602 INC R1
CJNE A ,#00H,FIND RET
DELAY: MOV R7,#255 L1:MOV R6,#255 L2:DJNZ R6,D2 DJNZ R6,L1 RET
ADDRESS1:
MOV DPTR ,#70H RET
ADDRESS2:
MOV DPTR,#63H RET
ADDRESS3:
MOV DPTR,#75H RET
ADDRESS4:
MOV DPTR,#62H RET
ADDRESS5:
MOV DPTR,#61H RET
;不是空格返回FIND ;延时子程序
;LDS ;冷冻室实际值 ;LCS ;冷藏室实际值 ;冷冻室温度设定值 27
第三章 软件部分
ADDRESS6:
MOV DPTR ,#60H ;冷藏室温度设定值 RET
COV:
CLR C CLR A MOV A,60H
ACCALL ADDRESS6 JB ACC.7, FU JZ ACC.7, ZHENG CLR A MOV A,61H
ACCALL ADDRESS5 JB ACC.7, FU JZ ACC.7, ZHENG CLR A MOV A,62H
ACCALL ADDRESS4 JB ACC.7, FU JZ ACC.7,ZHENG CLR A MOV A,63H ACCALL ADDRESS2 JB ACC.7, FU JZ ACC.7, ZHENG RET FU:
MOV A,#45H MOVC @DPTR,A MOV 0F0H,#10D
28
南昌工程学院本科毕业设计(论文)
CPL A INC A DIV AB INC DPTR ADD A,#048D MOVC @DPTR,A INC DPTR MOV A,0F0H ADD A,#048D MOVC @DPTR,A RET ZHENG: MOV A,#43H MOVC @DPTR,A MOV 0F0H,#10D DIV AB INC DPTR ADD A,#048D MOVC @DPTR,A INC DPTR MOV A,0F0H ADD A,#048D MOVC @DPTR,A RET
ADDRESS1 DB 76D,68D,83D,58D ADDRESS2 DB 42D,48D,48D,39D,67D ADDRESS3 DB 76D,67D,83D,58D ADDRESS4 DB 42D,48D,48D,39D,67D ADDRESS5 DB 42D,48D,48D,39D,67D 29
; LDS表
;显示冷冻室实际值表 ; LCS表
;冷藏室实际值表 ;冷冻室温度设定值表
第三章 软件部分
ADDRESS6 DB 42D,48D,48D,39D,67D ;冷藏室温度设定值表
3.9 延时子程序
DLY_100MS:MOV R1 , #H LOOP1:MOV R2 , #7DH LOOP2:NOP NOP
DJNZ
DJNZ RET
R2 , LOOP2 R1 , LOOP1
30
南昌工程学院本科毕业设计(论文)
结束语
本论文完成了关于电冰箱温度控制系统软件方面的设计,将能实现的以下功能:
1、利用功能键分别控制温度设定、也就是冷藏室及冷冻室温度设定等; 2、利用液晶显示器显示冷冻室、冷藏室温度、利用数码管显示压缩机启、停和报警状态;
3、制冷压缩机停机后自动延时5秒钟后方能再启动; 4、开门延时超过2min发声报警;
论文最后设计出的电路是能达到设计目的的。
由于初次涉及这方面的设计,实例也接触的不够多,经验不足,在设计中还存在着一定的问题,今后希望还能对其有更加深入的研究。
31
结束语
参考文献
[1] 何立民,MCS-51系列单片机系统设计
[2] 房小翠,王金凤 单片机实用系统设计技术,国防工业出版社,1999 [3]马江涛 单片机温度控制系统的设计及实现 《计算机测量与控制》2004 12:32~35
[4]黄祯祥,邓怀雄,郭延文等. 基于MCS-51单片机的温度控制系统 现代电子技术 (2005) 6:10~13。
[5] 李群芳,肖看,单片机原理接口及应用,清华大学出版社,2005 [6] 江力,单片机原理及应用技术,清华大学出版社,2006
[7] 陈涛. DS18B20芯片与单片微控制器的接口设计与应用[J]. 山东煤炭科技 , 2002,(03) .
[8] 陈跃东. DS18B20集成温度传感器原理及其应用[J]. 安徽工程科技学院学报 , 2002,(04) .
[9]楼然苗. 51系列单片机设计实例[M].北京航空航天大学出版社.2002 [10] 董晓红.单片机原理及接口技术[M].西安电子科技大学出版社.2004
32
南昌工程学院本科毕业设计(论文)
附录:电路原理图
8051P1.0P1.1P1.2123456781312P3.5P3.4VCC12MP1.6P1.7P10P11P12P13P14P15P16P17INT1INT0T1T0EA/VPX1X2RESETRDWRV278051P00P01P02P03P04P05P06P07P20P21P22P23P24P25P26P2739383736353433322122232425262728D0D1D2D3D4D5D6D7P2.0P2.1P2.2P2.3P2.4P2.5P2.6P2.71514311918C1130pJXC1230pC13VCC10URESETP3.7P3.6R1110K91716RXDTXDALE/PPSEN10113029P3.0VCCVout3C4C3470u.01M221QL1000uC1C2.01GND2VinGNDGNDP1.6VCCGNDGNDP1.6VCCD1LEDD2LEDDQVCCDQVCCS1123S21DS1820VCCS5SW-PBR610KR1010KDS1820GNDLS1P3.0蜂鸣器3GNDS1P2.2SW-PBGNDP1.72P2.1P2.4R7300P2.0S2SW-PBP2.5R8300S3P2.3SW-PBS4SW-PBP2.6D3LEDVCCQ1NPNR9 300GNDVCCV1220VRw3K15KP1.2P1.1P1.0D0D1D2D3D4D5D6D71234567101112131415161602VSSVCCVEERSR/WED0D1D2D3D4D5D6D7LED+LED-P2.7R1310kR1410kVCCR12100GND
33
附 录
致 谢
本次设计是在李院民老师的悉心指导下完成的。在整个过程中,李院民老师给予了指导,并提供了很多与该研究相关的重要信息,从课题选择、方案论证到具体设计和调试,李院民老师给予了我极大的帮助,使我能够很好的掌握和运用专业知识,并在设计中得以体现,使我的毕业论文工作顺利完成,培养了我们对科学研究的严谨态度和创新精神。这将非常有利于我们今后的学习,在此表示衷心的感谢!
短暂的四年年大学生活很快就要结束了,在此论文最终完成之际,向所有关心和帮助过我的老师、同学和朋友表示深深感谢!
34
因篇幅问题不能全部显示,请点此查看更多更全内容