空调控制系统设计

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

设计要求[2]:

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单片机[1]最小化应用设计,采用共阳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 主控芯片

2.11 AT89C52单片机

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允许程序存储器在系统可编程,亦适于常规编程器。

2.12 8255A芯片

与CPU的接口电路由数据总线缓冲器和读/写控制逻辑组成。

数据总线缓冲器是一个三态、双向、8位寄存器,8条数据线D7~D0与系统数据总线连接,构成CPU与8255A之间信息传送的通道,CPU通过执行输出指令向8255A写入控制命令或往外设传送数据,通过执行输入指令读取外设输入的数据。读/写控制逻辑电路用来接收CPU系统总线的读信号RD,写信号WR,片选择信号CS,端口选择信号A1,A0和复位信号RESET,用于控制8255A内部寄存器的读/写操作和复位操作。

2.13 内部控制逻辑电路

内部控制逻辑包括A组控制与B组控制两部分[3]。

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

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

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接口资源,把键排列成矩阵形式,这样可以更合理地利用硬件资源。键盘只简单地提供按键开关的行列矩阵。有关按键的识别、键码的确定与输入、去抖动等功能均由软件完成[4]。

识别键盘上哪个键被压下的过程的扫描步骤:

(1).检测是否所有键都都松开了,若没有则反复检测。

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

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

(4).对压下的键进行编码,将该键的行列信号转换成16 进制码,由此确定哪个键被压下了。如出现多键重按的情况,只有在其它键均释放后,仅剩一个键闭合时,才把此键当作本次压下的键。

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

相关文档
最新文档