《电子技术应用》
您所在的位置:首页 > 嵌入式技术 > 设计应用 > 单片机在红外遥控技术中的应用
单片机在红外遥控技术中的应用
摘要: 本文提出了一种利用单片机实现红外遥控的方法,即用某种编码芯片组成的发射电路发射编码,而将红外预接收电路预处理后的编码信号直接送入单片机中进行解码处理。
Abstract:
Key words :

引言

  红外遥控技术因其性能稳定、结构简单、技术成熟等优点而在工业控制、仪器仪表、家电等领域中得到了广泛的应用。一般通常使用专用的配对编、解码芯片,组成红外发射和接收电路,完成对设备或电器的远动控制。图1所示为按此方法进行红外遥控的一般工作过程。

 

  使用专用的配对编、解码芯片来组成红外发射电路和红外接收电路,在控制路数较少时矛盾并不突出。但是当控制路数较多时,其接口的设计和实现就显得比较繁琐;此外因为编、解码芯片通常是专用配对使用的,即某种解码芯片只能识别某种编码芯片的编码,对其他型号的编码芯片的编码则不能识别。因此,不同的编、解码芯片几乎没有互换性。

  本文提出了一种利用单片机实现红外遥控的方法,即用某种编码芯片组成的发射电路发射编码,而将红外预接收电路预处理后的编码信号直接送入单片机中进行解码处理。

  1 工作原理

  通常,红外编码芯片可发出不同脉宽的脉冲组成的脉冲序列,最为常见的脉冲载波频率有38和36kHz,其脉冲序列组成如图2所示。图中,引导段和同步段对于相同的编码芯片是相同的,即9ms低电平和4.5ms高电平;地址段为两个字节数据,第二个字节是第一个字节的反码,针对不同的遥控器,其编码也不相同;数据段也是两个字节组成,第二个字节是第一个字节的反码,对于不同的按键,数据段会不相同,按键的识别也正是根据数据段来判定。

 

  在对脉冲序列的解码中,最主要的就是对0和1的判定,以38kHz的载波频率为例,其0为0.56ms的低电平和0.56ms的高电平组成,1为1.68ms的高电平和0.56ms的低电平组成。因而,准确地定时在解码中至关重要,利用单片机的中断系统和定时器可方便准确地实现这一功能。

  2 实施方案

  本设计采用由HOLTEK公司生产的212位编码芯片HT12C和MCS51系列的8051单片机

  提出了一种实现红外遥控技术的方案,即:

  (1)由编码电路根据按键发出不同的编码,由红外接收电路接收,经放大、整形、反相后送入外部中断0(INT0)引脚。

  (2)每输入一个数位引起一次中断,在中断处理程序中测量该数位的脉宽。

  (3)记录代表该数位的TH0值,存入数位暂存表中。

  (4)当存入一个完整的编码以后,用查表的方法找出代表0的TH0值。

  (5)用该数位的位置值作为特征值,在散转处理程序中找出相应的处理功能。

2.1 硬件实施方案

  根据编码芯片HT12C的信号形式和8051单片机的中断系统和定时器的工作原理,设计了利用8051单片机实现红外遥控技术的硬件线路示意图如图3所示。

 2.2 编码及解码软件设计

  在MCS51系列单片机中,其内置计数器T0,T1可以受门控位GAte的控制而进行定时计数。

  当门控位GATE=1时,T0或T1的计数受INT0(对T0)和INT1(对T1)控制,即当TR0或TR1被置1,T0或T1被允许计数时,在INT0或INT1=0时T0或T1并不马上开始工作,仅当INT0或INT1状态由低变高时T0或T1才开始计数[2]。利用T0和T1的这一特性即可实现对脉宽的计量,本设计中正是通过将定时器0设置为受门控位控制的方法来测量脉宽,采用了汇编语言来编制相应的实现接收编、解码程序,设计流程如图4和图5所示。

 

 

  3 结语

  本文提出了一种用单片机直接对红外遥控信号进行解码的方案,一方面,简化了单片机系统的输入接口电路,只使用了P3口的一根位线,因而节省了硬件的开销;另一方面,由于采用软件解码,只要知道编码的格式,就可作相应的处理,很大程度上改善了编码器和解码器的互换性,在使用和设计上增加了更大的灵活性。此外,由于充分利用了单片机的内部资源,使整个应用系统结构更为紧凑,从而降低了系统的设计和实施的成本。


 

此内容为AET网站原创,未经授权禁止转载。