久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

紅外遙控解碼程序

作者:佚名   來源:本站原創   點擊數:  更新時間:2011年06月04日   【字體:
#include<reg52.h>
#include<intrins.h>


#define uchar unsigned char//宏定義
#define uint unsigned int
#define ulong unsigned long

sbit   sound=P2^3;              //蜂鳴器
sbit      IR=P1^2;       //IR_DATA


uchar dm,i,j,k;  //IR_解碼用的變量
uchar  aa[2];    //定義1個數組,用來存儲代碼,8位的數據碼和8位的數據反碼
ulong  bb;       //定義bb用來存放用戶識別碼,這里采用的是26位的用戶識別
uchar newdata;    //IR收到新的數據提示主函數去處理


//0.9ms
void delay0_9ms(void)
{
   unsigned char j,k;
   for(j=18;j>0;j--)
   for(k=20;k>0;k--) ;
}

//1ms
void delay1ms(void)
{
  unsigned char i,j;
  for(i=2;i>0;i--)
  for(j=230;j>0;j--) ;
}

//4.5ms
void delay4_5ms(void)
{
   unsigned char i,j;
   for(i=10;i>0;i--)
   for(j=225;j>0;j--) ;
}

//100ms
void delay100ms(void)
{
  unsigned char i,j,k;
  for(i=200;i>0;i--)  
  for(j=20;j>0;j--)
  for(k=10;k>0;k--) ;
}

 

IR_JM(unsigned char date)
{
  switch(date)
 {
   case 0x01:   {P0=0X00;
       break;
        } 

   case 0x10:   {
       break;
       }

   default:     {
        break;
           }
    }
}

void main()
{
  IT0=1;           //外部中斷0觸發方式控制位,下降沿觸發
  EX0=1;           //外部中斷0(INT0)中斷允許位
  EA=1;            //總中斷
  dm=0;       
  while(newdata)
  {
   newdata=0;
   IR_JM(aa[0]);
  }
}

 

void t0(void) interrupt 0//外部中斷0的函數
{
    EA=0;                        //暫時關閉CPU的所有中斷請求

    for(k=0;k<10;k++)            //重復10次,目的是檢測在9毫秒內如果出現高電平就退出解碼程序
  {                              //aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
    
  delay0_9ms();                   //延時0.9毫秒
    if (IR==1) 
  {
   k=10;break;
  }    //延時0.9毫秒后判斷P3.2腳是否出現高電平如果有就退出解碼程序
    else if(k==9)                //重復10次?
           {                     //bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
            while(IR==0);       //等待高電平避開9毫秒低電平引導脈沖
            delay4_5ms();           //延時4.5毫秒避開4.5毫秒的結果碼

   
/********************************************
//26位的用戶碼,前13位數據碼,后13位數據反碼
*********************************************/
              for(j=1;j<=26;j++)//每組數據為26位
                {                 
                 while(IR==0);  //
                 delay0_9ms();
                  if(IR==1)
                   {
        delay1ms();
                    dm=dm|0x2000000;              //因為是26位,一個"1",后面25個"0",轉化二進制即為"1000000"    
                    if(j<26) dm=dm>>1;            //數據"1",右移一個"1",一共25次
                   }                
                 else  if(j<26) dm=dm>>1;            //數據"0",一共25次
                }                    
             bb=dm;
             dm=0;

 

/***************************************************
//16位的用戶碼,前8位數據碼,后8位數據反碼
****************************************************/

     for(i=0;i<2;i++)     
               {                
                 for(j=1;j<=8;j++)//每組數據為8位
                {                
                 while(IR==0);  //
                 delay0_9ms();
                  if(IR==1)
                   {
         delay1ms();
                     dm=dm|0x80;
                     if(j<8) dm=dm>>1;           //數據"1",右移一個"1",一共7次
                   }                
                  else  if(j<8) dm=dm>>1;       //數據"0",一共7次
                }                    
             aa[i]=dm;
             dm=0;
               }              

/***************************************************
//顯示部分
****************************************************/            
               if(aa[0]==~aa[1])         //驗證成功
            {   
       sound=0; 
       delay100ms();
       sound=1;
       newdata=1;
            }

          }                     //bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
  }                             //aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
EA=1;
}
關閉窗口

相關文章

主站蜘蛛池模板: 日韩一区二区三区在线看 | 久久久久久蜜桃一区二区 | 色综合一区二区三区 | 国产黄视频在线播放 | 在线观看免费av片 | 黄色一级免费 | 久久国产福利 | 亚洲免费精品 | 在线观看视频h | 亚洲国产精品一区二区三区 | 国产日韩精品在线 | 久久91精品国产一区二区 | 一区二区三区四区毛片 | 成人在线一区二区三区 | 五月婷婷激情网 | 午夜精品久久久久久不卡欧美一级 | 亚洲精品成人av久久 | 国产视频中文字幕 | 久久久久久女 | 岛国av一区二区 | 91久色| 伊人久久综合 | 99国产精品视频免费观看一公开 | 久久久久久久久久久国产 | 国产高清亚洲 | 可以在线看的黄色网址 | 亚州成人| 亚洲精品日韩综合观看成人91 | 成人国产精品免费观看视频 | 久久免费香蕉视频 | 天天草天天射 | 成人毛片网| 7777精品伊人久久精品影视 | 黄色国产 | 日韩欧美第一页 | 国产91中文 | 亚洲欧美日韩精品久久亚洲区 | 在线观看中文字幕视频 | 欧美激情一区二区三区 | 欧美激情一区二区三区 | 久久精品亚洲一区 |