毕业论文-基于单片机的电器遥控器设计 下载本文

皖西学院2014届本科毕业设计(论文)

图 4.1 10号端口输出波形

4.1.1遥控码的发射

当控制开关被激活时,单片机读取所述第一密钥,然后根据脉冲数键值设置远程控制代码,然后调制为40KHZ的方波,通过一个红外发光二极管发射的信号。下图为15号端口发送器电路的输出调制波形:

图 4.2 15号端口输出挑吃波形

4.1.2数据帧的处理

当红外线接收端输出脉冲帧数据时,第一位码的低电平将启动中断程序,实时接收数据帧,在接收数据帧是,会对启事位码的码宽进行验证。如果第一位低

15

基于单片机的电器遥控器设计

电平码的脉冲位宽小于2ms,将其作为错误码处理。当间隔位的高电平脉冲位宽大于3ms时,结束接受,然后由累加器A中的脉冲个数,执行相应额输出口的操作,图示为红外线接收端输出一帧遥控码的波形:

图 4.3红外接收器的一帧遥控码波形

4.2程序设计

4.2.1发射端程序设计

红外端发射的初始化代码应该包含初始化T0和系统一上电运行就关闭红外输出这两步。初始化T0,使T0用作为定时器并使其处于模式一工作状态。初始化设置默认不允许开T0中断,并且也不允许启动T0。只有键盘的状态变化才能决定是否开T0中断并且启动T0。单片机上电复位时,4个并行I/O端口默认输出为高电平,所以当系统上电时必须强制P3.4引脚输出低电平使红外输出处于关闭的状态。

图示为发射端程序的流程图,首先初始化硬件系统启动程序,然后循环扫描键位。

开始硬件、程序初始化按键扫描模块

图 4.4发射程序流程

皖西学院2014届本科毕业设计(论文)

按键扫描模块:先判断按键是否被按下,如果有按键被按下则循环扫描,按照P口值查找按下的键号。最后按照键号调用发射模块,流程图如下:

按键扫描开始键值是否被按下Y逐行扫描按P值查找键位N返回将按键号传递给红外发射模块图4.5按键扫描流程

红外发射模块:首先装入发射脉冲个数(发射时3ms脉冲,停止时1ms脉冲),如果脉冲个数为1则返回主程序,反之如果不为1则发射1ms脉冲,然后停发1ms脉冲。以上为一个完整的发射过程。

在实际应用中,使用红外线遥控方式时,受到遥控距离,遥控角度等因素影响,使用的效果不是很理想。如果采用调频或者调幅发射接收码,可有效提高遥控的范围,并且屏蔽了角度的影响。

下图为红外信号的发射过程流程图:

17

基于单片机的电器遥控器设计

发射开始载入发射脉冲个数(r)发射3ms脉冲停发1msY r-1=0N返回发1ms脉冲停发1ms

图4.6发射过程流程

4.2.2接收端程序设计

遥控接受端的主程序及其初始化延迟过程如下:先初始化,然后按照显示亮度数据设定调光脉冲延时数值,看P3.0端口的脉冲数值是否为0,如果不为0则调入延迟程序,此时喷.7端口输出调光脉冲然后返回;如果为0则直接返回。 程序流程图如下: