您当前的位置:五五电子网电子知识单片机-工控设备综合-其它利用单片机实现的红外线遥控系统 正文
利用单片机实现的红外线遥控系统

利用单片机实现的红外线遥控系统

点击数:7211 次   录入时间:03-04 11:56:05   整理:http://www.55dianzi.com   综合-其它

  随着科学技术的不断发展,红外线遥控器因其具有体积小、功耗低、功能强、成本低等特点正在向各个领域渗透,在家用电器、安全保卫、工业控制以及人们日常生活中广泛应用,特别是在家用电器、安全保卫和人们日常生活中的应用就更广泛了。本文给出用软件方式实现红外遥控器译码的单片机程序,所有程序都经过实际单片机系统调试通过。对于硬件电路,发射由红外线遥控器完成,而接收部分则只需要在单片机系统中添加一个红外线接收管就可完成。

  1 红外线遥控系统

  红外线遥控系统就是指利用红外线来传递控制信号,实现对控制对象的远距离控制的目的;具体来讲,就是由发射器发出红外线指令信号,由接收器接收信号并对信号进行处理,最后实现对对象的各种功能的远距离控制。红外线遥控系统一般由发射器和接收器两部分组成:发射器包括指令键、指令信号产生电路、调制电路、驱动电路及红外线发射器件;接收器由红外线接收器件(如红外线接收头)、前置放大电路解调电路、指令信号检出电路、记忆及驱动电路、执行电路等组成。红外线遥控系统按照产生和区分控制指令的方式和特征来分类,常用的有频分制和码分制红外线遥控— —频分制红外线遥控就是信号产生电路以不同频率的电信号代表不同的控制指令:码分制红外线遥控是指信号产生电路以不同的脉冲编码代表不同的指令。

  2 红外线遥控信号码

  以一款台湾PTC公司出产的PT2222—1为编码芯片的DVD遥控器为例。红外线遥控器发送红外信号,红外线接收电路接收到的红外线信号可以通过高性能数字示波器触发锁存获得。红外线波形如图1所示:

红外线波形图

图1 红外线波形图

  在平时没有接收到红外线信号时,接收器的输出电平为1;当某个键按下时。波形的开始是一个9ms的低电平0,然后是4.5ms的高电平1,接着是32个比特(4个字节)的数据,其中第一和第二字节是遥控器的地址码(对于一款已经设计好的遥控器,地址码是固定不变的),第三个字节是遥控器键值码。第四个字节是遥控器键值码的反码。其作用是用于解码后进行校验。

  NEC遥控器协议约定,当红外线遥控器发送的键值码数据为0时。波形应为如图2所示的上跳波形。

  波形总宽为1.15ms。高电平部分长度约为550us,低电平的长度约600US,波形如下图2。

键值码为0时的波形图

图2 键值码为0时的波形图

  而当红外线遥控器发送的键值码数据的数据为1时,波形是一个总宽为2.25ms的上跳波形。高电平的长度约1.6ms.低电平的长度约650us,波形如下图3。

键值码为1时的波形图

图3 键值码为1时的波形图

  很显然,0的波形长度和1波形的长度是不同的。若从波形的上升沿开始计时,当延时达到550us以后。数据“0”的电平为低电平,数据“1”的电平仍然为高电平,直到1 600us以后,才变为低电平。这就给我们留出了大约600US的“窗口”时间。换句话说,只要在监测到上升沿以后的550us到11 500us时间里进行采样,就可以使用软件的方法判断出遥控器键值码中的1和0。

  3 键值译码子程序

  上面的子程序中,为了保证数据的译码正确,在数据接收完成以后对数据进行了严格的校验,不但要校验遥控器的地址信息,还要对遥控器的键值码数据进行运算,只有当接收到的数据第三字节和第四字节相加为0xFF时才认为接收的数据正确,这保证了控制的可靠性。另外在程序中反复出现的time_ONO实际上是一个中断定时程序,其作用是防止一旦El线电平出现错误时程序进入死循环,这一点对保证程序运行的可靠性非常重要。

  4 应用

  在单片机应用系统中,只要在主程序中反复调用这个子程序,然后根据接收到的键值产生相应的控制动作就可以了。一个典型的调用程序如下,程序的功能是当接收到1键是打开一个LED,接收到2键时打开第二个LED,接收到3键时同时关闭两个LED。

      主程序如下:


本文关键字:单片机  红外线  综合-其它单片机-工控设备 - 综合-其它