一、数据格式:
SAA3010使用RC-5编码,有2位起始位(11)、1位控制位(X)、5位系统码(00000)、6位指令码(XXXXXX)。一帧数据共占14位,在第一次按下遥控按键后芯片要经过16位的防抖时间和2位扫描时间才会发送一帧数据,发送的信号被调制在37.91KHz:
二、位定义:
SAA3010的位传送方式有采用双相位,位1位0的相伴正好相反。
(英文数据手册是1.778ms ????)
三、红外一体化接收头:
红外一体化接收头集接收、放大、解调于一体。
四、电路图:
五、波形解码:
红外一体化接收没接收到遥控器输出的38KHz红外信号时输出高电平,
比如遥控器输出如下波形:
红外一体化接收输出的波形与遥控器输出的相反,
则红外一体化接收头接收到的信号经放大、解调后输出的波形:
红外接收头接收到红外信号后,有一个下降沿,触发外部中断;
有中断程序中开始接收接下来的数据:
延时周期的1/4约420us到位置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
。。。。。。。。。。