基于51单片机的空调温度控制设计_第1页
基于51单片机的空调温度控制设计_第2页
基于51单片机的空调温度控制设计_第3页
基于51单片机的空调温度控制设计_第4页
基于51单片机的空调温度控制设计_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于 MCS-51 单片机的空调智能温控器的设计与开发 摘要 本控制电路是以 8051 单片机为控制核心。整个系统硬件部分包括温度采样电 路,自激式 A/D 转换器,按键电路,驱动电路,时序电路,和 8 段译码器,LED 数码 显示器。在配合用汇编语言编制的程序使软件实现,实现空调温度智能转换的基本功 能。本控制电路成本低廉,功能实用,操作简便,有一定的实用价值。 本文从 3 个方面展开论述,首先是硬件电路的描述;接着软件部分的设计;最后实现 功能。 关键词 8051 单片机 温度控制 LED 数码显示 一 系统总体设计方案 1.1 课题背景 电子技术的发展,特别是随着大规模集成电路的产生,给人们的生活带来了根本 性的变化,如果说微型计算机的出现使现代的科学研究得到了质的飞跃,那么单片机 技术的出现则是给现代工业控制测控领域带来了一次新的革命。目前,单片机在工业 控制系统诸多领域得到了极为广泛的应用。特别是其中的 C51 系列的单片机的出现, 具有更好的稳定性,更快和更准确的运算精度,推动了工业生产,影响着人们的工作 和学习。 在现代社会中,温度控制不仅应用在工厂生产方面,其作用也体现到了各个方面, 随着人们生活质量的提高,酒店厂房及家庭生活中都会见到温度控制的影子,温度控 制将更好的服务于社会.而今,空调等家用电器随着生产技术的发展和生活水平的提 高越来越普及,一个简单,稳定的温度控制系统能更好的适应市场。 而本次设计就是要通过以 MCS-51 系列单片机为控制核心,实现空调机温度控制 器的设计。 方案一 通过温度传感器对空气进行温度采集,将采集到的温度信号传输给单片机,再由 单片机控制显示器,并比较采集温度与设定温度是否一致,然后驱动空调机的加热或 降温循环对空气进行处理,从而模拟实现空调温度控制单元的工作情况。空调温控器 主要单片机,时序电路,温度采样电路,A/D 转换电路,温度显示电路,温度输入电 路,驱动电路等组成。系统原理图见图 1 所示: 80518 段 译码 器 8 段 译码 器 数码 管 数码 管 按键 电路 驱动 电路 A/D 转 换电 路 时钟 图 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)DB0DB7 是输入信号。 (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。通常由 MCS51 单片机 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 转换结果输出端 DB0DB7 与 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)等于器件所处环境的热力学温度(开尔文)度数;即: 式中: /1Ir T (1) Ir流过器件(AD590)的电流,单位为 mA;T热力学温度,单位为 K。 (2)AD590 的测温范围为-55+150; (3) AD590 的电源电压范围为 4V30V; 2.3.2 温度采样工作原理 因为 AD590 是将温度转换为电流,而单片机对电压信号更好测量,所以要将电 流转化为电压,同时对电压信号进行放大后输入 A/D 转换 ADC0801 的 VI-端口。 电流转化为电压表达式如下: 0rf UI R (2) 由反相比例运算放大电路,根据“虚断” , “虚短” ,集成运放净输入电压为零, 净输入电流为零,净输入电流为零等推算出表达式为: 0 (1/) If VRR U (3) 最后由(1),(2),(3)得到: (1/) Iff VRR TR (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 所示 图 3.1 主程序流程图 开始 系统初始化 Y 启动定时器 启动 A/D 转换 设置温度要设置温度吗? 是否完成 A/D 转换? 读入 A/D 转换结果 显示处理 Y N Y N 保护现场 重装定时初值 设定温度测量温度?令压缩机工作 令压缩机停止工作 中断返回 Y N 图 3.2 定时器中断服务子程序 图 3.2 中断服务程序流程图 3.3 程序内容编写 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; 启动 A/D 转换 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; 将 A 的内容和 Cy 左移一位,显 示准备 MOV R2,A; MOV A,20H; 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-10 循环计数 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 SET0: LCALL DELAY; JNB P2.1,$; 等待按键操作 LCALL DELAY; 消除按键抖动 A2: CJNE R0,#0FFH,A1; MOV R0,#14; 延时 A1: MOV A,R0; MOV DPTR,#TABLE ; 数据指针指向表头 MOVC A,A+DPTR; 查表 MOV P1,A; MOV 24H,A; MOV R5,#4FH; D4: MOV R7,#0FFH D2: MOV R6,#0FFH D1: JNB P2.1,SET1; 有按键按下 转 SET1 DJNZ R6,D1 DJNZ R7,D2 DJNZ R5,D4 JMP START; SET1: LCALL DELAY; JNB P2.1,$; 等待按键操作 LCALL DELAY; 消除抖动 DEC R0; JMP A2; TIM0: PUSH ACC; 保护现场 PUSH PSW MOV TH0,#HIGH (65536 - 50000); 重装定时初值 MOV TL0,#LOW (65536 -50000) 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 2 调试过程及现象调试过程及现象 系统的调试依程序调试为主。 硬件调试比较简单,首先检查电路的焊接是否正确,然后可用万用表或通电建 测。软件调试可以先编写显示程序并进行那个硬件的正确检验,然后分别进行主程序 盒子程序的编程和功能调试。对于显示子程序,是首当其冲的,只需要能将所要显示 的内容全部显示,并且显示在恰当的位置,如果不能显示准确,就有可能导致后面程 序很难写出。在调试过程中由于对现实的地址把握不准导致显示覆盖并且错误的现象。 预置温度程序就看能不能正确的调动温度,智能控制就看在实测温度和预置温 度大小比较时和电压出现不稳定情况时,能不能正确的控制制冷设备工作和保护制冷 设备。延时开启程序就看在制冷设备启动前是否有相应的一段时间间隔。如若不能正 常进行,再返回程序设计原理和 C 语言的语法、数据转换规则仔细推理程序是否写错。 五、设计总结五、设计总结 空调的发明和使用给人们的生活和工作带来了很大的便利。而空调的发展由原来 的手动控制逐渐向智能控制发展,现在市场上很多的空调都已经实现了智能控制。空 调的核心就是温度控制系统,温度控制系统的核心就是单片机。单片机因为成本低, 功能稳定,而大量应用于各个领域。本论文用 MCS-51 系列的 8051 单片机做成空调温 度控制器,通过温度采集,A/D 转换,CPU 控制,然后通过数码管显示等一系列硬件 功能和软件功能,共同完成温度的智能控制。由于 MCS-51 单片机技术成熟,应用广 泛,而且比其他单片机简单,通过此单片机做成的空调温度控制器成本低廉,操作简 便,有一定的实用性。但由于本人知识不全面和能力

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论