单片机课设空调机遥控发射机.docx
《单片机课设空调机遥控发射机.docx》由会员分享,可在线阅读,更多相关《单片机课设空调机遥控发射机.docx(54页珍藏版)》请在沃文网上搜索。
1、目录:一.项目概述2二.系统设计3三.硬件设计5四.软件设计11五.系统仿真及调试34六.结果与展望37七.参考文献38附录:硬件电路原理图39一、 项目概述空调遥控器可以用来庙宇空调机的控制温度(室内温度)、工作状态(常态、除湿、通风)、风扇风速(强、弱、中)以及定时时间(空调工作多少小时自动开机或延时多少小时自动开机)。使用者在遥控器上庙宇预期的空调机工作状态、控制温度及延时时间后,这些参数即送至空调机,空调机按要求开始工作。该遥控器的要求如下:(1) 数字显示器:第一组显示时间,发送前指示设定的延时时间:09 h,发送后指示剩余的延时时间;第二组显示控制温度1535。(2) 工作状态指示
2、器3组:第一组指示设定的工作状态:常态、除湿、通风;第二组指示延时开机、延时停机、取消等三种延时要求;第三组指示空调机的三种工作速度:慢速、中速、高速。(3)红外发射管,发射的调制频率是45 KHz。(4)3节5号电供电。(5)面板示意图见图。设计以AT89C51为核心的遥控器电路,并编写相关的系统软件(汇编、C51程序均可)。二、 系统设计i. 设计思想用两组LCD1602作为数字显示器分别显示主从机的时间和温度值,其中时间的切换利用AT89C51 内部自带的定时器,工作状态利用 LED 灯的亮灭来指示,其中 LED 亮代表相对应的工作模式被选中,各种工作状态的切换使用 8 个独立按键来实现
3、。ii. 方案可行性分析数字显示器使用 LCD1602 显示时间和温度值,其中时间的切换利用AT89C51 内部自带的定时器 0,定时初值为 3cb0,定时器工作模式为0116位定时器,工作状态利用 LED 灯的亮灭来指示,其中 LED 亮代表相对应的工作模式被选中,各种工作状态的切换使用 8 个独立按键来实现,分别位工作状态设定键、 延时状态设定键、 风速选定键、 温度+键、 温度-键、 延时时间位选定键、延时时间设置键、发送键;按下发送键后信息的发送使用串行口的方式发送给上位机并显现出来,当延时时间到启动空调。利用串口查询的方式实现两台单片机之间通信的功能。iii. 总体方案根据设计思想,
4、将设计划分为四个模块:按键模块、LED状态显示模块、LCD显示模块、双机串口通信模块。按键模块按键实现各种工作状态的切换,分别为工作状态设定键、 延时状态设定键、 风速选定键、 温度+键、 温度-键、 延时时间位选定键、延时时间设置键、发送键,具体说明如下图:K1 工作状态设定键(常态、除湿、通风)K2 延时状态设定键(延时开、延时关、取消)K3 风速选定键(慢、中、快)K4 温度设定键(增加+) K5 温度设定键(减少-) K6 延时时间位选定键(XXXXXX)K7 延时时间设置键(默认为循环增加)K8 发送键图按键说明LED状态显示模块工作状态利用 LED 灯的亮灭来指示,其中 LED 亮
5、代表相对应的工作模式被选中,分别为正常、 除湿、 通风、 定时开、 定时关、 风速慢、风速中、风速高,如下图:D1 正常D2 除湿D3 通风D4 延时开(如果 D4/D5 两灯全灭则取消延时)D5 延时关D6 慢D7 中D8 高图LED灯状态说明LCD显示模块用一个LCD显示模块显示主机(遥控)显示面板上的设定温度和延时时间;用另一个LCD显示模块显示从机(空调)显示面板上的温度和开关机状态。双机串口通信模块利用串口查询的方式实现两台单片机之间通信的功能,单片机 1(模拟遥控器)作为发送机,单片机其(模拟空调)作为接收机。 主机P3.0/RXD、P3.1/TXD 分别接从机的 P3.1/TXD
6、、P3.0/RXD引脚。三、 硬件设计i. 硬件电路工作原理按键模块按键实现各种工作状态的切换,分别为工作状态设定键、 延时状态设定键、 风速选定键、 温度+键、 温度-键、 延时时间位选定键、延时时间设置键、发送键。硬件原理图如下图:图按键硬件原理图当 K1 按下时,保持 P0 高 5 位状态,按下第一次最后一位置 0,倒数第二、三 位置 1 按下第二次时到数第二位置 0,倒数第一、三位置 1,按下第三次时倒数 第 三 位 置 0 , 倒 数 第 一 、 二 位 置 1 , 依 次 循 环 , 代 码 实 现P0=(states1i&(P0|0x07); 当 K2 按下时,保持 P0 倒数第
7、 1、2、3 位和正数第 1、2、3 状态按下第一次时倒数第一位亮表示延时开,按下第二次时倒数第五位亮表示延时关,按下第三次 时 倒 数 第 3 、 4 位 皆 灭 表 示 取 消 延 时 , 依 次 循 环 , 代 码 实 现 : P0=(states2j&(P0|0x18); 当 K3 按下时,保持 P0 低 5 位不变,按下最高两位置 1,第三位置 0,表示慢 速,按下第二次时第二位置 0,第一、三位置 1,表示中速,按下第三次时第一 位置 0,第一、二位置 1,依次循环,代码实现:P0=(states3k&(P0|0xe0);LED状态显示模块工作状态利用 LED 灯的亮灭来指示,其中
8、 LED 亮代表相对应的工作模式被选中,分别为正常、 除湿、 通风、 定时开、 定时关、 风速慢、风速中、风速高,硬件原理图如下图、图:图主机(遥控)LED状态说明图从机(空调)LED状态说明LCD显示模块用一个LCD显示模块显示主机(遥控)显示面板上的设定温度和延时时间;用另一个LCD显示模块显示从机(空调)显示面板上的温度和开关机状态。硬件原理图如图、图所示。如图主机(遥控)LCD连接原理如图从机(空调)LCD连接原理双机串口通信模块利用串口查询的方式实现两台单片机之间通信的功能,单片机 1(模拟遥控器)作为发送机,单片机其(模拟空调)作为接收机。 主机P3.0/RXD、P3.1/TXD
9、分别接从机的 P3.1/TXD、P3.0/RXD引脚。硬件原题图如图。如图双机串口通信连接原理总硬件原理图将各个模块连接得如下图所示的总体硬件连接原理图。如图总电路ii. 参数计算延时开关空调中,时间的切换利用AT89C51 内部自带的定时器 0,定时器工作模式为01为16位定时器设定为,的晶振为,为个机器周期,定时值为,定时初值为-所以定时初值为 发送机和接收机串口采用方式 1,8 位 UART,波特率可变,其中 T1 的采用方式 3(8 位自填装模式),选用常用串口的波特率 2400bits,计数初值为由波特率溢出率得定时值-波特率-所以计数初值为 四、 软件设计i. 软件设计思想主机从机
10、均实现单片机对LCD的控制,故将LCD的定义放在同一个文件中,在主机从机的主函数中使用外部声明函数进行引用。LCD初始化子程序void initLCM( void)进行清屏,打开显示屏; LCD延时子程序void delay_LCM(uint)实现延时K*1ms,12.000mhz;LCD检测忙子程序void lcd_wait(void) 实现LCD内部等待;写指令到LCD子函数void WriteCommandLCM(uchar WCLCM,uchar BusyC)使LCD进入写模式 ;写数据到LCD子函数void WriteDataLCM(uchar WDLCM)使LCD进入写模式; 显示
11、指定坐标的一个字符子函数void DisplayOneChar(uchar X,uchar Y,uchar DData)实现显示指定坐标的一个字符; 显示指定坐标的一串字符子函数void DisplayListChar(uchar X,uchar Y, unsigned char *DData) 实现显示指定坐标的一串字符子;主机程序中,进行LCD初始化后,通过死循环while()不断扫描各按键状态,获取各状态,直至扫描到发送键K被按下,则发送已获取的数据。从机采用串口查询方式接收主机发送过来的数据,当单片机的RI信号有效时,从机进行清楚中断标志后开始接收主机发送来的数据。 ii. 程序流程图
12、主机(遥控)发送如图、图:图流程图:图流程图 从机(空调)接收流程图如图:图从机接收程序流程图iii. 程序清单LCD定义文件:#include #include #include #include #define uchar unsigned char#define uint unsigned int#define BUSY 0x80 /lcd忙检测标志#define DATAPORT P2 /定义P0口为LCD通讯端口sbit LCM_RS=P33; /数据/命令端sbit LCM_RW=P34;/读/写选择端sbit LCM_EN=P35;/使能信号 void delay_LCM(uin
13、t); /LCD延时子程序void lcd_wait(void); /LCD检测忙子程序void WriteCommandLCM(uchar WCLCM,uchar BusyC); /写指令到ICM子函数void WriteDataLCM(uchar WDLCM); /写数据到LCM子函数void DisplayOneChar(uchar X,uchar Y,uchar DData); /显示指定坐标的一个字符子函数void initLCM( void); /LCD初始化子程序void DisplayListChar(uchar X,uchar Y, unsigned char *DData)
14、; /显示指定坐标的一串字符子函数/*延时K*1ms,12.000mhz*/void delay_LCM(uint k) uint i,j; for(i=0;ik;i+) for(j=0;j0)mx+=0x40; /若y为1(显示第二行),地址码+0X40 mx+=0x80; /指令码为地址码+0X80 WriteCommandLCM(mx,0); WriteDataLCM(DData);/*显示指定坐标的一串字符子函数*/void DisplayListChar(uchar X,uchar Y, unsigned char *DData) uchar i=0,n; Y&=0x01; X&=0
15、x0f;n=strlen(DData); while(in) DisplayOneChar(X,Y,DDatai); i+; X+; 主机控制程序:#include#include#define uchar unsigned charstates13=0xfe,0xfd,0xfb;states23=0xf7,0xef,0xff;states33=0xdf,0xbf,0x7f;unsigned char inittempreture12=tempreture:;unsigned char inittime5=time:;unsigned char tempreture10=0123456789;
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 空调机 遥控 发射机
