单片机学习小组
直播中

张玉兰

7年用户 1338经验值
私信 关注

nec协议的R0d电控功能介绍,绝对实用

nec协议的R0d电控功能介绍,绝对实用

回帖(1)

王凯

2022-2-15 13:54:05
一、红外nec协议

红外遥控的编码目前广泛使用的是:NEC Protocol的PWM(脉冲宽度调制)和Philips RC-5 Protocol的PPM(脉冲位置调制),而美的空调大多采用nec协议的R0d电控功能。
NEC协议的特征:
1、8位地址和8位指令长度;
2、地址和命令两次传输;(确保可靠性)
3、PWM脉冲宽度调制,以发射红外载波的占空比代表“0”和“1”;
4、载波频率为38KHz
5、推荐载波占空比为1/3至1/4
以上资料转载自: nec资料.
6、码位定义如下

综上所述也就是说:
先产生38khz、1/3占空比的载波如下:

加上

等于

这里是低电平时发送38khz载波,高电平不发送(低电平)。
二、R05d电控

美的采用的时R05d电控协议,与普通的nec协议有些不同,所以不能用网上买的nec红外模块控制,也不能解码。
1、编码规范如下(一般情况):
L,A,A’,B,B’,C,C’, S, L,A,A’,B,B’,C,C’
第一帧与第二帧相同(L,A,A’,B,B’,C,C与L,A,A’,B,B’,C,C’)
L为引导码
S为分隔码

A为认别码(A=10110010,预留方案时A=10110111)
A’为A的反码(01001101)
B’为B的反码
C’为C的反码
B、C码都是8个位的码,里面储存着风速、模式、温度、关机(关机命令固定 B=0111 1011 , C=1110 0000(无定时信息情况))命令,例如B含义如下:
[tr]风速B7 B6 B5(高三位)[/tr]
自 动1 0 1
低 风1 0 0
中 风0 1 0
高风0 0 1
固定风0 0 0
B的高三位代表风速信息,其他位是定时用的,这里暂且不讲,完整的功能表在文末贴出
2、 实例
拿关机码来说按照编码规范 “ L,A,A’,B,B’,C,C’, S, L,A,A’,B,B’,C,C’ ”
其中A、B、C均是固定值
A:10110010,B=0111 1011,C=1110 0000
L10110010  01001101  01110100  10000100 11100000  00011111 S L10110010  01001101  01110100  10000100 11100000  00011111  按照上述规则,则发送的信号是这样的

红条是很密集38khz信号。
三、编程

首先要生成38khz载波,我用的是使用定时器生成pwm波。
至于怎么生成最后的信号,我看过一些文章用的是外部发射威廉希尔官方网站 ,而我是直接用单片机延迟和控制pwm波占空比达到目的。
例如要发’1‘信号:

程序如下:
              
                 TIM_SetCompare2(TIM3,1895/3); (占空比1/3)
             delay_us(540);                        (540us高频)
            TIM_SetCompare2(TIM3,0);   (占空比0,就是低电平)
             delay_us(1620);                      (1.62低电平)
举报

更多回帖

发帖
×
20
完善资料,
赚取积分