<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > NEC制式紅外線解碼程序

          NEC制式紅外線解碼程序

          作者: 時間:2012-09-17 來源:網(wǎng)絡(luò) 收藏

          在STC89C52上實驗通過!
          晶振11.05926,
          占用資源,外部中斷1,
          LCD1602,顯示!
          串口通訊波特率4800KBS;
          提示,在中端中不可以用while(p3_2);
          否則,不能順利跳出終端!
          #include AT89X52.H>
          #include LCD.h

          本文引用地址:http://www.ex-cimer.com/article/170851.htm

          #define uchar unsigned char
          #define uint unsigned int

          //void Delay(unsigned int i);
          void chuangkou(void);
          void unint0 (void);
          void senddata(unsigned char outdata);
          unsigned char yandata[]=
          {
          '0',
          '1',
          '2',
          '3',
          '4',
          '5',
          '6',
          '7',
          '8',
          '9',
          'A',
          'B',
          'C',
          'D',
          'E',
          'F'
          };
          unsigned char Iid[4]={0,0,0,0};
          void main(void)
          {
          LCD1602();
          Init_Lcd();
          unint0();
          chuangkou();

          P3_2=1;
          senddata('1');
          while(1)
          {
          Display_LCD_Byte(0,0,'I');
          Display_LCD_Byte(0,1,'D');
          Display_LCD_Byte(0,2,':');
          Display_LCD_Byte(0,5,'0');
          Display_LCD_Byte(0,6,'X');

          Display_LCD_Byte(0,7,yandata[ Iid[0] / 16] );
          Display_LCD_Byte(0,8,yandata[ Iid[0] % 16] );

          Display_LCD_Byte(1,0,'D');
          Display_LCD_Byte(1,1,'A');
          Display_LCD_Byte(1,2,'T');
          Display_LCD_Byte(1,3,'A');
          Display_LCD_Byte(1,4,':');
          Display_LCD_Byte(1,5,'0');
          Display_LCD_Byte(1,6,'X');

          Display_LCD_Byte(1,7,yandata[ Iid[2] / 16] );
          Display_LCD_Byte(1,8,yandata[ Iid[2] % 16] );

          }
          }

          /*void Delay(unsigned int i)
          {
          while(-- i);
          }*/

          void chuangkou(void)
          {
          TMOD = 0X20;// JI SHU QI 1
          TH1=0XFA; //11.0592, 4800KPS
          TL1 =0XFA;
          TR1=1; //QI DONG
          SCON=0X50; //
          PCON=0X00; //BU JIA BEI
          }
          void unint0 (void)
          {
          EA=1;
          EX0=1;
          IT0=1;
          }
          void senddata(unsigned char outdata)
          {
          SBUF=outdata;
          while(!TI);
          TI=0;
          }
          void INT_0() interrupt 0 using 1
          {
          unsigned char id[4]={0,0,0,0};
          unsigned char cishu0,cishu1,cishu2;
          EX0=0;
          for(cishu0=0;cishu010;cishu0++)
          {
          Delay(100);
          if(P3_2) goto exit;
          }
          if(!P3_2)
          {
          Delay(534);
          }
          while(!P3_2);//等待高電平 gou qu
          for(cishu1=0;cishu1 4 ; cishu1 ++)
          {
          for(cishu2=0;cishu2 8 ; cishu2 ++)
          {
          while(!P3_2);//等待該gao電平開始延時,判斷高低
          Delay(90);
          if(P3_2)
          {
          id[cishu1]|= 0x01 cishu2;
          Delay(100);
          //while(P3_2);在時千萬不要有這樣的口令
          }
          /* else
          {
          id[cishu1]= 0xfe cishu2;
          }*/
          }
          }
          if(id[0]!=~id[1]) goto exit;
          if(id[0]!=0x02) goto exit;
          if(id[2]!=~id[3]) goto exit;
          senddata(id[0]);
          // senddata(id[1]);
          senddata(id[2]);//數(shù)據(jù)碼
          // senddata(id[3]);//數(shù)據(jù)碼飯嗎
          for(cishu0=0;cishu0200;cishu0++)
          {
          P2_0=~P2_0;
          Delay(50);
          }
          Iid[0]=id[0];
          Iid[2]=id[2];
          exit:
          // while(!P3_2);
          EX0=1;
          }

          伺服電機相關(guān)文章:伺服電機工作原理




          關(guān)鍵詞: 程序 解碼 紅外線 制式 NEC

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();