裴德凤
摘 要 根据HS0038的性能,结合瑞萨M37544单片机,本文介绍红外遥控系统的工作原理及空调器红外遥控通讯协议,给出红外遥控接收系统的硬件电路,重点阐述通过查询方式完成程序编写的方法,该种控制方式具有可靠性高、成本低的特点,在单片机控制系统中可以广泛的应用。
关键词 单片机 红外遥控 空调 查询方式
中图分类号:TP368.1 文献标识码:A
0引言
红外遥控是目前使用很广泛的一种通信和遥控技术,由于红外遥控装置具有体积小,功耗低,功能强、成本低等特点,因而,在家用电器产品及工业设备中得到广泛采用,本文以家用空调为例,阐述如何通过M37544单片机来实现遥控器解码功能。
1红外遥控系统简介
红外遥控系统有发射和接收两大部分组成,发射部分包括键盘矩阵,编码调制,LED红外发送器。接收部分包括光、电转换放大器、解调、解码电路。如图1所示。
2空调系统遥控接收通讯协议
本文所介绍的空调使用的遥控器引导码格式为:先发3ms高电平、再发3ms低电平,再发3ms高电平,再发4.5ms低电平,引导码格式如图2所示:
数据码格式如图3所示,数据“1”格式为发1.2 ms 低电平,数据“0”格式为发0.56ms低电平,间隔码为0.56ms高电平。
上述由引导码和“0”,“1”组成的数据码经38KHZ载频进行二次调制以提高发射效率,达到降低电源功耗的目的,然后再通过红外发射二极管产生红外线向空间发射。
遥控器先发送引导码,紧跟其后再发送8个字节数据,共64位。在64位二进制数据中,包含空调运行所有状态,包括开关机、运行模式、风速、风摆、睡眠、定时等信息,其具体通讯协议如下表1所示:
3硬件电路的设计
接收部分采用一体化接收头HS0038,该器件集红外线接收、放大、解调,还原成同步格式相同,但高低电位刚好相反的脉冲信号,输出TTL电平,再送给单片机,经单片机解码并执行,控制相应的控制对象。
在单片机的接收电路中,通常会用单片机外部中断口进行接收,由于本控制器采用M37544单片机作为控制核心,该芯片有两个外部中断口,在系统中分别用来作为电源过零检测和风机反馈脉冲输入端口,所以遥控接收只能使用普通的I/O端口,其接收头的输出端口直接接到MCU的P1.4端口,通过软件测量P1.4端口的高低电平时间,从而判断接收的是“0”还是“1”。硬件电路如图4所示:
4查询法接收程序设计
在接收程序中先判断引导码格式是否有误,如果有一段引导码不符合规定的长度,则本次接收无效,程序返回,只有在引导码正确无误的基础上,再来判断数据码,接收数据码时,通过指令的执行时间来判断代码的长度,当接收的高电平持续时间大于1 ms时,认为该位为数据“1”,当持续时间小于1 ms时,认为该位为数据为“0”,当连续接收8位后,保存该字节数据,用同样的方法继续接收其余数据,直到8个字节数据全部接收完毕。
当8个字节数据全部接收完毕,判断特征码是否正确,如果正确则将遥控接收标志位(QZFLAG.0)置1,在处理程序中处理相关信息,如不正确,则将遥控接收标志(QZFLAG.0)清0,本次接收无效,程序不再处理接收信息。
遥控接收程序流程如图5。
因该程序代码较长,给出程序编写伪码如图6所示。
在具体测试遥控接收端口p1.4为低电平的持续时间程序片段如下图7所示。该程序通过指令的循环执行,不停累加寄存器R0的值,直至P1.4端口的状态发生变化,累加结束,然后根据R0寄存器的值和指令执行时间,计算P1.4端口持续低电平的时间;在测试p1.4端口为高电平时的持续时间与上述方法相同。
5结束语
经试验测试,上述遥控接收方式没有出现丢码现象,接收数据准确无误,该种方式成本低、可靠性,編程简单,不必占用单片机外部中断端口,可以在单片机控制系统中广泛使用。
参考文献
[1] 聂诗良,李磊民.采用单片机发送并接收红外遥控信号的方法[J].信息技术,2004,28(02).
[2] 李宝营,赵永生,祁建广.基于单片机的红外遥控系统设计[J].机电工程技术,2008,37(12) :77-79.