当前位置:文档之家› 智能空调控制系统设计

智能空调控制系统设计

摘要近年来随着科技的飞速发展,单片机的应用正在不断地走向深入,同时带动传统控制检测日新月益更新。

在实时检测和自动控制的单片机应用系统中,单片机往往是作为一个核心部件来使用,仅单片机方面知识是不够的,还应根据具体硬件结构,以及针对具体应用对象特点的软件结合,加以完善。

本系统采用单片机STC89C52为中心器件来设计智能空调控制系统,系统实用性强、操作简单、扩展性强。

他能给人们的生产和生活带来方便,可以节约能源,广泛应用于家庭、车站、办公室和其它室内场所。

关键词:STC89C52;数码管;智能空调控制;串口传输目录设计要求: (1)1 方案设计与比较论证 (1)1.1方案一 (1)1.2方案二 (1)1.3方案对比与选择 (2)2 系统硬件电路设计 (2)2.1主控芯片 (3)2.2键盘电路的设计 (5)2.3 显示电路 (6)3 系统程序设计 (6)3.1主程序 (6)3.2键盘扫描子程序 (7)3.3显示子程序 (8)3.4串口中断服务程序 (8)4 调试及性能分析 (9)4.1 硬件调试 (9)4.2 软件调试 (9)5 总结与致谢 (9)6 参考文献 (11)7 附录一系统电路原理图 (12)8 附录二:系统电路PCB图 (13)9 附录四系统程序 (14)设计要求:1、设置自动、制冷、加热和换气四种模式,通过一个模式按键进行模式切换2、设置2个按键,分别用来增加或减少温度值的设置3、能实现温度设定,最高温度限制为30℃,最低温度限制为16℃,温度调整范围为1℃4、可通过电脑进行远程设置(串口实现)1方案设计与比较论证1.1方案一利用89C52的P1,P2两个口的16个引脚实现16个按键的独立式键盘的线路的连接。

16个按键经上拉电阻拉高后,分别接到单片机的P1口和P2口的8条I/O 线上。

在无键按下情况下,这16各引脚线上输入均为高电平,当有键按下时,与被按键相连的I/O线将得到低电平输入,其他位按键的输入线上仍维持高电平输入。

16个控制16种不同的声音。

这种方案简单易控制,但缺点是占用太多的I/O 口。

1.2方案二利用可编程并行口8255芯片的PC口的8个引脚,即低4位作为回送线,高4位作为扫描线,来实现4*4矩阵式键盘的线路的连接,并且可以通过三极管来驱动数码管显示键码值,同时89C52可以控制发光二极管的控制。

这种键盘适合采用动态扫描的方式进行识别,即如果采用低电平扫描,回送线必须被上拉为高电平;如果采用高电平扫描,则回送线需被下拉为低电平。

这样使用一个8位I/O口(行、列各用4位)即可完成控制。

这种方案优点是使用较少的I/O口线可以实现对较多的键的控制。

1.3方案对比与选择经过对比分析,便于更多的扩展空间,需要更多闲置的I/O口,所以我们选择了方案2,以更少的I/O口实现更多键盘控制。

下图为硬件系统整体设计框图:图1 硬件系统总体设计框图2系统硬件电路设计该电路采用AT89C52单片机最小化应用设计,采用共阳7段LED数码管显示,8255芯片扩展I/O口,6个数码管位选端连接8255的PA口,段码输入端并联接入PB口;4*4矩阵键盘8根线接PC口:行线接PC.0~PC.3,列线(扫描线)接入PC.4~PC.7。

在4*4矩阵键盘设计中,8255PA口输出数码管显示位选,PB口输入显示段码数据;显示部分中,PC高四位作扫描线,低四位作回送线。

为提供共阳LED数码管列扫描驱动电压,用三极管9012作电源驱动输出。

2.1主控芯片AT89C52是美国Atmel公司生产的低电压、高性能CMOS 8位单片机,片内含8KB的可反复檫写的程序存储器和12B的随机存取数据存储器(RAM),器件采用Atmel公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内配置通用8位中央处理器(CPU)和Flash存储单元,功能强大的AT89C52单片机可灵活应用于各种控制领域。

其主要工作特性是:片内程序存储器内含8KB的Flash程序存储器,可擦写寿命为1000次;片内数据存储器内含256字节的RAM;具有32根可编程I/O口线;具有3个可编程定时器;中断系统是具有8个中断源、6个中断矢量、2个级优先权的中断结构;串行口是具有一个全双工的可编程串行通信,来构成单片机的最小电路。

AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。

使用Atmel 公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。

片上Flash允许程序存储器在系统可编程,亦适于常规编程器。

8255A芯片(1)与CPU的接口电路与CPU的接口电路由数据总线缓冲器和读/写控制逻辑组成。

数据总线缓冲器是一个三态、双向、8位寄存器,8条数据线D7~D0与系统数据总线连接,构成CPU与8255A之间信息传送的通道,CPU通过执行输出指令向8255A 写入控制命令或往外设传送数据,通过执行输入指令读取外设输入的数据。

读/写控制逻辑电路用来接收CPU系统总线的读信号RD,写信号WR,片选择信号CS,端口选择信号A1,A0和复位信号RESET,用于控制8255A内部寄存器的读/写操作和复位操作。

(2)内部控制逻辑电路内部控制逻辑包括A组控制与B组控制两部分。

A组控制寄存器用来控制A口PA7~PA0和C口的高4位PC7~PC4;B组控制寄存器用来控制B口PB7~PB0和C口的低4位PC3~PC0。

它们接收CPU发送来的控制命令,对A, B, C 3个端口的输入/输出方式进行控制。

(3)输入/输出接口电路8255A片内有A, B, C 3个8位并行端口,A口和B口分别有1个8位的数据输出锁存/缓冲器和1个8位数据输入锁存器,C口有1个8位数据输出锁存/缓冲器和1个8位数据输入缓冲器,用于存放CPU与外部设备交换的数据。

对于8255A的3个数据端口和1个控制端口,数据端口既可以写入数据又可以读出数据,控制端口只能写入命令而不能读出,读/写控制信号(RD,WR)和端口选择信号(CS, A1和A0)的状态组合可以实现A, B, C 3个端口和控制端口的读/写操作。

图2 AT89C52芯片引脚图图 3 8255A芯片引脚图2.2键盘电路的设计整个系统按键包括加减温度键(+、-)、电源开关以及模式切换键(model),共4个键。

为了节约微处理器的I/O接口资源,把键排列成矩阵形式,这样可以更合理地利用硬件资源。

键盘只简单地提供按键开关的行列矩阵。

有关按键的识别、键码的确定与输入、去抖动等功能均由软件完成。

识别键盘上哪个键被压下的过程的扫描步骤:(1).检测是否所有键都都松开了,若没有则反复检测。

(2).但所有键都松开了,再检测是否有键压下,若无键一下则反复检测。

(3).如有键压下,要消除键抖动,确认有键压下。

(4).对压下的键进行编码,将该键的行列信号转换成16 进制码,由此确定哪个键被压下了。

如出现多键重按的情况,只有在其它键均释放后,仅剩一个键闭合时,才把此键当作本次压下的键。

(5).该键释放后,再回到2。

图4 键盘电路2.3显示电路动态显示中,任意时刻虽只有一位显示器被点亮,但当一个循环周期小于人的视觉暂留时间时,看上去与全部显示器持续点亮的效果相同。

从而提高数码管的利用效率,所以采用LED动态显示接口技术。

设计要求显示空调工作模式(英文)和温度(16~30),所以需6个LED数码管。

图5 显示电路3系统程序设计3.1主程序主程序包括初始化部分和循环部分,循环调用显示子程序、扫键子程序、及控制键判断模块,且有串口中断时响应串口中断服务程序。

当有控制键按下或发生串口中断时,根据键值或传送值转入相应控制功能子程序,主程序执行流程图如图:图6 主程序流程图3.2键盘扫描子程序在硬件基础上,采用扫描法来确定键值。

将PC口高四位(扫描线)依次置高,分别读低四位(回送线),然后与键码数组keytab[ ]中的值比较,以此确定按键的值。

键值作为函数返回值返回。

在本系统设计里,我们只需4个按键,故键盘扫描比较简单,只需扫描列线中的一列就可以判断按键值。

功能键包括加减温度键(+、-)、电源开关以及模式切换键(model),共4个键。

加减温度键对应键值分别为0/4,电源开关键/工作模式键键值分别为12/8。

键盘扫描子程序流程图如图7.图7键盘扫描子程序流程图图8显示子程序流程图3.3 显示子程序采用动态扫描法显示。

在初始化模块中定义一个显示缓冲区(6个字节),存放要显示的数字或字符,创建一个数据表,存放相关数字和字符的显示段码。

显示时,先取显示缓冲区中的数字,在段码查询表中查得对应的显示段码从依次PB 口输出,而PA 依次对相应数码管选中供电,不断循环,只要1S 内每个数码管能被点亮50次以上,就能稳定显示数组a[]中所有数据。

显示程序流本系统设计中要显示的内容为:模式+温度。

模式包括自动、制冷、加热、换气四种,分别用英文单词简写AU (auto )、 CO (cool )、HO (hot )、CH (change )表示。

温度范围为16~30.3.4 串口中断服务程序串口中断程序负责接收控制端PC 的控制信号,类似遥控器控制,不过条件限制,这里采用USB 线传输控制信号。

具体控制信号为加/减键,对应信号值为1/2, 模式1、模式2、模式3、模式4的控制信号值分别为3、4、5、6.当一个控制信号(16进制1~6控制端发送完毕,产生接收中断,接收标志RI置1,转入串口中断服务程序:先利用堆栈保护现场,然后从接收缓冲寄存器SBUF读取控制信号,接下来再恢复现场,返回。

4调试及性能分析4.1硬件调试硬件调试时可先检查印制板及焊接的质量情况,在检查无误后可通电检查LED 显示的点亮状况。

若亮度不理想,可以调节P0的电阻大小,一般情况下取下200欧电阻即可获得满意的效果。

实验室制作时,可结合示波器测试晶振P0,P2端口的波形情况进行综合硬件测试分析。

4.2软件调试软件调试在keil c51编译器下进行,源程序编译及仿真调试以子程序为单位逐个进行。

调试点主要为键盘去抖时间,去抖时间太长,会导致按键丢失,太短又会造成多次读键。

经过调试,我们的键盘去抖时间定为200ms。

5总结与致谢在这次智能空调控制系统设计的过程中,我学到了很多东西,特别是手能力,这是我们以前没有的锻炼机会。

我们将以前学过的知识总结在一起,经过我们长时间的设计及调试,本系统基本能实现自动、制冷、加热和换气四种模式,通过一个模式按键进行模式切换我的综合设计主要涉及硬件和软件两方面的内容,通过这些我的硬件和软件开发能力都获得了提高。

首先硬件方面,基本了解了电子产品的开发流程和所要做的工作。

基本掌握了Protel99SE原理图的方法,并设计了一个单片机最小系统。

相关主题