久久久三级 I 97超碰国产精品女人人人爽 I 男女爱爱免费视频网站 I 传媒视频免费在线观看 I 女人久久久久 I 日韩精品无码一区二区 I 太粗太深了太紧太爽了国产 I 亚洲综合色在线视频www I 俄罗斯videos极品毛片 I 国产一区二区精品在线观看 I 成人久久色 I 成年女人免费碰碰视频 I 青青草原 I 精品国产91亚洲一区二区三区婷婷 I 亚洲爆乳成av人在线蜜芽 I 在线观看视频 I 国产午夜无码片在线观看影视 I 国产女主播白浆在线观看 I 九九久久影院 I 国产51精品入口豆花 I caopor91 I aaaa级黄色片 I 日本天堂网 I 色淫免费视频 I 在线看a网址 I 午夜国产成人片在线播放 I 欧美日韩免费一区二区三区视频 I 亚洲男人视频

文章詳情

8051單片機控制字符I2C液晶屏應用實例

日期:2025-10-09 09:13
瀏覽次數:2067
摘要: 8051單片機控制字符I2C液晶屏應用實例 摘要:本文介紹了通用型8051單片機控制清達光電字符型I2C液晶模塊HC1624-I2C,同時介紹了HC1624的主要參數以及特點。 更多的信息您可以QQ 453189731 13701081790聯系。 1,8051單片機控制字符I2C液晶屏應用實例——8051單片機控制HC1624-I2C液晶模塊硬件以及軟件應用 示例程序 #include<reg51.h> #include<string.h> #include<stdio.h> #include <...

8051單片機控制字符I2C液晶屏應用實例


摘要:本文介紹了通用型8051單片機控制清達光電字符型I2C液晶模塊HC1624-I2C,同時介紹了HC1624的主要參數以及特點。

更多的信息您可以QQ 453189731   13701081790聯系。

 

1,8051單片機控制字符I2C液晶屏應用實例——8051單片機控制HC1624-I2C液晶模塊硬件以及軟件應用

 


 

示例程序

#include<reg51.h> 

#include<string.h> 

#include<stdio.h> 

#include <intrins.h>

 #define uchar unsigned char

 #define uint unsigned int   

#define IIC 

sbit SDA=P1^6;//connect to DB6 

sbit SCL=P1^7;//connect to DB7  

#define clear 0x01  /* Clear Display */ 

#define home 0x02  /* Return Home */ 

#define enmode 0x06 /* Enter Mode Set */

 #define off 0x08  /* Display on/off Set */ 

#define on 0x0e  /* Display on/off Set */ 

#define shift 0x14 /* Cursor or Display Shift */ 

#define reset 0x30  /* reset */ 

#define function 0x38  /* Function Set */ 

#define cgram 0x40 /*Set CGRAM Address */ 

#define ddram1 0x80   /* Set DDRAM Line1 Address */

 #define ddram2 0xC0  /* Set DDRAM Line2 Address */

 #define time  1000   /* 1000延時 1.03895500 s */ 

 uchar code string1[]={"Jia Xian Ke Ji"}; uchar code string2[]={"www.tsingtek.com"};

 uchar code string3[]={"Tel:13701081790"}; 

uchar code string4[]={"abcdefghijklmnopqrstuvwxyz"}; uchar code string5[]={"Thank You !"}; uchar code string6[]={'2','0','1','2',0x06,'1','0',0x07,'\0'};  

/********* 自定義字符庫 *********/ uchar code CGF[8][8]={    0x1f,0x00,0x1f,0x00,0x1f,0x00,0x1f,0x00,  /* 隔行 00H */    0x00,0x1f,0x00,0x1f,0x00,0x1f,0x00,0x1f,  /*      01H */    0x15,0x15,0x15,0x15,0x15,0x15,0x15,0x15,  /* 隔列 02H */    0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,0x0a,  /*      03H */    0x15,0x0a,0x15,0x0a,0x15,0x0a,0x15,0x0a,  /* 隔點 04H */    0x0a,0x15,0x0a,0x15,0x0a,0x15,0x0a,0x15,  /*      05H */    0x08,0x0f,0x12,0x0f,0x0a,0x1f,0x02,0x02,  /* "" 06H */    0x0f,0x09,0x0f,0x09,0x0f,0x09,0x11,0x00,  /* "" 07H */ }; 

 /********* 時間延時函數 *********/ 

void delay(uint t)     /* 1.02500 ms */ 

{ uint i,j;   for(i=t;i>0;i--)     for(j=125;j>0;j--); }  

 

#ifdef IIC //============================================ 

void start() 

{    SDA=1; 

_nop_();    

SCL=1;    

_nop_();    

_nop_();    

SDA=0;   

 _nop_();    

_nop_();    

SCL=0; }

 //============================================ 

 

void stop() {    SDA=0;  _nop_();    SCL=1;    _nop_();    _nop_();    SDA=1;    _nop_();    _nop_(); } 

 //============================================ 

void sendbyte(uint temp) 

{   int i,j;  for(i=0;i<8;i++)  

   {  SCL=0;  if(temp&0x80)   SDA=1;  else   SDA=0;  _nop_();  _nop_();  SCL=1;  _nop_();  _nop_();  SCL=0;  temp=temp<<1;  } 

_nop_();  _nop_();  SCL=1;  _nop_();  _nop_();  SCL=0;  _nop_();  _nop_(); }  //============================================ 

void write_com(uint para) 

{  start();    sendbyte(0x78);    //slave address    sendbyte(0x00);    //command    sendbyte(para);    stop(); } 

//============================================ 

void write_data(uint para) 

{  start();    sendbyte(0x78);  //RW1033 slave   address    

sendbyte(0x40);   //data    sendbyte(para);    

stop(); } 

#endif  

/****** 建立自定義字符函數*******/

 void CGFUNTION(uchar array[8][8]) 

{ uchar i,j;   write_com(cgram);  /* 寫“指令”CGRAM地址 */  

 for(i=0;i<8;i++)     for(j=0;j<8;j++)      write_data(array[i][j]);  /* 寫“數據” */ } 

 

/********* 字符全屏顯示函數 *********/ 

void char_fill_disp(uchar dat)

 { uchar i,j,temp=0;  

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

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

{ if(i==1)           temp=j|ddram2;   /* DDRAM**行地址 */          

else           temp=j|ddram1;   /* DDRAM**行地址 */        

write_com(temp);   /* 寫“指令” */        

write_data(dat);   /* 寫“數據” */      } }

 

 /********* 字符串顯示函數 *********/ 

/*********** 可選行顯示 **********/ 

void string_disp(uchar x, uchar y, uchar *str) 

{ uchar i,j,temp=0;  

 for(i=x,j=y;j<16&&*s!='\0';j++)  /* 字符串結束標志 */       

{ if(i==0)          temp=j|ddram1;   /* DDRAM**行地址 */        

else          temp=j|ddram2;   /* DDRAM**行地址 */         

write_com(temp);           

 write_data(*s++);      } }  

 

 /********* 設置參數函數 *********/

 void set(void) 

{ delay(15);  /* 延時 15.20800 ms */     

 write_com(0x38); //Function set N=1(2line),F=0(5*8 dot)  

delay(5);  

write_com(0x0C); //display on  

delay(5);  

write_com(0x01); //clear display  

delay(10); 

 

write_com(0x06); //entry set  

delay(5); } 

 

 /********* 主函數 *********/

 void main()    /* 子程序里有延時1s */ 

{ set();  /* 設置參數 */   

write_com(clear);  /* 清屏 */   

while(1)   { char_fill_disp(0xff);  /* 全屏 */     

           write_com(clear);  /* 清屏 */ 

          string_disp(0,1,string1);    /* **行顯示字符串string1 */

          string_disp(1,0,string2);   /* **行顯示字符串string2 */     

          write_com(clear);  /* 清屏 */     

         char_fill_disp(0x31);  /* 顯示“1” */ 

         CGFUNTION(CGF);   /* 建立自定義字符 */    

         write_com(clear);  /* 清屏 */    

         char_fill_disp(0x00);  /* 顯示“隔行” */    

         char_fill_disp(0x02);  /* 顯示“隔列” */   

         char_fill_disp(0x04);  /* 顯示“隔點” */   

         char_fill_disp(0xff);  /* 全屏 */         

         write_com(clear);  /* 清屏 */

         string_disp(0,0,string3);    /* **行顯示字符串string3 */

         string_disp(1,0,string4);   /* **行顯示字符串string4 */    

         write_com(clear);  /* 清屏 */ 

         string_disp(0,2,string5);   /* **行顯示字符串string5:*/

        string_disp(1,8,string6);   /* **行顯示字符串string6: 201210*/           delay(time);    } } 

 

2. 8051單片機控制字符I2C液晶屏應用實例——HC1624-I2C介紹

 

18051單片機控制字符I2C液晶屏應用實例——I2C液晶時序介紹:

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

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

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


 


 

 

 

 

28051單片機控制字符I2C液晶屏應用實例——HC1624-I2C液晶模塊主要參數:

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

 

模塊外形圖


 

 


接口定義:

編號  符號 電平 功能 

1 VSS 0V 接地               2 VDD +5.0V 邏輯電壓 

3 V0 - LCD驅動電壓          4~6 NC - 空腳

7~8 VSS 0V 邏輯地           9~11 NC - 空腳

12 VSS 0V 邏輯地            13 SDA H/L I2C接口數據輸入 

14 SCL H/L I2C接口時鐘輸入 

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

 

3)8051單片機控制字符I2C液晶屏應用實例——HC1624-I2C液晶模塊控制器介紹


 


西文字庫表

 

主站蜘蛛池模板: 亚洲高清一区二区三区电影 | 国产精品丝袜久久久久久不卡 | 在教室伦流澡到高潮hgl动漫 | 日韩人妻无码一区2区3区里沙 | 中国女人内谢69xxxx | 国产全是老熟女太爽了 | 亚洲国产精品一区二区动图 | 国产无遮挡又爽又黄大胸免费 | 欧美性生交xxxxx久久久 | 欧美 国产 综合 欧美 视频 | 尤物193在线人妻精品免费 | 欧美亚洲色帝国 | 亚洲国产区男人本色vr | 国产成人无码网站 | 国产精品久久久久久日本 | 亚洲日本国产综合高清 | 丰满人妻一区二区三区视频53 | 国模欢欢炮交啪啪150 | 中国少妇内射xxxhd免费 | 99国产精品永久免费视频 | 一级观看免费完整版视频 | 久久久精品人妻一区二区三区四 | 国产亚洲精品aaaa片在线播放 | 亚洲精品久久久久一区二区 | 久久久免费精品re6 久久久午夜精品福利内容 久久久受www免费人成 | 日本十八禁视频无遮挡 | 大肉大捧一进一出视频出来呀 | 国产成人亚洲精品无码青青草原 | 久久五月精品中文字幕 | 东北妇女xx做爰视频 | 无码精品人妻一区二区三区湄公河 | 精品亚洲成a人在线观看青青 | 中文字幕日韩精品一区二区三区 | 亚洲精品国产v片在线观看 九九天天影视 | 成人做爰69片免费看网站野花 | 欧美一级特黄a大片一 | 狠狠色综合网站久久久久久久高清 | 男人边吻奶边挵进去视频 | 国产无遮挡又黄又爽动态图 | 精品久久久久久久久午夜福利 | 亚洲日韩欧美国产高清αv 97国产精华最好的产品在线 |