空调温度控制系统
海南软件职业技术学院综合实训
摘要
新世纪里,人们生活质量不断提高,同时也对高科技电子产业提出了更高的要求,为了使人们生活更人性化、智能化。我
了这一个基于单片机的空调温度控制系统,人们只有生活在一定的温度环境内才能长期感觉舒服,才能保证不中暑不受冻,所以对室内温度要求要高。对于不同地区空调要求不同,有的需要升温,有的需要降温。一般都要维持在22~26?C。
目前,虽然我国大量生产空调制冷产品,但由于我国人口众多,需求量过盛,在我国的北方地区,还有好多家庭还没有安装有效地室内温控系统。温度不能很好的控制在一定的范围内,夏天室内温度过高,冬天温度过低,这些均对人们正常生活带来不利的影响,温度、湿度均达不到人们的要求。以前温度控制主要利用机械通风设备进行室内、外空气的交换来达到降低室内温度,实现室内温度适宜人们生活。以前通风设备的开启和关停,均是由人手动控制的,即由人们定时查看室内外的温度、湿度情况,按要求开关通风设备,这样人们的劳动强度大,可靠性差,而且消耗人们体力,劳累成本过高。为此,需要有一种符合机械温控要求的低成本的控制器,在温差和湿度超过用户设定值范围时,启动制冷通风设备,否则自动关闭制冷通风设备。鉴于目前大多数制冷设备现在状况,我设计了一款基于MCS51单片机空调温度控制系统。
关键词:电子 、单片机、空调、温度、电路
海南软件职业技术学院综合实训报告
目 录
1绪论 .......................................................................... 1
1.1空调 .................................................................... 1
1.2单片机 .................................................................. 2
1.3单片机与空调控制系统 ................................................... 2 2结构设计与
选择 ........................................................... 3
2.1基于51单片机的空调温度控制系统结构 .................................... 3
2.2方案选择................................................................ 4
2.2.1温度传感部分的选择 ............................................... 4
2.2.2 A/D转换方案设计 ................................................ 5
2.2.3 数字显示 ......................................................... 6
2.2.4 降温驱动控制电路的选择 ........................................... 7 3 硬件设计 ..................................................................... 8
3.1温度采集电路 ........................................................... 8
3.2 A/D转换电路 ........................................................... 8
3.3显示电路............................................................... 10
3.4驱动电路............................................................... 11 4软件设计 ..................................................................... 12
4.1空调温度控制系统主程序 ................................................ 12
4.2 A/D转换子程序 ........................................................ 14
4.3延时子程序 ............................................................ 16 结束语 ........................................................................ 17 致谢 .......................................................................... 18 附录 .......................................................................... 20
海南软件职业技术学院综合实训报告 1绪论
1.1空调
一、空调
“空调”即房间空气调节器,是一种用于给房间(或封闭空间、区域)提供处理空气的机组。它的功能是对该房间(或封闭空间、区域)内空气的温度、适度、洁净度和空气流速等参数进行调节,以满足人体舒适或工艺过程的要求。
二、空调的工作原理
空调器的制冷系统由蒸发器、压缩机、冷凝器和毛细管四个主要部分组成。按照制冷循环工作的顺序,依然用管道接成一个整体。系统工作时,蒸发器内的制冷剂吸收室内空气的热量而蒸发成为压力和温度均较低的蒸汽,被压缩机吸入并压缩后,制冷剂的压力和温度均升高,然后排入冷凝器。制冷剂蒸气在冷凝器内通过放热给室外空气而冷凝成为压力较高的液体。制冷剂液体通过毛细空的气流,压力和温度均降低,再进入蒸发器蒸发,如此周而复始地循环,从而达到降低室内温度的目的。
三、空调的功能
1、降温
在空调器设计与制造中,一般允许将温度控制在16~32?之间。若温度设定过低,一方面增加不必要的电力消耗,一方面造成室内温度偏大时,人们进入房间不能很快适应温度变化,容易患感冒。
2、除湿
空调器在制冷过程中伴有除湿作用。人们感觉舒适的环境相对湿度应在40~60%左右,当相对温度过大如在90%以上,即使温度在舒适范围内,人的感觉仍然不佳。
3、升温
热泵型与电热型空调器都有升温功能。升温能力随室外环境温度下降逐步变小,若温度在-5?时几乎不能满足供热要求。
4、净化空气
空气中含有一定量有害气体如NH3、SO2等,以及各种汗臭、体臭和浴厕臭等臭气。
空调净化方法有:换新风、过滤、利用活性炭或光触煤吸附和吸收等。
A、换新风:利用风机系统将室内潮湿空气往室外排,使室内形成一定程度负压,新鲜空气从四周门缝、窗缝进入室内,改善室内空气质量。
B、光触媒:在光的照射下可以再生,将吸附(收)的氨气、尼古丁、醋酸、硫化氢等有害物质释放掉,可重新使用。
5、增加空气负离子浓度
空气中带电微粒浓度大小,会影响人体舒适感,空调上安装负离子发生器可增加空气负离子度,使环境更舒适,同时对降低血压、抑制哮喘等方面有一定医疗效果。
1
海南软件职业技术学院综合实训报告
1.2单片机
单片机是指一个集成在一块芯片上的完整计算机系统。尽管它的大部分功能集成在一块小芯片上,但是它具有一个完整计算机所需要的大部分部件:CPU、内存、内部和外部系统总线系统,目前大部分还会具有外存。同时集成注入通讯接口、定时器,实时时钟等外围设备。而现在最强大的单片机系统甚至可以将声音、图像、网络、复杂的输入输出系统集成在一块芯片上。
单片机内部也用和电脑功能类似的模块,比如CPU,内存,并行线,还有和硬盘作用相同的存储器件,不同的是它的这些部件都相对我们的家用电脑弱很多,不过价钱也是低的,一般不超过10元即可„„用它来做一些控制电器一类不是很复杂的工作足矣了,我们现在用的全自动滚筒式洗衣机、排烟罩、VCD等等的家电里面都可以看到它的身影~„„它主要是作为控制部分的核心部件。
它是一种在线式实时控制计算机,在线式就是现场控制,需要的是较强的抗干扰能力,较低的成本,这也是和离线式计算机的(比如家用PC)的主要区别。
单片机是靠程序的,并且可以修改,通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要很大的力气才能做到的,有些则是花大力气也很难做到。一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯属硬件来搞定的话,电路一定是一块大PCB板~但是如果要用美国70年代成功投放市场的系列单片机,结果就会有天壤之别~只因为单片机的通过你编写的程序可以实现高智能,高效率,以及高可靠性~
1.3单片机与空调控制系统
空调控制系统要控制的是空气温度,是通过压缩机的运行、停止控制的,实际上单片机直接控制的是压缩机的工作状态。该系统要实现以下功能。
(1)根据环境温度控制压缩机:控制参数是温度,控制参数是压缩机电路通、断的状态。
(2)设置希望的环境温度值:由人手动控制
(3)显示设定的温度值
2
海南软件职业技术学院综合实训报告
2结构设计与方案选择
2.1基于51单片机的空调温度控制系统结构
选用单片机89S51为中央处理器,通过温度传感器对空气进行温度采集,将采集到的温度信号传输给单片机,再有单片机控制显示器,并比较采集温度与设定温度是否一致,然后驱动空调温度的加热或降温循环对空气进行处理,从而模拟实现空调温度控制单元的工作情况。 空调温度控制系统结构如图1所示。
温度控制器 输入部分 A/D转换
器
驱动控制 加热 89S51
空
气 显示部分
制冷 驱动控制
图1空调温度控制系统结构图
实现方案的技术线路为:用按钮输入
温度值,用LED实时显示环境空气温度,用驱动电路控制压缩机完成加热和制冷调节,用ISIS软件对设计进行仿真,用汇编语言完成软件编程。
通过分析控制器和执行器的关系,选用位置式PID控制作为控制系统的控制策略。
控制算法:
k,,,,Te(k)e(k1) s,,,,u(k)Ke(k)e(i)Tu,cd0,,TT,i0is,, k
u(k),Ke(k),Ke(i),K,,e(k),e(k,1),u,0cid,0i式中:Ki:积分系数、 Kd:微分系数
3
海南软件职业技术学院综合实训报告
单片机AT89S51中央处理器如图2所示。
图2 AT89S51单片机引脚图
Vcc、Vss:用于外接单片机的工作电源,电源电压为5V。
XTAL1、XTALL2:用于外接晶振构成振荡电路或直接输入时钟信号。
RST:复位信号输入引脚,高电平有效。
ALE:地址锁存信号输出引脚,固定输出1/6振荡频率的脉冲,可作为脉冲信号源使用。
/EA:片内、片外程序存储器选择控制引脚。
/PSEN:片外程序存储器读允许控制器。
P0.0~P0.7:P0口I/O引脚,或数据线/低8位地址总线复用引脚。
P1.0~P1.7:P1口I/O引脚。
P2.0~P2.7:P2口I/O引脚,或高8位地址总线引脚。
P3.0~P3.7:P3口I/O引脚,此外,每个引脚都有第二功能。 2.2方案选择
2.2.1温度传感部分的选择
要求温度和与温度有关的参数量进行检测,应考虑用热电阻传感器。按照热电阻的性质可以分为半导体热电阻和金属热电阻两大类,目前通常成为热敏电阻,后者称为热电阻。
方案1:采用热敏电阻,这种电阻是利用对温度敏感度半导体材料制成,其阻值随温度变化有明显的改变。负温度系统热敏电阻器通常是由锰、钴的氧化物烧制而成,其特点是,在工作温度范围内电阻值随温度的升高而降低。可满足40?~90?测量范围,但热敏电阻精
4
海南软件职业技术学院综合实训报告
度、重复性、可靠性较差,不适于检测小于1?的信号:而且线性度很差,不能直接用于A/D转换,应用硬件或软件对其线性化补偿。
方案2:采用温度传感器铂电阻Pt1000.铂电阻的物理化学性能在温度和氧化性介质中很稳定,它能用作工业测温元件,且此元件线性较好。在0?~100?时,最大非线性偏差小于0.5?。铂热电阻与温度的关系是,Rt=R0(1+At+Bt*t);其中Rt是温度为t摄氏度时的电阻;R0是温度为0?时的电阻;t为任意温度,A、B为温度系数。但成本不贵,不适用做普通设计。
方案3:采用集成温度传感器,如常用的AD590和LM35。AD590这种器件以电流作为输出量指示温度,其典型的电流温度灵敏度为1uA/K.它是二端器件,是用非常方便,作为一种高阻电流源,它不需要严格考虑传输线的电压信号损失和噪声干扰问题,因为特别适用作为远距离测试或控制。另外,AD590也特别适用于多温度测量系统,而不必考虑开关或CMOS多路转换开关引起的附加电阻造成的误差。由于采用一种独特的电路简单,便于设计。
方案选择:选择方案3.理由:电路简单稳定可靠、无须调试,与A/D连接方便。 2.2.2 A/D转换方案设计
A/D转换器是一种将连续的模拟量转换为离散的数字量的一种电路或器件。模拟信号转换为数字信号一般需要经过采样保持和量化编码两过程。针对不同的采样对象,有不同的A/D转换(ADC)可供选择,其中有通用的也有专用的。有些ADC还包含有其他功能,在选择ADC器件时需要考虑多种因素,除了关系参数、分辨率和转换速度以外,还应考虑其他因素,如静态与动态精度、数据接口类型、控制接口与定时、采样保持性能、基本要求、校准能力、通道数量、功耗、使用环境要求、封装形式以及软件有关的问题。ADC按功能划分,可以分为直接转换和非直接转换两大类,其中非直接转换又有主次分级转换、积分式转换等类型
A/D转换器在实际运用时,除了要设计适当的采集/保持电路、基准电路和多路模拟开关等电路外,还应根据实际选择的具体芯片进行输入模拟信号极性转换等设计。
方案1:采用分级式转换器,这种转换采用两步或者多步进行分辨率的闪烁式转换,进而快速地完成“模拟-数字”信号的转换,同时可以实现较高的分辨率。例如,在利用两步分级完成n位转换的过程中,首先完成m位的粗转换,然后使用精度至少为m位的A/D转换器(DAC)将此结转换达到1/2的精度并且与输入信号比较。对此信号用一个k位转换器(K+M?N)转换,最后将两个输出结果合并。
方案2:采用积分分型A/D转换器,如ICL7135等。双积分型A/D转换器转换精度高,但是转换速度不快,若用于温度测量,不能及时反映当前的温度值,而且多数双积分型A/D转换器其输出都不要二进制码,而是直接驱动数码管。所以,若直接将其输出端接I/O接口会直接给软件设计带来极大的不方便。
方案3:采用主次逼近式转换器,对于这种转换方式,通常是用一个比较器输入信号与作为基准的n位DAC输出进行比较,并执行n次1位转换。这种方法类似于天平上用二进制砝码称量物质。采用逐次逼近寄存器,输入信号仅与高位(MSB)比较,确定DAC的最
5
海南软件职业技术学院综合实训报告
高位(DAC满量程的一半)。确定后结果(0或1)被锁存,同时加到DAC上,以决定DAC的输出(0或1/2)。
逐次逼近型A/D转换器,如ADC0809、AD574等,其特点是转换速度快,精度比较高,输出为二进制码,直接接I/O口,软件设计方便。ADC0809芯片内包含8位A/D模拟转换器、8通道多路转换器与微控制器兼容的控制逻辑。8通道多路转换器能直接接通8个单端输入信号中的任何一个。由于ADC0809设计时考虑到若干A/D转换技术的优点,所以该芯片非常适合于过程控制、微控制器输入通道的结合口电路、智能仪器和机床控制等应用场合,并且价格低廉,降低设计成本。
方案选择:选择方案3。理由:用ADC0809采样速度快,配合温度传感应用方便,价格低廉,降低成本。
2.2.3 数字显示
通常的LED显示器有7段或8段和“米”字段之分。这种显示器有共阳极和共阴极两种。共阴极LED显示器的发光二极管的阴极连接在一起,通常在此共阴极接地。当某个发光二级管的阳极为高电平时,放光二极管点亮,相应的段被显示。同样,共阳极LED显示器的工作原理一样。
方案1:采用静态显示方式。在这种方式下,各位LED显示器的共阳极(或共阴极)连接在一起并接地(或电源正),每位的段选线分别与一个8位的锁存器输出相连,各个LED的显示字符一经确定,相应锁存器的输出将维持不变,直到显示另一个字符为止,正因为如此,静态显示器的亮度确定都较高。若用I/O口接口,这需要占用N*8位I/O口(LED显示器的个数N)。这样的话,如果显示器的个数较多,那使用的I/O接口就更多,因此在显示位较多的情况下,一般都不用静态显示。
方案2:采用动态显示方式。当多位LED显示时,通常将所有位的段选线相应的并联在一起,由一个8位I/O口控制,形成段选线的多路复用。而 各位的共阳极或共阴极分别有相应的I/O口控制,实现各位的分时选通。其中段选线占用一个8位I/O口,而位选线占用N个I/O口(N为LED显示器的个数)。由于各位的段选线并联,段码的输出对各位来说都相同的,因此,同一时刻,如果各位选线都处于选通的状态的话,那LED显示器将显示相同的字符,若要各位LED都能显示出与本位相应的字符,那就必须采用扫描显示方式,即在某一时刻,只让某一位的位选线处于选通过的状态,而其他各位的选通线处于关闭状态,同时,段选线上输出相应位要显示字符的段码。
这种显示方式占用的I/O口个数为8+N(N为LED显示器的个数),相对静态显示少了很多,但需要占用大量的CPU资源,当CPU处理别的事情时,显示可能出现闪烁或者不显示的状况。
方案3:采用移位寄存器扩展I/O口,只需要占用3个I/O口i,即数据(DATA)、时钟(CLOCK)、输出使能(OUTPUT ENABLE),从理论上讲就可以无限制地扩展I/O口,而且显示数据为静态显示,几乎不占用CPU资源。
6
海南软件职业技术学院综合实训报告
采用扩展口后,又能采用静态显示,这样,既解决了静态显示占用I/O口多的问题,又解决了动态显示不稳定、容易闪烁、占用CPU资源过多的问题。
方案选择:选择方案3。理由:非常节约I/O口,又有静态显示的特点,亮度高,节约CPU的使用率。
2.2.4 降温驱动控制电路的选择
采用开关量控制,如继电器、双向可控硅、光耦等,控温快速,但是双向可控硅驱动电路比较麻烦,调试也麻烦,若用现成的固态继电器(其实就是把双向可控硅和驱动电路做在一起的)价格昂贵。若用继电器时要注意其电感的反向电动势,和开关触点对电源的影响,以及开关脉冲整个电路的影响等。应该加入必要的防止干扰的措施。
方案1:采用单向晶闸管,这是一种大功率半导体器件,它既有单向导电的整流能力,又有可以控制的开关作用。利用它可以用较小的功率控制较大的功率。在交直流电动机调速系统、调功系统、随动系统和无触点开关等方面均获得了广泛的运用。
这种晶闸管与二极管不同的是,当其两端加入正向电压而控制极不加电压时,晶闸管并不导通,其正向电流很小,处于正向阻断状态;当加上正向电压、且控制极上(与阴极间)也加上一正向电压时,晶闸管便进入导通状态,这是管压降很小(1V左右)。这是即使控制电压消失,仍然保持导通状态,所以控制电压没必要一直存在,通常采用脉冲形式,以降低触发功耗。它不具有自动关断能力,要切断负载电流,只有使阳极电流减小到维持电流一下,或加上反向电压实现关断。若在交流回路中应用,当电流过零和进入负半周时,自动关断,为了使其再次导通,必须重加控制信号。
方案2:采用光耦合双向控制硅驱动电路,这种部件是一种单片机输出与双向可控硅之间较理想的借口器件,它由输入和输出两部分组成,输入部分是一个砷化镓发光二级管,该二极管在5mA~15mA正向电流作用下发出足够强度的红外光,触发输出部分。输出部分是一个硅光敏双向可控硅,在红外线的作用下可双向导通。
光耦合器也常用于较远距离的信号隔离传送。一方面光耦合器可以起到隔离两个系统地线的作用,使两个系统的电源相互独立,消除地点位不同所产生的影响。另一方面,光耦合器的发光二极管是电源驱动器件,可以形成电流环路的传送形式。由于电流环电路是低阻抗电路,对噪音的敏感度低,因此提高通讯系统的抗干扰能力,常用于有噪音干扰的环境里传输信号。
方案选择:选择方案2。理由:达到同样的加热效果,开关量控制容易,驱动简单,通讯系统抗干扰能力强。
7
海南软件职业技术学院综合实训报告
3 硬件设计
3.1温度采集电路
温度采集系统主要由AD590、OP07、ICL8069组成,如图3所示。
图3 温度采集电路
选用温度传感器AD590,AD590具有较高精度和重复性(重复性优于0.1?,其良好的非线性可以保证优于0.1?的测量精度,利用重复性较高的特点,通过非线性补偿,可以达到0.1?测量精度)。超低温度漂移高精度运算放大器OP-07将“温度-电压”信号进行放大,便于A/D进行转换,以提高温度采集电路的可靠性。
集成温度传感器的输出形式分为电压输出和电流输出两种。电压输出型的灵敏度一般为10mV/K,温度0?时输出为0,温度25?时输出为2.982V。电流输出型的灵敏度一般为1uA/K。这样便于A/D转换器采集数据。
A/D590L的主特性参数如下:
工作电压:4~30V
工作温度:-55~+150摄氏度
正向电压:+44V
反向电压:-20V
灵敏度:1uA/K
3.2 A/D转换电路
选用89S51作为中央处理器,A/D转换器选用ADC0809,其连接电路如图4所示。
8
海南软件职业技术学院综合实训报告
图4 A/D转换电路
用单片机控制ADC时,多数采用查询和中断控制两种方式。查询法是在单片机把启动命令送到ADC之后,执行别的程序,同时对ADC状态进行查询,以检查ADC变换是否已经完成,如查询到变换已结束,则读入转换完毕的数据。中断控制是在启动信号送到ADC之后,单片机执行别的程序。当ADC转换结束并向单片机发出中断请求信号时,单片机响应中断请求,进入中断服务程序,读入转换数据,并进行必要的数据处理,然后返回到源程序。这种方法单片机无需进行转换时间管理,CPU效率高,所以特别适合于变换时间较长的ADC。本设计采用查询方式进行数据收集。
由于ADC0809片内无时钟,故利用8051提供的地址锁存使能信号ALE经D触发器二分频后获得时钟。因为ALE信号的频率是单片机时钟频率的1/6,如果时钟频率为6MHz,则ALE信号的频率为1MHz,经二分频后为500kHz,ADC0809时钟频率的典型值吻合。由于ADC0809具有三态输出锁存器,故其数据输出引脚可直接与单片机的数据总线直接相连。地址码引脚ADDA~C分别与地址总线的低3位A0、A1、A2相连,以选通IN0~IN7中的一个通道。采用单片机的P2.7(地址总线最高位A15)作为A/D的片选信号。并将A/D的ALE和START脚连在一起,以实现在锁存通道地址的同时启用ADC0809转换。启动信号由单片机的写信号WR和P2.7经或非门而产生。在读取转换结果时,用单片机的读信号RD和P2.7经或非门加工得到的正脉冲作为OE信号去打开三态输出锁存器。编写的软件按下列顺序动作,令P2.7=A15=0,并用A0,A1,A2的组合制定模拟通道的地址;执行一条输出指令,启动A/D转换;然后根据选用的查询、中断、等待延时三种方式之一的条件去执行一条输入指令,读取A/D转换结果。转换结果。
9
海南软件职业技术学院综合实训报告
3.3显示电路
利用74LS47与单片机相连,如图5所示。
图5 显示电路
进行I/O口扩充,并通过74LS47与LED连接达到显示的目的。74LS47是8位串入并出移位寄存器,当单片机串行口工作在方式0的发送状态时,串行数据由P3.0(RXD)送出,移位时钟由P3.1(PXD)送出。在移位时钟的作用下,串行口发送缓冲器的数据一位一位地移入74LS47中,需要指出的是,由于74LS47无并行输出控制器,因而在串行输入过程中,其输出端的状态会不断的变化,故在某些应用场合,在74LS47的输出端应加接输出三态控制。
其传输方式采用串行口方式0的数据传送,可采用中断方式,也可采用查询方式,无论哪种方式,都要借助于TI或RI标志。串行发送时,可以靠TI置位(发送完一帧数据后)引起中断申请,在终端服务程序中发送下一帧数据。在串行接收时,则由RI引起终端或对RI查询来确定何时来接收下一帧数据。无论采用什么方式,在开始通讯之前,都要先对控制寄存器SCON进行初始化。在方式0中i,将00H送SCON就可以了。
显示采用2位共阳极LED静态显示方式,显示内容有温度的十位、个位,这样可以用P3.0(RXD)口来输出显示数据,从而节省了单片机端口资源,在P3.1(TXD)的控制下通过74LS47来实现2位静态显示。就是每一个显示器都占用单独的具有锁存功能的I/O接口用用于笔划段字形代码。只要把显示的字形代码发送到借口电路,就不用管它了,直到要显示新的数据时,再发送新的字形代码,因此,使用这种方法单片机中CPU的利用小了。
10
海南软件职业技术学院综合实训报告 3.4驱动电路
光耦合双向可控硅驱动器是一种单片机输出与双向可控硅之间较理想的接口器件,它由输入和输出两部分组成,输入部分和为砷化镓发光二级管,该二极管在5mA~15mA正向电流作用下发出足够强度的红外光,触发输出部分。连接电路如图6所示。
图6驱动电路
输出部分为硅光敏双向可控硅,在红外线的作用下可双向导通,该器件为六引脚双列直插式封装。
光耦合器是以光为媒介传输电信号的一种“电—光—电”转换器件。它由发光源和受光器组成。把发光源和受光器组装在同意密闭的壳体内,彼此间用透明绝缘体隔离。发光源的引脚为输入端,受光器的引脚为输出端,常见的发光源为发光二级管,受光源为光敏二极管、光敏三极管等。光耦合器的种类较多,常见有光电二极管型、光电三极管型、光敏电阻型、光控晶闸管型、光电达林顿型、集成电路型等。
在光电耦合器输入端加电信号使光源发光,光的强度取决于激励电流的大小,次光照射到封装在一起的受光器上后,因为电效应而产生了光电流,由受光器输出端引出,这样就实现了“电-光-电”的转换。在光电耦合器内部,由于发光二级管和受光器之间的耦合电容很小(2pF以内),所以共模输入电压通过极间耦合电容对输出电流的影响很小,因而共模抑制比很高。
在发光二级管上提供一个偏置电流,再把电信号通过电阻耦合到发光二级管上,这样光电晶体管接收到的是在偏置电流上增、减变化的光信号,其输出电流将随输入的信号电压作线性变化。光电耦合器也可以工作于开关状态,输出脉冲信号,传输脉冲信号。在传输脉冲信号时,输入信号和输出信号之间存在一定的延迟时间,不同结构的光电耦合器输入、输出延时时间相差很大。
空调器通电后,制冷系统内制冷剂的低压蒸汽被压缩机吸收并压缩为高压蒸汽后排至冷凝器。同时轴流风扇吸入的室外空气流经冷凝器,带走制冷剂放出的热量,使高压制冷剂蒸汽凝结在高压液体。高压液体经过过滤器、节流机构后喷入蒸发器,并在相应的低压下蒸发,吸取周围的热量。同时贯流风扇空气不断进入蒸发器的肋片间进行热交换,并将放热后变冷的空气送向室内。如此室内空气不断循环流动,达到降低温度的目的。(因为实际难达到,用一个LED灯代替变化信号)。
11
海南软件职业技术学院综合实训报告
4软件设计
4.1空调温度控制系统主程序
空调温度控制系统的主程序流程图如图7所示
开始
采集温度 键盘输入设
定值
查询温度 和设定值比
较
调A/D程序 启动加/降温
调显示程序 采集温度比
较
控制, 相等,
图7 主程序流程图 主程序源程序如下:
TEMP EQU 30H ;设置的温度存在30H中,定义TEMP指向30H
AD_RD BIT P3.3 ;AD_RD=P3.3
AD_WR BIT P3.4 ;AD_WR=P3.4
AD_INTR BIT P3.5 ;AD_INTR=P3.5
SW BIT P2.0 ;SW=P2.0,SW指向按钮开关
DRIVE BIT P2.1 ;SW=P2.1,DRIVE指向压缩机控制线
ORG 0000H ;原始地址0000H
SJMP START ;跳到START
ORG 0BH ;Timer 0中断向量地址
SJMP TIM0 ;跳到TIM0
START:
MOV TMOD,#01H ;Timer 0工作在模式1下
MOV IE ,#82H ;Timer0中断使能
MOV TH0,#3CH ;计数初值载入,Timer每50ms中断一次
MOV TL0,#0B0H ;
SETB TR0 ;启动Timer0
MOV TEMP,#0FFH ;设定温度的初始值
ANL P0,#00H ;关闭七段数码管的显示
12
海南软件职业技术学院综合实训报告
MOV R4,#10 ;取显示数据计数器R0=10 AD_CONVERT:
MOV P1,#0FFH ;P1作为输入口,需要将1写入每一位中
CLR AD_WR ;WR由低电平跳为高,启动A/D转换过程
SETB AD_WR ;
CHECK_CON:
JNB SW,SET_TEMP ;判断按钮开关有没有按下
JB AD_INTR,CHECK_CON ;检查INTR位,出现低电平
明转换完成
CLR AD_RD ;RD由高电平跳为低电平,使能DB0~DB7输出
MOV A,P1 ;转换完成的数据载入ACC中
LCALL HEX_TO_DEC ;调用十六进制向十进制转换子程序
MOV P0,A ;输出至P0显示
SJMP AD_CONVERT ;循环
SET_TEMP:
LCALL DELAY ;消除抖动
JNB SW,$ ;判断按钮是否释放
LCALL DELAY ;消除抖动
CHECK_SET:
CJNE R4,#0FFH,LOAD ;是否取完数据表中的数据,取完时R0=0FH
CLR P2.2
;MOV R4,#10 ;重新载入(R0)=10
LOAD:
MOV A,R4 ;(ACC)=(R0)
MOV DPTR,#TABLE ;DPTR指向数据表
MOVC A,@A+DPTR ;显示数据载入ACC中
MOV P0,A ;从P0输出显示
MOV TEMP,A ;将数据保存在TEMP(30H)中
LCALL DELAY_D ;调用延时子程序(带按钮判读功能)
SJMP AD_CONVERT ;循环
SET_DIS:
LCALL DELAY ;消除抖动
JNB SW,$ ;判断按钮是否释放
LCALL DELAY ;消除抖动
DEC R4 ;R0减1
SJMP CHECK_SET ;跳到CHECK_SET继续
13
海南软件职业技术学院综合实训报告 TIM0: ;Timer0中断服务子程序
PUSH ACC ;ACC压栈
PUSH PSW ;PSW压栈
MOV TMOD,#01H ;Timer0计数初始值重新载入
MOV TH0,#3CH ;
CLR C ;清进位CY
MOV A,TEMP ;将TEMP中保存的数据载入ACC中
SUBB A,#29 ;(ACC)-29
JNC SHUT ;如果借位(CY)=0,表示TEMP大,即设定温度较大
CLR DRIVE ;否则说明室温高于设定温度,启动压缩机制冷 BACK:
POP PSW ;PSW弹栈
POP ACC ;ACC弹栈
RETI ;
SHUT:
SETB DRIVE ;设定温度比较大,停止压缩机工作
SJMP BACK ;跳回BACK
TABLE:
DB 20H,21H,22H,23H,24H ;显示数据表
DB 25H,26H,27H,28H,29H,30H
END
4.2 A/D转换子程序
A/D转换流程图如图8所示。
14
海南软件职业技术学院综合实训报告
A/D入口
启动A/D转换
查询EOC
读取转换数据
压缩BCD码作未压缩处理
调整好的十位和个位分别
存入某地址单元
子程序结束
图8 A/D转换流程图 A/D转换源程序如下:
HEX_TO_DEC:
MOV R3,A ;ACC的值载入计数器R3中
CLR A ;ACC清0
COUNTUP:
ADD A,#1 ; ACC加1
DA A ;十进制调整
DJNZ R3,COUNTUP ;如果R3不等于0,则ACC继续增加
RET ;直到R3=0,ACC中的数值已成为十进制
CONVERSION:
MOV R0,A ;ACC的数值保存在R0中
ANL A,#0FH ;ACC高位字节清0
ORL A,#30H ;将3填入高位字节中
15
海南软件职业技术学院综合实训报告
MOV R1,A ;保存在R1中
MOV A,R0 ;将R0数值载入ACC中
ANL A,#0F0H ;ACC低位字节清0
SWAP A ;高,低位字节转换
ORL A,#30H ;将3填入高字节中
MOV R2,A ;保存在R2中
RET ;
4.3延时子程序
DELAY_D: ;延时子程序
MOV 50H,#4FH ; DD1: MOV 51H,#0FFH ; DD2: MOV 52H,#0FFH ; DD3: JNB SW,SET_DIS ;判断按钮 开关是否按下
DJNZ 52H,DD3 ;
DJNZ 51H,DD2 ;
DJNZ 50H,DD1 ;
RET ; DELAY: ;消除抖动
MOV R5,#50 ; D1: MOV R6,#248 ;
DJNZ R6,$ ;
DJNZ R5,D1
RET
16
海南软件职业技术学院综合实训报告
结束语
作为一名应用电子专业即将毕业的学生,我觉得做此次课程设计是十分必要的。几周的课程设计终于结束了,虽然很忙碌、很疲劳,但是收获很大。这次我用单片机MCS8051作为控制器,实际了一个自动控制室内温度的空调设备。。每天的努力,唤来了我对课程设计的重新的认识,对51单片机和控制系统的深刻理解,实现了真正实践的目的。在理论学习的过程中,我只是简单地学到了一些理论知识,但是在实际的设计过程中才发现理论与实际的巨大差别。在课堂上,掌握的仅仅是专业基础课的理论,如何把我们所学到的专业基础理论知识用到实践中去呢,如何去锻炼我们的实践的一面,这次做课程设计就为我提供了一个课外学习的好平台。在此期间我阅读了大量的文献,并详细的了解了单片机8051在具体实际应用中的作用及应用技术,同时我还阅读了大量关于A/D转换器、传感器、转换电路、继电器、键盘、LED显示等的相关知识。把课本的知识运用到实际中,经过我多次努力最终完成了此次课程设计。
在次之前我也接触过相关课程设计的实验,为此次设计奠定了知识基础。在此次设计中收获最大的算是分析和解决问题的能力。懂得了怎样解决此类问题,在设计过程中形成了设计理念和设计思维。
我有如此的收获于我的带领老师的辛勤教导紧密相连,多谢臧老师谆谆教诲~
17
海南软件职业技术学院综合实训报告
致谢
能取得这次成功的突破,要感谢我的指导老师潘云霞对我的困难的帮助,给我设计思路的引导,辛勤地给予毕业论文的修改,通过老师介绍的一些资料书及相关文件,让我的毕业设计更加成功地完成。
再次,要感谢和我一起合作的郑裕初同学和陈东洁同学,一起网上订购材料中遇到的问题及相关选择材料,有了大家的帮助才能够及时买到合适的材料,其中的无奈才有得解除。
最后要感谢提供我们焊接材料及工作台的黄果老师、王宝泰,有了他们的帮助,我的实物图才能够顺利完成。
18
海南软件职业技术学院综合实训报告
参考文献
[1]杨欣,王玉凤,刘湘黔,刘延强.51单片机应用实例详解.北京:清华大学出版社,2010 [2]丁向荣,贾萍.单片机应用系统与开发技术.北京:清华大学出版社,2009.9 [3]康万新,谢维成,杨加国 .毕业设计指导及案例剖析.北京:清华大学出版社,2007.5 [4] 麦中凡,何玉洁,李烨.VB.NET编程入门 .北京:北京航空航天大学出版社,2003年2月第一版
[5] 童爱红,刘凯. VB.NET应用教程.北京: 清华大学出版社,2005年1月第一版 [6]贾萍,刘映群.单片机原理及应用学习指导与习题解答.广东:广东高等教育出版社,2008 [7] 何桥.单片机原理及应用.北京:中国铁道出版社,2004
19
海南软件职业技术学院综合实训报告
附录
附录一 空调温度控制系统程序代码
TEMP EQU 30H ;设置的温度存在30H中,定义TEMP指向30H
AD_RD BIT P3.3 ;AD_RD=P3.3
AD_WR BIT P3.4 ;AD_WR=P3.4
AD_INTR BIT P3.5 ;AD_INTR=P3.5
SW BIT P2.0 ;SW=P2.0,SW指向按钮开关
DRIVE BIT P2.1 ;SW=P2.1,DRIVE指向压缩机控制线
ORG 0000H ;原始地址0000H
SJMP START ;跳到START
ORG 0BH ;Timer 0中断向量地址
SJMP TIM0 ;跳到TIM0
START:
MOV TMOD,#01H ;Timer 0工作在模式1下
MOV IE ,#82H ;Timer0中断使能
MOV TH0,#3CH ;计数初值载入,Timer每50ms中断一次
MOV TL0,#0B0H ;
SETB TR0 ;启动Timer0
MOV TEMP,#0FFH ;设定温度的初始值
ANL P0,#00H ;关闭七段数码管的显示
MOV R4,#10 ;取显示数据计数器R0=10
AD_CONVERT:
MOV P1,#0FFH ;P1作为输入口,需要将1写入每一位中
CLR AD_WR ;WR由低电平跳为高,启动A/D转换过程
SETB AD_WR ;
CHECK_CON:
JNB SW,SET_TEMP ;判断按钮开关有没有按下
20
海南软件职业技术学院综合实训报告
JB AD_INTR,CHECK_CON ;检查INTR位,出现低电平表明转换完成
CLR AD_RD ;RD由高电平跳为低电平,使能DB0~DB7输出
MOV A,P1 ;转换完成的数据载入ACC中
LCALL HEX_TO_DEC ;调用十六进制向十进制转换子程序
MOV P0,A ;输出至P0显示
SJMP AD_CONVERT ;循环
HEX_TO_DEC:
MOV R3,A ;ACC的值载入计数器R3中
CLR A ;ACC清0
COUNTUP:
ADD A,#1 ; ACC加1
DA A ;十进制调整
DJNZ R3,COUNTUP ;如果R3不等于0,则ACC继续增加
RET ;直到R3=0,ACC中的数值已成为十进制
CONVERSION:
MOV R0,A ;ACC的数值保存在R0中
ANL A,#0FH ;ACC高位字节清0
ORL A,#30H ;将3填入高位字节中
MOV R1,A ;保存在R1中
MOV A,R0 ;将R0数值载入ACC中
ANL A,#0F0H ;ACC低位字节清0
SWAP A ;高,低位字节转换
ORL A,#30H ;将3填入高字节中
MOV R2,A ;保存在R2中
RET ;
SET_TEMP:
LCALL DELAY ;消除抖动
JNB SW,$ ;判断按钮是否释放
LCALL DELAY ;消除抖动
CHECK_SET:
21
海南软件职业技术学院综合实训报告
CJNE R4,#0FFH,LOAD ;是否取完数据表中的数据,取完时R0=0FH
CLR P2.2
;MOV R4,#10 ;重新载入(R0)=10
LOAD:
MOV A,R4 ;(ACC)=(R0)
MOV DPTR,#TABLE ;DPTR指向数据表
MOVC A,@A+DPTR ;显示数据载入ACC中
MOV P0,A ;从P0输出显示
MOV TEMP,A ;将数据保存在TEMP(30H)中
LCALL DELAY_D ;调用延时子程序(带按钮判读功能)
SJMP AD_CONVERT ;循环
SET_DIS:
LCALL DELAY ;消除抖动
JNB SW,$ ;判断按钮是否释放
LCALL DELAY ;消除抖动
DEC R4 ;R0减1
SJMP CHECK_SET ;跳到CHECK_SET继续
TIM0: ;Timer0中断服务子程序
PUSH ACC ;ACC压栈
PUSH PSW ;PSW压栈
MOV TMOD,#01H ;Timer0计数初始值重新载入
MOV TH0,#3CH ;
CLR C ;清进位CY
MOV A,TEMP ;将TEMP中保存的数据载入ACC中
SUBB A,#29 ;(ACC)-29
JNC SHUT ;如果借位(CY)=0,表示TEMP大,即设定温度较大
CLR DRIVE ;否则说明室温高于设定温度,启动压缩机制冷
BACK:
POP PSW ;PSW弹栈
POP ACC ;ACC弹栈
RETI ;
22
海南软件职业技术学院综合实训报告 SHUT:
SETB DRIVE ;设定温度比较大,停止压缩机工作
SJMP BACK ;跳回BACK
DELAY_D: ;延时子程序
MOV 50H,#4FH ; DD1: MOV 51H,#0FFH ; DD2: MOV 52H,#0FFH ; DD3: JNB SW,SET_DIS ;判断按钮 开关是否按下
DJNZ 52H,DD3 ;
DJNZ 51H,DD2 ;
DJNZ 50H,DD1 ;
RET ;
DELAY: ;消除抖动
MOV R5,#50 ; D1: MOV R6,#248 ;
DJNZ R6,$ ;
DJNZ R5,D1
RET
TABLE:
DB 20H,21H,22H,23H,24H ;显示数据表
DB 25H,26H,27H,28H,29H,30H
END
23
海南软件职业技术学院综合实训报告 附录二 空调温度控制系统电路设计图
R7470C3R6470U1U220pFR11939713XTAL1P0.0/AD0AQAU6381X1112470P0.1/AD1BQB3721112MHzR2P0.2/AD2CQCC41836610XTAL2P0.3/AD3DQD3549470P0.4/AD427.0BI/RBOQE34515R3P0.5/AD5RBIQFC23320pF314P0.6/AD6LTQG932P222RSTP0.7/AD7470VOUT74LS47R42110uFP2.0/A822P2.1/A9470233LM35P2.2/A10R52924PSENP2.3/A113025ALEP2.4/A124703126EAP2.5/A1327P2.6/A14U528P2.7/A15U3120P22R16R8CSVCC110713P33218P1.0P3.0/RXD2.5KAQARDDB0(LSB)C1211112P34317P1.1P3.1/TXDBQB470WRDB1312211416U4:AP1.2P3.2/INT0CQCR9CLK INDB2413610P35P33515P1.3P3.3/INT1DQDINTRDB3RV151449P34150pF814P1.4P3.4/T0BI/RBOQE470A GNDDB4615P3551510132P1.5P3.5/T1RBIQFD GNDDB57163149121P1.6P3.6/WRLTQGR17R10VREF/2DB681719113P1.7P3.7/RDCLK RDB7(MSB)74LS47C510k470AT89C5161nFR11VIN+411PROGRAM=..\1.HEX7VIN-TL08410K470ADC0804R1210kR13D1R15470R14100LED-RED470
24
海南软件职业技术学院综合实训报告
附录三 数码管字形编码表
显示字符 共阴极段选共阳极段选显示字符 共阴极段选共阳极段选
码 码 码 码 0 3FH C0H C 39H C6H 1 06H F9H D 5EH A1H 2 5BH A4H E 79H 86H 3 4FH B0H F 71H 84H 4 66H 99H P 73H 82H 5 6DH 92H U 3EH C1H 6 7DH 82H r 31H CEH 7 07H F8H y 6EH 91H 8 7FH 80H 8. FFH 00H 9 6FH 90H “灭” 00H FFH A 77H 88H B 7CH 83H
25