AVR 单片机捕获中断实现红外线解码摘要:AVR 单片机是 Atmel 公司推出的一个单片机系列。由于该系列单片机的集成度高,因此,其软/硬件设计都变得更加简洁。文中介绍通过 AVR 单片机的捕获中断来实现红外线通讯解码的一种方法。 关键词:AVR;红外线解码;输入捕获中断1 红外线编码红外线编码是数据传输和家用电器遥控常用的一种通讯方法,其实质是一种脉宽调制的串行通讯。家电遥控中常用的红外线编码电路有 μPD6121G 型HT622 型和 7461 型等。本文就以这些电路的编码格式来讨论怎样使用 AVR单片机的捕获中断功能来实现其解码。红外线通讯的发送部分主要是把待发送的数据转换成一定格式的脉冲,然后驱动红外发光管向外发送数据。接收部分则是完成红外线的接收、放大、解调,还原成同步发射格式一样(但高、低电位刚好相反的脉冲信号。这些工作通常由一体化的接收头来完成,主要输出 TTL 兼容电平。最后通过解码把脉冲信号转换成数据,从而实现数据的传输。图 1 是一个红外线遥控制系统的原理框图。图 2 示出该红外遥控系统的编码格式。图中,μPD6121G 遥控器的二进制“0”由 0.56ms 的间隔加 0.565ms 的脉冲表示;二进制“1”由 0.56ms 的间隔加 1.685ms 的脉冲表示。每次发送的 32 二进制码可分成两部分,其中前16 位是遥控器辨识码,主要用于区别不同遥控器,后 16 位是操作码。这两个部分的后 8 位都是前 8 位的反码,用作数据校验。每帧数据以 9ms 的间隔加4.5ms 的脉冲作为数据头。2 AVR 单片机AVR 系列单片机是 Atmel 公司于 1997 年推出的一款全新配置的、采纳精简指令(RISC-Redued Instruction Set CPU)结构的新型 8 位单片机。由于 AVR 单片机采纳单指令操作,所以,在一样时钟的情况下,AVR 的指令周期只有 8051 型机的 1/2,而且 AVR 采纳两极指令流水线,可以在执行当前指令的同时猎取下一条指令,所以具备 1MI/s/MHz 的调整处理能力。不同于8051 型机的是 AVR 采纳 32 个通用工作寄存器,克有了单一累加器数据处理带来的瓶劲现象,从而使得指令代码更加灵活,编码更容易。此外,AVR 中还集成了 A/D、PWM、EEPROM、FLASH、SPI、WTD、IIC、T/C 等功能,使外围电路变得很简单。3 基于 AVR 单片机的硬件实现本文以 AVR 系列中高性价比的 Atmage8 为例,利用 16 位时钟单元 T/C1的捕获中断来实现红外线解码。T/C1 内部的输入捕获单元可以应用于精...