N76E003红外解码程序、电路

发布者:翅膀小鹰最新更新时间:2022-06-29 来源: eefocus关键字:N76E003  红外解码 手机看文章 扫描二维码
随时随地手机看文章

红外解码和红外编码的数据一一对应,在此不再对红外编码协议过多赘述


在N76E003单片机中,我们使用外部中断1进行读取红外信号。参照下图,进行配置,外部中断1的引脚为P17

图1:NEC红外协议

外部中断1:中断号为2

这里写图片描述
这里写图片描述

IE = 0x84;                 //允许总中断中断,使能 INT1 外部中断

TCON = 0x10;               //触发方式为脉冲负边沿触发


我们编写的红外解码程序,思路大致就是根据下图中的第一个108ms中的数据格式进行解码

红外编码

void IR_IN() interrupt 2 using 0//中断服务程序

{

  unsigned char j,k;

     EX1 = 0;  //禁用外部中断1 

     delay(15);

     if (IRIN==1) //(sbit IRIN=P1^7)确定IR信号出现

     { 

        EX1 =1;

        return;

     } 

    while (!IRIN)            //等IR变为高电平,跳过9ms的前导低电平信号。

    {

        delay(1);

    }

 for (j=0;j<4;j++)         //收集四组数据

 { 

  for (k=0;k<8;k++)        //每组数据有8位

  {

   while (IRIN)            //等 IR 变为低电平,跳过4.5ms的前导高电平信号。

     {delay(1);}

    while (!IRIN)          //等 IR 变为高电平

     {delay(1);}

     while (IRIN)           //计算IR高电平时长

      {

                delay(1);

                N++;           

                if (N>=30) //0.14ms计数过长自动离开。

                { 

                    EX1=1;//重新使能外部中断1

                    N=0;//清空超时计数器

                    return;//结束中断服务程序

                }                 

      }                                   

     IRCOM[j]=IRCOM[j] >> 1;                  //数据最高位补“0”

     if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;}  //数据最高位补“1”

         Te[j]=N;

     N=0;

  }

 }

//***************************************************************

   IRCOM[5]=IRCOM[2] & 0x0F;     //取键码的低四位

   IRCOM[6]=IRCOM[2] >> 4;       //右移4次,高四位变为低四位


   if(IRCOM[5]>9)//十六进制

    { IRCOM[5]=IRCOM[5]+0x37;}

   else

      IRCOM[5]=IRCOM[5]+0x30;


   if(IRCOM[6]>9)

    { IRCOM[6]=IRCOM[6]+0x37;}

   else

      IRCOM[6]=IRCOM[6]+0x30;

//*************************************************************

//接收到的数据,就是存放在IRCOM[5]、IRCOM[6]中      

//**************************************************************

     EX1 = 1; //重新开启外部中断1,等待下一次触发


电路图如下所示:

红外接收电路

红外接收头采用HX1838

这里写图片描述

关键字:N76E003  红外解码 引用地址:N76E003红外解码程序、电路

上一篇:N76E003 PWM之极性控制
下一篇:N76E003 PWM 程序及分析(边沿对齐、独立输出模式)

小广播
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved