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

專注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

紅外遙控器單片機(jī)編碼程序加詳解

作者:佚名   來源:不詳   點(diǎn)擊數(shù):  更新時(shí)間:2014年08月17日   【字體:

 

 
 
void IR_IN() interrupt 0 using 0   //采用12MHz晶振
{
  unsigned char j,k,N=0;
     EX0 = 0;   //初始化,關(guān)閉外中斷
  delay(15);
  if (IRIN==1) //沒有脈沖到來高電平
     { EX0 =1;   //默認(rèn)狀態(tài)下開中斷,尋找9ms引導(dǎo)脈沖
    return;
   }
                           //確認(rèn)IR信號出現(xiàn)
  while (!IRIN)            //等IR變?yōu)楦唠娖剑^9ms的前導(dǎo)低電平信號。
    {delay(1);}      //單片機(jī)接收電平與遙控器電平完全相反,delay(1)延時(shí)0.14ms
 
 for (j=0;j<4;j++)         //收集四組數(shù)據(jù)
 {
  for (k=0;k<8;k++)        //每組數(shù)據(jù)有8位
  {
   while (IRIN)            //等 IR 變?yōu)榈碗娖剑^4.5ms的前導(dǎo)高電平信號。
     {delay(1);}
    while (!IRIN)          //等 IR 變?yōu)楦唠娖剑?.56ms)
     {delay(1);}
     while (IRIN)           //計(jì)算IR高電平時(shí)長
      {
    delay(1);
    N++;          
    if (N>=14)    //大于1.685ms高電平長度,為了保證可靠性N=14
  { EX0=1;    //(2.25/0.14=16,1.685/0.14=12,0.565/0.14=4)
  return;}                  //0.14ms計(jì)數(shù)過長自動(dòng)離開,重新判斷。
      }                        //高電平計(jì)數(shù)完畢               
     IRCOM[j]=IRCOM[j] >> 1;                  //數(shù)據(jù)最高位補(bǔ)“0”
     if (N>=6) {IRCOM[j] = IRCOM[j] | 0x80;}  //大于0.565ms高電平長度,N=6,7,8(1.685/2)都行,判斷為“1”,數(shù)據(jù)最高位補(bǔ)“1”
     N=0;
  }//end for k
 }//end for j
  
   if (IRCOM[2]!=~IRCOM[3])     數(shù)據(jù)碼與數(shù)據(jù)反碼相反,繼續(xù)執(zhí)行,否則,數(shù)據(jù)出錯(cuò)。返回,重新判斷。
   { EX0=1;
     return; }
 
   IRCOM[5]=IRCOM[2] & 0x0F;     //取鍵碼的低四位
   IRCOM[6]=IRCOM[2] >> 4;       //右移4次,高四位變?yōu)榈退奈?/div>
 
   if(IRCOM[5]>9)
    { IRCOM[5]=IRCOM[5]+0x37;}    //轉(zhuǎn)換成相應(yīng)的ASCII碼,送1602顯示。
   else
   IRCOM[5]=IRCOM[5]+0x30;
 
   if(IRCOM[6]>9)
    { IRCOM[6]=IRCOM[6]+0x37;}
   else
   IRCOM[6]=IRCOM[6]+0x30;
 
     lcd_pos(0x4b);            
     lcd_wdat(IRCOM[6]);        //第一位數(shù)顯示
     lcd_pos(0x4c);              
     lcd_wdat(IRCOM[5]);        //第二位數(shù)顯示
 
     beep();
     EX0 = 1;      //開中斷,繼續(xù)判斷
}
 
主站蜘蛛池模板: 精品一区二区三区视频在线观看 | 激情欧美一区二区三区中文字幕 | 精品1区| 欧美日本韩国一区二区 | 国产精品久久久久久久久久久久 | 欧美性视频在线播放 | 成人国产精品免费观看 | 美女在线观看国产 | 夜夜艹| 免费毛片在线 | 国外成人在线视频 | 国产精品日日摸夜夜添夜夜av | 国产91在线 | 亚洲 | 天天操夜夜操免费视频 | 久久久免费观看视频 | 成人免费观看男女羞羞视频 | 国产一区二区在线免费观看 | 国产精品一区二区av | 91免费版在线 | 玖玖爱365 | 久草免费福利 | 国产一级片免费视频 | 国产高清视频在线观看播放 | 欧美日一区二区 | 三级免费| 国产精品日韩一区二区 | 91精品一区二区 | 国产激情一区二区三区 | 日本xx视频免费观看 | 九九热精品在线视频 | 日韩一二三区视频 | 日本字幕在线观看 | 日本不卡一区二区三区在线观看 | 国产一区二区三区久久久久久久久 | 一级毛片视频 | 精品国产乱码久久久 | 久久亚洲91 | 欧美亚洲视频在线观看 | 99精品欧美一区二区三区 | 久久精品国产一区二区电影 | 日韩欧美在线一区二区 |