东华大学单片机课设空调遥控器
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
单片机课程设计
空调机遥控发射机
姓名:***
学号:*********
2012年6月21日——2012年7月5日
东华大学信息学院自动化系
目录:
一.项目概述 (2)
二.系统设计 (3)
三.硬件设计 (5)
四.软件设计 (11)
五.系统仿真及调试 (34)
六.结果与展望 (37)
七.参考文献 (38)
附录:硬件电路原理图 (39)
一、项目概述
空调遥控器可以用来庙宇空调机的控制温度(室内温度)、工作状态(常态、除湿、通风)、风扇风速(强、弱、中)以及定时时间(空调工作多少小时自动开机或延时多少小时自动开机)。使用者在遥控器上庙宇预期的空调机工作状态、控制温度及延时时间后,这些参数即送至空调机,空调机按要求开始工作。
该遥控器的要求如下:
(1)数字显示器:第一组显示时间,发送前指示设定的延时时间:0——9 h,发送后指示剩余的延时时间;第二组显示控制温度15——35℃。
(2)工作状态指示器3组:第一组指示设定的工作状态:常态、除湿、通风;第二组指示延时开机、延时停机、取消等三种延时要求;第三组指示空调机的三种工作速度:慢速、中速、高速。
(3)红外发射管,发射的调制频率是45 KHz。
(4)3节5号电供电。
(5)面板示意图见图。
设计以AT89C51为核心的遥控器电路,并编写相关的系统软件(汇编、C51程序均可)。
二、系统设计
i.设计思想
用两组LCD1602作为数字显示器分别显示主从机的时间和温度值,其中时间的切换利用AT89C51 内部自带的定时器,工作状态利用LED 灯的亮灭来指示,其中LED 亮代表相对应的工作模式被选中,各种工作状态的切换使用8 个独立按键来实现。
ii.方案可行性分析
数字显示器使用LCD1602 显示时间和温度值,其中时间的切换利用A T89C51 内部自带的定时器0,定时初值为3cb0,定时器工作模式为’01’16位定时器,工作状态利用LED 灯的亮灭来指示,其中LED 亮代表相对应的工作模式被选中,各种工作状态的切换使用8 个独立按键来实现,分别位‘工作状态设定键’、‘延时状态设定键’、‘风速选定键’、‘温度+键’、‘温度-键’、‘延时时间位选定键’、‘延时时间设置键’、‘发送键’;按下‘发送键’后信息的发送使用串行口的方式发送给上位机并显现出来,当延时时间到启动空调。利用串口查询的方式实现两台单片机之间通信的功能。
iii.总体方案
根据设计思想,将设计划分为四个模块:按键模块、LED状态显示模块、LCD显示模块、双机串口通信模块。
a.按键模块
按键实现各种工作状态的切换,分别为‘工作状态设定键’、‘延时状态设定键’、‘风速选定键’、‘温度+键’、‘温度-键’、‘延时时间位选定键’、‘延时时间设置键’、‘发送键’,具体说明如下图1:
图1-按键说明-
b.LED状态显示模块
工作状态利用LED 灯的亮灭来指示,其中LED 亮代表相对应的工作模式被选中,分别为‘正常’、‘除湿’、‘通风’、‘定时开’、‘定时关’、‘风速慢’、‘风速中’、‘风速高’,如下图2:
图2-LED灯状态说明-
c.LCD显示模块
用一个LCD显示模块显示主机(遥控)显示面板上的设定温度和延时时间;用另一个LCD显示模块显示从机(空调)显示面板上的温度和开关机状态。
d.双机串口通信模块
利用串口查询的方式实现两台单片机之间通信的功能,单片机 1(模拟遥控器)作为发送机,单片机2其(模拟空调)作为接收机。主机P3.0/RXD、P3.1/TXD 分别接从机的P3.1/TXD、P3.0/RXD引脚。
三、硬件设计
i.硬件电路工作原理
a.按键模块
按键实现各种工作状态的切换,分别为‘工作状态设定键’、‘延时状态设定键’、‘风速选定键’、‘温度+键’、‘温度-键’、‘延时时间位选定键’、‘延时时间设置键’、‘发送键’。硬件原理图如下图3-1:
图3-1―按键硬件原理图―
当 K1 按下时,保持 P0 高 5 位状态,按下第一次最后一位置 0,倒数第二、三位置1 按下第二次时到数第二位置0,倒数第一、三位置1,按下第三次时倒数第三位置0 ,倒数第一、二位置 1 ,依次循环,代码实现P0=(states1[i]&(P0|0x07));
当 K2 按下时,保持 P0 倒数第 1、2、3 位和正数第 1、2、3 状态按下第一次时倒数第一位亮表示延时开,按下第二次时倒数第五位亮表示延时关,按下第三次时倒数第3 、 4 位皆灭表示取消延时,依次循环,代码实现:P0=(states2[j]&(P0|0x18));
当 K3 按下时,保持 P0 低 5 位不变,按下最高两位置 1,第三位置 0,表示慢速,按下第二次时第二位置 0,第一、三位置 1,表示中速,按下第三次时第一位置 0,第一、二位置 1,依次循环,代码实现:P0=(states3[k]&(P0|0xe0));
b.LED状态显示模块
工作状态利用LED 灯的亮灭来指示,其中LED 亮代表相对应的工作模式被选中,分别为‘正常’、‘除湿’、‘通风’、‘定时开’、‘定时关’、‘风速慢’、‘风速中’、‘风速高’,硬件原理图如下图3-2-1、图3-2-2:
图3-2-1-主机(遥控)LED状态说明-
图3-2-2-从机(空调)LED状态说明-
c.LCD显示模块
用一个LCD显示模块显示主机(遥控)显示面板上的设定温度和延时时间;用另一个LCD显示模块显示从机(空调)显示面板上的温度和开关机状态。硬件原理图如图3-3-1、图3-3-2所示。
如图3-3-1-主机(遥控)LCD连接原理-