基于单片机的冰箱控制系统Word格式文档下载.docx
《基于单片机的冰箱控制系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《基于单片机的冰箱控制系统Word格式文档下载.docx(26页珍藏版)》请在冰豆网上搜索。
5.控制系统的软件设计…………………………………………………………………………………………17
5.1主程序………………………………………………………………………………………………………17
5.2T0中断服务程序……………………………………………………………………………………………17
5.3T1中断服务程序……………………………………………………………………………………………18
5.4A/D转换和数码显示子程序…………………………………………………………………………………20
6.总结……………………………………………………………………………………………………………27
参考书目……………………………………………………………………………………………………………27
附录…………………………………………………………………………………………………………………
1课程设计目的
(1)查阅资料:
搜集与本设计有关部门的资料(包括从已发表的文献中和从生产现场中搜集)的能力;
(2)方案的选择:
树立既考虑技术上的先进性与可行性,又考虑经济上的合理性,并注意提高分析和解决实际问题的能力;
(3)迅速准确的进行工程计算的能力,计算机应用能力;
(4)用简洁的文字,清晰的图表来表达自己设计思想的能力。
2.课程设计题目要求
2.1课程设计题目:
基于单片机的电冰箱控制系统
2.2课程设计要求:
以MCS-51单片机为核心,设计的温度控制系统
(1)有输入部分(键盘开关量)
(2)有输出部分(显示开关量)
(3)模拟量的输入部分(A/D)
(4)模拟量的输出部分(D/A)
(5)电源部分,为单片机控制系统供电
3.课程设计的内容
3.1MCS-51单片机硬件介绍
单片机主要组成部分分为中央处理器(CPU)、内部数据存储器--内部RAM、内部程序存储器--内部ROM、I/O端口、串行口、定时器、终端程序系统。
3.2内部主要组成部分介绍
3.2.1MCS-51单片机中央处理器
单片机的内部最核心的部分是CPU,它是单片机的大脑和心脏。
CPU的主要功能是产生各种控制信号、以控制存储器、输入/输出端口的数据传送、数据的算术运算和逻辑运算以及位操作处理等。
它的功能可分为运算器和控制器两种。
3.2.2MCS-51单片机存储器
89C51单片机中共有256个RAM单元,包括低128个单元(地址为00H~7FH)的内部RAM区和高128位(地址为80H~FFH)的特殊功能寄存器区。
89C51单片机还有4KB的内部ROM,用于存放程序或表格,称为程序存储器。
3.2.3MCS-51单片机中断系统
89C51单片机的中断功能比较强,有5个中断元,即外部中断2个,定时器中断2个,串行中断1个,有2个中断优先级。
中断控制电路主要包括用于中断控制的四个寄存器:
定时器控制寄存器TCON,串行口控制寄存器SCON,中断允许控制寄存器IE,中断优先级控制寄存器IP等。
3.2.4MCS-51单片机引脚介绍
MCS-51系列单片机采用40引脚双列直插式封装(DIP),4个并行口共有32根引脚,可分别作为地址线、数据线和I/O线;
2根电源线;
2根时钟震荡电路引脚和4根控制线。
MCS-51单片机是高性能单片机,因为受引脚数目的限制,所以有许多引脚具有第二功能,以89C51芯片为例,说明各引脚功能如下:
图3-189C51引脚图
(1)电源引脚Vcc和Vss
Vss:
接地端。
Vcc:
芯片+5V电源端。
(2)时钟信号引脚XTAL1和XTAL2
XTAL1、XTAL2:
当使用单片机内部震荡电路时,用来外接石英晶体和微调电容,XTAL1是片内震荡电路反相放大器的输入端,XTAL2是片内震荡电路反相放大器的输出端,震荡电路的频率就是晶体的固有频率。
当使用外部时钟时,XTAL1接地,XTAL2接外部时钟信号源。
(3)控制信号引脚RST/VPD、ALE/
、
和
/VPP
RST/VPD:
RST是复位信号输入端。
当输入的复位信号保持两个机器周期(24个时钟周期)以上的高电平时有效,用来完成复位操作;
第二功能VPD作为备用电源输入端,当主电源VCC发生故障,电压降低到低电平规定值时,可通过VPD为单片机内部RAM提供电源,以保护片内RAM中的信息不丢失,使系统在上电后能继续正常运行。
ALE/
:
ALE为地址锁存允许输出信号。
在访问外部存储器时,ALE用来锁存P0口扩展低8位地址的控制信号。
在不访问外部存储器时,ALE也以时钟震荡频率的1/6的固定频率输出,因而它又可用作对外输出时钟信号或其他需要,例如可以用示波器查看ALE是否有脉冲信号输出来确定89C51芯片的好坏;
第二功能
是对内部有EPROM的单片机的EPROM编程时编程脉冲输入端,它和31号引脚的第二功能Vpp一起使用。
外部ROM的读选通信号输出端。
在访问外部ROM时,
产生负脉冲作为读外部ROM的选通信号。
而在访问外部RAM或片内ROM时,不会产生有效
信号。
/VPP:
是访问外部ROM的控制信号。
当
为低电平时,CPU只执行外部ROM中的程序。
为高电平且PC值小于0FFF(4K)时,CPU执行内部ROM的程序,但当PC的值超出4K时将自动转去执行片外ROM的程序。
对于无片内ROM的8031或不使用内部ROM的89C51,需外扩EPROM,此时
必须接地;
第二种功能VPP是对8751的片内EPROM的+21V编程电源输入端。
(4)并行I/O端口P0、P1、P2和P3
P0口(P0.0~P0.7):
P0口是一个8位双向I/O端口(需外接上拉电阻)。
在访问外部存储器时,分时提供低8位地址线和8位双向数据线。
P0口先输出片外存储器的低8位地址并锁存在地址锁存器中,然后再输入或输出数据。
P1口(P1.0~P1.7):
P1口是一个内部带有上拉电阻的8位准双向I/O端口。
P1口只能作为一般I/O口使用。
P2口(P2.0~P2.7):
P2口是一个内部带有上拉电阻的8位准双向I/O端口。
在访问外部ROM或外部RAM时,输出高8位地址,与P0口提供的低8位地址一起组成16位地址总线。
P0口和P2口用做数据/地址线后,不能在作为通用I/O口使用。
P3口(P3.0~P3.7):
P3口是一个内部带上拉电阻的8位准双向I/O端口,在系统中8个引脚都有各自的第二功能。
3.3单片机的时钟及复位
单片机的时钟信号用来提供单片机片内各种微操作的时间基准,复位操作则使单片机的片内电路初始化,使单片机从一种确定的初态开始运行。
3.3.1时钟电路
89C51单片机的时钟信号通常用两种电路形式得到:
内部振荡方式和外部振荡方式。
在引脚XTAL1和XTAL2外接晶体振荡器(简称晶振)或陶瓷谐振器,就构成了内部振荡方式。
由于单片机内部有一个高增益反相放大器,当外接晶振后,就构成了自激振荡器并产生振荡时钟脉冲。
内部振荡方式的外部电路如图2-2所示。
图中,电容器C01,C02起稳定振荡频率、快速起振的作用,其电容值一般在5-30pF。
晶振频率的典型值为12MH2,采用6MHz的情况也比较多。
内部振荡方式所得的时钟信号比较稳定,实用电路中使用较多。
图3-2振荡电路图
外部振荡方式是把外部已有的时钟信号引入单片机内。
这种方式适宜用来使单片机的时钟与外部信号保持同步。
外部振荡方式的外部电路如图3-2所示由上图可见,外部振荡信号由XTAL2引入,XTAL1接地。
为了提高输入电路的驱劝能力,通常使外部信号经过一个带有上拉电阻的TTL反相门后接入XTAL2。
3.3.2基本时序单位
单片机以晶体振荡器的振荡周期(或外部引入的时钟周期)为最小的时序单位,片内的各种微操作都以此周期为时序基准。
振荡频率二分频后形成状态周期或称s周期,所以,1个状态周期包含有2个振荡周期。
振荡频率foscl2分频后形成机器周期MC。
所以,1个机器周期包含有6个状态周期或12个振荡周期。
1个到4个机器周期确定一条指令的执行时间,这个时间就是指令周期。
8031单片机指令系统中,各条指令的执行时间都在1个到4个机器周期之间。
4种时序单位中,振荡周期和机器周期是单片机内计算其它时间值(例如,波特率、定时器的定时时间等)的基本时序单位。
下面是单片机外接晶振频率12MHZ时的各种时序单位的大小:
振荡周期=1/fosc=1/12MHZ=0.0833μS
3.3.3复位电路
当MCS-5l系列单片机的复位引脚RST(全称RESET)出现2个机器周期以上的高电平时,单片机就执行复位操作。
如果RST持续为高电平,单片机就处于循环复位状态。
根据应用的要求,复位操作通常有两种基本形式:
上电复位和上电或开关复位。
上电复位要求接通电源后,自动实现复位操作。
常用的上电复位电路如下图A中左图所示。
图中电容C1和电阻R1对电源+5V来说构成微分电路。
上电后,保持RST一段高电平时间,由于单片机内的等效电阻的作用,不用图中电阻R1,也能达到上电复位的操作功能,如下图(A)中右图所示。
上电或开关复位要求电源接通后,单片机自动复位,并且在单片机运行期间,用开关操作也能使单片机复位。
常用的上电或开关复位电路如下图(B)所示。
上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
根据实际操作的经验,下面给出这两种复位电路的电容、电阻参考值。
下图(A)中:
Cl=10-30uF,R1=1kΩ
下图(B)中:
C:
=1uF,Rl=lkΩ,R2=10kΩ
图3-3单片机复位电路图
单片机复位后的状态:
单片机的复位操作使单片机进入初始化状态,其中包括使程序计数器PC=0000H,这表明程序从0000H地址单元开始执行。
单片机冷启动后,片内RAM为随机值,运行中的复位操作不改变片内RAM区中的内容,21个特殊功能寄存器复位后的状态为确定值。
值得指出的是,记住一些特殊功能寄存器复位后的主要状态,对于了解单片机的初态,减少应用程序中的初始化部分是十分必要的。
说明:
表中符号*为随机状态;
A=00H,表明累加器已被清零;
表2-1特殊功能寄存器表
特殊功能寄存器
初始状态
A
00H
TMOD
B
TCON
PSW
TH0
SP
07H
TL0
DPL
TH1
DPH
TL1
P0~P3
FFH
SBUF
不定
IP
***00000B
SCON
IE
0**00000B
PCON
0*******B
PSW=00H,表明选寄存器0组为工作寄存器组;
SP=07H,表明堆栈指针指向片内RAM07H字节单元,根据堆栈操作的先加后压法则,第一个被压入的内容写入到08H单元中;
Po-P3=FFH,表明已向各端口线写入1,此时,各端口既可用于输入又可用于输出;
IP=×
×
00000B,表明各个中断源处于低优先级;
IE=0×
00000B,表明各个中断均被关断;
系统复位是任何微机系统执行的第一步,使整个控制芯片回到默认的硬件状态下。
51单片机的复位是由RESET引脚来控制的,此引脚与高电平相接超过24个振荡周期后,51单片机即进入芯片内部复位状态,而且一直在此状态下等待,直到RESET引脚转为低电平后,才检查EA引脚是高电平或低电平,若为高电平则执行芯片内部的程序代码,若为低电平便会执行外部程序。
51单片机在系统复位时,将其内部的一些重要寄存器设置为特定的值,至于内部RAM内部的数据则不变。
3.4多通道A/D转换器ADC0809芯片介绍
3.4.1电路组成和转换原理
ADC0809是采用CMOS工艺制造的双列直插式单片8位A/D转换器。
分辨率8位,精度7位,带8个模拟量输入通道,有通道地址译码锁存器,输出带三态数据锁存器。
启动信号为脉冲启动方式,最大可调节误差为±
1LSB,ADC0809内部设有时钟电路,故CLK时钟需由外部输入,fclk允许范围为500kHz~1MHz,典型值为640kHz。
每通道的转换需66~73个时钟脉冲,大约100~110μS。
工作温度范围为-40℃~+85℃。
功耗为15MW,输入电压范围为0~5V,单一+5V电源供电。
它可以直接与Z80、8085、8080、8031等CPU相连,也可以独立使用。
3.4.2ADC0809外部引脚及引脚功能
ADC0809外部引脚及引脚功能如3-4所示,ADC0809A/D转换器,逐次比较寄存器(SAR)一个8位三态输出缓冲器。
ADC0809其与单片机接口见总电路图。
(1)IN0~IN7:
8路输入通道的模拟量输入端,输入;
(2)
D0~D7:
8位数字量输出端;
D0为最低位(LSB),D7为最高位(MSB),输出,三态;
(3)ALE:
地址锁存控制信号,输入,上升沿有效。
将地址选择信号A、B、C锁入地址寄存器;
(4)START:
启动A/D转换控制信号,输入,上升沿有效。
当输入一个正脉冲,便立即启动A/D转换器,同时使EOC变为低电平;
(5)EOC:
A/D转换结束信号,输出,高电平有效。
EOC由低电平变为高电平,表明本次A/D转换已经结束;
(6)OE:
输出允许控制信号,输入,高电平有效。
OE由低电平变为高电平,打开三态输出锁存器,将转换的结果输出到数据总线上;
(7)VREF(-)、VREF(+):
片内D/A转换器的参考电压输入端。
VREF(-)不能为负值,VREF(+)不能高于VCC,且1/2[VREF(-)+VREF(+)]与1/2VCC
之差不得大于0.1V;
(8)CLOCK:
时钟输入端。
500kHz~1MHz,典型值为640kHz。
(9)ADD
A、B、C:
8路模拟开关的3位地址选通输入端。
图3-4ADC0809引脚图
3.4.3过载保护器
工作原理如下:
过载保护器一般有外接式和内埋式两大类。
(1)外接式
外接过载保护器由双金属片,动触点、静触点、电热丝和外壳组成。
一般串联在主电路中使用。
当有较大电流流过时,电热丝发热升温,双金属片受热弯曲,触点断开,切断电源,以保护压缩机电动机不被烧坏。
当电热丝冷却后,双金属片恢复原状,又可接通电源。
(2)内埋式
内埋式过热保护继电器一般用于功率较大的全封闭式压缩机中,直接控制绕组温度,使用中只要绕组温度超出正常范围,即可切断电源。
4.控制系统的硬件设计
本系统处于监控状态时,具有以下功能:
(1)利用功能键分别控制冷冻室温度、冷藏室温度等;
(2)利用数码管显示冷冻室温度、冷藏室温度,压缩机的启、停和报警状态;
(3)制冷压缩机停机后自动延时3min后方能再启动;
(4)冷藏室温度超过18℃时声光报警,提醒用户采取应急措施;
(5)开门超过1min将声光报警,提醒用户及时关门;
(6)霜厚达3mm时,自动除霜。
;
(7)工作电压176~240V,当欠压或过压时,禁止启动压缩机并用指示灯显示。
本系统硬件主要是由单片机、存储器、键盘、显示器、传感放大器、执行器、过欠压检测、报警器等电路组成。
4.1微电脑硬件控制结构
系统硬件结构如图所示。
系统的硬件电路由89C51单片机、A/D转换芯片ADC0809、复位电路、直流电源供电电路、键盘显示电路、LED显示电路、电压检测和报警电路等组成。
图4-1系统结构框图
4.2微电脑正常工作必备条件电路
4.2.1供电直流电源
图4-2直流电源图
89C51芯片的VCC、P3.4拐脚和复位电压、A/D转换器的VREF(+)都是为+5V供电电压的输入端,该电压的获得如上图5-2所示。
整流滤波后得到的直流输入电压U1接在输入端和公共端之间,在输出端即可得到稳定的输出电压U0。
为了改善纹波电压,常在输入端接入电容C1,一般C1的电容为0.33uF。
同时在输出端接上电容C0,以改善负载的瞬时响应,C0的电容一般为0.1uF。
4.2.2时钟震荡电路
该电路由89C51的XTAL1和XTAL2脚内电路及外接的晶体和外接电容等组成。
震荡电路产生的震荡信号提供给微电脑电路作为时基信号。
震荡电路的震荡频率为6MHZ,由晶体震荡频率确定。
图4-3晶体振荡电路
4.2.3复位电路
如图4-4所示,89C51的RST脚为复位信号输入端,低电平复位,在每次开机时进行复位,然后在+5V的高电平进入工作状态。
10uS电容用于使芯片在反复上电的情况下得到可靠复位。
图4-4复位电路图
4.3温度检测电路
温度检测电路主要由温度传感器和运算放大器等组成如图4-5所示:
图4-5温度检测电路
4.3.1温度传感器
温度传感器主要用来接收冷藏室和冷冻室温度信息及霜厚信息。
冷藏室、冷冻室传感器的电阻值随电冰箱内的温度变化而变化,温度越低,其阻值越大。
通过温度的变化,转化成阻值的变化,引起电压变化导致控制电路工作,分别控制压缩机的开、停。
这里温度传感器选用了MF53-1型热敏电阻,具有负温度系数,灵敏度较高,和互换性好、寿命长、价格低的特点,特别是在-26℃~+26℃范围内,热敏电阻上分压与温度成线性关系。
其阻值和温度的关系为:
R(t)=286/(26.8+t)-2.68kΩ。
温度传感器属于电压检测方式,即通电后随着温度改变便有微弱的电压变化。
此电压的变化经运算放大器放大后供微电脑进行分析。
4.3.2运算放大电路
由比较器和运算放大器组成。
用于将微弱的电压进行放大。
为了和ADC0809模拟输入电压0~5V相匹配,分压电阻上所得的信号需要经两级LM324运算放大,前极接成射级跟随器,主要是为了得到高输入阻抗,后级才是为了完成差分放大。
4.4键盘电路和显示电路
如图4-6键盘电路和LED显示电路由串行口扩展5片74LS164实现。
系统采用了2个功能键控制冷冻室、冷藏室,4个LED数码管用于显示冷冻室、冷藏室温度及压缩机启、停和故障等状态。
键盘工作原理也很简单,89C51通过RXD端向键盘扫描移位寄存器74LSI64逐位发送数据“0”,每次发送后即从T0端读入键盘信号,若读得“0”表示有键按下,转入处理键功能程序。
图4-6键盘电路图
4.5 除霜电路
除霜电路则是将热敏电阻安装在距蒸发器3mm的某个合适的位置,当霜厚大于3mm时,热敏电阻接触到霜层,从而感到较低的温度,其阻值有所变化,运算放大器输出信号改变,经A/D转换后送入CPU,经单片机分析、判断、给出除霜命令。
4.6过、欠电压检测
本系统交流电源工作电压为176~240V,为了保护冰箱,电压过高或过低时自动禁止压缩机启动。
电源过欠压的检测采用了经光电耦合器直接对电源电压进行检测的方法。
图中R和W为降压电阻,LED为光电耦合器的反向旁路二极管兼作电源指示灯。
调节W可使光电耦合器工作在线性区,其次级输出电压经阻容滤波后即得到反映初级输入电压变化的模拟量,该信号经LM324电压跟随器送至ADC0809的IN3引脚进行A/D转换。
采用这种方案,中间环节少,反应快,并且在一定电压范围内,能保护较好的线性度。
电源是否过欠压由软件辨识判别。
4.7存储器
由8D锁存器74LS373用于单片机P0口的地址低8位和数据分割。
4.8键盘/显示器
如图显示器电路图4-7所示,本系统采用串行口扩展键盘和显示器。
单片机RXD和TXD分别提供串行输出数据和移位脉冲。
89C51送出的8位串行数据经74LS164变成并行数据,并作为键盘的列扫描信号。
显示部分采用LED数码管显示。
他们可设置或显示有关温度、时间和状态。
图4-7显示器电路图
4.9执行器
本系统包括压缩机电动机、除霜电热丝。
89C51产生的控制信号经P1.7、P1.3、P1.4脚输出,并在74LS273中锁存。
输出在经达林顿型驱动器MC1413驱动后控制交流固态继电器SSR1、SSR2。
使用74LS273锁存的目的是防止单片机复位时引起输出控制的误操作,同时也增加了输出驱动能力。
采用SSR作为压缩机电热丝的开关元件无火花产生,无触头损耗,不产生电磁干扰,并且把控制部分和交流高压部分光电隔离,使系统的安全可靠性得到提高。
4.10开关检测
开关状态的检测电路由门开关和LED发光二极管组成。
开门时,触点A接通89C51的P1.0位高电平;
关门时,触点B接通,P1.0为低电平。
软件通过对P1.0查询来分析门的开闭,并计时开门状态的时间。
当开门时间超过1min则自动报警以防忘记关门。
4.11报警器
图4-8报警器电路图
如图4-8所示,电路图,当出现电源过欠压、温度超限失控、开门超时等情况时,系统自动发生报警,并显示