基于51单片机的空调温度控制设计教材.docx
《基于51单片机的空调温度控制设计教材.docx》由会员分享,可在线阅读,更多相关《基于51单片机的空调温度控制设计教材.docx(14页珍藏版)》请在冰豆网上搜索。
基于51单片机的空调温度控制设计教材
摘要本控制电路是以8051单片机为控制核心。
整个系统硬件部分包括温度采样电路,自激式A/D转换器,按键电路,驱动电路,时序电路,和8段译码器,LED数码显示器在配合用汇编语言编制的程序使软件实现,实现空调温度智能转换的基本功能。
本控制电路成本低廉,功能实用,操作简便,有一定的实用价值。
本文从3个方面展开论述,首先是硬件电路的描述;接着软件部分的设计;最后实现功能。
关键词8051单片机温度控制LED数码显示
一系统总体设计方案
1.1课题背景
电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业控制测控领域带来了一次新的革命。
目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。
特别是其中的C51系列的单片机的出现,
具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作和学习。
在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会•而今,空调等家用电器随着生产技术的发展和生活水平的提高越来越普及,一个简单,稳定的温度控制系统能更好的适应市场。
而本次设计就是要通过以MCS-51系列单片机为控制核心,实现空调机温度控制器的设计。
通过温度传感器对空气进行温度采集,将采集到的温度信号传输给单片机,再由
单片机控制显示器,并比较采集温度与设定温度是否一致,然后驱动空调机的加热或降温循环对空气进行处理,从而模拟实现空调温度控制单元的工作情况。
空调温控器主要单片机,时序电路,温度采样电路,A/D转换电路,温度显示电路,温度输入电路,驱动电路等组成。
系统原理图见图1所示:
图1空调机温度控制系统框图
DS18B20单线连接方案,方案二采用单线连接,就是四块DS18B20连到单片机的一个
10口上,这种方案只用到单片机的一个10口,大大的节约了单片机的10口资源。
缺点实在是时序上就复杂了,DS18B20的编程就增加读ROME序,搜索ROMI和匹配ROM程序。
综合比较决定选用方案一
二、系统硬件设计
2.1单片机
由于空调温度控制器的核心就是单片机,单片机的选择将直接关系到控制系统的工作是否有效和协调。
本设计采用MCS-51系列的8051单片机,因为8051单片机应用广泛,性能稳定,抗干扰能力强,性价比高。
8051包含了8位CPU片内振荡器,4K字节ROM,128字节RAM,2个16位定时器,
计数器,中断结构,I/O接口等。
可进行计算,定时等一系列功能。
2.2A/D转换电路
2.2.1ADC0801介绍
ADC0801是8位全M0卿速A/D转换器、它是逐次逼近式A/D转换器,片内有三态数据输出锁存器,可以和单片机直接口接。
其主要引脚功能如下:
(1)RDWR读选通信号和选通信号(低电平有效)。
(2)CLK时钟脉冲输入端,上升有效。
(3)DB0-DB7是输入信号。
(4)CLKR内部时钟发生器外接电阻端,与CLKIN端配合可由芯片自身产生时钟脉冲,其频率为1/1.1RC。
(5)CS片选信号输入端,低电平有效,一旦CS有效,表明A/D转换器被选中,可启动。
(6)WR写信号输入,接受微机系统或其它数字系统控制芯片的启动输入端,低电平有效,
CSWR同时为低电平时,启动转换。
(7)INTR:
转换结束输出信号,低电平有效,输出低电平表示本次转换已完成。
该信号常作为向微机系统发出的中断请求信号。
(8)CLK:
为外部时钟输入端,时钟频率高,A/D转换速度快。
允许范围为10-1280KHZ典型值为640KHZ此时,A/D转换时间为10us。
通常由MC—51单片机ALE端直接或分频后与其相连。
当MCS单片机与读写外,RAM操作时,ALE信号固定为CPU时钟频率的1/6,若单片外接的晶振为6MHZ则1/6为1MHZA/D转换时间为64us。
2.2.2A/D转换电路工作原理
A/D转换电路如图2.1所示。
ADC0801的A/D转换结果输出端DB0-DB7与8051的P0.0-P0.7相连,INTR与P2.0口相连,INTR端用于给出A/D转换完成信号,所以通过查询P2.0便可以获知A/D转换是否完成。
RD与8051RD相连,WR也是跟8051WR相连。
CSVIN+接地。
(低电平有效)
ADC0801的两模拟信号输入端,用以接受单极性、双极性和差摸输入信号,与WR同时为低电平A/D转换器被启动切在WR1升沿后100模数完成转换,转换结果存入数
据锁存器,同时,INTR自动变为低电平,表示本次转换已结束。
如CSRD同时来低电平,则数据锁存器三态门打开,数
字信号送出,而在RD高电平到来后三态门处于高阻状态
U1
图2.1A/D转换电路图
2.3温度采样电路
2.3.1AD590型温度传感器
AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。
在被测温度一定时,AD590相当于一个恒流源,AD590温度感测器是一种已经IC化的温度感测器,它会将温度转换为电流,由于此信号为模拟信号,因此,要进行进一步的控制及数码显示,还需将此信号转换成数字信号。
它的主要特性如下:
(1)流过器件的电流(mA等于器件所处环境的热力学温度(开尔文)度数;即:
式
中:
Ir/T-1
(1)
Ir—流过器件(AD590的电流,单位为mAT—热力学温度,单位为K。
(2)AD590的测温范围为-55C〜+150C;
(3)AD590的电源电压范围为4V〜30V;
232温度采样工作原理
因为AD590是将温度转换为电流,而单片机对电压信号更好测量,所以要将电流转化为电压,同时对电压信号进行放大后输入A/D转换ADC0801勺VI-端口。
电流转化为电压表达式如下:
U。
一1尺
⑵
由反相比例运算放大电路,根据“虚断”,“虚短”,集成运放净输入电压为零,净输入电流为零,净输入电流为零等推算出表达式为:
ViRf/R)U。
⑶
最后由⑴,
(2),(3)得到:
V,=(1Rf/R)TRf
(4)
图2.2温度采样电路
2.4按健开关
按键开关电路由一按键连接到8051的P2.1端口所示。
按下P2.1按键,放开后进入温度设定模式,显示设定最高温度34°C,每按一次设定温度将减小1°C,直至最低设定温度20°C,再按一次回到34°C。
2.5温度显示电路
2.5.1LED驱动
7447介绍:
7447是一块BCD码转换成7段LED数码管的译码驱动IC,7447的主要功能是输出低电平驱动的显示码,用以推动共阳极7段LED数码管显示相应的数字。
相应引脚功能如下:
(1)QA,QB,QC,QD,QE,QF,QG:
段LED数码输出引脚。
(2)A,B,C,D:
输入引脚。
(3)RBOBT,LI高电平输出有效。
2.5.2温度显示工作原理
温度显示电路如图2.3所示:
由2片TTL7447和2片七段LED组成,LED采用共阳级接法。
7447的QA-Q聚BCD的a-g,段选信号由8051的P1口提供,LED显示数据由7447的输出决定,即由P1口信号的取值决定。
744T
图2.3TTL7447BCD显示电路
2.6压缩机驱动电路
压缩机驱动控制,8051的RXD的引脚与7404的引脚相连接,从RXD发出的控制信号经7404和ULN2003到达压缩机,驱动压缩机的运行和停止。
ULN2003是高压大电流达林顿晶体管阵列系列产品,具有电流增益高、工作电压高、温度范围宽、带负载能力强等特点,适应于各类要求高速大功率驱动的系统。
其中ULN2003是由7个NPN具有用共阴二极管夹紧来转换电感负载的高压输出特征的达林顿晶体管组成。
当前一对单精度型的额定电流为500mA有比较高的电流容量,它的应用软件包括继电器驱动器、显示驱动器,线驱动器和逻辑缓冲器等。
在本驱动电路中的作用是增大电流驱动能力。
该芯片采用16脚的DIP封装,其中第9为公共输
出端COM有一个输出端为高电平,COM就为高电平。
图2.4压缩机驱动电路
三、系统软件设计
3.1软件设计思路
软件设计的任务包括启动A/D转换、读A/D转换结果、设置温度、温度控制等,其中启动A/D转换、读A/D转换结果、设置温度等工作在主程序中完成,温度控制在中断服务程序中完成,即每隔一段时间对比测量温度与设定温度之间的大小关系,根据对比结果给出控制信号,令压缩机的运行或停止,实现温度调控。
3.2程序流程
主程序流程图如图3.1所示
中断服务程序流程图3.2所示
图3.2中断服务程序流程图
3.3程序内容编写
ORG0000H
JMPSTART1;
ORG000BH;
JMPTIM0;
START1:
MOVTMOD,#01H;
MOV
TH0,#HIGH(65536-50000);
MOV
TL0,#LOW(65536-50000);
SETB
TR0;
MOV
IE,#82H;
MOV
24H,#0FFH;
ANL
P1,#00H;
MOV
R0,#14;
START:
MOVX@R0,A;
WAIT:
JNB
P2.1,SET0;
JB
P2.0,ADC;
JMP
WAIT
定时器/计数器0溢出中断
转中断程序
设定定时器0工作方式1
设定初值
启动定时器0
定时器0开放中断
延时
启动A/D转换
检测温度输入
检测转换是否完成
ADC:
MOVXA,@R0;
LCALLL1;
将转换好的值送入A
LCALLDISP;
L1:
CLR
MOV
C;
20H,#00H;
MOV
21H,#00H;
MOV
R3,#08H;
NEXT:
RLC
A;
准备
MOV
R2,A;
MOV
A,20H;
JMPSTART
清0
显示位数
将A的内容和Cy左移一位,显示
ADDC
A,20H
DA,
A;
对A进仃十进制调整
MOV
20H,A;
MOV
A,21H;
ADDC
A,21H
MOV
21H,A;
MOV
A,R2;
DJNZ
R2,NEXT;
R2-1
工0循环计数
L2:
MOV
A,20H
ADD
A,20H;
DA,
A;
MOV
20H,A;
MOV
A,21H;
ADDC
A,21H;
DA
A;
MOV
21H,A;
RET
DISP:
MOV
A,20H;
显示程序
ANL
A,#0F0H
SWAP
A;
交换高低位
MOV
22H,A
MOV
A,21H;
ANL
A,#0FFH
SWAP
A;
ORL
A,22H;
MOV
23H,A
MOV
P1,A;
MOV
R7,#0FFH;
DJNZ
R7,$;
是否显示完
RET
DEC
R0;
JMP
A2;
TIMO:
PUSH
ACC;
PUSH
PSW
MOV
TH0,#HIGH(65536-50000);
MOV
TL0,#LOW(65536-50000)
CLR
C;
SETO:
LCALLDELAY;
等待按键操作
消除按键抖动
延时
数据指针指向表头
查表
有按键按下转SET1
等待按键操作
消除抖动
保护现场
重装定时初值
进位标志清0
MOV
A,24H;
SUBB
A,23H;
JNC
OFF;
CLR
C;
MOV
A,24H;
SUBB
A,23H;
JNC
OFF;
CLR
P3.0;
RETURN:
POPPSW
POP
ACC
RETI;
OFF:
SETB
P3.0;驱动
JMP
RETURN
DELAY:
MOV
R7,#60;
D3:
MOV
R6,#248
DJNZ
R6,$
DJNZ
R7,D3
RET
TABLE:
DB
20H,21H,22H,23H,24H;
DB
25H,26H,27H,28H,29H
DB
30H,31H,32H,33H,34H
END
比较温度
压缩机停止工作
中断返回
压缩机开始工作
延时程序
六、参考文献
[1]何立民•单片机应用系统设计[M].北京:
清华大学出版社,2005
[2]吴金戎.8051单片机实践与应用[M].北京:
清华大学出版社,2005
[3]胡斌.图表细说电子元器件[M].北京:
电子工业出版社,2005
[4]王福瑞.单片微机测控系统设计大全[M].北京:
电子工业出版社,2006
⑸姜志海•电片机原理及应用[M].北京:
电子工业出版社,2005
[6]黄正祥,邓怀雄,郭延文,周书.基于MCS-51单片机的温度控制系统[J].现代电子技术,2005,6:
20-21
[7]李伙友.基于MCS-51的温度控制器的设计[J].龙岩学院学报,2006,24(6):
16-18
[8]关平,刘红,林强.可实现的基于MCS-51单片机的恒温控制系统的设计[J].自动化技术与应用,2008,27(10):
108-110
附录
呻汁FFFFI
o
fbbbbH
E
壬号匕
Ute
UMIOH¥o
Qo>ael日兰一
皂ir-ridwu^fnn-LL^na.EgUHLrp-PE^n.-I.ELn曰娶BE.MaFS+
L