红外线遥控器(nec编码方式)
- 格式:ppt
- 大小:1.04 MB
- 文档页数:30
红外遥控协议标准(NEC/RC5/RC5X)及编程目录1.NEC码遥控器技术标准2.RC5/RC5X码遥控器技术标准3.解码原理及算法(NEC)4.实例代码(NEC)1.NEC码遥控器技术标准特点:8位的系统码和8位的命令码长度为了增加可靠性,地址码(即用户码)和命令码都要发送两次脉冲宽度调制载波频率为38K每一位的时间长度为1.12ms或2.25ms其逻辑1与逻辑0的表示如图所示:逻辑1为2.25ms,脉冲时间560us;逻辑0为1.12ms,脉冲时间560us。
所以我们根据脉冲时间长短来解码。
推荐载波占空比为1/3至1/4。
NEC协议格式:首次发送的是9ms的高电平脉冲,其后是4.5ms的低电平,接下来就是8bit 的地址码(从低有效位开始发),而后是8bit的地址码的反码(主要是用于校验是否出错)。
然后是8bit 的命令码(也是从低有效位开始发),而后也是8bit的命令码的反码。
地址和命令发送两次。
第二次发送时,所有的位取反,用来验证第一次发送的消息。
如果开发者不用验证,则可以忽略验证的数据,或者将地址或命令扩展为16bit以上是一个正常的序列,但可能存在一种情况:你一直按着1个键,这样的话发送的是以110ms为周期的重复码,如下图:就是说,发了一次命令码之后,不会再发送命令码,而是每隔110ms时间,发送一段重复码。
重复码由9ms高电平和2.25ms的低电平以及560us的高电平组成。
需要注意的是:1838红外一体接收头为了提高接受灵敏度。
输入高电平,其输出的是相反的低电平。
2、编程注意事项2.1红外接收头引脚信号是相反的电平。
2. 2数据从LSB(低位)开始发送,所以选择右移方式接收数据。
四个字节的数据都是先发送D0,最后发送D7。
所以接收到1位数据后,给变量的最高位赋值,右移。
或者先右移,再给变量的最高位赋值。
2.3.可以用一个数组保存32个数据的持续时间,用于后面判断高低电平。
用定时器对两个数据(中断)之间的时间计时,并保存这个持续时间用于以后判断是位1还是位0。
ir常用编码格式-回复什么是常用的IR编码格式?IR(红外线)编码格式是一种用来传递红外线信号的数字编码标准。
它被广泛应用于遥控设备,例如电视、音响、空调和机顶盒等。
常用的IR编码格式有多种,每种编码格式都具有自己独特的特点和用途。
1. NEC编码格式NEC编码格式是最常见和最普遍使用的IR编码格式之一。
它由NEC公司设计并广泛应用于消费类电子产品的遥控设备中。
NEC编码格式使用38kHz的红外载波频率来传输数据,并将0和1二进制逻辑编码成600μs的高电平和600μs的低电平。
NEC编码格式具有高可靠性和简单的实现方式,因此被广泛应用于各种电子设备。
2. RC-5编码格式RC-5编码格式是由荷兰公司Philips开发的一种IR编码标准。
它广泛应用于Philips以及一些其他品牌的遥控设备中。
RC-5编码格式使用36kHz 的红外载波频率,并将0和1的二进制逻辑编码成由889μs长的位周期以及不同的偏移量组成的波形。
RC-5编码格式具有较高的抗干扰能力和较长的传输距离,因此适用于一些特殊环境下的遥控设备。
3. Sony SIRC编码格式Sony SIRC(Sony Infrared Remote Control)编码格式是由索尼公司开发的一种IR编码标准。
它被广泛应用于Sony品牌的遥控设备中。
Sony SIRC编码格式使用40kHz的红外载波频率,并将每位数据编码成同样长度的波形,其中高电平的时间表示1,低电平的时间表示0。
Sony SIRC 编码格式具有较高的数据传输速率和较低的成本,因此被广泛应用于各种消费类电子产品。
4. RCMM编码格式RCMM(Remote Control Message Format)编码格式是由赛博感应公司(Cybernetic Micro Systems)开发的一种IR编码标准。
它主要应用于一些专业设备和工控设备的遥控系统中。
RCMM编码格式使用36kHz 或40kHz的红外载波频率,并将每个按键的数据编码成由预定数量的高电平和低电平组成的波形。
华宝空调红外遥控编码资料简介华宝空调是一款广泛使用的家用空调品牌,它提供了方便的红外遥控功能,使得用户可以轻松控制空调的各种设置。
本文将介绍华宝空调红外遥控编码资料,包括红外遥控编码的原理、常用编码格式、编码数据的解析和使用方法等。
红外遥控编码原理红外遥控编码是通过发送特定的红外脉冲信号来实现对设备的控制。
华宝空调红外遥控编码原理基于脉冲宽度调制(PWM)技术,即通过调整脉冲信号的宽度来表示不同的控制指令。
常用编码格式华宝空调红外遥控编码使用了一种常见的编码格式,即NEC编码格式。
NEC编码格式是一种广泛应用于红外遥控领域的标准编码格式,它使用了32位二进制数据表示一个完整的红外遥控指令。
NEC编码格式的具体结构如下: - Header:8位数据,用于表示一个遥控指令的开始。
- Address:8位数据,用于表示遥控器的地址。
- Command:8位数据,用于表示具体的遥控指令。
- Inverted Command:8位数据,用于表示Command的反码。
编码数据的解析要解析华宝空调红外遥控编码数据,可以按照以下步骤进行: 1. 接收红外遥控编码数据。
2. 解析Header,判断是否为一个完整的红外遥控指令。
3. 解析Address,获取遥控器的地址。
4. 解析Command,获取具体的遥控指令。
5. 对Command进行处理,执行相应的操作。
使用方法要使用华宝空调红外遥控编码,可以按照以下步骤进行: 1. 获取红外遥控编码数据。
2. 解析编码数据,获取遥控指令。
3. 根据遥控指令,执行相应的操作,如调整温度、风速、模式等。
下面是一个示例代码,演示如何使用华宝空调红外遥控编码进行温度调节:# 导入红外遥控库import infrared_remote_control as irc# 获取红外遥控编码数据data = irc.get_infrared_data()# 解析编码数据header = irc.parse_header(data)address = irc.parse_address(data)command = irc.parse_command(data)# 判断遥控指令类型if command == "temperature_up":# 温度增加temperature = irc.get_current_temperature()irc.set_temperature(temperature + 1)elif command == "temperature_down":# 温度减少temperature = irc.get_current_temperature()irc.set_temperature(temperature - 1)else:# 其他指令pass总结华宝空调红外遥控编码资料介绍了红外遥控编码的原理、常用编码格式、编码数据的解析和使用方法。
32红外遥控模块知识点详细笔记
32红外遥控模块是一种常用的遥控模块,它可以接收和发送红外线信号,从而实现遥控功能。
以下是关于32红外遥控模块的详细知识点笔记:
1. 工作原理
32红外遥控模块通过接收红外线信号来工作。
当遥控器按下某个按钮时,它会发送一串编码好的红外线信号。
32红外遥控模块接收到信号后,会解码并执行相应的操作。
2. 编码方式
红外线信号的编码方式有很多种,其中最常见的是NEC编码。
NEC编码采用脉冲宽度调制(PWM)方式对二进制数据进行编码和解码。
在NEC编码中,脉冲的宽度和间隔时间都有严格的规定,从而确保解码的准确性。
3. 引脚说明
32红外遥控模块通常有以下几个引脚:VCC、GND、RXD和TXD。
VCC 和GND是电源和地线,RXD和TXD是接收和发送数据的引脚。
当模块接
收到红外线信号时,它会将信号从RXD引脚输出到单片机或其他控制器。
当模块需要发送信号时,它会从TXD引脚输入数据,并将数据编码成红外线信号发送出去。
4. 常见应用
32红外遥控模块广泛应用于各种遥控器和控制系统中,例如电视、空调、机顶盒等。
通过使用32红外遥控模块,我们可以轻松地实现遥控功能,提高设备的便利性和智能化程度。
5. 注意事项
使用32红外遥控模块时,需要注意以下几点:
- 确保电源电压正确,避免烧毁模块;
- 确保接收和发送引脚连接正确,避免出现通信错误;
- 避免强光干扰和电磁干扰,以免影响遥控效果;
- 注意遥控距离和角度的限制,确保遥控器和接收器之间的通信畅通无阻。
红外遥控编码传输协议生产厂家对红外遥控的编码做了严格的规范,目前国内外主流的红外遥控编码传输协议有十多种,如NEC、Philips RC-5、Philips RC-6、Philips RC-MM、Philips RECS80、 RCA、X-Sat、ITT、JVC、Sharp、Nokia NRC17和Sony SIRC等。
国内最常用的规范有两种:NEC和Sony SIRC。
这两种规范的调制方式分别为:PPM(脉冲间隔调制)和PWM(脉冲宽度调制)。
谈到这两个概念,我需要具体讲解一下,因为我在网上查阅相关资料时甚是郁闷,好多说法相互矛盾。
有说NEC属于PWM的因为它的脉宽不同,PPM的脉宽是固定的。
而细心地朋友如果探究到NEC的典型芯片的芯片手册时,会发现上面这种说法是错误的。
比如UPD6121这款红外远程控制芯片的调制方式为PPM。
后来终于在一家国外的网站上找到了能够自圆其说的解释。
个人认为比较正确,拿来和大家分享。
要想认清红外遥控编码传输协议的具体内容,我想还是先捡其重点来讲一下,编码规范中最重要的当属调制这部分了。
而主流的调制方式有两种分别为PPM和PWM,当然其他还有好几种,这里先不讲解,免得糊涂了。
本文就先介绍下PPM和PWM的区别。
PPM(Pulse Position Modulation),其实更加准确的说法应该是PDM(Pulse Distance Modulation)即脉冲间隔调制:上图为典型编码规范NEC协议的调制图,为PPM调制。
可以看出不管是“0”还是“1”,有高频调制波的地方(下文称其为脉冲)其宽度都是相同的位560us,而脉冲间的间隔则是不同的:“1”时为(2.25ms-560us),“0”时为(1.12ms-560us)。
由此得来PPM的称号。
再来看下PWM的调制波形吧:显然可以看出,“1”的脉冲宽度为1.2ms,“0”的为600us。
而脉冲间隔不管是“0”还是“1”,均为600us。
nec红外协议NEC红外协议。
NEC红外协议是一种用于红外遥控器通信的协议标准,广泛应用于家电、电子设备等领域。
它采用了38kHz的载波频率,通过调制不同的脉宽来实现数据的传输,具有传输距离远、抗干扰能力强等优点。
本文将对NEC红外协议的原理、格式、编码方式等进行详细介绍,以便对该协议有更深入的了解。
NEC红外协议的原理是通过调制38kHz的载波信号来传输数据。
在NEC协议中,逻辑“0”和逻辑“1”分别用不同的脉宽来表示,通常逻辑“0”用560us的脉宽表示,而逻辑“1”用1690us的脉宽表示。
通过这种方式,接收端可以根据脉宽的不同来解析出发送端发送的数据,从而实现通信的目的。
NEC红外协议的格式通常包括引导脉冲、地址码、反码、命令码等部分。
其中,引导脉冲是一个9ms的高电平脉冲和4.5ms的低电平脉冲交替组成,用于唤醒接收器;地址码用来表示遥控器的地址信息;反码是地址码的反码,用于提高数据传输的可靠性;命令码用来表示具体的操作命令,比如开关机、音量调节等。
通过这样的格式组织,NEC红外协议可以实现对各种遥控器指令的准确传输。
NEC红外协议的编码方式是采用了32位的编码格式,其中包括8位的地址码、8位的地址反码、8位的命令码和8位的命令反码。
这种编码方式可以保证数据的准确性和可靠性,同时也便于接收端对数据进行解析和识别。
通过这种编码方式,NEC红外协议可以实现对各种遥控器指令的精准传输。
总的来说,NEC红外协议作为一种广泛应用的红外遥控器通信协议,具有传输距离远、抗干扰能力强、编码方式简单等优点。
通过对NEC红外协议的原理、格式、编码方式等方面的介绍,相信读者对该协议有了更深入的了解,可以更好地应用于实际的产品开发和设计中。
总结一下,NEC红外协议在红外遥控器通信领域有着重要的地位,其原理简单明了,格式清晰规范,编码方式可靠性高。
相信随着科技的不断发展,NEC红外协议将会有更广泛的应用和发展。
nec码红外遥控完整编码红外遥控编码程序如下:NEC .SECTION 'DATA'a_REM_CODE DB ? ;KEY DATA CODEa_CUSTOMER_1 DB ? ;遥控器头码(客户码)低八位a_CUSTOMER_2 DB ? ;遥控器头码(客户码)高八位#define CUS_6221_1 00110100b ;1234H#define CUS_6221_2 00010010b ;@------------------------------------------------NEC_CODE .SECTION 'CODE';@************* SUBROUTINE[xx]: Send Remote Code ************;;遥控码发送:SEND_REMOTE_CODE:clr WDT ;清除进位标志,检测遥控发送的有效的按键SZ fg_SendActive ;SZ表示以0结尾的字符串JMP READY_SEND ;跳转到READY_SEND模块retREADY_SEND:NEC_CODE:mov A,a_KEY_NUM ;将数值发送到寄存器A中,直接寻址mov M_TBLP,ATABRDL a_REM_CODE ;查表专用指令;读取遥控头码(客户码)低八位数值 MOV A,CUS_6221_1MOV a_CUSTOMER_1,AMOV A,CUS_6221_2MOV a_CUSTOMER_2,A以上为READY_SEND运行模块,同时是为后面NEC码发送的准备;首先将一个按键的数值已以直接寻址方式发送到寄存器A中,将寄存器A的是发送到M_TBLP 中,然后查表a_REM_CODE,将CUS_6221_1的值发送到寄存器中,在赋值给遥控器头码(客户码)低八位a_CUSTOMER_1,同理,将CUS_6221_2赋值给遥控器头码(客户码)低八位a_CUSTOMER_2,随后即开始发送NEC遥控码。