基于mega128单片机的学习型红外遥控器设计

  • 格式:pdf
  • 大小:360.40 KB
  • 文档页数:3

下载文档原格式

  / 3
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

红外接收 模块
红外发射 模块
mega128 单片机
矩阵 键盘
数据 存储
图 1 学习型红外遥控器基本硬件结构
红外接收模块电路如图 2 所示。 红外接收芯片采用 HS0038A2, 此 芯 片 对 接 收 到 的 红 外 信 号 进 行 放 大 , 检 波 整 形 并 解 调 出 红 外 遥 控 编 码 , 得 到 TTL 电 平 , 反 相 输 入 到 mega128 的 PD0 和 PD1 口 , 即 外 部 中 断 0 和 外 部 中 断 1 口。 通过上升沿和下降沿两个边沿触发中断来控制定
( School of Mechatronics Engineering , University of Electronic Science and Technology of China , Chengdu 611731, China )
Abstract: In this paper, the design and realization of a new learning remote controller based on mega128 MCU is proposed. The operatting principle , the sofeware and hardware are simply introduced, and the realization of infrared code learning is described in detail.The controller is implemented by measuring the width of pulses.Those widths are copied and saved in EEPROM. The 38 kHz carrier is completed by software . Finally, the codes are transmitted by a transmitting LED to control household appliances.
HS0038A2
R3
C3
R4
+5 V INT0 INT1
GND 图 2 红外接收电路
《微型机与应用》 2011 年 第 30 卷 第 8 期
硬件纵横 Hardware Technique
时器的开与关,从而记录高低电平的脉冲宽度值。 红外发射模块电路如图 3 所示。 当系统进入发射功
能时,单片机首先扫描矩阵键盘,识别相应按键的按下情 况 , 然 后 从 E2PROM 中 取 出 相 应 键 值 的 遥 控 信 号 [4] , 即 通 过 学 习 后 保 存 到 E2PROM 里 的 高 低 电 平 的 宽 度 值 。 与 此 同 时 , 利 用 单 片 机 T0 定 时 器 产 生 38 kHz 的 载 波 信 号 。 最 后 将 遥 控 信 号 调 制 到 载 波 上 , 通 过 IO 口 直 接 驱 动 红 外发射二极管发射红外信号。 这里的调制完全通过软件 实现,取代了直接用与门来调制的方式,方便准确。由于 mega128 单 片 机 IO 口 的 驱 动 能 力 强 , 可 以 直 接 驱 动 二 极 管,避免了传统三极管放大后再驱动的繁琐。
硬件纵横 Hardware Technique
基于 mega128 单片机的学习型红外遥控器设计
陈天水, 秦 文, 胡天友 ( 电 子 科 技 大 学 机 械 电 子 工 程 学 院 , 四 川 成 都 611731)
摘 要 : 提 出 一 种 基 于 mega128 单 片 机 学 习 型 红 外 遥 控 器 的 设 计 与 实 现 。 对 该 遥 控 器 的 工 作 原
中 图 分 类 号 : TP368.1
文献标识码: A
文 章 编 号 : 1674-7720(2011)08-0026-03
Design of a learning infrared remote controller based on mega128
Chen Tianshui, Qin Wen, Hu Tianyou
实验中用格力的一台柜式空调进行试验。 图 7 是接
欢 迎 网 上 投 稿 www.pcachina.com 27
硬件纵横 Hardware Technique
初始化
是否要发低 电平宽度?
Y 启动定时 0
N 停止定时 0
N
是否已经发送
完毕?
Y
返回
图 6 发射子程序
收 波 形 , 图 8 是 还 没 有 经 过 38 kHz 调 制 的 发 射 波 形 。 比 较两个波形可以看出,接收和发射的波形高低电平持续 时间相同,只是波形正好相反,原因是在接收芯片里有 一 个 反 相 过 程 。 此 时 , 只 需 将 38 kHz 的 波 形 调 制 到 波 形 里,再通过红外发光二极管发射出去,即可对空调进行 控制。 把空调遥控器上的所有功能键都尝试过一次,都 可以对空调进行控制。
《微型机与应用》 2011 年 第 30 卷 第 8 期
范围内都可以对红外设备进行控制。 学习程序的主要思 路是通过边沿触发中断来控制定时器的开和关,从而测 出 高 低 脉 冲 宽 度 。 mega128 单 片 机 的 外 部 中 断 0 和 1 口 的中断方式分别设置为下降沿和上升沿触发中断。 当没 有接收到红外信号时,外部中 断 0、1 口都 为高 ,此时程 序等待红外信号的到来。 当红外到达时,下降沿触发中 断,学习程序跳到下降沿中断服务程序。 在中断服务程 序里,停止定时器 3,保存其寄存器的值并清零,最后启 动定时器 1,这样开始测量低电平。 当高电平到来时,上 升沿触发中断,程序跳到上升沿中断服务程序里,此时 停止定时器 1,保存其寄存器的值并清零,最后启动定 时器 3,高电平开始测量。 当下一个低电平到来时,程序 又跳到下降沿中断服务程序,重复上面的工作。这样,高 低电平的测量就在两个边沿触发中断服务程序里面来 回跳转。 最后一次跳入边沿触发中断服务程序时,一旦 产生定时器溢出, 则程序跳入定时器溢出中断服务程 序,只要设定一个标志位,让程序跳回主程序即可。 到 此,红外编码学习完毕,只需把学习到的编码宽度值存 入 E2PROM 即 可 。 如 图 5 所 示 。
与 应 用 [ M ] . 北 京 : 北 京 航 空 航 天 出 版 社 , 2002 . ( 收 稿 日 期 : 2010- 12- 30)
作者简介: 陈 天 水 , 男 , 1986 年 生 , 硕 士 研 究 生 , 主 要 研 究 方 向 : 光
伏 发 电 系 统 , DC / DC 电 源 模 块 。 兰 鸿 雁 , 男 , 1986 年 生 , 硕 士 研 究 生 , 主 要 研 究 方 向 : 三
Key words: mega128; learning remote controller; measuring the width of pulses
红外遥控是一种无线、 非接触控制技术, 具有抗干 扰能力强、信息传输可靠、功耗低、成本低、易实现等显 著优点,被诸多电子设备特别是家用电器广泛采用。 随 着人们生活水平的提高, 家用电器的数量逐渐增加,使 用红外遥控器的频率越来越高。但是由于各种红外遥控 器 编 码 格 式 不 同 [1], 所 以 各 种 红 外 遥 控 器 不 能 兼 容 , 这 样一个家庭就需要很多个遥控器,很不方便。
理、软硬件进行介绍,并对红外编码学习的实现过程进行详细描述。 该学习型红外遥控器是通过测量
脉 冲 宽 度 的 方 法 来 复 制 红 外 脉 冲 信 号 并 进 行 保 存 , 以 软 件 形 式 实 现 38 kHz 载 波 , 最 后 通 过 红 外 发 射
二级管发送红外编码来控制家用电器。
关 键 词 : mega128; 学 习 型 红 外 遥 控 器 ; 测 量 脉 冲 宽 度
计 [ J ] . 国 外 电 子 测 量 技 术 , 2006 , 25( 8) :63- 65. [3] 徐志,何明华,林武,等.一类基于软件载波的学习型遥
控 器 的 设 计 与 实 现 [ J ] . 现 代 电 子 技 术 , 2009 ( 2 ) : 36 - 38 . [ 4 ] 耿 德 根 , 宋 建 国 , 马 潮 , 等 . AVR 高 速 嵌 入 式 单 片 机 原 理
PD0 , PD1 为高电平
是否有红外 信号到达?
Y 进入中断 服务函数
停止 定时器 3
N 保存定时器 3 寄存器的值
停止 定时器 1
保存定时器 1 寄存器的值
定时器 3 寄存器清零
定时器 1 寄存器清零
返回
启动定时器 1
启动定时器 3
图 5 学习子程序及中断服务程序
2.3 发射子程序 发射程序是把已经学习到的红外编码发射出去控
本文所设计的学习型红外遥控器可以准确地测量
并学习红外编码信号,将所学的信号复制,保存并通过 红外发射二极管发射,可以控制红外家用设备。 不同类 型的红外遥控器,各种编码格式都可以对其进行学习并 对电器进行稳定控制。 参考文献 [1] 邱士安.通用遥控器的解决方案[J].昆明理工大学学报,
2001 ( 26 ) : 197 - 199 . [2] 芦健,彭军,颜自勇,等.自学习智能型红外遥控器的设
开始
Biblioteka Baidu
系统初始化
键盘扫描
学习键按下? Y
功能键盘识别
学习子程序
写 入 E2PROM
N
N 发射键按下?
Y 功能键盘识别
读 E2PROM
发射子程序
图 4 主程序
2.2 学习子程序 学习程序的功能是对红外遥控编码的学习,即对高
低脉冲宽度的测量。 当中一定会存在一定误差,不可能 毫无误差地复制出被测的红外编码。 不过,由于所有的 红外设备在接收端都允许一定的误差,只要保证在误差
2 系统软件设计 2.1 主程序设计
系统上电后不断扫描键盘, 当检测到学习键按下 时,调入学习子程序,对相应功能键的遥控编码进行学 习 并 写 入 E2PROM ; 当 发 射 键 按 下 时 , 先 识 别 按 下 的 功 能 键 , 然 后 从 E2PROM 中 读 出 相 应 的 已 经 学 习 到 的 红 外 遥 控编码,然后通过发射程序发射出去。 如图 4 所示。
制 红 外 设 备 。 首 先 要 根 据 所 按 下 键 来 找 到 E2PROM 相 应 的红外编码。 这里是通过红外接收芯片接收到的红外编 码经过一个反相器,所以发射时要把原来的高低电平翻 转一下。 红外发射程序的思想是通过两个定时器的配合 来 调 制 出 38 kHz 的 红 外 信 号 。 定 时 器 0 产 生 38 kHz 的 载波信号,用已经学习到的低电平宽度来确定定时器 0 的定时长度。 当发送低电平时,启动定时器 0;发送高电 平时,停止定时器 0。 如此就能发送一个与接收到的红 外 编 码 反 相 并 且 高 电 平 是 经 过 38 kHz 载 波 调 制 过 的 红 外遥控信号,这个信号就是普通遥控器发送出去用来控 制红外设备的信号。 如图 6 所示。 3 实验测试
学 习 型 红 外 遥 控 器 由 以 下 几 个 模 块 组 成[3]:单 片 机 、 红外接收模块、红外发射模块和矩阵键盘,如图 1 所示。
26
系 统 采 用 8 MHz 晶 振 , 直 接 采 用 mega128 内 部 E2PROM 来 存 储 红 外 遥 控 编 码 , 其 容 量 为 4 KB 。
目前国内学习型遥控器大部分采用复制遥控器红 外波形的思想,方法很多。 但是由于采用专用遥控发射 芯片,集成度高但成本也高。
本 文 介 绍 一 种 基 于 mega128 单 片 机 的 具 有 学 习 型 的 红外遥控器的设计,其思想是通过测量经过红外接收芯 片 解 调 后 输 出 的 编 码 脉 冲 宽 度 [2], 然 后 存 入 单 片 机 内 部 eeprom 指 定 地 址 。 当 要 发 生 红 外 信 号 时 , 从 存 储 区 还 原 出 相 应 的 红 外 遥 控 编 码 , 并 调 制 到 38 kHz 的 载 波 信 号 上,最后直接驱动红外发光二极管发射红外信号,实现 一个遥控器控制多种红外家电设备。 1 学习型红外遥控器基本硬件结构