SAA3010T红外解码

一、数据格式:

SAA3010使用RC-5编码,有2位起始位(11)、1位控制位(X)、5位系统码(00000)、6位指令码(XXXXXX)。一帧数据共占14位,在第一次按下遥控按键后芯片要经过16位的防抖时间和2位扫描时间才会发送一帧数据,发送的信号被调制在37.91KHz

 

 

二、位定义:

SAA3010的位传送方式有采用双相位,位10的相伴正好相反。

 

(英文数据手册是1.778ms ????)

 

 

三、红外一体化接收头:

红外一体化接收头集接收、放大、解调于一体。

 

四、电路图:

 

 

五、波形解码:

红外一体化接收没接收到遥控器输出的38KHz红外信号时输出高电平,

比如遥控器输出如下波形:

 

 

红外一体化接收输出的波形与遥控器输出的相反,

则红外一体化接收头接收到的信号经放大、解调后输出的波形:

 

红外接收头接收到红外信号后,有一个下降沿,触发外部中断;

有中断程序中开始接收接下来的数据:

延时周期的1/4420us到位置1处,接下来每延时一个周期,检测一次红外接收头,比如位置1后延时一个周期到位置2处,检测到1,取反到得到正确值0(如果数据的第1位为0而不是1,则延时一个周期后,检测到的值是就不必取反),如此循环13次,就接收到完整的一帧数据。

 

六、程序:

延时用定时器,比较精确,用延时程序误差大。

在中断中接收数据:

 

 

 

七、解码结果:

Power:

03 01 00 0C

静音:

03 00 00 0D

1

03 01 00 01

2

03 00 00 02

3

03 01 00 03

4

03 00 00 04

5

03 01 00 05

6

03 00 00 06

7

03 01 00 07

8

03 00 00 08

9

03 01 00 09

0

03 00 00 00

。。。。。。。。。。

 

 

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SAA3010是一款常见的红外遥控接收芯片,用于解码红外信号。编写针对SAA3010红外解码程序通常涉及到以下几个步骤: 1. **硬件连接**: - 将SAA3010的模拟输入(通常为AIN或INT)连接到你的微控制的输入引脚。 - SAA3010可能有一个中断输出,这可以用来通知CPU红外数据已准备好。 2. **初始化**: - 初始化SAA3010,设置其工作模式,比如进入解码模式。 - 如果使用中断,配置中断处理函数。 3. **读取和解码**: - 在中断服务程序中,读取红外接收的数据。SAA3010通常会存储接收到的红外码字节。 - 使用SAA3010提供的寄存读取方法获取数据。 - 对接收到的红外码执行解码算法,将其转换为可识别的按键或命令。 4. **解码算法**: - 通常,SAA3010接收到的原始数据是一串二进制码,需要进行特定的编码解析,例如ASCII码、格雷码等。 - 根据预先定义的红外代码库,将解码后的数据与相应的按键或命令对应。 5. **处理结果**: - 解码成功后,根据得到的命令执行相应的操作,如控制GPIO状态、调用函数等。 **示例代码片段**(以C语言为例): ```c #include <stdio.h> #include <saa3010.h> // 假设有SAA3010库 // 假设SAA3010中断服务函数 void handleIrInterrupt(void) { uint8_t ir_data = readSAA3010IRData(); // 读取数据 decodeAndHandle(ir_data); // 解码并处理 } int main() { initSAA3010(); enableIrInterrupt(); // 开启中断 while (1) { // 主循环 } return 0; } // 解码函数 void decodeAndHandle(uint8_t data) { switch(data) { case KEY_POWER: powerOnOff(); break; // 其他按键处理... } } ``` **
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值