通用遥控器的软件设计
开机后,先进行初始化,包括对单片机的初始化、LCD的初始化和其他模块的初始化。出于省电的考虑在40s内若没有键按下,让单片机的LCD控制器进入空闲模式。用“for”循环来计时,并设计初值为零。随后开始40s计时,若在此期间有键按下,则进入中断服务程序,若40s内无键按下,则单片机的LCD控制器进入空闲模式。若在空闲中有键被按下,单片机被唤醒,执行中断服务程序。由于单片机的LCD控制器被中断唤醒执行完中断程序返回后,单片机会接着执行把单片机的LCD控制器置为空闲模式的那条指令的下一条指令,因此在把单片机的LCD控制器置为空闲模式的指令后再有一个循环来计时,由于中断返回前,重设计数初值为零,所以会重新开始5s的计时。在这40s内,若无键按下,则单片机的LCD控制器又进入空闲模式。程序流程图如图4所示。
图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所示。
图5 信号占空比
关于我们 | 广告服务 | 会员服务 | 媒体报道 | 营销方案 | 成功案例 | 招聘服务 | 加入我们 | 网站地图 | 在线帮助 | 联系我们 |
京ICP证080169号京ICP备09003304号-2京公网安备11010502034458号电子公告服务专项备案
网络文化经营许可证 [2019] 5229-579号广播电视节目制作经营许可证 (京) 字第13229号出版物经营许可证新出发京批字第直200384号人力资源服务许可证1101052014340号
Copyright © 2022 Bjx.com.cn All Rights Reserved. 北京火山动力网络技术有限公司 版权所有