TC9148、HS9148、SC9148、BL9148解码

1、红外简介

红外遥控系统一般由红外发射装置和红外接收设备两大部分组成。
红外发射装置又可由键盘电路、 红外编码芯片组成。
红外接收设备可由红外接收电路、红外解码芯片、电源和应用电路组成。

通常为了使信号能更好的被传输发送端将基带二进制信号调制为脉冲串信号,通过红外发射管发射。常用的有通过脉冲宽度来实现信号调制的脉宽调制(PWM)和通过脉冲串之间的时间间隔来实现信号调制的脉时调制(PPM)两种方法。

在同一个遥控电路中通常要使用实现不同的遥控功能或区分不同的机器类型, 这样就要求信号按一定的编码传送,编码则会由编码芯片或电路完成。对应于编码芯片通常会有相配对的解码芯片或包含解码模块的应用芯片。
在没有解码芯片的情况下,只有知道编码方式,才能制定相应的解码方案。

2、9148红外编码介绍


图2.1

图2.2
由图2.1和图2.2可以看出9148发送的红外编码分两种,一种为单发码,一种为连发码(注:“a”为时间系数,由9148红外编码器的工作频率决定,”a”的计算公式为

a=1fosc∗192(sec)a = \frac{1}{fosc}*192(sec)

一般来说Fosc为455KHz)。

红外传送的一帧数据由图2.3所示

图2.3

从图2.3可以看出红外传送的一帧数据由用户码、连续/单发码、按键码组成。用户码、连续/单发码、按键码皆由遥控器的硬件决定。

图2.4为红外数据的位定义

图2.4

图2.5为示波器采集到的2帧数据

图2.5
可以从图2.5中看出这2帧数据是一致的(由于硬件的原因红外接收的波形与红外发送的波形是相反的)。
示波器采集到的数据为110110010000(2进制)。

3、解码思路

当单片机检测到红外接收引脚下降沿的时候,开启定时器,当红外接收引脚变成高电平的时候关闭定时器并计算低电平的时间(现在的单片机可以通过定时器的捕获功能来实现)。
流程如图3.1所示

Created with Raphaël 2.1.0红外接收引脚出现下降沿开启定时器定时器计时红外接收引脚出现高电平?关闭定时器,并计算低电平时间yesno

图3.1

接收完一位数据之后就可以判断此次接收的数据了。若低电平保持的时间在300us~600us的范围内则接收到“0”,若低电平保持的时间在1100us~1400us的范围内则接收到“1”,若低电平保持的时间在其他的范围则视为此次接收的数据为无效数据。
详细的检测流程如图3.2所示

图3.2

接收完12位数据之后需要再接收一遍数据防止数据接收不正确。

4、总结

红外解码的工作已经完成,但是解码的程序还是存在一些可能导致解码失败的问题。例如在计算红外接收引脚的低电平的时间的时候并没有做超时处理,如果因为其他原因导致红外接收引脚一直为低电平,那么它将永远等待红外接收引脚出现高电平。
最后感谢那些在我无助时帮助过我的人。

HS9148红外遥控解码相关推荐

  1. 基于FPGA的红外遥控解码与PC串口通信

    基于FPGA的红外遥控解码与PC串口通信 zouxy09@qq.com http://blog.csdn.net/zouxy09 这是我的<电子设计EDA>的课程设计作业(呵呵,这个月都拿 ...

  2. 万能遥控程序c语言,51单片机万能红外遥控解码程序

    51hei单片机论坛里流传的遥控解码程序现在都弱爆了根本解不了现在的遥控自己写个万能红外遥控解码 本程序中需要用的头文件下载:http://www.51hei.com/mcu/2564.html // ...

  3. 基于51单片机+红外遥控解码+LCD1602显示

    红外遥控解码(NEC) 基本介绍 什么是红外线? 红外线系统的组成 发射管和接收管 红外遥控发射(载波频率) 重要介绍 NEC协议 数据格式(必看) 位定义(必看) 编写程序思路(2种) 方式一 方式 ...

  4. HT6221红外遥控解码设计

    项目名称 HT6221红外遥控解码设计 具体要求 接收红外按键的数据在ISSP上观察 设计说明 下图为红外遥控器及按键图.红外接收头有三个引脚,电源.地和信号输出. HT6221芯片的红外遥控发送数据 ...

  5. arduino 的红外遥控解码

    测试发现   遥控器的角度不一样  或者有反射  导致解析的码也不一样 程序 /** IRrecvDemo-LED* =====================功能说明================ ...

  6. MS8006单片机开发IR红外遥控解码原理与程序实现(NEC)

    目录 一.红外遥控概述 二.红外编码规则 三.硬件实现 四.软件部分 1.软件实现原理 2.红外解码程序说明 3.高低位逆转算法说明 4.key_switch遥控按键指令识别函数说明 五.总结 一.红 ...

  7. c语言红外解码程序,[转载]红外遥控和C语言51红外遥控解码程序设计实例

    什么是红外线?人的眼睛能看到的可见光按波长从长到短排列,依次为红.橙.黄.绿.青.蓝.紫.其中红光的波长范围为0.62-0.76μm:比红光波长还长的光叫红外线.红外遥控在生产和生活中应用越来越广泛, ...

  8. 学习型红外遥控器设计(3) 红外遥控解码学习

    学习型红外遥控器设计(0) 摘要   (1) 绪论  (2) 方案设计   (3) 遥控解码   (4) 编码还原  (5) 硬件实现   (6) 总结展望 如方案设计所述,制作红外接收解码装置,该装 ...

  9. 实战篇:基于HT6221的红外遥控解码实现

    本次主要实现红外遥控解码模块的实现,红外模块发送端采用的是HT6221的编码芯片,而在接收端由于红外对管,生成的正好是与发送端电平相反的信号.要实现解码模块程序编写,需先知道协议的过程以及编码的格式, ...

最新文章

  1. 是vans_你知道VANS有哪些好鞋不贵系列?
  2. Correlated Topic model 的Gibbs sampling
  3. PHP对数组的高级遍历和操作处理方法
  4. c语言课程设计--拼图游戏,C语言课程设计_拼图游戏.pdf
  5. SQL0286N 找不到页大小至少为 8192、许可使用授权标识 db2inst 的缺省表空间。...
  6. property中的strong 、weak、copy 、assign 、retain 、unsafe_unretained 与autoreleasing区别和作用详解...
  7. 初学Python选什么版本?
  8. 算法竞赛入门经典(刘汝佳)——基础篇心得
  9. 概述无线传感网的MAC协议
  10. Windows NT各版本对应关系
  11. 设置定时器,持续调用接口
  12. 用文字,把这支笔卖给我
  13. css3之[2D转化,动画,3D转化] 彩蛋之3D立方体
  14. 如何理解科技巨头争相涌入的车路协同?
  15. matlab 实现 garch 模型波动率估计
  16. 基于CAN总线的汽车诊断协议UDS的开发重点
  17. 每天30分钟 一起来学习爬虫——day15(数据存储 之 Redis)
  18. 什么是远程线程注入?
  19. 面试官:我用这10个问题,淘汰了80%的Java面试者......
  20. Oracle 12c 在AIX和HP-UX Itanium 的bug

热门文章

  1. 深入研究 CSS 文本换行
  2. 名片识别信息分类python_基于Python的名片识别接口调用代码实例.doc
  3. 在Cmakelist中添加opencv遇到的问题
  4. K-Means聚类make_moons数据
  5. 哆啦安全|知识星球上线啦(优惠券活动即将到期)
  6. PHP 表单处理和用户输入
  7. 三层交换机DHCP服务器/DHCP中继互联配置详述
  8. Linux强制结束进程
  9. Linux nm查看库中包含那些函数
  10. .nwt+core+2.0+mysql_Centos7 系统下搭建.NET Core2.0+Nginx+Supervisor+Mysql环境