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

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 51單片機的1602驅(qū)動程序

            51單片機的1602驅(qū)動程序

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

            /*************************************
            函數(shù)名:lcdwcmd
            函數(shù)功能:向1602中寫指令
            參數(shù):cmd(命令)
            返回:無
            備注:無
            *************************************/
            void lcdwcmd(uchar cmd)
            {
              while(lcdbusy());
              RSlcd=0;
              RWlcd=0;
              EPlcd=0;
              _nop_();
              _nop_();
              P0=cmd;
              delaynop();
              EPlcd = 1;
              delaynop();
              EPlcd = 0;
            }
            /*************************************
            函數(shù)名:lcdwdat
            函數(shù)功能:向1602中寫數(shù)據(jù)
            參數(shù):dat(數(shù)據(jù))
            返回:無
            備注:無
            *************************************/
            void lcdwdat(uchar dat)
            {
              while(lcdbusy());
              RSlcd=1;
              RWlcd=0;
              EPlcd=0;
              P0=dat;
              delaynop();
              EPlcd=1;
              delaynop();
              EPlcd=0;
            }
            /*************************************
            函數(shù)名:lcdprc
            函數(shù)功能:寫一個字符
            參數(shù):zifu(字符)
            返回:無
            備注:無
            *************************************/
            void lcdprc(uchar zifu)
            {
              lcdwdat(zifu);
            }
            /*************************************
            函數(shù)名:lcdprs
            函數(shù)功能:寫字符串
            參數(shù):zifu(字符)
            返回:無
            備注:無
            *************************************/
            void lcdprs(uchar *string)
            {
              while(*string)
              {lcdwdat(*string);string++;}
            }
            /*************************************
            函數(shù)名:lcdclear
            函數(shù)功能:清屏
            參數(shù):無
            返回:無
            備注:無
            *************************************/
            void lcdclear(void)
            {
              lcdwcmd(0x01);
            }
            /*************************************
            函數(shù)名:lcdenter
            函數(shù)功能:軟復(fù)位
            參數(shù):無
            返回:無
            備注:無
            *************************************/
            void lcdenter(void)
            {
              lcdwcmd(0x2);
            }
            /*************************************
            函數(shù)名:lcdsetxs
            函數(shù)功能:顯示設(shè)置
            參數(shù):d(顯示)c(光標)b(閃爍)
            返回:無
            備注:d=1(開顯示),d=0(關(guān)顯示)
            c=1(顯示光標),c=0(不顯示光標)
            b=1(光標閃爍),b=0(不閃爍)
            *************************************/
            void lcdsetxs(bit D,bit C,bit B)
            {
              unsigned char order;
              order=0x8;
              if(D)
                order=order+0x4;
              if(C)
                order=order+0x2;
              if(B)
                order=order+0x1;
              lcdwcmd(order);
            }
            /*************************************
            函數(shù)名:lcdsetim
            函數(shù)功能:左右移動
            參數(shù):I_D(地址指針), S(整行移動)
            返回:無
            備注:I_D=1(光標右移),I_D=0(光標左移)
            S=1(整行左右移),S=0(整行不動)
            *************************************/
            void lcdsetim(bit I_D,bit S)
            {
              unsigned char order;
              order=0x4;
              if(I_D)
                order=order+0x2;
              if(S)
                order=order+0x1;
              lcdwcmd(order);
            }

            本文引用地址:http://www.biyoush.com/article/201612/324086.htm

            /*************************************
            函數(shù)名:lcdinit
            函數(shù)功能:初始化
            參數(shù):無
            返回:無
            備注:無
            *************************************/
            void lcdinit()
            {

              lcdwcmd(0x38);
              _nop_();
              _nop_();
              _nop_();
              _nop_();
              lcdwcmd(0x38);
              _nop_();
              _nop_();
              _nop_();
              _nop_();
              lcdwcmd(0x38);
              _nop_();
              _nop_();
              _nop_();
              _nop_();
              lcdsetxs(1,0,0);//設(shè)置輸入模式,默認增量方式,畫面不動,光標向右邊移動
              lcdsetim(1,0);
              lcdwcmd(0x01);//清屏
            }

            /*************************************
            函數(shù)名:lcdsetxy
            函數(shù)功能:坐標設(shè)置
            參數(shù):x(列數(shù)),y(行數(shù))
            返回:無
            備注:配合lcdxyprc,lcdxyprs函數(shù)使用
            列數(shù)小于39,行數(shù)小于2
            *************************************/
            void lcdsetxy(uchar X,uchar Y)
            {
            uchar Address;
            if(X>39)
               X=39;
            if (Y == 0)
             {
              Address = 0x80 + X;
            }
            else
             {
             Address = 0xc0 + X;
             }
            lcdwcmd(Address);
            }



            關(guān)鍵詞: 51單片機1602驅(qū)動程

            評論


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

            關(guān)閉