![]() |
發布時間: 2018-7-23 21:37
正文摘要:最近學習51單片機學會LCD1602A顯示圖片功能,這里分享給大家(上傳顯示效果和使用說明) #include"reg52.h" #define uchar unsigned char #define uint unsigned int sbit lcdrs=P1^0; sbit lcdrw=P1^1 ... |
不錯,顯示多樣化,直觀美觀。![]() |
LCD1602內部有一個64字節的自定義CGRAM,一個字符占8個字節,所以在CGRAM能夠存放8個字符。 CGRAM的地址為0x40.所以當我們要寫入數據時,要先寫入一條地址命令 write_com(0x040);然后把你要寫入的數據通過寫數據命令寫入 write_date( 你要寫得數據); write_cmd(0x40); //開始寫入你要顯示的自定義字符、漢字代碼 for(i=0;i<64;i++) { write_date(table[i]); delay(5); } 以上只是把你要顯示漢字的代碼存放在CGRAM里,就相當于其他常用字符一樣固定在LCD里面了,如果不把它讀出來,LCD是不會顯示的。 常用字符是從0x20開始顯示,而0x00—0x0f都是沒有用的,其實這個正式為我們自定義顯示字符準備的。當你把上面的代碼輸入到CGRAM中,LCD1602會把漢字或字符賦與地址,這個地址是從0x00開始,因為最多只能8個字符,所以當在CGRAM里面輸入8個字符代碼時,這8個字符的代碼的數據地址就是0x00開始到0x07。 要顯示自定義字符和顯示常用字符一樣的做法了,先寫地址,然后寫數據 自定義字符的數據就是0x00—0x07。 Write_date(0x00) — Write_date(0x07); |
為啥是:write date,而不是write data |
由創意,贊! |
有創意,買了12864,我的那個很久沒用了,頂一下。 |
感謝分享,謝謝樓主了. |