LCD1602顯示自定義字符
1.1 怎么顯示?
要想讓LCD顯示自定義字符,只需要把要顯示的字符寫入LCD的CGRAM寄存器中,再讀取出來就行了。
問題是,怎么將自定義字符寫入CGRAM呢?
根據(jù)數(shù)據(jù)手冊可知,CGRAM起始地址為0x40,那么第一個字符的CGRAM地址為0x40~0x47(一個字節(jié)占用一個地址,一個自定義字符為8個字節(jié)),依次第二個字符地址為0x48~0x4F第三個為0x50~0x57···
那么在我們將自定義的字符寫入到CGRAM后,LCD1602內(nèi)部的DDRAM(字符顯示地址數(shù)據(jù)存貯器)會給你自定義的字符分配一個顯示地址,第一個字符的顯示地址為0x00,第二個字符的顯示地址為0x01,第三個的顯示地址為0x02···
1.2 具體實現(xiàn)步驟- 打開取模軟件(附件)
- 文件->新建->8*8
- 在右5*8點陣中寫入想要顯示的字符
- 設置
1.png (94.27 KB, 下載次數(shù): 31)
下載附件
2018-1-30 16:48 上傳
- 生成字模(八個十六進制的數(shù))
1.3 簡短參考程序
- 1 code uchar User[]={0x10,0x06,0x09,0x08,0x08,0x09,0x06,0x00};//自定義字符℃
- 2 LCD_write_com(0x40); //設定 CGRAM 地址
- 3 for(i=0;i<8;i++ )
- 4 {
- 5 LCD_write_data(User[i]); //寫入自定義圖形 ℃
- 6 }
- 7 LCD_write_com(0x8d); //設定屏幕上的顯示位置
- 8 LCD_write_data(0x00); //從 CGRAM 里取出自定義圖形顯示
復制代碼 2 LCD12864顯示漢字在真實的LCD12864中,是存在字符的。但是在proteus仿真中的12864是不支持顯示漢字的!
不支持顯示漢字,并不是不能顯示漢字!
在這里僅介紹LCD12864在仿真中的漢字取模問題。
- 打開取模軟件(附件下載)
- 文件->新建->16*16(在中國漢字中,任何一個漢字都可以用16*16點陣表示!)
- 在16*16點陣中畫出先要顯示的漢字
- 設置
2.png (14.31 KB, 下載次數(shù): 32)
下載附件
2018-1-30 16:48 上傳
- 生成字模(十六個十六進制的數(shù))
【注】12864顯示數(shù)字、字母等,也要設置取模字符串,但不再是16*16像素,而為16*8像素。但是相應的顯示程序中,也不能在用顯示漢字的for(16),而要改成for(8)。
仿真:
0.png (9.83 KB, 下載次數(shù): 42)
下載附件
2018-1-30 16:46 上傳
0.png (48.4 KB, 下載次數(shù): 36)
下載附件
2018-1-30 16:46 上傳
單片機源程序如下:
所有資料51hei提供下載:
07.中文字庫.rar
(2.16 MB, 下載次數(shù): 30)
2018-1-30 16:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
12864顯示.rar
(54.71 KB, 下載次數(shù): 15)
2018-1-30 16:47 上傳
點擊文件名下載附件
下載積分: 黑幣 -5
取模工具下載:http://www.zg4o1577.cn/bbs/dpj-54570-1.html
|