在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

    
    
    <address id="vxupu"><td id="vxupu"></td></address>

      <pre id="vxupu"><small id="vxupu"></small></pre>
      <dfn id="vxupu"></dfn>
      <div id="vxupu"><small id="vxupu"></small></div>
    1. 新聞中心

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

      紅外解碼程序換種寫(xiě)法

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

      #define uint unsigned int
      #define uchar unsigned char
      sbit IR=P3^2; //紅外接口標(biāo)志
      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個(gè)RAM,可以用acc直接讀寫(xiě)的,速度最快,生成的代碼也最小。
      char data Test1[]=" ";
      void DelayMs(uchar z);
      /******************************************************************/
      /* 變量聲明 */
      /******************************************************************/
      uchar irtime;//紅外用全局變量
      bitirpro_ok,irok;
      uchar IRcord[4]; //處理后的紅外碼,分別是 客戶(hù)碼,客戶(hù)碼,數(shù)據(jù)碼,數(shù)據(jù)碼反碼
      uchar irdata[33]; //33個(gè)高低電平的時(shí)間數(shù)據(jù)
      /******************************************************************/
      /* 函數(shù)聲明 */
      /******************************************************************/
      void Ir_work(void);
      void Ircordpro(void);
      void ShowString (unsigned charline,char *ptr);
      /******************************************************************/
      /* 定時(shí)器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//定時(shí)器0中斷服務(wù)函數(shù)
      {
      irtime++; //用于計(jì)數(shù)2個(gè)下降沿之間的時(shí)間
      }
      /******************************************************************/
      /* 外部中斷0函數(shù) */
      /******************************************************************/
      void ex0_isr (void) interrupt 0 using 0//外部中斷0服務(wù)函數(shù)
      {
      uchar i; //接收紅外信號(hào)處理
      bitstartflag; //是否開(kāi)始處理標(biāo)志位
      if(startflag)
      {

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

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

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


      上一頁(yè) 1 2 下一頁(yè)

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

      評(píng)論


      技術(shù)專(zhuān)區(qū)

      關(guān)閉