文章詳情

          清達光電SPI液晶模塊與8051單片機應用實例

          日期:2025-05-09 19:32
          瀏覽次數(shù):2305
          摘要:

          清達光電SPI液晶模塊與8051單片機應用實例

          1SPI液晶時序介紹:

              SPI是一種時序,液晶模塊時序是指對LCD顯示模塊進行讀寫時電路的時序要求和狀態(tài)。

          主要分為以下幾種時序:8080并口,6800并口,SPI串口,I2C串口,UART串口,RS232串口,USB等幾種類型。

          清達光電SPI液晶模塊HC1624時序圖如下:

           

           

           

           

          2SPI液晶HC1624主要參數(shù):

          HC1624為清達光電生產的16*2字符液晶模塊(資料參考http://www.chinalcdmodule.com/character-lcm-hc1624.html

           

          尺寸規(guī)格

           

           

           

           

           

           

          原理結構圖

           

           

          模塊外形圖

           

           

          接口定義:

          編號  符號 電平 功能 

          1 VSS 0V 接地 

          2 VDD +5.0V 邏輯電壓 

          3 V0 - LCD驅動電壓 

          4 RS H/L H: 數(shù)據(jù)  L: 指令 

          5~11 NC - 空腳位 

          12 /CS L 低片選有效 

          13 SCLK H/L 串行時鐘輸入 

          14 SID H/L 串行數(shù)據(jù)輸入 

          15 LEDA +5.0V 16 LEDK 0V LED背光源輸入電壓

           

           

           

          3, SPI液晶模塊HC1624控制器介紹

           


          西文字庫表

           


          4SPI液晶模塊與8051單片機硬件及軟件應用實例

           

          硬件接口圖

           

           

          軟件應用實例:

          #include<reg51.h> 

          #include<string.h>

           #include<stdio.h> 

          #include <intrins.h> 

          #define uchar unsigned char

           #define uint unsigned int  

          sbit SID=P3^4; 

          sbit SCK=P3^3; 

          sbit CS=P3^1; 

          sbit RS=P3^0; 

           

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

          延時子程序

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

          void delayus(uchar m)

          {

          while(--m);

          }

          void delayms(uchar m)

          {

          uchar i,j;

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

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

          delayus(1);

          }

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

          液晶屏寫入程序

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

          void SendByte(unsigned char Dbyte)

          {

               unsigned char i ;

              // CS = 0;

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

               {

                     SCK = 0 ;

                     delayus(1);

                     Dbyte=Dbyte<< 1 ;      //左移一位

                     delayus(1);

                     SID = CY ;            //移出的位給SID

                     delayus(1);

                     SCK = 1 ;

                     SCK = 0 ;

               }

          }

          void WriteCommand( unsigned char Cbyte )

          {

                 CS = 0;

               delayus(1);

               SendByte(Cbyte) ;

               delayus(1);

          }

           

          void WriteData( unsigned char Dbyte)

          {

                   CS = 0;

               WriteCommand(0x3c);

               SendByte(0x80) ;

               SendByte(Dbyte) ;

          }

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

          液晶屏初始化

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

          void lcd_init()

          {

           RES=0;

           delayus(10);

           RES=1;

           delayus(10);

           delayms(60);

           WriteCommand(0x38);//8位數(shù),2行顯示,外部功能關

            delayms(60);

           WriteCommand(0x38);//8位數(shù),2行顯示,外部功能關

            delayms(60);

           WriteCommand(0x38);//8位數(shù),2行顯示,外部功能關

            delayus(60);

           WriteCommand(0x0e); //開顯示,光標,2行顯示

            delayus(60);

           WriteCommand(0x01); //**

            delayus(60);

           WriteCommand(0x02); //歸零

             delayus(60);

           WriteCommand(0x14); //光標右移

           WriteCommand(0x06); //模式進入

          }

          void goto_lcd(uchar x,uchar y)

          {

            WriteCommand(0x38);

            WriteCommand(0x80+x+y*0x40);

          }

          void write_string(uchar x,uchar y,uchar *s)

          {

            goto_lcd(x,y);

            while(*s>0)

            {WriteData(*s); s++;}

          }

          void ringt_lcd()

          {

          uchar i;

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

          {WriteCommand(0x1c);delayms(4000); };

          }

          void left_lcd()

          {

          uchar i;

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

          {WriteCommand(0x18);delayms(4000); };

          }

          int main(void)

          {

          uchar i;

          lcd_init();

          write_string(0,0,"012456789ABCDEFG");

          write_string(4,1,"Tsingtek");

          while(1);

          }

          主站蜘蛛池模板: 一本大道久久东京热无码AV| 亚洲精品无码mv在线观看| 4480yy私人影院论| 成熟女人特级毛片www免费| 亚洲午夜一区二区三区| 精品午夜福利1000在线观看| 国产成人精品综合在线观看 | 美女aⅴ高清电影在线观看| 国产精品免费播放 | 熟妇人妻中文字幕无码老熟妇| 国产三级精品三级在专区| xxxx中文字幕| 大奉打更人最新章节| 中文字幕免费视频| 暖暖免费观看日本版| 亚洲精品乱码久久久久久下载| 精品欧美一区二区三区在线观看| 国产影片中文字幕| 2019天天干夜夜操| 天堂中文字幕在线| 两个人看的www高清免费观看| 日韩中文在线视频| 亚洲大成色www永久网址| 男人扒开女人下面狂躁动漫版| 国产xxxx做受视频| 黄页网址在线免费观看| 欧洲亚洲国产精华液| 免费一级肉体全黄毛片| 英语老师解开裙子坐我腿中间| 国产精品igao视频| 99久久伊人精品综合观看| 性宝福精品导航| 久久国产乱子伦精品免费强| 欧美伊久线香蕉线新在线| 亚洲视频一区二区在线观看| 精品在线视频一区| 国产乱人伦app精品久久| 国产90后美女露脸在线观看| 国产精品无码翘臀在线观看| chinesespanking2实践| 成人免费网站视频|