找回密码
 注册会员
更新自动建库工具PCB Footprint Expert 2024.04 Pro / Library Expert 破解版

[嵌入式/ARM] 红外遥控器解码软件设计及应用

[复制链接]
admin 发表于 2013-3-24 05:39:33 | 显示全部楼层 |阅读模式

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有账号?注册会员

×
摘  要: 传统的红外遥控器解码,需要预知发射端红外编码格式,不同的编码格式软件不通用,可移植性差。通过对遥控器红外信号的采集、分析,提出基于AT87C52单片机外部中断,利用HS0038红外线接收器的红外遥控器的解码软件的设计及其应用,可以在不掌握遥控器的编码格式的情况下,破译每个键的红外编码,进而将其扩展为单片机的键盘系统。其程序通用性好,装置集成化高,可以方便地应用于其他红外遥控接收装置。
关键词: 单片机;外部中断;红外遥控器;解码;键盘
    红外遥控器是一种无线的、非接触控制装置,具有抗干扰能力强、信息传输可靠、功耗低、成本低的特点,广泛应用于日常生活和工业中[1]。由于不同公司生产的遥控器编码码制往往不同,通常不可移植。考虑到C语言与汇编语言相比具有书写方便易于开发等特点,本文设计了一种简单的红外线接收电路,通过C语言软件设计,实现对万用遥控器的解码,可以方便地应用于其他红外遥控设备。
1 系统的实现
1.1 红外信号的构成

 红外通信主要由发射和接收两部分组成。发射端将待发送的二进制信号编码成一系列脉冲串信号,通过红外发射管发送。接收端接收信号的同时,对红外信号进行放大、检波、整形后得到TTL电平编码,送入单片机处理[2]。红外发射二极管发送的信号是频率为38 kHz的间断脉冲串,相当于用二进制信号的编码乘以频率为38 kHz的脉冲信号得到的间断脉冲串。如图1所示,A是二进制信号的编码波形,B是频率为38 kHz周期为26 μs的连续脉冲串,C是经调制后的间断脉冲串(相当于C=A×B),用于红外发射二极管发送的波形。图1中,待发送的二进制数据为101。
1.2 红外发射接收部分设计
 本文采用的红外遥控器共6个键,分别是开关、震动、气泡、定时、加温、减温。接收的部分选用HS0038红外接收探头,接收频率为38 kHz、周期为26 μs的红外信号。HS0038是黑色环氧树脂封装,不受日光、荧光灯等光源干扰,内附磁屏蔽,功耗低,灵敏度高。在用小功率发射管发射信号的情况下,其接收距离可达35 m;它能与TTL、CMOS电路兼容;HS0038为直立侧面收光型,同时能对信号进行放大、检波、整形得到TTL电平的编码信号。3个管脚分别是地、+5 V电源、解调信号输出端。
 红外解码电路如图2所示,当HS0038接收到红外信号时,输出端输出脉冲,触发三极管导通,发光二极管通电发光[3],这样可以直观地看到发射、接收部分是否正常工作。输出端接AT87C52单片机的T0口,下降沿触发T0计数器计数[4]。
    2012110705101343723240.gif
   2 解码方案
 单片机T0口接收到脉冲下降沿后,T0计数器计数,下一次下降沿触发计数器停止,并把结果存在预先设置好的数组中。数组里面的数字代表一个信号的长短。虽然不同厂商的红外遥控器编码形制不同,但在所有的编码中,0、1信号只有长度的区别。根据这个原理,对采集到的信号组进行分析,定义长的信号为1,短的信号为0。反复实验就得到各个按键的编码,破解后的遥控器可以用作单片机的扩展键盘。图3为解码程序主流程图。
    2012110705101346848241.gif
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

QQ|手机版|MCU资讯论坛 ( 京ICP备18035221号-2 )|网站地图

GMT+8, 2024-12-25 13:46 , Processed in 0.059215 second(s), 10 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表