毕业设计 液晶显示电冰箱温控器的设计.docx
《毕业设计 液晶显示电冰箱温控器的设计.docx》由会员分享,可在线阅读,更多相关《毕业设计 液晶显示电冰箱温控器的设计.docx(37页珍藏版)》请在冰豆网上搜索。
![毕业设计 液晶显示电冰箱温控器的设计.docx](https://file1.bdocx.com/fileroot1/2023-2/23/44d65859-af4e-4274-83ce-8f64f4e5c624/44d65859-af4e-4274-83ce-8f64f4e5c6241.gif)
毕业设计液晶显示电冰箱温控器的设计
毕业论文
课题:
液晶显示电冰箱温控器的设计
摘要
近些年来,家电领域产品变化、技术发展、更新换代之快简直令人目不暇接,但作为白色家电冰箱的变化似乎不大。
传统的电冰箱的冷藏室温控器旋钮一般有7个数字,这些数字并不表示冰箱内具体的温度值,而是表示所控制的温度档位。
数字越小,箱内温度越高。
随着人们的生活水平的提高,对冰箱的控制功能要求越来越高,这对电冰箱控制器提出了更高的要求,传统冰箱的温控器也就无法满足人们的需求了。
因此,能够实现精确控制温度、方便的设定和修改并且能够实时显示当前温度是非常重要的。
随着技术的发展,目前有些冰箱采用了电脑只能温控及LCD(或LED)箱门外温度显示。
所谓智能温控就是通过感温头精确感应,把冰箱内温度的变化传递给中央控制芯片,由芯片控制制冷系统使冰箱内温度达到显示屏上设定值,使用者只需要根据食物的种类不同设定不同的温度即可,以此达到最大的保鲜程度。
这里介绍一种电脑型电冰箱温控器的设计电路,使用16*2字符型带背光的液晶模组作显示,显得豪华、气派,具有时代气息。
关键字:
电冰箱;温控器;单片机;LCD
Abstract
Inrecentyears,theproductschange,technologydevelopment,quicknessofrenovationandupgradeinhomeappliancefieldmakepeoplefeeldizzy,butlittlechangeinwhitegoods.
Thethermostatknoboftraditionalrefrigeratorfreezerhas7figuresingeneral,thesefiguresdonotsuggestaspecifictemperaturewithintherefrigerator,butthatthetemperatureofcontrolgear.Lowerthenumber,thehigherthetemperatureinside.Aspeople'slivingstandardsimprove,refrigeratorshavebecomeincreasinglydemandingcontrolfunctionswhichputforwardhigherrequirementsofthecontroller,thetraditionalrefrigeratorthermostatwillnotbeabletomeetthedemandsofthepeople.Therefore,itisveryimportanttoachieveprecisetemperaturecontrol,setandmodifyinrealtimeeasilyanddisplaythecurrenttemperature.
Withthedevelopmentoftechnology,somerefrigeratorusecomputerintelligenttemperaturecontrolandLCD(orLED)boxoutsidetemperaturedisplay.Theso-calledsmarttemperaturecontrolisinducedbytemperaturesensoraccuracy,therefrigeratortemperatureispassedtothecentralcontrolchip,thechiptocontroltherefrigerationsystemsothattherefrigeratortemperaturereachthedisplaysettings.Usersonlyneedtosetdifferenttemperaturesbasedonthetypeoffoodinordertoachievethegreatestdegreeofpreservation.
Hereareacomputer-baseddesignofrefrigeratorthermostatcircuit,whichuse16*2characterLCDmodulewithbacklightfordisplay,appearstoluxury,style,flavorofthetimes.
Keywords:
refrigerator;temperaturecontrol;SCM;LCD
第一章引言
随着集成电路技术的发展,单片微型计算机的功能也不断增强,许多高性能的新型机种不断涌现出来。
单片机以其功能强、体积小、可靠性高、造价低和开发周期短等优点,称为自动化和各个测控领域中广泛应用的器件,在工业生产中称为必不可少的器件,尤其在日常生活中发挥的作用也越来越大。
人们对家用电冰箱的控制功能越来越高,这对电冰箱控制器提出了更高的要求。
多功能,智能化是其发展方向之一,传统的机器控制,简单的电子控制已经难以满足发展的要求。
而采用基于单片机温度控制系统,不仅可大大缩短设计新产品的时间,同时只要增加少许外围器件在软件设计方面就能实现功能的扩展,以及智能化方面的提高,因此可最大限度地节约成本。
本文即为基于单片机的电冰箱温度控制系统。
目前市场销售的双门直冷式电冰箱,含有冷冻室和冷藏室,冷冻室通常用于冷冻的温度为-6~-18℃;冷藏室用于在相对冷冻室较高的温度下存放食品,要求有一定的保鲜作用,不能冻伤食品,室温一般为0~10℃.
传统的电冰箱温度一般是由冷藏室控制,冷藏室、冷冻室的不同温度是通过调节蒸发器在两室的面积大小来实现的,温度调节完全依靠压缩机的开停来控制.但是冰箱内的温度受诸多因素的影响,如放入冰箱物品初始温度的高低、存放品的散热特性及热容量、物品在冰箱的充满率、环境温度的高低、开门的频繁程度等.因此对这种受控参数及随机因素很多的温度控制,既难以建立一个标准的数学模型,也无法用传统的PID调节来实现.一台品质优良的电冰箱应该具有较高的温度控制精度,同时又有最优的节能效果,而为了达到这一设计要求采用模糊控制技术无疑是最佳的选择。
传统的电冰箱的冷藏室温控器旋钮一般有7个数字,这些数字并不表示冰箱内具体的温度值,而是表示所控制的温度档位。
数字越小,箱内温度越高。
随着人们的生活水平的提高,对冰箱的控制功能要求越来越高,这对电冰箱控制器提出了更高的要求,传统冰箱的温控器也就无法满足人们的需求了。
因此,能够实现精确控制温度、方便的设定和修改并且能够实时显示当前温度是非常重要的。
随着技术的发展,目前有些冰箱采用了电脑只能温控及LCD(或LED)箱门外温度显示。
所谓智能温控就是通过感温头精确感应,把冰箱内温度的变化传递给中央控制芯片,由芯片控制制冷系统使冰箱内温度达到显示屏上设定值,使用者只需要根据食物的种类不同设定不同的温度即可,以此达到最大的保鲜程度。
本设计介绍一种电脑型电冰箱温控器的设计电路,使用16*2字符型带背光的液晶模组作显示,显得豪华、气派,具有时代气息。
第二章总体设计方案
随着技术的发展,目前有些冰箱采用了电脑只能温控及LCD(或LED)箱门外温度显示。
所谓智能温控就是通过感温头精确感应,把冰箱内温度的变化传递给中央控制芯片,由芯片控制制冷系统使冰箱内温度达到显示屏上设定值,使用者只需要根据食物的种类不同设定不同的温度即可,以此达到最大的保鲜程度。
该系统通过感温头精确感应,把冰箱内部温度的变化传递给中央控制芯片,由芯片控制制冷系统使冰箱内的温度达到显示屏上设定的值,使用者只需要根据食物的种类不同设定不同的温度即可,以此达到最大的保鲜程度。
此外,液晶显示屏上还将显示时间,设定温度,以及当前冰箱内部温度。
用户可以利用键盘对冰箱温度进行设定,同时还可以对时间进行调整。
系统总体结构
图2-1为液晶显示电冰箱温控器系统构成框图。
AT89S51单片机为控制核心,它既负责读取DS18B20测得的冷藏室温度并输出至液晶模组显示,同时又产生实时时钟供液晶显示,并且还负责键盘输入扫描及输出控制压缩机的运行等。
图2-1系统整体框图
第三章硬件系统的设计
3.1微处理器(单片机)
AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中。
AT89S51提供以下标准功能:
4k字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。
AT89S51的引脚图和实物图分别如图2.1和图2.2所示。
图2-1AT89S51图2-2AT89S51实物图
3.2温度传感器DS18B20
(1)适应电压范围宽,电压范围:
3.0-5.5V,在寄生电源方式下可以由数据线供电;
(2)独特的单线接口方式,DS18B20在与微处理器连接时仅需要一条口线即可实现微处理器与DS18B20的双向通讯;
(3)DS18B20支持多点组网功能,多个DS18B20可以并联在唯一的三线上,实现组网多点测量。
(4)DS18B20在使用中不需要任何外围元件,全部传感元件及转换电路集成在形如一只三极管的集成电路内;
(5)温度范围-55℃~+125℃,在-10~+85℃时精度为±℃;
(6)可编程的分辨率为9~12位,对应的可分辨温度分别为℃,℃,℃,℃,可以实现高精度测温;
(7)在9位分辨率时最多在93.75ms内把温度转换为数字,12位分辨率时最多在750ms内把温度值转换为数字,速度更快;
(8)测量结果直接输出数字温度信号,以“一线总线”串行传送给CPU,同时可以传送CRC校验码,具有极强的抗干扰纠错能力;
(9)负压特性:
电源极性接反时,芯片不会因为发热而烧毁,但是不能正常工作。
图3-3单片机与DS18B20的接口电路
3.3显示电路设计
1602采用标准的16脚接口,其中VSS为地电源,VDD接5V正电源,V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,可通过一10KΩ的电位器调整对比度。
RS为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器。
RW为读写信号线,高电平时进行读操作,低电平时进行写操作。
当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据。
E端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令。
D0~D7为8位双向数据线。
VDD/VSS:
电源5(1±10%)V或接地。
VSS/VDD:
接地或电源5(1±10%)V。
VDD:
反视度调整。
使用可变电阻调整,通常接地。
RS:
寄存器选择。
1为选择数据寄存器;0为选择指令寄存器。
R/W:
读/写选择。
1为读;0为写。
E:
使能操作。
1为LCM可做读写操作;0为LCM不能做读写操作。
DB0~DB7:
双向数据总线的第0—7位。
VDD:
背光显示器电源+5V。
VSS:
背光显示器接地。
1602液晶模块内部的控制器共有11条控制指令,如表3-7所示:
指令
RS
R/W
D7
D6
D5
D4
D3
D2
D1
D0
清显示
0
0
0
0
0
0
0
0
0
1
光标返回
0
0
0
0
0
0
0
0
1
*
置输入模式
0
0
0
0
0
0
0
1
I/D
S
显示开/关控制
0
0
0
0
0
0
1
D
C
B
光标或字符移位
0
0
0
0
0
1
S/C
R/L
*
*
置功能
0
0
0
0
1
DL
N
F
*
*
置字符发生存储器地址
0
0
0
1
字符发生存储器地址(ACG)
置数据存储器地址
0
0
1
显示数据存储器地址(ADD)
读忙标志或地址
0
1
BF
计数器地址(AC)
写数到CGRAM或DDRRAM
1
0
要写的数据
从CGRAM或DDRRAM
1
1
读出的数据
表3-31602液晶模块指令表
3.4功能按键
因本系统使用的按键数目少,故按键采用硬件去抖。
按键电路如图2-6所示。
用两个与非门构成一个RS触发器。
当按键未按下时输出为1;刚键按下时输出为0。
此时即使用按键的机器性能,使按键因弹性抖动而产生瞬时断开(抖动跳开B),只要按键不返回原来状态A,双稳态电路的状态不会改变,输出保持为0,不会产生抖动的波形。
也就是说,即使B点的电压波形是抖动的,但经双稳态电路之后,其输出为正规的矩形波。
图3-5按键电路
第四章系统的软件的设计
本系统软件主要由主流程、功能子程序、中断服务程序组成。
采用主程序调用功能子程序,子程序尽可能少的调用其它子程序,以保证系统的稳定运行。
本系统温度在-64︒C~64︒C,用七位即可存放,因此温度值用一个字节存放,最高位存放符号位。
各温度值均用全程变量形式存放,如下:
60H冷藏室温度设定值
61H冷冻室温度设定值
62H冰箱运行时冷藏室温度实际值
63H冰箱运行时冷冻室温度实际值
64H用于存放压缩机,电源状态和压缩机关机延时状态值
其中:
最低0位COMP存放压缩机状态标志:
1压缩机开启0压缩机关闭
第1位TIME_OUT离上次关闭压缩机是否已有5S:
1否0是
第2位UP电压过欠压标志:
1过欠压0正常
65H,66H用于存放化霜时间计数
67H用于压缩机关闭延时计数
4.1主程序流程框图
主程序由初始化,键盘扫描,显示,温度采集,温度控制和定时化霜子程序组成,为系统软件的主干部分,化霜采用定时化霜,每三十分钟化霜一次,化霜原理见概论电冰箱式作原理部分,其流程图如图4-1所示:
图4-1主程序流程框图
4.2键扫子程序流程框图
扫描程序采用边延时边扫描的方法,当设置键SET_KEY按下一次,指示灯L1亮,按ADD(+)键和SUB(-)键设置冷藏室温度。
当设置键SET_KEY按下二次,指示灯L2亮,L1灭,按ADD(+)键和SUB(-)键设置冷冻室温度。
当设置键SET_KEY按下三次,设置完成,指示灯L1,L2均灭。
如果3S内无键按下,表示误按或用户放弃设置。
退出扫描。
见图4-2所示
图4-2按键流程框图
主程序循环调用定时器及其定时扩展寄存器中的值,根据设定的脉冲个数计算出脉冲频率。
再根据预先设置的参数,计算出当前温度。
定时器1中断服务程序流程图如图所示。
图4-3中断子程序流程图
第五章仿真机的调试与运行
5.1Keil单片机模拟仿真调试软件的安装和启动
Keil单片机模拟调试软件安装完成以后,计算机桌面上将产生一个标注有“KeilμVision2”的图标,双击这个图标就可以进入Keil单片机模拟调试软件的集成开发环境[10]。
集成开发环境的界面如图5-1所示,初次进入的集成开发环境界面中只包括空的工程管理窗口和输出窗口。
图5-1Keil单片机模拟调试软件的集成开发环境
5.2工程(Project)的建立
在如图5-1所示的集成开发环境的窗口中选择Project→NewProject命令将打开建立新工程的对话框,如图5-2所示。
图5-2建立新工程的对话框
在“保存在”下拉列表框中选择新建工程将要存储的文件夹名,在“文件名”文本框中输入工程的名称,注意对于工程不要添加扩展名,单击“保存”按钮即可完成一个工程的创建。
单击“保存”按钮在完成一个工程创建的同时也打开了单片机芯片型号选择对话框。
如图5.3所示的对话框已经完成了芯片型号的选择。
图5-3单片机芯片型号选择对话框
在图5-3所示的对话框中的Database列表框中首先选择生产芯片的公司名称Atmel,双击这个公司名称即可打开Atmel公司目前生产的所有芯片型号。
接着在列出的产品清单中选择将使用的AT89S51芯片,如图5.3所示。
最后单击“确定”按钮即可完成芯片的选择。
5.3源文件的输入
Keil单片机模拟调试软件内集成了一个文本编辑器,用该文本编辑器可以编辑源程序。
在如图5-1所示的集成开发环境中选择File→New命令、单击新建工具按钮或者按快捷键Ctrl+N将打开一个新的文本编辑窗口,如图5-4所示。
在图5-4中已经完成了汇编语言源文件的输入,并且完成了源程序向当前工程的添加。
图5-4Keil单片机模拟调试软件的集成开发环境
第六章总结与展望
通过此项设计的分析可得到如下结论:
1.本系统运用单片机速度快、体积小、价格低廉的8位MCS51单片机,可以做出可行、可靠性强的自动控制产品---电冰箱温度的控制系统。
实现了电冰箱温度的自动控制。
2.在单片机应用环境不是很恶劣的地方,利用软件抗干扰也可以达到精度不高的要求,而且,节省了硬件资源,降低了产品设计成本,有助于产品的推广、民用化。
3.本系统的设计尽量简化电路,提高软件质量。
4.本系统支持多功能模块。
如果再加上少许外围器件,如语音芯片,环境温度传感器,在软件方面采用模糊控制技术,可以使电冰箱的智能化大大提高。
致谢
逝者如斯,不舍昼夜,两次春去春又来,岁月稍纵即逝。
此时,回头想想这段短暂的求学路,时而喜悦,时而惆怅。
在这个美丽的校园里,原本天真幼稚的我如今已蜕变成一个睿智、沉稳的青年,感谢命运的安排,让我有幸结识了许多良师益友,是他们教我如何品味人生,让我懂得如何更好的生活!
人生处处是驿站,已是挥手作别之时,在此,向所有帮助过我的人献上我最诚挚的谢意!
“其流时思其源,成吾学时念吾师”至此论文完成之际,谨向我尊敬的导师何老师致以诚挚的谢意和崇高的敬意。
非常幸运能够成为您的学生,在这次毕业设计得到了何谐对我的关心和支持尤为重要,每次遇到难题,我最先做的就是向***老师寻求帮助,而****老师每次不管忙或闲,总会抽空来找我面谈,然后一起商量解决的办法。
另外,感谢校方给予我这样一次机会,能够独立地完成一个课题,并在这个过程当中,给予我们各种方便,使我们在即将离校的最后一段时间里,能够更多学习一些实践应用知识,增强了我们实践操作和动手应用能力,提高了独立思考的能力。
再一次对我的母校表示感谢。
附录
液晶显示电冰箱温控器源程序
#include//器件配置文件
#include
sbitLCM_RS=P3^3;//引脚定义
sbitLCM_RW=P3^4;//引脚定义
sbitLCM_EN=P3^5;//引脚定义
sbitOUT=P3^6;//控制继电器
sbitTSOR=P3^7;//温度测试端
#defineBusy0x80//常量定义
#defineucharunsignedchar
#defineuintunsignedint
#defineDATAPORTP1
#definereset(){WDT=0x1e;WDT=0xe1;}//看门狗启动/复位宏定义
sfrWDT=0xa6;//看门狗寄存器定义
bitON_OFF;
bitoutflag;
//==============================================
uchartemp1,temp2;
ucharcnt;
uchardeda,sec;//时间变量
charmin,hour;
charset,T;
uchardatabuff[10];
ucharReadStatusLCM(void);//读数据到MCU子函数声明
ucharcodestr0[]={"---:
:
---"};//待显字符串
ucharcodestr1[]={"SET:
CSA:
.C"};
ucharcodestr2[]={""};//待显空字符串
//====================函数声明=======================
voidfun0(void);
voidfun1(void);
voidfun2(void);
voidfun3(void);
voidset_adj(void);
voidinc_key(void);
voiddec_key(void);
voidkey(void);
voidgettempTS(void);
voidinitTS(void);
ucharreadBTS(void);
voidwriteBTS(ucharbyte);
voidresetTS(void);
bitreadTS(void);
voidwrite1TS(void);
voidwrite0TS(void);
voiddelay15us(void);
voiddelay60us(void);
//********延时K*1mS,12.000MHz*********
voiddelay(uintk)//函数名为delay的延时子函数。
定义k为无符号整型变量
{//delay函数开始
uinti,j;//定义i、j为无符号整型变量
for(i=0;i{//for循环语句开始
for(j=0;j<60;j++)//for循环语句开始
{;}
reset()}//两个for循环体
}//delay函数结束
/*-----------------------------写指令到LCM子函数-------------------------------*/
voidWriteCommandLCM(ucharWCLCM,ucharBusyC)/*函数名为WriteCommandLCM的写指令到LCM子函数。
定义WCLCM、BusyC为无符号字符型变量*/
{//WriteCommandLCM函数开始
if(BusyC)ReadStatusLCM();/*若BusyC为"1",则调用ReadStatusLCM子函数进行忙检测*/
DATAPORT=WCLCM;//将变量WCLCM中的指令传送至P1口
LCM_RS=0;//选中指令寄存器
LCM_RW=0;//写模式
LC