一、红外遥控介绍(NEC协议)

这篇具有很好参考价值的文章主要介绍了一、红外遥控介绍(NEC协议)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。


目录

1.1、红外线的介绍

1.2、红外遥控器的工作原理

1.3、NEC协议的介绍

1.引导码的组成

2.地址码

3.数据码

4.反码

5.连发码

1.4、红外接受装置

1.在数码管显示红外解码遥控器的按键值:


1.1、红外线的介绍

        红外是红外线的简称,它是一种电磁波人的眼睛可见光按照波从长到短排列,红,黄,绿,青,蓝,紫。比紫光短的叫紫外线,比红光长的叫红外线。红外线遥控就是利用他的波长(760nm~ 1mm)。

1.2、红外遥控器的工作原理

        红外遥控有无线,非接触控制的原理。抗干扰能力强,抗干扰强,简单实现,的特点在家里的各个地方都有广泛应用例如:遥控器,空调遥控。一般有红外发射装置和红外接受设备组成,发射装置一般为红外遥控器,由键盘电路、红外编码电路、电源电路和红外发射电路(元件:红外发光二极管,特殊的发光二级管)组成。红外发光二极管特殊的二极管可发射红外线。 通常为防止信号干扰等,红外遥控器的信号通常使用的载波 方式传输二进制的编码。常用的载波频率为38千HZ,发射端常使用的晶振频率为455千HZ,对其整数的分频除12,为38k。红外遥控的载波频率和遥控的外部晶振有关。所以通常的红外遥控将脉冲信号进行二进制的编码,放到载波上传输

一、红外遥控介绍(NEC协议)

        如上图遥控器的红外发光二极管发射脉冲信号(用了一个三极管)高电平出去低电平接受,在接受端的接受二极管解码。 二进制编码的形式我们用MEC的PWM 的脉冲宽度调制。要开发红外接受设备一定要知道红外遥控的编码方式和编码方式,才能更好解码,这里用NEC解码。

1.3、NEC协议的介绍

        我是用的红外遥控为NEC协议的,NEC码的位定义:一个脉冲对应的是560us 的连续载波,一个逻辑 1 传输需要 2.25 ms (560us 脉冲+1680us 的低电平),一个逻辑0 的传输需要 1.125ms(560us 脉冲+ 560us低电平)。

一、红外遥控介绍(NEC协议)

        由前文可知在接收端(上图),逻辑1是560us 的低电平和1680us 的高电平,逻辑0 是560us的低电平和560us 的高电平。正好和发射端相反。

 一、红外遥控介绍(NEC协议)

        这就是一帧数据 。

NEC协议是红外通信的协议之一, 单次发送由引导码+地址码+地址码反码+数据码+数据码反码+结束码6部分组成.8位码:(地址码,地址反码,控制码,控制反码)反码是检验正确性,取反。

1.引导码的组成

引导码由9ms的低电平和4.5ms的空闲(即高电平)组成.

如果我们规定一拍是562.5us, 那么引导码就是16拍的红外发射+8拍的空闲.

2.地址码

感觉可以理解成品牌码, 比如海信电视遥控器的地址码是1, 长虹电视遥控器的地址码是2这样(瞎编的). 一个遥控器的地址码是固定的.

3.数据码

是遥控器上的按键对应的码, 每一个按键对应一个数据码, 接收端根据数据码来判断接收的按键是哪个.

4.反码

是校验用的, 保证数据传输准确. 实际编程解码时也可以不校验.

5.连发码

由9ms(0)+2.5ms(1)+0.56ms(1)+97.96ms(1),对遥控器连续操作一个按键长时间(一帧数据发送后)不松开就发送连发码。 

1.4、红外接受装置

        红外接受装置是由红外接受电路,红外解码、电源和应用电路组成。主要作用是将红外发射装置发过来的红外线转换成电信号,再经过放大,限幅,检波,和整型形成遥控指令脉冲传输到微控制器当中,市场大多使用成品的红外接收头。铁皮和塑料封装都是一体化,(红外接受电路,红外解码、电源和应用电路组成。)都已经封装到里面直接用。 共有三个引脚vot(传出解码数据),GND,VCC。没有脉冲时高电平。接受后判断高电平时间(由上文可知),时间的不同来判断高低电平。

1.在数码管显示红外解码遥控器的按键值:

主要显示控制码:

解码:没接受到前高电平,接收后为低电平通过外部中断下降沿一到判断是否为9ms,然后判断书否有4.5ms,然后接收32位码,从第三个字节显示。文章来源地址https://www.toymoban.com/news/detail-479519.html

#include "reg52.h"
#include "smg.h"//数码管头文件
#include "dlay.h"
void ired_init(void);
u8 gired_data[];//红外接受的数据
sbit IRED=P3^2;//定义管脚

void main()
{
    u8 ired_buf[3];//存储按键值16进制
    ired_init();/初始化
    while(1)
        {
         ired_buf[0]=gsmg_data[gired_data[2]/16];//高位转换成段码数据
         ired_buf[1]=gsmg_data[gired_data[2]%16];//低位
         ired_buf[2]=0x76;
        smg_display(ired_buf,6);送入数码管,调用
        
                
        
        }





}


void ired_init(void)//配置为下降沿触发

{

    ITO=1;//判断下降沿
    EX0=1;//打开定时器中断0
    EA=1;
    IRED=1;//付初始值


}


void ired() interrupt 0//中断配置
{

    u16 time_cnt=0;
    u8 ired_high_time=0;//高电平的时间
    u8 i=0,j=0;
       if(IRED==0)//判断是不是低电平

        {

        time_cnt=1000;
        while((!IRED)&&(time_cnt))//判断是不是9.5ms低电平
        {
        delay_10us(1);//判断是不是引导信号
        time_cnt--;
        if(time_cnt==0)return;//不再操作
        
        
        } 
        if(IRED==1)
        {
        time_cnt=500;
        
        while(IRED&&time_cnt)//判断4.5高电平
        {
        delay_10us(1);
         time_cnt--;
        if(time_cnt==0) return;
        
        
        }
        //四个字节的读取
        for(i=0,i<4,i++)//接受哪一个字节
        {

            for(j=0,j<8,j++)//根据高电平的时间判断01
        
            {
                time_cnt=600;//560us
                while(IDRE==0&&time_cnt)
                    {
                    
                    delay_10us(1);
                     time_cnt--;
                        if(time_cnt==0) return;
                    
                    
                    }
                  time_cnt=20;
                while(IDRE)
                {
                   delay_10us(10);//100微秒一次
                 
                  ired_high_time++;
                   if(time_cnt>20) return;
                }
                 gired_data[i]>>=1;//右移
                 if(time_cnt>=8) //高电平1的判断560us+560us,并存入;             
                    gired_data[i]|=0x80;//每一次接受存入,红外接受先读低位再                                                                                    
                   ired_high_time =0;//读高位符合输入1,不符合输入0
                 
                 
                 
                  
            }
        
        }
        
        
        }

        if(gired_data[2]!=~gired_data[3])//控制码不等于控制反码

        {
        for(i=0;i<4;i++)
            {gired_data[i]=0;}
            return;
        }


}
}




到了这里,关于一、红外遥控介绍(NEC协议)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【stm32单片机基础】红外NEC协议解码

    红外通信协议是一种基于红外线的传输技术,广泛使用的家电遥控器几乎都是采用的红外线传输技术,由于红外线为不可见光,对环境影响很小,红外线遥控不会影响其他家用电器,也不会影响临近的无线电设备。红外遥控的编码方式目前广泛使用的是: PWM(脉冲宽度调制)的

    2024年02月01日
    浏览(40)
  • 单片机学习笔记---红外遥控&红外遥控电机调速(完结篇)

    目录 低电平触发中断和下降沿触发中断的区别 红外遥控 Int0.c Int.h Timer0.c Timer0.h IR.c IR.h main.c  红外遥控电机调速 Timer1.c Timer.h Motor.c Motor.h main.c 上一节讲了红外发送和接收的工作原理,这一节开始代码演示! 提前说明,本节代码演示中会涉及定时器和中断系统! 如果不懂定

    2024年02月21日
    浏览(51)
  • (红外遥控)STM32+红外模块控制格力空调

      其他红外介绍不多说了,下面介绍一下我使用stm32控制格力空调所遇到问题。    网上大部分对格力空调红外编码的介绍都是     起始码(S)+35位数据码+连接码(C)+32位数据码   0的电平宽度为:620us低电平+540us高电平, 1的电平宽度为:620us低电平+1620us高电平 起始码S电

    2024年01月22日
    浏览(36)
  • 【Arduino实验14 红外遥控】

    目录 一、实验目的 二、实验设备与环境 三、实验重点 四、实验难点 五、实验内容 5.1实验任务 5.2实验原理 ​5.3实验内容 5.4实验结果 5.5思考题         1熟悉红外遥控发射、接收模块的基本的原理;         2理解红外遥控器的编码原理;         3 编写红外遥控

    2024年02月05日
    浏览(42)
  • 51单片机--红外遥控

    红外遥控是一种无线、非接触控制技术, 通过使用红外线来传送控制信号。它具有抗干扰能力强、信息传输可靠、功耗低、成本低、易实现等显著优点 ,因此被广泛应用于各种电子设备和家用电器,也越来越多地应用于计算机和手机系统中。 红外遥控系统一般由 发射和接收

    2024年02月15日
    浏览(44)
  • STM32外设系列—红外遥控

    🎀 文章作者:二土电子 🌸 关注文末公众号获取其他资料和工程文件! 🐸 期待大家一起学习交流! 红外遥控,顾名思义,就是利用红外线实现遥控。这里就不单独对红外线做介绍了,红外线的波长再可见光范围外,所以人眼是看不到的。红外遥控的原理就是利用红外线进

    2024年02月14日
    浏览(47)
  • 51单片机 (十八)红外遥控

    什么是红外线?         人的眼睛能看到的可见光按波长从长到短排列,依次为红、橙、黄、绿、青、蓝、紫。其中红光的波长范围为0.62~0.76μm;紫光的波长范围为0.38~0.46μm。比紫光波长还短的光叫紫外线,比红光波长还长的光叫红外线.红外线遥控就是利用波长为0.

    2024年02月08日
    浏览(44)
  • (十六)51单片机——红外遥控

    目录 学习目标 成果展示  硬件知识 简介 硬件电路 NEC编码 遥控器键码 外部中断  中断号 寄存器 代码  红外调控  直流电机 总结            本节知识我们来学习关于红外遥控的部分,重点要学习的是NEC编码和外部中断的知识,好了,让我们开始今天的学习吧! 红外遥

    2023年04月09日
    浏览(41)
  • 【【51单片机的红外遥控】】

    红外遥控 利用红外光进行通信的设备,由红外LED将调制后的信号发出,再由专门的红外接收头进行解调输出 通信方式:单工 异步 红外LED波长:940nm 通信协议标准:NEC标准 用那种一体化红红外接收头 直接帮忙滤波 好用一点 因为用红外遥控案件按下 速度太快了 比普通按键按

    2024年02月15日
    浏览(42)
  • 【【51单片机红外遥控小风车】】

    今天结束了51单片机的学习,明天开始学习stm32 我是学习江科大的视频一步一步完成的 ,他讲的非常好,非常好 特别通俗易懂 学习复刻他的作品我也自己创作了一些 但是现在暂时脱离这块板子了 以后可能会更新一个应用51单片机制作的智能小车 我特别想开一个小车的坑 谢

    2024年02月15日
    浏览(43)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包