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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應用 > 紅外解碼程序(用1602顯示碼值)

          紅外解碼程序(用1602顯示碼值)

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

          #define uchar unsigned char
          #define uint unsigned int
          sbit beep=P1^7;
          bit startflag; //定義一個掃描開始標志位
          bit irreceok;//紅外接收OK標志位
          bit irprosok;//紅外接收處理OK標志位
          uchar irdata[33];//定義一個存放編碼的數(shù)組。引導碼1位,客戶碼8位,客戶反碼8位,數(shù)據(jù)碼8位,數(shù)據(jù)反碼8位 ,共33位
          uchar bitnum;//接收到的第幾位數(shù)據(jù)的標志位
          uchar irtime;//定義紅外掃描時間
          uchar ircode[4];//為四個碼值定義一個數(shù)組存放,把四位碼分開
          uchar disp[8];//四組數(shù)據(jù),每組拆成高四位和低四位,共八個元素
          /**************1602部分******************/
          sbit lcden=P1^2;
          sbit lcdrs=P1^0;
          sbitlcdrw=P1^1;
          /*char code Tab[]={0,1,2,3,4,5,6,7,8,
          9,A,B,C,D,E,F};*/
          char code Tab[]="0123456789abcdef";
          void delay(uint z) //延時子程序
          {
          uint x,y;
          for(x=z;x>0;x--)
          for(y=220;y>0;y--);
          }

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

          void write_com(uchar com)//定義一個帶參數(shù)的寫命令子程序
          {
          lcdrs=0; //1602的rs為0時,接收命令,為1時接收數(shù)據(jù)
          P0=com;//把void write_com(uchar com)中的COM中的數(shù)據(jù)給P0口
          delay(2);
          lcden=1;
          delay(2);
          lcden=0;
          delay(2);
          }

          void init_1602()//定義一個初始化子程序
          {
          lcden=0;
          lcdrw=0;
          write_com(0x38);//調(diào)用 write_com子程序并把0x38賦給P0口,顯示模式打開
          write_com(0x0f);//調(diào)用 write_com子程序并把“開顯示,顯示光標,光標閃爍”指令碼賦給P0口
          write_com(0x06);//調(diào)用 write_com子程序并把“地址指針加1,整屏不移動”指令碼賦給P0口
          //write_com(0x80+0x10);//數(shù)據(jù)指針初始化,讓指針指向可顯示的最右端
          write_com(0x80);//數(shù)據(jù)指針初始化,讓指針指向最左端,顯示從第一行開始
          write_com(0x01);//調(diào)用 write_com子程序并把"清零指"令碼賦給P0口
          }

          void write_dat(uchar dat)//定義一個帶參數(shù)的寫數(shù)據(jù)子程序
          {
          lcdrs=1; //1602的rs為0時,接收命令,為1時接收數(shù)據(jù)
          P0=dat;//把void write_shu(uchar shu)中的COM中的數(shù)據(jù)給P0口
          delay(2);
          lcden=1;
          delay(2);
          lcden=0;
          delay(2);
          }

          void delayms(uint t)
          {
          uint i,j;
          for(i=t;i>0;i--)
          for(j=110;j>0;j--);
          }
          void timer0init()//定時器O初始化
          {
          TMOD=0x02;//定時器設(shè)成方式2,因為方式2可以自動重裝初值
          TH0=0x00;//高位設(shè)為O
          TL0=0x00;//低位設(shè)為O
          ET0=1; //中斷打開
          EA=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); })();