1_红外解码讲解.docxVIP

  • 28
  • 0
  • 约3.85千字
  • 约 5页
  • 2021-01-29 发布于天津
  • 举报
PAGE PAGE # 红外解码一直是单片机中应用较多的,需要设备加装专用解码芯片,这就大大减轻了单片 机的负担。需要单片机样例使用延时做 红外解码,比较容易理解,但是由于在主程序中使 用,当存在许多中断时就可能造成误码,很多时候误码率较高,成品中则一般使用中断方 式。 下面通过TC9012和UPD6121芯片为例大致讲解解码原理: 先看「 一些遥控器发射波形图 上斟中发再疋已制读盟为霁H码曲 上斟中发再疋已制读盟为霁H码曲OEHr竝拥码为MH I056ms2 25ms I 056 ms 2 25ms ]:图中尽位容户码为 SQ/Sl/S2/S3/S1/Sj/56/57=Ol 1100000 E6VX认朗;咻伍⑺读教%(JEH JJOFLY 从上图可以看出4.5ms高电平+4.5ms低电平称为头码,用于识别是否遥控码开始, UPD6121的头码是9ms+4.5ms,其他的一样,一些 datasheet会提及连续发射码的波形图 (就是一直按下某一遥控器按键),这里我们不做分析,仅分析单次按键发射的正个码的波 形图。 头码过后可以看到 4个8位的数据,我们最终目的就是要把这个 32位(4x8)从一体化红 外接收头提取出来,并转换成 16进制数,用于区分不同按键按下得出的不同数值。 在遥控器发射波形中,可以看出, 8位数中的0或者1不是用高低电平表示,而是用不同 的低电平的宽度表示, 0.565ms表示0, 1.69ms表示1,2个位中间还会有一个 0.56ms的 高电平(上图阴影部分)。 这个是红外遥控器发射的波形,图中看到的阴影高电平表示载波,一般使用 38KHZ,遥控 器发射出去的含有载波的 红外信号通过一体化 红外接收头处理后得到的是含有载波的反向 的波形,也就是没有上图中的阴影部分。大致如下图 ■_ DOFLY ?? 一体化红外接收头内部集成了 选频放大(38KHZ左右频率增益最大),检波(把38KHZ的 载波滤除),放大整形(变成容易检测的矩形波)。 看到如上图波形,表示单片机引脚可以接收到的波形,我们只要通过单片机读取 波形并分析波形的宽度,然后分辨出是头码,还是 0或者1,最后整理出这组码的 16进制 组合。正确的解码结果是按同一个按键得出的 16进制数值是不变化的。通过这个原理,我 们 可 以 分 辨 出 每个 按 键 的 键 值 们 可 以 分 辨 出 每 个 按 键 的 键 值 mini80/mini80e 样例程序中使用的红外解码程序,应用了外部中断,平时从书上或者网络 上看到的解码一般是单纯解码,整个程序不做其他工作,这种方式可以使用普通 io 口,用 延时等待的方法判断接收到的是高电平还是低电平,从而判断码值。 这里使用中断方式,外部中断 0和定时器,外部中断主要用于接收 红外波形下降沿触发, 定时器用于计时(测量 2个下降沿的宽度)。由于51单片机外部中断只能用电平触发和下 降沿触发(AVR或PIC等都可以用双向边沿),所以我们选择下降沿触发。 基本原理分析如下,如接收到头码是 4.5ms低电平+4.5ms高电平,我们分析 第一个下降 沿到第二个下降沿的宽度是 9ms,我们判断这个头码可以给定一个范围,只要数据在这个 范围内则认为头码是正确的,检测头码正确后接着检测剩下的 /******************************************************************/ /* 数 32 位数值,复制一个样例:函*/void{staticex0_isr (void) interrupt 0 using0//中断staticunsigned char i; startflag;bit//// 是 否 开 始 处 理 标 志接收红外信号处if(startflag)if(irtime63irtime=33)//引导码TC9012 的头码, 9ms+4.5ms i=0;irdata=irtime;// 断是 32 位数值,复制一个样例: 函 */ void { static ex0_isr (void) interrupt 0 using 0// 中断 static unsigned char i; startflag; bit // // 是 否 开 始 处 理 标 志 接收 红外信号处 if(startflag) if(irtime63irtime=33)// 引导码 TC9012 的头码, 9ms+4.5ms i=0; irdata=irtime;// 断是 存储每个电平的持续 0 是 irtime=0; i++; if(i==33) { irok=1;/ 志位 i=0; } } else {irtime=0;startflag=1;} 0.56ms 的低

文档评论(0)

1亿VIP精品文档

相关文档