当前位置:文档之家› 红外遥控软件编解码简析

红外遥控软件编解码简析

红外遥控软件编解码简析
红外遥控软件编解码简析

红外遥控软件编解码简析

摘要:

介绍如何用SONIX单片机实现红外编解码,并讨论SONIX系列芯片在实现红外遥控中的优势所在。文中给出红外发射和接收硬件原理图,并给出相应程序。

关键词:Buzzer输出,外部电平变化中断

引言:

红外线遥控是目前应用最广泛的一种通信和遥控手段。由于红外线遥控器具有体积小、功耗低、功能强、成本低等特点。因此在家电产品中有着广泛的应用。相比与专用的控制芯片,微控制器具有开发灵活的特点,用户可以随意制定编解码格式。SONIX 8bit MCU中的

1、1K的ROM,48bit的RAM完全可以用来开发普通的红外遥控产品,4K的ROM,128bit

的RAM可用做高端复杂的红外遥控产品。

2、Buzzer输出功能可以方便的实现38K载波,1/2个计时计数器,上升下降沿可选的

外部中断便于灵活接收和解码。

3、5V/4MHz条件下,正常工作电流2~3mA,睡眠电流小于1uA,便于电池供电系统。

一、红外编码格式说明

用户采用红外模块时,编码格式非常灵活。目前市场上的红外编码格式非常多,每家公司都可以自己定义一种编解码格式。下面以一种比较常用的格式来做分析说明(示意图中高电平代表38K载波输出):

上面的波形格式包括前导码(Load Code)、身份码和身份反码(ID Code)、数据码和数据反码(Data Code)。

导航码(Load Code):导航码用来通知接受器其后为遥控数据,解码部分在接受到这个信号后就可以开始解码。

系统码(ID Code):系统码用来区分是哪一机型的数据,接收端依此来判断后续的数据是否为须执行的指令。

数据码(Data code):数据码用来区分是哪一个键被按下,接收端根据数据码做出应该执行什么动作的判断。

数据帧间的空闲时间:有用信号中两帧数据间的空闲时间。

红外遥控数据传输系统中的关键是数据传输的可靠性。因此有些公司也会在系统码和数据码后面分别再传送一个同样的码或反码,供误码校验用。

在红外遥控编码中数据位的格式一般如下图所示,通过低电平的时间不同,来区别0和1。在解码的时候既可以根据总的时间长度不同来解码,也可以根据低电平时间的不同来解码。

Bit 0 Bit 1

二、红外发射接收硬件电路部分

红外遥控的发射接收电路比较简单,其中接收电路可以使用集成红外接收器成品。接收器包括红外接收管和信号处理IC。接收器对外只有3个引脚:Vcc、GND和1个脉冲信号输出PO。与单片机接口非常方便,如图所示。

①Vcc接系统的电源正极(+5V);

②GND接系统的地线(0V);

③脉冲信号输出接CPU的中断输入引脚。采取这种连接方法,软件解既可工作于查询方式,也可工作于中断方式。

但需要注意的两点:一是注意发射接收管的驱动电流;二是要注意接收部分的滤波措施,上图中C2就是用做稳定输出波形,但注意C2不可太大。

三、红外编码发射接收软件实现部分

1、红外编码发射部分软件实现方法:

红外发射管需要靠38K的载波驱动,才能将信号发送出去。有的MCU没有BUZZER

输出功能,不能靠硬件实现38K载波,就必须用软件模拟38K载波的输出。而我们SN8P25XX,SN8P26XXS系列的BUZZER输出功能配合适当的震荡频率,可以很方便的实现38K载波的输出。

红外发射部分的软件实现一般可以分为两种:纯软件编码发射,计时器编码发射。

纯软件编码发射:根据编码格式,利用延时取得适当的时间段来控制载波的输出时间和输出间隔时间,达到编码正确发送的目的。这种方式思路简单容易实现,但比较浪费资源,实时性不高,也不利于程序的移植。

计时器编码发射:根据编码格式,采用计时器中断取得合适的时间段来控制载波的输出时间和输出间隔时间。这种方法充分利用了系统的资源,执行效率很高,并很容易实现程序的移植。

现采用SN8P2602A,外部晶振为3.58MHz所做的一款简单的遥控器,其编码发射流程图见图1。

图1

2、红外编码接收部分软件实现方法:

根据数据帧中不同的数据位格式和MCU中的资源,重要数据解码接收在程序设计中存在很大差别。一般有几种情况:纯软件解码、计时器解码、外部中断和计时器配合解码等。

纯软件解码:根据数据格式采用延时方式来取得合理的采样时间,每到达一次采样时间就测电平变化以确定解码数值。此种方法对MCU资源要求不高,无需计时器,也无需外部电平变换中断源,其实现方法也比较简单,并可以进行软件滤波处理。但此方法在解码过程中不能并行处理其他事,所以在比较复杂的系统中不推荐应用。

计时器解码:可以有两种思路来实现解码:一种方式是根据数据位格式利用计时器取得合理的采样时间,每达到一次采样时间就检测电平变化,根据在设定的时间内检测到高电平(或低电平)的次数来确定解码数值。另一种方法是累计电平变化的时间,计算两次电平变化之间的时间,再根据时间的长短来确定解码数值。

外部中断和计时器配合解码:利用外部中断的下降沿中断功能侦测编码信号的电平变化,利用计时器采样检测电平,累计时间以确定解码数值。此种方式效率高,解码灵敏,可以实现各种复杂系统中的准确解码。但在应用外部中断做信号变化侦测的时候,要注意外部干扰信号,需要在外部电路中做好滤波措施。

在SONIX的SN8P25XX,SN8P26XX系列中都有电平变化的外部中断源,因此非常适合各种编码格式的解码。下面为采用方式三解码的程序流程图,如下图。

解码子程序主程序模块

四、红外编解码设计中的注意点

1、红外产品中遥控部分工作系统一般比较简单,并且实现准确的波形也相对比较简单。因此在确定编码格式的时候要充分考虑到解码的方便性,准确性。这主要要从数据码0和1的编码时间长短方面来考虑。一般说来,时间T不宜过短,越短对解码部分MCU的工作速度要求越高,误码率也会随之增加。但如果T的时间过长,将降低数据传输速率。下面为NEC格式采用的编码时间,可做参考。

Bit 0 Bit 1

2、红外编码信号的发射一般是通过按键输入来发射相应的信息码。因此,在检测到按键按下后,一般有两种处理方法:一种是在按键按下的过程中一直发送数据,按键弹起发送完最后一帧完整数据后便停止发送或直接停止发送。这样一般不会出现误码的情况。另一种是在检测到按键按下后,固定发送几帧数据,然后停止发射。但此方法不能保证接收方每次都完整收码,误码率较高。

红外遥控原理

红外遥控系统原理及单片机解码实例 红外遥控系统原理及单片机解码实例 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小 型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下, 采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编/解码 专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘 矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、 解调、解码电路。 图1 红外线遥控系统框图 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VC D、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。 这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”; 以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。 图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反) 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。

红外遥控信号的解码

红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1 红外线遥控系统框图 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、V CD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。

图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反) 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。 图3 遥控信号编码波形图 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。 图4 遥控连发信号波形 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8位地址码(9ms~18ms),8位数据

红外遥控解码实验报告

嵌入式系统试验报告 1.红外遥控解码实验 1.1 实验目的

了解红外遥控编码并用单片机捕捉信号及解码 熟悉LCD1602的驱动 1.2 实验设备 T1838一体化红外接收头 DT9122D芯片制作 89S51 1.3 实验内容 红外一体化接收头接收到红外遥控发射器所发射的信号,并将此信号进行整形和反相送入单片机端口。经过软件译码,将译码结果(按键代码)昂数码管显示。 1.4 实验预习要求 遥控编码知识 ME850单片机开发实验仪集成有一路一体化红外接收头,并配有红外发射器,能够做红外接收与解码实验 了解简单的单片机的开发的环境 要有一定的C语言基础 1.5 实验原理 所谓解码就是能用单片机把以不同宽度的脉冲区别开来,一种比较好思路就是计算两次下降沿间隔时间,当单片机外部中断1口有下降沿时中断一次,并启动定时器,定时器定50us,当下次下降沿到来时我们计算定时器中断的次数,这样我们就能很好的区分不同宽度的脉冲了。

1.6 实验步骤 将JP21的8个短接子全部用短接帽短接,使DG0-DG7与P2端口接通 将JP22的9个短接子全部用短睫毛短接,使A-DP与P0端口接通,VCC向数码管模块供电 将JP10的短接子用短接帽短接,使红外接头U16的数据线与P3.2端口接通。 将JP24的短接子用短接帽短接,禁止LCD1602显示功能,否则数码管将不能正常显示。 第一次使用遥控器要去下电池盖下的隔离胶片。 1.7 实验电路原理分析 ME850选用T1838一体化红外接收头,接受来自红外遥控器的红外遥控信号。T1838集成红外接收二极管、放大、解调、整形等电路在同一封装上。T1838负责红外遥控信号的解调,将调制在38KHZ上的红外脉冲信号解调并倒相输入到单片机的P3.2引脚,由单片机进行高电平与低电平宽度的测量 T1838的输出端通过JP10与AT89S52的P3.2连接,既可以受用中断的方式也可以使用查询方式来编程 1.8 实验参考程序分析 #include #define uint unsigned int #define uchar unsigned char sbit ir=P3^3;//红外端口

红外遥控原理(红外开发)

红外遥控器的原理 一. 关于遥控器 遥控器其核心元器件就是编码芯片,将需要实现的操作指令例如选台、快进等事先编码,设备接收后解码再控制有关部件执行相应的动作。显然,接收电路及CPU也是与遥控器的编码一起配套设计的。编码是通过载波输出的,即所有的脉冲信号均调制在载波上,载波频率通常为38K。载波是电信号去驱动红外发光二极管,将电信号变成光信号发射出去,这就是红外光,波长范围在840nm到960nm之间。在接收端,需要反过来通过光电二极管将红外线光信号转成电信号,经放大、整形、解调等步骤,最后还原成原来的脉冲编码信号,完成遥控指令的传递,这是一个十分复杂的过程。 红外线发射管通常的发射角度为30-45度之间,角度大距离就短,反之亦然。遥控器在光轴上的遥控距离可以大于8.5米,与光轴成30度(水平方向)或15度(垂直方向)上大于6.5米,在一些具体的应用中会充分考虑应用目标,在距离角度之间需要找到某种平衡。 对于遥控器涉及到如下几个主要问题: 1. 遥控器发出的编码信号驱动红外线发射管,必须发出波长范围在940nm左右的的红外光线,因为红外线接收器的接收二极管主要对这部分红外光信号敏感,如果波长范围不在此列,显然无法达到控制之目的。不过,几乎所有的红外家电遥控器都遵循这一标准。正因为有这一物理基础,多合一遥控器才有可能做成。 2. 遥控器发出一串编码信号只需要持续数十ms的时间,大多数是十多ms或一百多ms重复一次,一串编码也就包括十位左右到数十位二进制编码,换言之,每一位二进制编码的持续时间或者说位长不过2ms左右,频率只有500kz这个量级,要发射更远的距离必需通过载波,将这些信号调制到数十khz,用得最多的是38khz,大多数普通遥控器的载波频率是所用的陶瓷振荡器的振荡频率的1/12,最常用的陶瓷振荡器是455khz规格,故最常用的载波也就是455khz/12=37.9khz,简称38k载波。此外还有480khz(40k)、440khz(37k)、432khz (36k)等规格,也有200k左右的载波,用于高速编码。红外线接收器是一体化的组件,为了更有针对性地接收所需要的编码,就设计成以载波为中心频率的带通滤波器,只容许指定载波的信号通过。显然这是多合一遥控器应该满足的第二个物理条件。不过,家用电器多用38k,很多红外线接收器也能很好地接收频率相近的40k或36k的遥控编码。 3. 一个设备受控,除了满足上面提到的两个基本物理条件外,最重要的变化多种多样的当然应该是遥控器发出一串二进制编码信号了,这也是不同的遥控器不能相互通用的主要原因。由于市场上出现成百上千的编码方式并存,并没有一个统一的国际标准,只有各芯片厂商事实上的标准,这也是模拟并替换各种原厂遥控器最大的难点。随着技术的不断发展,很多公司开发家电设备的遥控子系统时还不采用通用的编码芯片,而是用通用的单片机随心所欲地自编一些编码,这就使通用遥控的问题更加复杂化了。 4. 采用同样的编码芯片,也不意味着可以通用,因为还有客户码。客户码设计的最初本意就是为了不同的设备可以相互区分互不干扰。最初芯片厂商会从全局考虑给不同的家电厂商安排不同的客户码以规范市场,例如录像机和电视机就用不同的设备码,给甲厂分配的设备码和乙厂分配的设备码就区分在不同的范围内。

38K红外遥控解码

#include #define uint08 unsigned char #define uint16 unsigned int sbit IR=P3^2; uint08 a[4],k,IR_number; uint16 x; void init_int0_time0() //外部中断0与定时器中断0初始化函数 { TMOD=0x01; //定义定时中断0在模式1 TH0 =0x00; //0000 0000 TL0 =0x00; //0000 0000 TR0 =1; ET0 =1; //打开定时中断0 IT0 =1; //边沿触发 EX0 =1; //打开外部中断0 EA =1; //打开总中断 } void int0() interrupt 0 { x=TH0*256+TL0; //读取两次中断时间差 TH0=0; TL0=0; //恢复寄存器,准备下一次读数 if(12000<=x&&x<=15000) //判断IR开始信号 k =0; else if(1000<=x&&x<=2500) //判断IR信号为0/1 { a[k/8]=a[k/8]>>1; if(2000<=x&&x<=2500) a[k/8]|=0x80; k++; } if(k==32&&a[2]==~a[3]) //判断读取的数据是否正确 { IR_number=a[2]; } } void time0(void) interrupt 1 //定时器0 { } 说明:a[0],a[1]为用户码,a[2]为红外遥控信号数据,a[3]为a[2]的反码,应用时在“IR_number=a[2];”这条语句前面加个判断用户码是否正确的语句,然后在主函数中读出IR_number就可以了,目的是提高解码的准确度,减少误差。

万能学习型红外遥控器制作(毕业设计)

学号 密级 ××大学本科毕业论文 万能学习型红外遥控器设计 院(系)名称:×××× 专业名称:×××× 学生姓名:×××× 指导教师:×××× 二○○九年五月

BACHELOR'S DEGREE THESIS OF ×××× UNIVERSITY Design of Universal IR Learning Remote Controller College :×××× Subject :×××× Name :×××× Directed by :×××× May 2009

摘 要 随着家用电器种类的增加和无线遥控产品的普及,红外遥控器的使用频率越来越高,针对国内红外遥控学习技术成熟,但产品化程度低的特点,本文自主设计一种具有红外学习和触屏显示功能的红外遥控器,借此促进红外遥控学习技术在国内市场的产品化推广。 在红外解码方面,传统方法采用单片机中断或者查询方式采集红外信号,环境不理想情况下可能需要多次解码,本文借助电脑辅助记录全波形,通过相关软件优化波形,解码一次即可成功;在红外发射方面,本文通过实验发现红外发射距离受载波占空比和红外二极管贯通电流影响,通过调试将38KHz载波红外信号发射距离提高到10米;在红外接收方面,进行了红外干扰测试;在触屏校验方面,通过实验获取触屏数据,利用matlab参数估计lsqcurvefit函数求得校正参数,解决了触屏漂移问题;在彩屏显示方面,将遥控器所有按键简化为方向键和确认键,虚拟数码管显示按键位置,避免了单片机片上资源紧张的问题,此外,彩屏仅支持16位R5G6B5格式数据,一张176*220图片占用72. 6KB空间,造成极大浪费,本文借此讨论了适合本系统的图片压缩技术,给出了一种具体的图片压缩格式。 按照由简单到复杂的顺序,本文先后制作了遥控接收解码装置、遥控编码发射装置、万能学习型红外遥控器,以SAA3010遥控器作为典型代表(遵循飞利浦RC-5编码协议),成功的实现了红外编解码、发射接收、按键触屏双输入、彩屏显示等基本功能,最终制作的万能学习型遥控器在功能上可以完全代替SAA3010遥控器。 关键词:红外学习;红外解码;单片机控制;声卡采样;触屏校验

万能红外遥控解码模块【精选】

https://www.doczj.com/doc/556340307.html,/item.htm?id=7693624806 该模块采用5V电源供电,可以完成目前应用最广泛的多种红外遥控编码的解码,包括飞利浦(RC5)编码(典型编码芯片如SAA3010及兼容芯片如PT2210 等)和NEC编码(典型编码芯片如uPD6121,uPD6122, TC9012 )以及众多的兼容芯片型号,(如PT2221, PT2222, SC6121, SC6122,SC9012 等等),采用该模块,可以缩短开发时间,节约CPU 资源,降低总体成本。 特点 ●使用简单、可靠 ● 支持多种编码 ● 兼容SPI 及UART(波特率9600)的串行输出 ● 采用数字滤波技术,高抗干扰,无误码 ● 接收有效指示输出 ● 工业级温度范围 储存温度-65至+150℃ 工作温度-40至+85℃ 任意接口对地电压-0.3至6V 红外编码介绍 目前应用于家电等领域的红外线遥控装置,并没有统一的国际标准,目前市场上所见的红外线遥控编码芯片,超过10 种之多,分别由飞利浦公司、NEC 公司、SONY 公司、东芝公司、三菱公司、JVC 公司等生产,使用的编码方式各不相同。目前应用最广泛、兼容产品最多的,是飞利浦公司(RC5编码)的和NEC 公司的编码芯片。本模块可以完成这两种格式编码的解码工作。 RC5 编码: RC5 编码由飞利浦公司推出,其编码芯片有SAA3010,SAA3006 等,是应用很

广泛的一种编码方式。 RC5 编码采用双相位编码方式,用不同相位分别代表“0”和“1”。传送每一位的时间固定为1.778mS。 每一个指令包括1.5bits 的起始位(2 个逻辑1),1 个翻转位,5 位系统码(地址码),以及6 位命令码(键码),因此,最多可以支持64 个键。 翻转位在每次有新的按键按下去的时候翻转一次,这里指的新按键,也包括同一个键抬起后再次按下的情况。如果某个键持续按下,则编码芯片会不断地重复发送同样的数据。翻转位保持不变。而如果该键中途抬起后再次按下,则再次按下后所发送的数据中的翻转位发生翻转,其它数据保持不变。 NEC 编码: NEC 编码由NEC 公司推出,其典型编码芯片为uPD6121,uPD6122,除了NEC 公司的产品,市场上还有大量与之相兼容的产品,如PT2221, PT2222, SC6121, SC6122,SC9012 等等。是应用最广泛的一种编码方式。 该编码方式采用脉冲位置编码方式,利用脉冲间的时间间隔来区分“0”和“1”。 每个指令包括32 位数据,包括16 位的用户码、以及8 位键数据码和键数据码的反码。因为具有反码可以作为校验的依据,因此该种编码方式具有很低的误码率。理论上该编码方式可以支持256 个键,实际的编码芯片一般可支持64 个

c51、c52单片机红外线遥控接收解码c程序(可直接使用)

/ 亲,此程序以经过测试,可直接使用!!!/ #include #define uchar unsigned char #define uint unsigned int void delay(uchar x); sbit IRIN = P3^2; uchar IRCOM[4]; void main() { IE = 0x81; TCON = 0x01; IRIN=1; /* 此处可以根据按键码自由编写程序 /以下为3*7遥控按键码/ /(也可以应用与其他类型遥控,本程序只以3*7遥控为例)/ / 0x45 0x46 0x47 / / 0x44 0x40 0x43 / / 0x07 0x15 0x09 / / 0x16 0x19 0x0d / / 0x0c 0x18 0x5e / / 0x08 0x1c 0x5a / / 0x42 0x52 0x4a / 例如: while(1) {switch(IRCOM[2]) {case 0x45: P2=0x7f; break; case 0x44: P2=0xbf; break; case 0x07: P2=0xdf; break; case 0x16: P2=0xef; break; case 0x0c: P2=0xf7; break; case 0x08: P2=0xfb; break; case 0x42: P2=0xfd; break; case 0x52: P2=0xfe; break; case 0x4a: P2=0xff; break; case 0x5a: P2=0x00; break;} } */ while(1); } //end main /**********************************************************/ void IR_IN(void) interrupt 0 //外部中断服务程序 {unsigned char j,k,N=0; EX0 = 0; delay(15); if (IRIN==1) { EX0 =1;

红外遥控原理及解码程序

红外遥控系统原理及单片机 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1 红外线遥控系统框图 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC 的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征:采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周

期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。 图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反)上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3示。 图3 遥控信号编码波形图 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。

38khz红外发射与接收解析

38khz红外发射与接收 38khz红外发射与接收 红外线遥控器在家用人的眼睛能看到的可见光,若按波长排列,依次(从长到短)为红,橙,黄,绿,青,蓝,紫,如图1所示. 由图可见,红光的波长范围为0.62μm~0.76μm,比红光波长还长的光叫红外线.红外线遥控器就是利用波长0.76μm~1.5μm之间的近红外线来传送控制信号的. 红外线的特点是不干扰其他电器设备工作,也不会影响周边环境. 人们见到的红外遥控系统分为发射和接收两部分.发射部分的发射元件为红外发光二极管,它发出的是红外线而不是可见光,如图2所示. 常用的红外发光二极管发出的红外线波长为940nm左右,外形与普通φ5mm发光二极管相同,只是颜色不同.一般有透明,黑色和深蓝色等三种.判断红外发光二极管的好坏与判断普通二极管一样的方法.单只红外发光二极管的发射功率约100mW.红外发光二极管的发光效率需用专用仪器测定,而业余条件下,只能凭经验用拉距法进行粗略判定. 接收电路的红外接收管是一种光敏二极管,使用时要给红外接收二极管加反向偏压,它才能正常工作而获得高的灵敏度.红外接收二极管一般有圆形和方形两种.由于红外发光二极管的发射功率较小,红外接收二极管收到的信号较弱,所以接收端就要增加高增益放大电路.然而现在不论是业余制作或正式的产品,大都采用成品的一体化接收头,如图3所示.红外线一体化接收头是集红外接收,放大,滤波和比较器输出等的模块,性能稳定,可靠.所以,有了一体化接收头,人们不再制作接收放大电路,这样红外接收电路不仅简单而且可靠性大大提高. 图3是常用两种红外接收头的外形,均有三只引脚,即红外接收头的主要参数如下: 工作电压:4.8~5.3V 工作电流:1.7~2.7mA 接收频率:38kHz 峰值波长:980nm 静态输出:高电平 输出低电平:≤0.4V 输出高电平:接近工作电压 3.红外线遥控发射电路 红外线遥控发射电路框图如图4所示. 框图4是目前所有红外遥控器发射电路的功能组成,其中的编码器即调制信号,按遥控器用途的编码方式可以很简单,也可以很复杂.例如用于电视机,VCD,DVD 和组合音响的遥控发射的编码器,因其控制功能多达50种以上,此时的编码器均采用专用的红外线编码协议进行严格的编程,然而对控制功能少的红外遥控器,其编码器是简单而灵活.前者编码器是由生产厂家的专业人员按红外遥控协议进行编码,而后者适用于一般图4中编码器的编码信号对38kHz的载波信号进行调制,再经红外发射管D向空间发送信号供遥控接收端一体化接收头接收,解调输出,再作处理.

51单片机红外解码程序

51单片机红外解码程序 1、红外遥控系统 通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。 发射部分包括键盘矩阵、编码调制、LED红外发送器; 接收部分包括光、电转换放大器、解调、解码电路。 下面,我们将使用下面两种设备: 另外,使用51单片机进行解码。 2、原理图

从原理图看出,IR的data脚与51的PD2(P3.2)相连。 2、红外发射原理 要对红外遥控器所发的信号进行解码,必须先理解这些信号。 a) 波形 首先来看看,当我们按下遥控器时,红外发射器是发送了一个什么样的信号波形,如下图: 由上图所示,当一个键按下超过22ms,振荡器使芯片激活,将发射一组108ms 的编码脉冲(由位置1所示)。如果键按下超过108ms仍未松开,接下来发射的 代码(连发代码由位置3所示)将仅由起始码(9ms)和结束码(2.5ms)组成。 下面把位置1的波形放大:

由位置1的波形得知,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码(用户编码)(9ms~18ms),高8位地址码(用户编码)(9ms~18ms),8位数据码(键值数据码)(9ms~18ms)和这8位数据的反码(键值数据码反码)(9ms~18ms)组成。 b) 编码格式 遥控器发射的信号由一串0和1的二进制代码组成.不同的芯片对0和1的编码有所不同。通常有曼彻斯特编码和脉冲宽度编码。XS-091遥控板的0和1采用PWM方法编码,即脉冲宽度调制。下图为一个发射波形对应的编码方法: 放大0和1的波形如下图: 这种编码具有以下特征:以脉宽为0.565ms、间隔0.56ms、周期为1.125ms 的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms 的组合表示二进制的“1”。 3、红外接收原理 a) 波形 红外接收头将38K载波信号过虑,接收到的波形刚好与发射波形相反:

红外遥控编码原理及C程序,51单片机红外遥控

红外遥控解解码程序 #include #include #define uchar unsigned char #define uint unsigned int sbit lcden=P1^0; sbit rs=P1^2; sbit ir=P3^2; sbit led=P1^3; sbit led2=P3^7; unsigned int LowTime,HighTime,x; unsigned char a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u; unsigned char flag;//中断进入标志位 uchar z[4]; uchar code table[]={"husidonghahahah"}; uchar code table1[]={"User Code:"}; void delay(uint x) { uint i,j; for(i=x;i>0;i--) //i=xms即延时约xms毫秒for(j=100;j>0;j--); } void write_com(uchar com) {//写液晶命令函数 rs=0; lcden=0; P2=com; delay(3); lcden=1; delay(3); lcden=0; } void write_date(uchar date) {//写液晶数据函数 rs=1; lcden=0; P2=date; delay(3); lcden=1;

delay(3); lcden=0; } void init_anjian() //初始化按键 { a=0;b=0;c=0;d=0; e=0;f=0;g=0;h=0; i=0;j=0;k=0;l=0; m=0;n=0;o=0;p=0; q=0;r=0;s=0;t=0; u=0; } void init_1602() {//初始化函数 uchar num; lcden=0; rs=0; write_com(0x38);//1602液晶初始化 write_com(0x0c); write_com(0x06); write_com(0x01); write_com(0x80); for(num=0;num<14;num++)//写入液晶固定部分显示{ write_date(table[num]); delay(3); } write_com(0x80+0x40); for(num=0;num<9;num++) { write_date(table1[num]); delay(3); } } void write_dianya(uchar add,char date) {//1602液晶刷新时分秒函数4为时,7为分,10为秒char shi,ge; shi=date%100/10; ge=date%10; write_com(0x80+0x40+add); write_date(0x30+shi); write_date(0x30+ge); }

红外遥控解码原理

红外线遥控器解码原理 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1 红外遥控系统 通用红外遥控系统由发射和接收两大部分组成,应用编/解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 2 遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25ms的组合表示二进制的“1”,其波形如图2所示。 上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。

UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。UPD6121G 最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个起始码(9ms),一个结果码(4.5ms),低8位地址码 (9ms~18ms),高8位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发代码)将仅由起始码(9ms)和结束码(2.5ms)组成。 代码格式(以接收代码为准,接收代码与发射代码反向) ①位定义 ②单发代码格式 ③连发代码格式 注:代码宽度算法: 16位地址码的最短宽度:1.12×16=18ms 16位地址码的最长宽度: 2.24ms×16=36ms 易知8位数据代码及其8位反代码的宽度和不变:(1.12ms+2.24ms)×8=27ms ∴32位代码的宽度为(18ms+27ms)~(36ms+27ms)

红外遥控编解码全攻略

-DYDIY- 红外遥控编解码全攻略 作者:杜洋 2005-9-26 红外遥控器的解码并对电器进行遥控一直是广大单片机爱好者的一个心愿。自己动手实现红外遥控电器也是大家单片机学习提高的一个重要的实验。现在网上关于红外线遥控器的解码的资料和文章很多,可是我在半年前学习红外遥控的解码时可是费了不少的力气。因为网上大部分资料和源程序都是针对某一种的红外遥控进行说明,只有买了和文章中一样的遥控器才可以继续实验。而且网上很少有遥控器的编码资料(用单片机模拟红外遥控器),经过了半年的学习与实践现在终于对红外遥控信号的编解码有了一个微薄的认识,在止写成文章希望对初学红外遥控的朋友有一定的帮助,更渴望有深入了解这方面的高手批评指正,谈谈自己的理解与看法,我就算是抛砖引玉了。呵呵! 红外遥控器的解码: 大部分的红外遥控的解码资料都是采用串口或是利用一个专用的单片机解码电路取码,前者的制作麻烦而且还要有专用的软件支持。后者则必须单独做一块解码板,而且一般只对某一种或一类的红外遥控器有效。而我有一种方法,只用一条不需要电路板的接线,用声卡测出红外遥控的波型。经过了长时间的使用效果很好,而且不仅对各种红外遥控的解码,还可以对无线通信或各种低波特率的编码进行分析,相当一个高级的试波器。 红外遥控器声卡波形解码一法: 采用我的解码方法需要以下的条件: 1,一台有MIC输入的声卡的电脑。 2,一条制作好的红外转换线(自己制作,以下有介绍) 3,安装高级音频编辑软件COOL EDIT PRO 2.0(各大下载网均有破解版下载) 红外遥控协议说明: 一般的,红外遥控的编码由前导码、地址码和数据码组成。而且有比较精准的时序要求。遥控码的发射由38KHZ或40KHZ的载波信号,由信号的时间长度来表示二进制数据。遥控的协议表示方法很多,下面是几种典型的例子:1, 1 E-mail:dydiy@https://www.doczj.com/doc/556340307.html,

红外遥控编码格式

红外遥控编码 红外遥控编码常用的格式有两种:NEC和RC5 NEC格式的特征: 1:使用38 kHz载波频率 2:引导码间隔是9 ms + 4.5 ms 3:使用16位客户代码 4:使用8位数据代码和8位取反的数据代码 下面的波形是从红外接收头上得到的波形:(调制信号转变成高低电平了) 不过需要将波形反转一下才方便分析:

NEC 协议通过脉冲串之间的时间间隔来实现信号的调制(英文简写PPM)。逻辑“0”是由0.56ms的38KHZ载波和0.560ms的无载波间隔组成;逻辑“1”是由0.56ms的38KHZ载 波和1.68ms的无载波间隔组成;结束位是0.56ms的38K载波。 遥控器的识别码是Address=0xDD20;键值是Command=0x0E;

注意波形先是发低位地址再发高位地址。所以0000,0100,1011,1011反转过来就是1101,1101,0010,000十六进制的DD20; 键值波形如下:

也是要将0111,0000反转成0000,1110得到十六进制的0E;另外注意8位的键值代码是取反后再发一次的,如图0111,0000 取反后为1000,1111。 最后一位是一个逻辑“1”。 RC5编码相对简单一些: 下面的遥控器地址是1A,键值是0D的波形 同样由于取自红外接收头的波形需要反相一下波形以便于分析:

反相后的波形: 根据编码规则:

得到一组数字:110,11010,001101 根据编码定义 第一位是起始位S 通常是逻辑1 第二位是场位F通常为逻辑1,在RC5扩展模式下它将最后6位命令代码扩充到7位代码(高位MSB),这样可以从64个键值扩充到128个键值。 第三位是控制位C 它在每按下了一个键后翻转,这样就可以区分一个键到底是一直按着没松手还是松手后重复按。 如图所示是同一按键重复按两次所得波形,只有第三位是相反的逻辑,其它的位逻辑都一样。

红外线遥控系统原理及软件解码实例

红外线遥控系统原理及软件解码实例 简介:红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功 关键字:红外 红外线遥控是目前使用最广泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。 1、红外遥控系统 通用红外遥控系统由发射和接收两大部分组成。应用编解码专用集成电路芯片来进行控制操作,如图1所示。发射部分包括键盘矩阵、编码调制、LED 红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 图1 红外线遥控系统框图 2 、遥控发射器及其编码 遥控发射器专用芯片很多,根据编码格式可以分成两大类,这里我们以运用比较广泛,解码比较容易的一类来加以说明,现以日本NEC的uPD6121G组成发射电路为例说明编码原理(一般家庭用的DVD、VCD、音响都使用这种编码方式)。当发射器按键按下后,即有遥控码发出,所按的键不同遥控编码也不同。这种遥控码具有以下特征: 采用脉宽调制的串行码,以脉宽为0.565ms、间隔0.56ms、周期为1.125 ms的组合表示二进制的“0”;以脉宽为0.565ms、间隔1.685ms、周期为2.25 ms的组合表示二进制的“1”,其波形如图2所示。 图2 遥控码的“0”和“1” (注:所有波形为接收端的与发射相反)

上述“0”和“1”组成的32位二进制码经38kHz的载频进行二次调制以提高发射效率,达到降低电源功耗的目的。然后再通过红外发射二极管产生红外线向空间发射,如图3所示。 图3 遥控信号编码波形图 UPD6121G产生的遥控编码是连续的32位二进制码组,其中前16位为用户识别码,能区别不同的电器设备,防止不同机种遥控码互相干扰。该芯片的用户识别码固定为十六进制01H;后16位为8位操作码(功能码)及其反码。U PD6121G最多额128种不同组合的编码。 遥控器在按键按下后,周期性地发出同一种32位二进制码,周期约为108 ms。一组码本身的持续时间随它包含的二进制“0”和“1”的个数不同而不同,大约在45~63ms之间,图4为发射波形图。 图4 遥控连发信号波形 当一个键按下超过36ms,振荡器使芯片激活,将发射一组108ms的编码脉冲,这108ms发射代码由一个引导码(9ms),一个结果码(4.5ms),低8位地址码(9ms~18ms),高8 位地址码(9ms~18ms),8位数据码(9ms~18ms)和这8位数据的反码(9ms~18ms)组成。如果键按下超过108ms仍未松开,接下来发射的代码(连发码)将仅由起始码(9ms)和结束码(2.25ms)组成。 图5 引导码图6连发码 3 、遥控信号接收 接收电路可以使用一种集红外线接收和放大于一体的一体化红外线接收器,不需要任何外接元件,就能完成从红外线接收到输出与TTL电平信号兼容的所有工作,而体积和普通的塑封三极管大小一样,它适合于各种红外线遥控和红外线数据传输。 接收器对外只有3个引脚:Out、GND、Vcc与单片机接口非常方便,如图7所示。

红外遥控解码系统

创新设计与实践 课程设计 题目: 红外遥控解码系统设计分析 院系名称:电气工程学院 专业班级:电气F0902 指导教师: 设计时间: 2012/12/17-2012/12/23 Array红外遥控解码系统设计分析 一红外遥控解码的现状发展 红外遥控器作为一种极其普及的家用电器的附件,全球每年的需求量在 5亿只以上。有众多的厂家在专业生产红外遥控器,也有众多的遥控器方案 开发公司在专业开发各种红外遥控器集成电路。红外线遥控是目前使用最广 泛的一种通信和遥控手段。由于红外线遥控装置具有体积小、功耗低、功能强、

成本低等特点,因而,继彩电、录像机之后,在录音机、音响设备、空凋机以及玩具等其它小型电器装置上也纷纷采用红外线遥控。工业设备中,在高压、辐射、有毒气体、粉尘等环境下,采用红外线遥控不仅完全可靠而且能有效地隔离电气干扰。通用红外遥控系统由发射和接收两大部分组成。应用编/解码专用集成电路芯片来进行控制操作。发射部分包括键盘矩阵、编码调制、LED红外发送器;接收部分包括光、电转换放大器、解调、解码电路。 二红外遥控解码原理与设计思路 整体设计思路为:经过上述方案的分析选择,得出系统硬件由以下几部分组成:电视红外遥控器,51单片机最小系统,接收放大于一体集成红外接收头,1602液晶显示驱动电路。根据扫描到不同的按键值转至相对应的ROM表读取数据。确认设备及菜单选择键后51单片机将从ROM读取出来的值,按照数据处理要求从输出控制脉冲与T0产生的38KHz的载波进行调制,经NPN三极管对信号放大驱动红外发光管将控制信号发送出去。红外数据接收则是采用HS0038一体化红外接收头,内部集成红外接收、数据采集、解码的功能,只要在接收端INT0检测头信号低电平的到来,就可完成对整个串行的信号进行分析得出当前控制指令的功能。然后根据所得的指令去操作相应的用电器件工作,如图1-1所示。

红外遥控实验报告

红外遥控开关 小组成员: 指导教师:

掌握电子电路设计的基本方法; 了解各种红外收发器件; 掌握红外遥控的收发方式; 掌握红外遥控的编码、解码方式; 掌握开关量信号对强电设备的控制方式 设计要求及技术指标: 基本部分: [1]红外遥控器采用现成的家用电器的红外遥控器,遥控距离不小于5米; [2]遥控开关接收端的工作电源为220V交流电; [3]遥控开关使用发光二极管指示有无220V交流电源及遥控开关的开关状 态; [4]遥控开关能够控制台灯、电扇等家用电器,输出功率不超过200W。 发挥部分: [1]自制红外遥控器,包括至少4路遥控按键; [2]遥控开关能够控制至少4路家用电器 设计任务 [1]设计、安装、调试所设计的电路; [2]画出完整电路图,详细说明电路原理,写出设计总结报告 设计思路 红外遥控→红外接收→信号处理→开关驱动及显示

红外遥控器的发射端具有键盘矩阵,每按下一个键,即产生具有不同的编码的数字脉冲,这种代码指令信号调制在38kHZ的载波上,激励红外光二极管产生具有脉冲波串的红外波,通过空间的传送送到受控机内的遥控接收器。在接收过程中红外波信号通过滤波器和光电二极管转换为38kHZ的电信号,此信号经过放大、检波、整形、解调,送到解码器与接口电路,从而完成相应的遥控功能。“红外线遥控器”设计方案 直流稳压电源部分 直流稳压电源的基本结构 设计电路

整流电路虽然已经把交流电转换成直流电, 但是整流出来的电压还不是平稳的直流电电压, 所以在整流电路的后边还要有滤波电路, 来改善整流输出电压的平滑程度, 这个工作由电容器来完成。 电路的核心是集成稳压电路LM317, 它有三个端点, 一个输入端, 一个输出端, 还有一个调节端。调节端接地 在实际的焊接过程中,我们采用芯片7805代替了芯片LM317,由7805的OUT端输出直流的稳定的电压。 三端稳压集成电路7805 功能框图:

红外解码程序详解

红外遥控解码程序设计 ——————基于uPD6121红外编码制式 红外传感系统是目前应用最为广泛的遥控系统,一个红外遥控系统可分为发射和接收两部分组成,发射端称之为红外遥控器,一般由矩阵键盘,红外编码调制芯片和红外发射管组成;接收端用一体化红外接收头即可,这个东东内置光电放大器和解调部分,信号接收之后一般很微弱须放大后才可解码,为有效发射出去得先托付在载波上所以需经历调制、解调的过程,其实对于发射部分主要工作在于编码,而对于编码方式只有几种主流方式,而目前国内大部分均为uPD6121编码方式(日本NEC公司搞出来的。。),所以我们只须弄清楚这种编码的时序,即可写出万能的红外解码程序,只要是基于这种编码方式的遥控器(家里的电视、空调、电扇遥控器)都可以用该程序来解码(这点也充分证明了C语言的高移植性啊。。) 这种编码的格式其实很简单,开头是一个引导码,人家芯片在编码时将其设计成9ms的高电平和4.5ms的低电平,也就是说你必须跳过这段引导码之后才会接收到数据,第一个问题来了:为什么要加这段引导码?因为红外传感是非常容易受到干扰的,如果直接传送数据很可能并非发送端的信号,很可能来自其他辐射,后面设计程序时会遇到这个问题。所以我们在写程序时在引导码时可以加入检测代码,如果是引导码则继续接收,否则跳出。第二个问题就是:接收数据时我们用外部中断接收,这是考虑到CPU 的执行效率,如果你在主函数里接收数据,就好比CPU一直在问:你接收到数据没? 你接收到没?..很明显不靠谱,和串口通信一样,接收数据用中断这是经验,有利于单片机的执行效率。第三个要注意的就是红外接收端和编码发送的数据是反向的!这点很重要,我看很多资料没有写明这点,让很多童鞋疑惑不解,也就是说引导码编码时确实是9ms高电平和4.5ms 的低电平,但是到了接收端是9ms的低电平和4.5ms的高电平,所以我们在解码时就得注意引导码高电平出现的顺序。对于编码格式,引导码后接了4个字节的数据,前两个字节为用户码和用户反码,简单点说就是器件地址;后两字节为操作码和操作反码,就是我们真正需要的数据。图为发送端编码格式,注意接收到的已反向!

相关主题
文本预览
相关文档 最新文档