空调温度控制
目录
第一章、概述 ....................................................................................... 1 第二章、硬件电路设计 ....................................................................... 2 1.1单片机电路: ............................................................................ 3 1.2数据采集电路: ........................................................................ 5 1.3显示电路 .................................................................................... 6 1.4电机驱动电路: ........................................................................ 7 第三章、软件设计 ............................................................................... 8 2.1主程序流程图: ........................................................................ 8 初始化调用框图 ............................................................................... 9 2.2汇编语言: .............................................................................. 10 第四章、调试手记: ......................................................................... 15 第五章、设计总结 ............................................................................. 16 第六章、参考文献 ............................................................................. 17 附录:硬件电路图 ............................................................................. 18
第一章、概述
在科技广泛发展的今天,计算机的发展已经越来越快,它的应用已经越来越广泛。而单片机的发展和应用是其中的重要一方面。单片机在工业生产(机电、化工、轻纺、自控等等)和民用家电各方面有广泛的应用。其中,单片机在工业生产中的应用尤其广泛。
单片机具有集成度高,处理能力强,可靠性高,系统结构简单,价格低廉的优点,因此被广泛应用。温度控制系统则是单片机在工业生产中的一个典型的应用。温度控制系统就是通过单片机的控制,使温度再设定的范围内。随着电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机技术的出现则是给现代工业控制测控领域带来了一次新的革命。目前,单片机在工业控制系统诸多领域得到了极为广泛的应用。特别是其中的C51系列的单片机的出现,具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作和学习。而本次设计就是要通过以C51系列单片机为控制核心,实现空调机温度控制系统的设计。将AD590作为室内温度传感器,当温度变化时,AD590会产生电流变化,经OPA1将电流转换电压,由OPA2做零位调整,最后右OPA3反相放大10倍。
第二章、硬件电路设计
整个电路可分为四个模块:数据采集模块,以ADC0808作为模数转换器件,对输入电压进行采样,并转化为数字信号,输入到单片机中;数据处理模块,对输入的信号进行判定,并作出相应指令;数据显示模块,将采集到的数据用LED直观的显示出来;电机驱动模块,根据得到的温度数据使电机进行正转或者反转,从而达到升温或者降温的目的。
1.1单片机电路:
单片机微型计算机简称单片机,特别适用于控制领域,故又称为微控制器。 通常,单片机由单块集成电路芯片构成,内部包含有计算机的基本功能部件:中央处理器、存储器和I/O接口电路等。因此,单片机只需要和适当的软件及外部设备相结合,便可成为一个单片机控制系统。8051单片机是8位单片机,它具有64k外部数据器空间,64k外部程序存储器空间,32条双向且分别可寻址的I/O口线,128B片内RAM,两个内部16位定时/计数器,两个优先级,五个中断源结构,1个双工串行口,1个布尔处理器。
它具备较完善的中断功能,有两个外中断、两个定时/计数器中断和一个串行中断,可满足不同的控制要求,并具有2级的优先级别选择。如上图为此次设计系统用到的单片机部分电路。其中除包括AT89C51芯片外,还包括:
时钟电路:
采用12M晶振外接电容构成,用来提供单片机运行的脉冲时序。
复位电路:
当程序出现紊乱时用该电路来实现手动复位。
1.2数据采集电路:
此系统使用0到5伏的电压模拟出0到51度温度,由ADC0808进行采样,以下为连接图:
ALE和START接口接在一起连接在ST端,当ST端由低到高有跳变时,在ALE上升沿锁存转换通道信号,ADC0808开始转换。转换完成后EOC变为高电平,OE置1,单片机查询EOC信号为高后,从P0口读取转换数据。然后循环采集数据。
1.3显示电路
本系统采用的是四位一体共阳极数码管显示器来显示温度,下图为显示器连接图:
显示器的段选段连接单片机的P1口,位选端连接P2口的P2.0(w1),P2.1(w2),P2.2,(w3)。当位选段为高电平时,对应的
数码管选通,位选端为低电平时,数码管不导通。
1.4电机驱动电路:
当采集到得温度低于设定的 温度下限时,turn0输出高电平,turn1关闭,电机正转,进行升温。当采集到的温度高于设定温度的上限时,turn1输出高电平,turn0关闭,电机反转,进行降温。当采集到得温度处于上下限之间时,turn0,turn1均关闭,电机停转。
驱动电路采用了一个H桥的设计,这样可以增大驱动电机的能量,在实际应用中,这种接法会产生一个反向电流,容易损坏三极管,可在三极管前接入一个二极管避免此问题。
第三章、软件设计
空调温度控制系统的软件设计部分主要是实现ADC0808的驱动采集数据,转换数据并显示,以及单片机进行判别并驱动电机。
以下为部分函数细分框图: 初始化调用框图:
中断函数框图:
显示的消隐
在显示数据时,有一个小细节还要注意即遇到没有高位的情况即高位值为0,而高位值显示0,不符合习惯,所以高位要消隐,消隐设计很简单,只要判断最高位是不是为0,要是为0就显示消隐字符,如果最高位消隐了,看次高位是否是0,是0,消隐次高位。
2.2汇编语言:
以下为仿真使用的汇编程序
WEI1 EQU P2.0 WEI2 EQU P2.1
WEI3 EQU P2.2 TUR EQU P2.6 TUL EQU P2.7 DUAN EQU P1
ST EQU P3.0;定义几位信号 OE EQU P3.1 EOC EQU P3.2 CLK EQU P3.3 TEMP EQU 30H
DT1 EQU 31H;温度显示位三位数据 DT2 EQU 32H DT3 EQU 33H DT4 EQU 34H IDH EQU 35H IDL EQU 36H ORG 0000H SJMP MAIN ORG 000BH
AJMP CLOCKT;定时0器中断 ORG 0030H
INIT :MOV TMOD,#01H MOV TH0,#0FCH MOV TL0,#18H SETB EA SETB ET0 SETB TR0 MOV IDH,#34 MOV IDL,#20 SETB EOC CLR ST SETB ST RET
MAIN: ACALL INIT M2: CLR ST JB EOC,CHULI M0: MOV R5,#10;显示10次,采集一次数据 M1: ACALL DISP ;DJNZ R5,M1
SJMP M2
DISP:MOV DPTR,#TAB0;显示数据消隐 MOV A,DT2 CJNE A,#0,DI0 ;首位为0消隐 MOV A,#10 DI0: SETB WEI1; [ MOVC A,@A+DPTR MOV DUAN,A] ACALL DELAY CLR WEI1 MOV A,DT3 SETB WEI2 MOVC A,@A+DPTR MOV DUAN,A clr p1.7 ACALL DELAY setb p1.7
CLR WEI2 MOV DPTR,#TAB0 SETB WEI3 MOV A,DT4 MOVC A,@A+DPTR MOV DUAN,A ACALL DELAY CLR WEI3 RET
CHULI:SETB OE ;处理采集的数据温度从0到51度 MOV TEMP,P0 ;1个LSB为0.2° MOV A,TEMP ;分别取出个,十,百位的值分别放入30h,31h,32h,33h内 MOV B,#100 ;如250 2 5 0分别存放 DIV AB MOV DT2,A MOV A,B MOV B,#10 DIV AB MOV DT3,A
MOV DT4,B ;进行温度转换,*2 MOV DT1,#00H MOV R3,#3 MOV R1,#34H CHU1: MOV A,@R1 MOV B,#2 MUL AB MOV @R1,A DEC R1 DJNZ R3,CHU1 MOV R3,#3 MOV R1,#34H CHU2: MOV A,@R1 MOV B,#10 DIV AB MOV @R1,B DEC R1 ADD A,@R1 MOV @R1,A DJNZ R3,CHU2 ACALL BIJIAO SETB ST AJMP M0 RET
BIJIAO:MOV A,DT2 MOV B,#10 MUL AB ADD A,DT3 ;将温度值还原成10进制数据 CJNE A,IDH,B0
B0: JC B1;测得温度和预置上限温度比较,如果小于就去和下限比较 CLR TUL SETB TUR ;温度大于等于上限值电机正转 RET
B1: CJNE A,IDL,B2;测得温度和预置下限温度比较,如果大于就停止电机 B2: JNC B3;大于下限值电机停止 CLR TUR
SETB TUL ;小于下限值电机反转 RET
B3: CLR TUR CLR TUL RET
CLOCKT:MOV TH0,#0FCH MOV TL0,#18H CPL CLK RETI
DELAY:MOV R6,#5 D1: MOV R7,#248 DJNZ R7,$ DJNZ R6,D1 RET
TAB0:DB 0c0H,0f9H,0a4H,0b0H,99H,92H,82H,0f8H,80H,90H,0ffH;不带小数点的共阳编码,
TAB1:DB 40H,79H,24H,30H,19H,12H,02H,78H,00H,10H,0ffH ;带小数点 END
第四章、调试手记:
上述的硬件电路以及软件设计在Proteus上进行仿真是成功的,但是在实验室的单片机实验台上进行调试时却出现了一些问题。经过分析后发现,因为所设计的程序使用的是单片机的内部I/O口,而实验台上的单片机的内部I/O口是封闭的,所以对原程序进行修改,加入外部I/O口,之后便可以在实验台上成功的实验所设计的功能。
用adc0808转换模拟量START是转换启动信号,CLOCK通常接500hz的时钟信号,OE是输出允许,ALE是地址锁存信号上 跳沿锁存。EOC转换结束标志,位0时正在转换,为1时转 换完成。VREF(+ -)是参考电压.在这里可以用到中断法和查询 法,中断方式是EOC要非一下,现在的主要工作就是转换,所以 只用查询法就可以了。
第五章、设计总结
两周的单片机课程设计已经结束了,虽然时间不是很长,但我从中得到的却是无限的,通过这次的单片机课程设计,使我更深入的了解的单片机的重要性,也从中学到了很多,通过做空调机的温度控制这个课题,使我全面地的,系统的又重新学习了一遍单片机,对其中的原理更加地的熟悉,对我以后的学习有了极大的帮助,虽然在做课程设计的过程中,我还有很多的东西是不知道的,但通过检阅资料,通过问老师,再加上自己的不断努力 ,最终是完成了自己的课程设计,在调试的过程中,又出现了不少的问题,但最终还是被我一个一个的解决了,
因为我们所学的都是单片机方面的理论知识,应用到实践中去还比较少,而且学到了很多在书本上所没有学到过的知识。不过,我们三人也没偷下懒,迅速分工去查阅和收集资料。我们去了图书馆借一些参考书,上网找一些相关资,通过不断努力,终于把空调机的温度控制的思路和模型定了下来,然后通过分析与软硬件的设计,在电脑上仿真完成。
通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。
第六章、参考文献
《单片机原理与应用》 王迎旭等编 机械工业出版社
《51系列单片机设计实例》 楼然苗等编 北京航空航天大学出版社
《计算机硬件技术基础实验教程》 黄勤等编 重庆大学出版社
《微型计算机接口技术及应用》刘乐善主编 华中科技大学出版社
《单片微型计算机原理及接口技术》陈光东等编 华中科技大学出版社
附录:硬件电路图
电气信息学院课程设计评分表
指导教师签名:________________
日 期:________________
注:表中标*号项目是硬件制作或软件编程类课题必填内容;
此表装订在课程设计说明书的最后一页。课程设计说明书装订顺序:封面、任务书、目录、正文、评分表、附件(非16K大小的图纸及程序清单)。