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

標題: AT89S52單片機紅外遙控部分程序 [打印本頁]

作者: wjh666..    時間: 2018-11-25 20:26
標題: AT89S52單片機紅外遙控部分程序
  1. #include<reg52.h>
  2. #defineuchar unsigned char
  3. #defineuint unsigned int
  4. ucharirtime;
  5. ucharstartflag;
  6. ucharirdata[33];
  7. ucharbitnum;
  8. ucharirreceok;
  9. ucharircode[4];
  10. ucharirprosok;
  11. uchardisplay[8];
  12. ucharcode table[16]="Infrared control";
  13. uchartable1[16]="Nowcode:";
  14. sbitlcden=P3^6;
  15. sbitlcdrs=P3^7;//rw接地
  16. ucharnum;
  17. voidirpros(void)//數據處理函數
  18. {
  19.   uchar k=1,i,j;
  20.   uchar value;
  21.        for(j=0;j<4;j++)
  22.        {
  23.         for(i=0;i<8;i++)
  24.          {
  25.                value=value>>1;
  26.                if(irdata[k]>6)
  27.                {
  28.                 value=value|0x80;
  29.                }
  30.                k++;
  31.          }
  32.         ircode[j]=value;
  33.        }
  34.    irprosok=1;
  35. }
  36. voidirwork(void)//數據分離函數
  37. {
  38. display[0]=ircode[0]/16;
  39. display[1]=ircode[0]%16;
  40. display[2]=ircode[1]/16;
  41. display[3]=ircode[1]%16;
  42. display[4]=ircode[2]/16;
  43. display[5]=ircode[2]%16;
  44. display[6]=ircode[3]/16;
  45. display[7]=ircode[3]%16;
  46. }
  47. voidnumzh(void)//ASCII碼轉換函數
  48. {
  49.    uchar i,j=8,a;
  50.    for(i=0;i<8;i++)
  51.         {
  52.                switch(display[ i])
  53. [ i]
  54.                {
  55.                       case 0  :a=48;break;
  56.                       case 1  :a=49;break;
  57.                       case 2  :a=50;break;
  58.                       case 3  :a=51;break;
  59.                       case 4  :a=52;break;
  60.                       case 5  :a=53;break;
  61.                       case 6  :a=54;break;
  62.                       case 7  :a=55;break;
  63.                       case 8  :a=56;break;
  64.                       case 9  :a=57;break;
  65.                       case 10:a=65;break;
  66.                       case 11:a=66;break;
  67.                       case 12:a=67;break;
  68.                       case 13:a=68;break;
  69.                       case 14:a=69;break;
  70.                       case 15:a=70;break;
  71.                }
  72.                table1[j]=a;
  73.                j++;
  74.      }
  75. }
  76. voidmain()//主函數
  77. {
  78.   timer0init();
  79.   int0init();
  80.   lcdinit();
  81.   play_1();
  82. while(1)  //循環檢測處理
  83. {
  84.    if (irreceok)
  85.    {
  86.         irreceok=0;
  87.         irpros();     
  88.    }
  89.    if(irprosok)
  90.    {  
  91.       irprosok=0;
  92.         irwork();
  93.         numzh();
  94.         play_2();
  95.    }
  96. }
  97. }
  98. voidtinmer0() interrupt 1//定時器0中斷函數
  99. {
  100. irtime++;
  101. }
  102. void  int0() interrupt 0// 外部中斷0函數,數據接收
  103. {
  104.        if(startflag)
  105.        {
  106.         if (irtime>30)//檢測引導嗎
  107.          {
  108.          bitnum=0;
  109.          }
  110.         irdata[bitnum]=irtime;
  111.         irtime=0;
  112.         bitnum++;
  113.         if(bitnum==33)
  114.          {
  115.          bitnum=0;
  116.          irreceok=1;
  117.          }
  118.        }
  119.        else
  120.        {
  121.         startflag=1;
  122.         irtime=0;
  123.        }
  124. }
復制代碼







歡迎光臨 (http://www.zg4o1577.cn/bbs/) Powered by Discuz! X3.1
主站蜘蛛池模板: 成人免费视屏 | 亚洲一区二区三区在线 | 久久精品网 | 天天干天天爱天天操 | 午夜成人在线视频 | 99精品视频免费观看 | 熟女毛片| 国产精品久久久久久久免费观看 | 国产高清视频在线观看 | 亚洲 91| 欧美精品一区三区 | 中文字幕福利视频 | 精品国产乱码久久久久久88av | 欧美成人第一页 | 亚洲精品综合一区二区 | 青青草免费在线视频 | 大吊一区二区 | 中文字幕一区在线观看视频 | 国产小网站 | 在线免费国产 | 日韩美av | 国产精品视频一二三区 | 欧美日日 | 亚洲视频在线观看 | 欧美三级在线 | 亚洲精品欧美 | 三级av免费| 国产视频精品视频 | 久久精品亚洲精品 | 欧美成人激情 | 久久久国产一区 | 久久久久国产一区二区三区 | 亚洲精品久久久久中文字幕二区 | 999久久久国产精品 欧美成人h版在线观看 | h片在线看 | 精品久久久久久亚洲综合网站 | 欧美 日韩 在线播放 | 不卡视频在线 | 久久综合一区二区三区 | 韩国理论电影在线 | 成人av播放 |