利用AVR(M8)的输入捕获(ICP)对万能红外线遥控器进行解码 本 实 例 程 序 为 自 创 , 若 转 载 请 注 明 出 处 , 谢 谢 ! 小 弟 不 久 前 买 了 一 个 科 朗 公 司 出 版 的 万 能 电 视 遥 控 器 RM-2008,用 作 对 设 备的 红 外 遥 控 , 折 腾 了 几 天 , 今 天 终 于 弄 清 楚 了 如 何 对 该 遥 控 器 进 行 解 码 , 很 开 心 ,所 以 把 成 果 与 各 位 大 虾 分 享 , 有 什 么 错 误 的 地 方 请 指 正 。 万 能 遥 控 器 在 使 用 前 一 般 要 进 行 设 置 , 针 对 RM-2008这 款 万 能 遥 控 , 设 置 方 法如 下 : 先 按 住 “设 置 ”键 不 放 , 再 按 下 “电 源 ”( “开 /关 ”) 键 , 工 作 指 示 灯 亮 起 , 然 后 释 放两 键 , 在 此 时 进 入 代 码 输 入 状 态, 依次键 入 0 0 0 指 示 灯 熄灭, 设 置 成 功! 说明 一 下 : 0 0 0 编码 是日立公 司 初期的 红 外 编码 方 式, 也就是网上到处 都通用的 红 外 编码 方 式( 如 下 图) , 另外 本 程 序 只能 对 此 编码 进 行 解 码 数据头的 时 间: Th=9+4.5=13.5ms 数据“0”的 时 间: T0=0.565+0.56=1.125ms 数据“1”的 时 间: T1=1.685+0.56=2.245ms 本 程 序 通 过 使 用 输 入 捕 获 功 能 ( ICP) 捕 捉 红 外 信 号 的 高 电 平 脉 宽 , 达 到 解 码 的目 的 ; 如 果 捕 获 到 的 脉 宽 是 4.5ms 则 表 示 此 信 号 为 同 步 码 , 如 果 捕 获 到 的 脉 宽是 1.685ms 的 话 则 表 示 “1” 否 则 表 示 “0” 测 试 电 路 如 下: 使 用 DNW 串口调试 软件时的 效果 /////////////////////////////////只 有 一个文件 main.c/////////////////////////////////// #include
#include #include #include #include #include /*----------------------遥控操作值--------------------*/ // key code (hex) #define Key_1 0x01 #define Key_2 0x02 #define Key_3 0x03...