<tfoot id="m7gql"><source id="m7gql"></source></tfoot>
      1. 久久久久亚洲精品无码网站,欧美午夜成人片在线观看,亚洲男女羞羞无遮挡久久丫,日产乱码一区二区国产内射,亚洲一区二区三区高清在线看,午夜福利理论片高清在线观看,国产免费午夜福利蜜芽无码,亚洲AV永久精品三区在线
        文章詳情

        1602字符液晶6800時序8位并口樣例程序

        日期:2025-12-15 13:39
        瀏覽次數(shù):2313
        摘要:1602字符液晶一般為6800接口,可以使用8位或者4位數(shù)據(jù)線,清達(dá)光電提供的1602字符液晶有藍(lán)模式黃綠模式,接口有并口或者SPI串口,本文以6800 8位并口為例的程序

        1602字符液晶6800時序8位并口樣例程序由清達(dá)光電技術(shù)部提供,清達(dá)光電專業(yè)設(shè)計生產(chǎn)液晶模塊,OLED模塊,TFT模塊等,產(chǎn)品齊全,供貨快捷。

        #include<reg51.h>

        #include<intrins.h>

        #include<stdio.h>

        #define uchar unsigned char

        #define uint unsigned int

        sbit RS = P3^3;

        sbit RW = P3^1;

        sbit E = P3^0;

        unsigned char X,Y;

        /*-----------建立自定義演示用字符庫-----------*/

        code  unsigned int CGTAB[9][8]={

        /*

        橫向取模 ,先上后下

        */

        0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,   /* "↓"代碼=0 */

        0x0f,0x09,0x0f,0x09,0x0f,0x09,0x11,0x00,   /* "月"代碼=1 */

        0x1f,0x11,0x11,0x1f,0x11,0x11,0x1f,0x00,   /* "日"代碼=2 */

        0x11,0x0a,0x04,0x1f,0x04,0x1f,0x04,0x00,   /* "¥"代碼=3 */

        0x0e,0x00,0x1f,0x0a,0x0a,0x0a,0x13,0x00,   /* "元"代碼=4 */

        0x18,0x18,0x07,0x08,0x08,0x08,0x07,0x00,   /* "℃"代碼=5 */

        0x04,0x0a,0x15,0x04,0x04,0x04,0x04,0x00,   /* "↑"代碼=6 */

        0x17,0x15,0x15,0x15,0x15,0x15,0x17,0x00,   /* "10"代碼=7 */

        0x04,0x04,0x04,0x04,0x15,0x0a,0x04,0x00,   /* "↓"代碼=8 */

        };

        /*-----------自定義字符顯示用字庫-----------*/

        void delay(unsigned int t)

        {  unsigned int i,j;

          for(i=0;i<t;i++)

             for(j=0;j<10;j++)

                ;

        }

        void busy(void)

        {  P1=0xff;

          RS=0;

          RW=1;

          E=1;

          while((P1&0x80)==0x80);

          E=0;

        }

        void writecom(unsigned char com)

        {  RS=0;

          RW=0;

          P1=com;

          E=1;

          _nop_();

          E=0;

        }

        void lcdwc(unsigned char com)

        {

          busy();

          writecom(com);

        }

        void lcdwd(unsigned char dat)

        {

          busy();

          RS=1;

          RW=0;

          P1=dat;

          E=1;

          _nop_();

          E=0;

        }

        /*****************************************************

        定義地址ddram顯示范圍

        ****************************************************/

        void lcdpos(void)

        {

          X&=0x0f;     ///16列

          Y&=0x03;  ///2行

          if(Y==0x00)

             lcdwc(X|0x80);//**行ddram

          else if(Y==0x01)

             lcdwc((X+0x40)|0x80); //**行ddram

        }

        /*****************************************************

         初始化函數(shù)

        ****************************************************/

        void lcdreset()

        {  delay(150); writecom(0x38);

          delay(50); writecom(0x38);

          delay(50); writecom(0x38);

          lcdwc(0x38); //8位數(shù)據(jù) 顯示2行 5*7字符

          lcdwc(0x08); //關(guān)顯示 光標(biāo)關(guān) 閃爍關(guān)

          lcdwc(0x01); //

          lcdwc(0x06); //光標(biāo)右移 畫面不動

          lcdwc(0x0c); //開顯示 光標(biāo)關(guān) 閃爍關(guān)

        }

        /***************************************

        全部寫入

        ***************************************/

        void lcdfill(unsigned char n)

        {

          for(Y=0;Y<2;Y++)

             for(X=0;X<16;X++)

             {  lcdpos();       ///定義起始地址

                lcdwd(n);  }

        }

        /***************************************

        全部寫入隔點

        ***************************************/

        void lcdgraphic(unsigned char m)

        {

          for(Y=0;Y<2;Y++)

             for(X=0;X<16;X++)

             {  lcdpos();

                lcdwd(m);

                lcdwd(~m);  }

        }

        /*****************************************

        字符串寫入

        *******************************************/

        void lcdwda(unsigned char x,unsigned char y,unsigned char *s)

        {

          Y=y;

          for(X=x;X<16;X++)

          {

             lcdpos();

             lcdwd(*s);

             s++;

             delay(400);

          }

        }

        /**************************/

        /*     建立自定義函數(shù)     */

        /**************************/

        CGRAM()

         {

         uchar dat;

          unsigned char i,j;

          lcdwc(0x40);    /* 設(shè)置CGRAM地址 */

                /*  調(diào)寫指令函數(shù)  */

          for(i=0;i<9;i++)

            {

            for(j=0;j<8;j++)

               {

                dat=CGTAB[i][j];  /* 取字模 */

                lcdwd(dat);   /*  調(diào)寫數(shù)據(jù)函數(shù)  */

               }

            }

         }

        /*****************************************

        主函數(shù)

        *******************************************/

        main()

        {

        unsigned char i,j;

          E=0;

          lcdreset();

          while(1)

          {

           // lcdreset();

             lcdfill(0xff);

             delay(2000);

         lcdfill(0x55);

             delay(2000);

         lcdfill(0xaa);

             delay(2000);

         lcdgraphic(0xff);

         delay(2000);

          lcdgraphic(0x00);

         delay(2000);

          lcdgraphic(0x55);

         delay(2000);

          lcdgraphic(0xaa);

         delay(2000);

             for(i=0x30;i<=0x3a;i++)

             {  lcdfill(i);

                delay(3500);//顯示0-9數(shù)字

             }

             lcdfill(' ');

             delay(2000);

         lcdwda(0,0,"ABCDEFGHIJKLMNOPQRSTUVWXYZ");

             lcdwda(0,1,"ZYXWVUTSRQPONMLKJIHGFEDCBA");

             delay(2000);

             lcdfill(' ');

          /*------------CGRAM顯示段--------------*/

            CGRAM(); /* 調(diào)自定義字符庫函數(shù) */

            lcdwc(0x80);  /* 設(shè)置DDRAM地址**行顯示 */

           // lcdwc(0xc0);  /* 設(shè)置DDRAM地址**行顯示 */

                 /* 調(diào)寫指令函數(shù)  */

          for(i=0;i<9;i++)

            {

               /* 取字符代碼 */

              lcdwd(i); /* 調(diào)寫數(shù)據(jù)函數(shù)  */

            }

            delay(4000);  lcdfill(' ');

        }

        }

        主站蜘蛛池模板: 日本丰满少妇裸体自慰| 最新精品国偷自产在线美女足| 人成午夜大片免费视频77777| 香港日本三级亚洲三级| 亚洲AV无码国产永久播放蜜芽| 亚洲女同精品一区二区久久 | 色香欲天天影视综合网| 99精品成人无码观看免费| 日韩成人无码一区二区三区| 免费无遮挡无码永久视频| 一区二区三区不卡免费av| 亚洲成a人片在线观看无码不卡| 亚洲中文在线看视频一区| 欧美福利电影A在线播放| 中文字幕av一区二区三区| 亚洲日本国产综合高清醉红楼| 一区二区三区在线视频不卡| 色综合伊人色综合网站无码| 最新国产v亚洲v欧美v专区| 天堂资源中文最新版在线一区| 久久ER热在这里只有精品66| 国产自产视频一区二区三区| 中文字幕亚洲亚洲精品| 最新国产AV最新国产在钱| 欧美 日韩 国产 成人 在线观看| 黄色福利在线| 91在线视频视频在线| 四虎成人精品无码| 日韩人妻久久久一区二区三区免费| 国产在线拍揄自揄拍无码视频 | 四虎在线成人免费观看| 爆乳美女午夜福利视频| 蝴蝶伊人久久中文娱乐网| 久久亚洲精品无码| 亚洲成av人片在线观看| 国产亚洲精品俞拍视频| 中文字幕无码免费久久| 99这里只有精品免费视频| 中文字幕有码在线亚洲| 中国黄色一级视频| 在线播放国产不卡免费视频|