admin管理员组文章数量:1532440
2023年12月24日发(作者:)
基于MCS-51单片机的空调智能温控器的设计与开发
摘要 本控制电路是以8051单片机为控制核心。整个系统硬件部分包括温度采样电路,自激式A/D转换器,按键电路,驱动电路,时序电路,和8段译码器,LED数码显示器。在配合用汇编语言编制的程序使软件实现,实现空调温度智能转换的基本功能。本控制电路成本低廉,功能实用,操作简便,有一定的实用价值。
本文从3个方面展开论述,首先是硬件电路的描述;接着软件部分的设计;最后实现功能。
关键词8051单片机 温度控制 LED数码显示
一 系统总体设计方案
1.1 课题背景
电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业控制测控领域带来了一次新的革命。目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。特别是其中的C51系列的单片机的出现,具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作和学习。
在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面,随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控制将更好的服务于社会.而今,空调等家用电器随着生产技术的发展和生活水平的提高越来越普及,一个简单,稳定的温度控制系统能更好的适应市场。
而本次设计就是要通过以MCS-51系列单片机为控制核心,实现空调机温度控制器的设计。
方案一
通过温度传感器对空气进行温度采集,将采集到的温度信号传输给单片机,再由单片机控制显示器,并比较采集温度与设定温度是否一致,然后驱动空调机的加
热或降温循环对空气进行处理,从而模拟实现空调温度控制单元的工作情况。空调温控器主要单片机,时序电路,温度采样电路,A/D转换电路,温度显示电路,温度输入电路,驱动电路等组成。系统原理图见图1所示:
温度采样电路
时钟
图1 空调机温度控制系统框图
方案二
DS18B20单线连接方案,方案二采用单线连接,就是四块DS18B20连到单片机的一个IO口上,这种方案只用到单片机的一个IO口,大大的节约了单片机的IO口资源。缺点实在是时序上就复杂了,DS18B20的编程就增加读ROM程序,搜索ROM和匹配ROM程序。
综合比较决定选用方案一
二、系统硬件设计
2.1单片机
由于空调温度控制器的核心就是单片机,单片机的选择将直接关系到控制系统的工作是否有效和协调。本设计采用MCS-51系列的8051单片机,因为8051单片机应用广泛,性能稳定,抗干扰能力强,性价比高。
8051包含了8位CPU,片内振荡器,4K字节ROM,128字节RAM,2个16位定时器,计数器,中断结构,I/O接口等。可进行计算,定时等一系列功能。
2.2 A/D转换电路
2.2.1 ADC0801介绍
ADC0801是8位全MOS中速A/D 转换器、它是逐次逼近式A/D 转换器,片内有三态数据输出锁存器,可以和单片机直接口接。其主要引脚功能如下:
(1)RD,WR:读选通信号和选通信号(低电平有效)。
(2)CLK:时钟脉冲输入端,上升有效。
(3)DB0—DB7是输入信号。
(4)CLKR:内部时钟发生器外接电阻端,与CLKIN端配合可由芯片自身产生时钟脉冲,其频率为1/1.1RC。
(5)CS:片选信号输入端,低电平有效,一旦CS有效,表明A/D转换器被选中,可启动。
(6)WR:写信号输入,接受微机系统或其它数字系统控制芯片的启动输入端,低电平有效,
CS、WR同时为低电平时,启动转换。
(7)INTR:转换结束输出信号,低电平有效,输出低电平表示本次转换已完成。该信号常作为向微机系统发出的中断请求信号。
(8)CLK:为外部时钟输入端,时钟频率高,A/D转换速度快。允许范围为10-1280KHZ,典型值为640KHZ,此时,A/D转换时间为10us。通常由MCS—51单片机ALE端直接或分频后与其相连。当MCS单片机与读写外,RAM操作时,ALE信号固定为CPU时钟频率的1/6,若单片外接的晶振为6MHZ,则1/6为1MHZ,A/D转换时间为64us。
2.2.2 A/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与8051 RD相连,WR也是跟8051 WR相连。CS、VIN+接地。(低电平有效)
ADC0801的两模拟信号输入端,用以接受单极性、双极性和差摸输入信号,与WR同时为低电平A/D转换器被启动切在WR上升沿后100 模数完成转换,转换结果存入数据锁存器,同时,INTR自动变为低电平,表示本次转换已结束。如CS、RD同时来低电平,则数据锁存器三态门打开,数
字信号送出,而在RD高电平到来后三态门处于高阻状态 。
图2.1 A/D转换电路图
2.3 温度采样电路
2.3.1 AD590型温度传感器
AD590是电流型温度传感器,通过对电流的测量可得到所需要的温度值。在被测温度一定时,AD590相当于一个恒流源,AD590温度感测器是一种已经IC化的温度感测器,它会将温度转换为电流,由于此信号为模拟信号,因此,要进行进一步的控制及数码显示,还需将此信号转换成数字信号。它的主要特性如下:
(1)流过器件的电流(mA)等于器件所处环境的热力学温度(开尔文)度数;即: 式中:
(1)
Ir—流过器件(AD590)的电流,单位为mA;T—热力学温度,单位为K。
(2)AD590的测温范围为-55℃~+150℃;
(3) AD590的电源电压范围为4V~30V;
2.3.2 温度采样工作原理
因为AD590是将温度转换为电流,而单片机对电压信号更好测量,所以要将电流转化为电压,同时对电压信号进行放大后输入A/D转换ADC0801的VI-端口。
电流转化为电压表达式如下:
(2)
由反相比例运算放大电路,根据“虚断”,“虚短”,集成运放净输入电压为零,净输入电流为零,净输入电流为零等推算出表达式为:
(3)
最后由(1),(2),(3)得到:
(4)
图2.2 温度采样电路
2.4按健开关
按键开关电路由一按键连接到8051的P2.1端口所示。按下P2.1按键,放开后进入温度设定模式,显示设定最高温度34oC,每按一次设定温度将减小1oC,直至最低设定温度20oC,再按一次回到34oC。
2.5温度显示电路
2.5.1 LED驱动
7447 介绍:7447是一块BCD码转换成7段LED数码管的译码驱动IC,7447的主要功能是输出低电平驱动的显示码,用以推动共阳极7段LED数码管显示相应的数字。相应引脚功能如下:
(1)QA,QB,QC,QD,QE,QF,QG:7段LED数码输出引脚。
(2)A,B,C,D :输入引脚。
(3)RBO,BT,LI 高电平输出有效。
2.5.2 温度显示工作原理
温度显示电路如图2.3所示:由2片TTL7447和2片七段LED组成,LED采用共阳级接法。7447的QA-QG接BCD的a-g,段选信号由8051的P1口提供,LED显示数据由7447的输出决定,即由P1口信号的取值决定。
图2.3 TTL7447 BCD显示电路
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所示
N
N
图3.2定时器中断服务子程序
图3.2 中断服务程序流程图
3.3 程序内容编写
图3.1主程序流程图
ORG 0000H
JMP START1 ;
ORG 000BH ; 定时器/计数器0溢出中断
JMP TIM0 ; 转中断程序
START1: MOV TMOD,#01H; 设定定时器0工作方式1
MOV TH0 , #HIGH(65536-50000); 设定初值
MOV TL0,#LOW(65536-50000);
SETB TR0;
时器0
MOV IE,#82H;
0开放中断
MOV 24H,#0FFH;
ANL P1,#00H;
MOV R0,#14;
时
START: MOVX @R0,A;
转换
WAIT: JNB P2.1,SET0;
输入
JB P2.0,ADC;
换是否完成
JMP WAIT
ADC: MOVX A,@R0;
送入A
LCALL L1;
LCALL DISP;
JMP START
L1: CLR C;
清0
MOV 20H,#00H;
MOV 21H,#00H;
MOV R3,#08H;
位数
NEXT: RLC A;
和Cy左移一位,显示准备
启动定 定时器 延 启动A/D 检测温度 检测转将转换好的值
显示 将A的内容
MOV R2,A;
MOV A,20H;
ADDC A,20H
DA A;
对A进行十进制调整
MOV 20H,A;
MOV A,21H;
ADDC
MOV
MOV
DJNZ
循环计数
L2: MOV
ADD
DA
MOV
MOV
ADDC
DA
MOV
RET
DISP: MOV
程序
ANL
SWAP
交换高低位
MOV
MOV
ANL
SWAP
ORL
MOV
MOV
MOV
DJNZ
否显示完
21H,A;
A,R2;
R2,NEXT;
A,20H
A,20H;
A;
20H,A;
A,21H;
A;
21H,A;
A,20H;
A,#0F0H
A;
22H,A
A,21H;
A,#0FFH
A ;
A,22H;
23H,A
P1,A;
R7,#0FFH;
R7,$;
≠0
显示
是 A,21H
R2-1 A,21H;
RET
SET0: LCALL DELAY;
JNB P2.1,$; 等待按键操作
LCALL DELAY; 消除按键抖动
A2: CJNE R0,#0FFH,A1;
MOV
A1: MOV
MOV
指向表头
MOVC
MOV
MOV
MOV
D4: MOV
D2: MOV
D1: JNB
键按下 转SET1
DJNZ
DJNZ
DJNZ
JMP
SET1: LCALL
JNB
待按键操作
LCALL
动
DEC
JMP
TIM0: PUSH
PUSH
MOV
值
MOV
R0,#14;
A,R0;
DPTR,#TABLE ;
A,@A+DPTR;
P1,A;
24H,A;
R5,#4FH;
R7,#0FFH
R6,#0FFH
P2.1,SET1;
R6,D1
R7,D2
R5,D4
START;
DELAY;
P2.1,$;
DELAY;
R0;
A2;
PSW
TH0,#HIGH (65536 - 50000);
TL0,#LOW (65536 -50000)
延时
数据指针查表
有按 等 消除抖
保护现场重装定时初
ACC;
CLR C ; 进位标志清0
MOV A,24H; 比较温度
SUBB A,23H;
JNC OFF;
CLR C;
MOV A,24H;
SUBB A,23H;
JNC OFF;
CLR P3.0;
压缩机停止工作
RETURN: POP PSW
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 调试方法
可用万用表测试或通电测试
压缩机 延时
2 调试过程及现象
系统的调试依程序调试为主。
硬件调试比较简单,首先检查电路的焊接是否正确,然后可用万用表或通电建测。软件调试可以先编写显示程序并进行那个硬件的正确检验,然后分别进行主程序盒子程序的编程和功能调试。对于显示子程序,是首当其冲的,只需要能将所要显示的内容全部显示,并且显示在恰当的位置,如果不能显示准确,就有可能导致后面程序很难写出。在调试过程中由于对现实的地址把握不准导致显示覆盖并且错误的现象。
预置温度程序就看能不能正确的调动温度,智能控制就看在实测温度和预置温度大小比较时和电压出现不稳定情况时,能不能正确的控制制冷设备工作和保护制冷设备。延时开启程序就看在制冷设备启动前是否有相应的一段时间间隔。如若不能正常进行,再返回程序设计原理和C语言的语法、数据转换规则仔细推理程序是否写错。
五、设计总结
空调的发明和使用给人们的生活和工作带来了很大的便利。而空调的发展由原来的手动控制逐渐向智能控制发展,现在市场上很多的空调都已经实现了智能控制。空调的核心就是温度控制系统,温度控制系统的核心就是单片机。单片机因为成本低,功能稳定,而大量应用于各个领域。本论文用MCS-51系列的8051单片机做成空调温度控制器,通过温度采集,A/D转换,CPU控制,然后通过数码管显示等一系列硬件功能和软件功能,共同完成温度的智能控制。由于MCS-51单片机技术成熟,应用广泛,而且比其他单片机简单,通过此单片机做成的空调温度控制器成本低廉,操作简便,有一定的实用性。但由于本人知识不全面和能力的不足,只能对部分温度进行处理,,控制精度不高,节能性能不好,反映速度不快等问题等待解决,离成熟还有一段距离。但通过作毕业设计,让我把所学的知识融会贯通,对单片机,汇编语言有了更深的理解,同时学到了更多的知识,对自身能力有了很大的提高。在本论文的完成过程中,首先要感谢我的指导老师赖于树老师,半年来在他的悉心指导和无微不至帮助下,才能顺利完成这次设计。赖老师为论文的课题研究提供了很多指导性意见,对论文的撰写,修改提供了许多具体的指导和帮助。在此,学生衷心表示感谢:“老师,您辛苦了!”此外还要感谢我的同学和寝室兄弟们,是他们在我生活和学习上给予了很多无私的帮助,值此机会,我向你们说声谢谢!此外,就要感谢评阅老师对本论文进行的认真评阅和批评指正。最后,向所有给予我关怀和帮助的师长和同学们表示衷心的感谢!
六、参考文献
[1] 何立民. 单片机应用系统设计[M].北京:清华大学出版社,2005
[2] 吴金戎. 8051单片机实践与应用[M].北京:清华大学出版社,2005
[3] 胡斌.图表细说电子元器件[M].北京:电子工业出版社,2005
[4] 王福瑞.单片微机测控系统设计大全[M].北京:电子工业出版社,2006
[5] 姜志海.电片机原理及应用[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
附录
版权声明:本文标题:基于51单片机的空调温度控制设计 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dongtai/1703348216a50908.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论