欧美极品高清xxxxhd,国产日产欧美最新,无码AV国产东京热AV无码,国产精品人与动性XXX,国产传媒亚洲综合一区二区,四库影院永久国产精品,毛片免费免费高清视频,福利所导航夜趣136

標題: 單片機紅外線遙控資料與(51和430C語言程序代碼) [打印本頁]

作者: 知白守黑    時間: 2018-3-12 23:12
標題: 單片機紅外線遙控資料與(51和430C語言程序代碼)
紅外遙控器資料


┌──┬──┬──┬──┬──┬──┐
│名稱│鍵值│名稱│鍵值│名稱│鍵值│
├──┼──┼──┼──┼──┼──┤
│CH- │0x45│CH  │0x46│CH+ │0x47│
├──┼──┼──┼──┼──┼──┤
│VOL-│0x44│VOL+│0x40│PLAY│0x43│
├──┼──┼──┼──┼──┼──┤
│-   │0x07│+   │0x15│EQ  │0x09│
├──┼──┼──┼──┼──┼──┤
│0   │0x16│100+│0x19│200+│0x0D│
├──┼──┼──┼──┼──┼──┤
│1   │0x0C│2   │0x18│3   │0x5E│
├──┼──┼──┼──┼──┼──┤
│4   │0x08│5   │0x1C│6   │0x5A│
├──┼──┼──┼──┼──┼──┤
│7   │0x42│8   │0x52│9   │0x4A│
└──┴──┴──┴──┴──┴──┘


單片機源程序如下:
  1. /******************************************************************/
  2. #include <reg51.h>

  3. sbit IRIN = P3^2;         //紅外接收器數據線

  4. void IRdelay(char x);  //x*0.14MS

  5. unsigned char  IRCOM[7];
  6. unsigned char Y0;
  7. /*******************************************************************/
  8. void IRInit()
  9. {
  10.     IE |= 0x81;                 //允許總中斷中斷,使能 INT0 外部中斷
  11.     TCON |= 0x01;               //觸發方式為脈沖負邊沿觸發
  12.    
  13.     IRIN=1;                    //I/O口初始化
  14. }

  15. /**********************************************************/
  16. void IR_IN(void) interrupt 0
  17. {
  18.   unsigned char j,k,N=0;
  19.      EX0 = 0;
  20.          IRdelay(15);
  21.          if (IRIN==1)
  22.      { EX0 =1;
  23.            return;
  24.           }
  25.                            //確認IR信號出現
  26.   while (!IRIN)            //等IR變為高電平,跳過9ms的前導低電平信號。
  27.     {IRdelay(1);}

  28. for (j=0;j<4;j++)         //收集四組數據
  29. {
  30.   for (k=0;k<8;k++)        //每組數據有8位
  31.   {
  32.    while (IRIN)            //等 IR 變為低電平,跳過4.5ms的前導高電平信號。
  33.      {IRdelay(1);}
  34.     while (!IRIN)          //等 IR 變為高電平
  35.      {IRdelay(1);}
  36.      while (IRIN)           //計算IR高電平時長
  37.       {
  38.     IRdelay(1);
  39.     N++;           
  40.     if (N>=30)
  41.          { EX0=1;
  42.          return;}                  //0.14ms計數過長自動離開。
  43.       }                        //高電平計數完畢               
  44.      IRCOM[j]=IRCOM[j] >> 1;                  //數據最高位補“0”
  45.      if (N>=8) {IRCOM[j] = IRCOM[j] | 0x80;}  //數據最高位補“1”
  46.      N=0;
  47.   }//end for k
  48. }//end for j
  49.    
  50.    if (IRCOM[2]!=~IRCOM[3])
  51.    { EX0=1;
  52.      return; }

  53.    IRCOM[5]=IRCOM[2] & 0x0F;     //取鍵碼的低四位
  54.    IRCOM[6]=IRCOM[2] >> 4;       //右移4次,高四位變為低四位

  55.    if(IRCOM[5]>9)
  56.     { IRCOM[5]=IRCOM[5]+0x37;}
  57.    else
  58.           IRCOM[5]=IRCOM[5]+0x30;

  59.    if(IRCOM[6]>9)
  60.     { IRCOM[6]=IRCOM[6]+0x37;}
  61.    else
  62.           IRCOM[6]=IRCOM[6]+0x30;

  63.          //if(IRCOM[2]==0x4c) RELAY=0; //打開繼電器
  64.          //else RELAY=1;              //關閉繼電器


  65.          Y0=0;
  66.          switch(IRCOM[2])
  67.          {
  68.            case 0x8C: Y0=1; break;
  69.            case 0x98: Y0=2; break;
  70.            case 0xDE: Y0=3; break;
  71.            case 0x88: Y0=4; break;
  72.            case 0x9C: Y0=5; break;
  73.            case 0xDA: Y0=6; break;
  74.            case 0xC2: Y0=7; break;
  75.            case 0xD2: Y0=8; break;
  76.            case 0xCA: Y0=9; break;
  77.            case 0x96: Y0=0; break;                  
  78.    
  79. ……………………

  80. …………限于本文篇幅 余下代碼請從51黑下載附件…………
復制代碼

所有資料51hei提供下載:
紅外遙控器資料.rar (711.1 KB, 下載次數: 74)



作者: adminor    時間: 2019-1-18 12:13
謝謝共享




歡迎光臨 (http://m.raoushi.com/bbs/) Powered by Discuz! X3.1