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

          新聞中心

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

          紅外解碼程序換種寫法

          作者: 時間:2016-12-02 來源:網(wǎng)絡(luò) 收藏
          #include

          #define uint unsigned int
          #define uchar unsigned char
          sbit IR=P3^2; //紅外接口標志
          sbit RS = P1^0;
          sbit RW = P1^1;
          sbit E = P1^2;
          sbit beep = P1^7;
          uint hour,minute,second,count;
          char code Tab[16]={0,1,2,3,4,5,
          6,7,8,9,A,B,C,D,E,F};
          //char code Tab[16]="0123456789abcdef";//兩種定義方法都可以
          chardataTimeNum[]=" ";//data:固定指前面0x00-0x7f的
          //128個RAM,可以用acc直接讀寫的,速度最快,生成的代碼也最小。
          char data Test1[]=" ";
          void DelayMs(uchar z);
          /******************************************************************/
          /* 變量聲明 */
          /******************************************************************/
          uchar irtime;//紅外用全局變量
          bitirpro_ok,irok;
          uchar IRcord[4]; //處理后的紅外碼,分別是 客戶碼,客戶碼,數(shù)據(jù)碼,數(shù)據(jù)碼反碼
          uchar irdata[33]; //33個高低電平的時間數(shù)據(jù)
          /******************************************************************/
          /* 函數(shù)聲明 */
          /******************************************************************/
          void Ir_work(void);
          void Ircordpro(void);
          void ShowString (unsigned charline,char *ptr);
          /******************************************************************/
          /* 定時器0中斷服務(wù)函數(shù) */
          /******************************************************************/

          void beep1()
          {
          uchar i;
          for (i=0;i<4;i++)
          {beep=0;
          DelayMs(400);
          beep=1;
          DelayMs(400);
          }
          }
          void beep2()
          {
          uchar i;
          for (i=0;i<5;i++)
          {beep=0;
          DelayMs(300);
          beep=1;
          DelayMs(300);
          }
          }
          void beep3()
          {
          uchar i;
          for (i=0;i<2;i++)
          {beep=0;
          DelayMs(500);
          beep=1;
          DelayMs(500);
          }
          }
          void shan()
          {
          uchar i;
          for (i=0;i<3;i++)
          {P0=0x55;
          DelayMs(1000);
          P0=0xff;
          DelayMs(1000);
          }
          }
          void tim0_isr (void) interrupt 1 using 1//定時器0中斷服務(wù)函數(shù)
          {
          irtime++; //用于計數(shù)2個下降沿之間的時間
          }
          /******************************************************************/
          /* 外部中斷0函數(shù) */
          /******************************************************************/
          void ex0_isr (void) interrupt 0 using 0//外部中斷0服務(wù)函數(shù)
          {
          uchar i; //接收紅外信號處理
          bitstartflag; //是否開始處理標志位
          if(startflag)
          {

          if(irtime<63&&irtime>=33)//引導(dǎo)碼 TC9012的頭碼,9ms+4.5ms
          i=0;

          irdata[i]=irtime;//存儲每個電平的持續(xù)時間,用于以后判斷是0還是1
          irtime=0;
          i++;
          if(i==33)
          {
          irok=1;
          i=0;
          }
          }

          else
          {
          irtime=0;
          startflag=1;
          }
          }
          /******************************************************************/
          /* 定時器0初始化 */
          /******************************************************************/
          void TIM0init(void)//定時器0初始化
          {
          TMOD=0x02;//定時器0工作方式2,TH0是重裝值,TL0是初值
          TH0=0x00; //重載值
          TL0=0x00; //初始化值
          ET0=1; //開中斷
          TR0=1;
          }


          上一頁 1 2 下一頁

          關(guān)鍵詞: 紅外解碼1602顯示碼

          評論


          技術(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); })();