ST20P18单片机应用于通用家电无线遥控设备
通用遥控器的软件设计
开机后,先进行初始化,包括对单片机的初始化、LCD的初始化和其他模块的初始化。出于省电的考虑在40s内若没有键按下,让单片机的LCD控制器进入空闲模式。用“for”循环来计时,并设计初值为零。随后开始40s计时,若在此期间有键按下,则进入中断服务程序,若40s内无键按下,则单片机的 LCD控制器进入空闲模式。若在空闲中有键被按下,单片机被唤醒,执行中断服务程序。由于单片机的LCD控制器被中断唤醒执行完中断程序返回后,单片机会接着执行把单片机的LCD控制器置为空闲模式的那条指令的下一条指令,因此在把单片机的LCD控制器置为空闲模式的指令后再有一个循环来计时,由于中断返回前,重设计数初值为零,所以会重新开始5s的计时。在这40s内,若无键按下, 则单片机的LCD控制器又进入空闲模式。程序流程图如图4所示。
![](../img/eep/emb/emb-20001awv41x1405v.jpg)
图4 软件设计流程
通信协议
1 编码字的格式
能实现编码功能的逻辑电路称为编码器。每一种遥控编码芯片都有一种特定的编码格式。我们把传送一位二进制数0或者1的时间作为一个时间单位T,编码信号的频率为F=1/T。这里用的是种比较常用的编码格式,每一帧由步码、地址码和数据码组成,同步码用在一帧的开始,是一帧的识别标志,宽度为8T;地址码20(A0—A19),宽度为20T;数据码4位(D0-D3),宽度为4T, 一帧占据的总时间是32T。
对应于每一种状态,编码芯片内部能够生成一种特殊的编码,这种编码也是由“1”和“0”组成,但并不是简单的用高电平代表“1”,用低电平代表 “0”,而是用高电平与低电平宽度比例的不同来区分“1”和“0”,也就是所谓的占空比。为了提高此编码传输串行信号的可靠性,故此编码采用一个周期的占空比为1/4的脉冲表示0,占空比为3/4的脉冲表示1,同步信号用一个占空比为1/32的脉冲表示,如图5所示。
![](../img/eep/emb/emb-20002nc1gkau0pyl.jpg)
图5 信号占空比
2 协议设计
通常遥控信号的发射,就是将某个按键所对应的控制指令和信息码(由0和1组成的序列),调制在32~56kHz范围内的载波上,然后经放大、驱动无线发射电路将信号发射出去。
如表1所示,各部分码的作用:引导码用来通知接收器其后为遥控数据。地址码用来区分是哪一机型的数据,接收端据此来判断后续的数据是否为本机必须执行的指令。信息码用来区分是哪一个键被按下,接收端接受信息码的数据并据此做出应该执行什么动作的判断。信息码也包括在持续按键时发送的连续码。它告知接收端,某键是在被连续地按着。结束码用来通知接收器一帧数据发送完毕。
![](../img/eep/emb/emb-20003yjjppvqtqgz.jpg)
遥控数据传输系统的关键是数据传输的可靠性。为了提高编码的可靠性,本协议规定地址码后接着传送一个反码,供误码校验使用。每一位的信息码后接着传送一个奇偶校验位也是用来作为误码校验使用。
结束语
本设计的创新在于提出了通用家电遥控设备的设计方案,根据实际的要求能够控制多个家用电器,睡眠模式实现低功耗,且成本低于其他同类产品。经过实际运行测量,该无线传输系统工作稳定,穿透能力强,功耗低(当在空闲模式下,电路中电流小于10μA)能够很好的实现相应设计要求的功能。
无线 遥控 设备 家电 通用 单片机 应用 ST20P18 相关文章:
- linux下Intel 3945ABG 安装无线网卡驱动(06-25)
- 蓝牙无线耳机设计及VxWorks移植方法(07-21)
- 嵌入式U盘读写器接口技术和系统设计(04-26)
- 利用优化的DSP加快无线基础设施的设计(06-03)
- DSP与PC机的无线交换调制模块设计(09-17)
- 无线动物识别和跟踪管理系统的设计(02-14)