關於LCD1602顯示指定字符


1  LCD1602顯示自定義字符

1.1  怎么顯示?

要想讓LCD顯示自定義字符,只需要把要顯示的字符寫入LCD的CGRAM寄存器中,再讀取出來就行了。

問題是,怎么將自定義字符寫入CGRAM呢?

根據數據手冊可知,CGRAM起始地址為0x40,那么第一個字符的CGRAM地址為0x40~0x47(一個字節占用一個地址,一個自定義字符為8個字節),依次第二個字符地址為0x48~0x4F第三個為0x50~0x57···

那么在我們將自定義的字符寫入到CGRAM后,LCD1602內部的DDRAM(字符顯示地址數據存貯器)會給你自定義的字符分配一個顯示地址,第一個字符的顯示地址為0x00,第二個字符的顯示地址為0x01,第三個的顯示地址為0x02···

1.2  具體實現步驟

  1. 打開取模軟件(附件:https://pan.baidu.com/s/1c366Zc8)
  2. 文件->新建->8*8
  3. 在右5*8點陣中寫入想要顯示的字符
  4. 設置

  5. 生成字模(八個十六進制的數)

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在仿真中的漢字取模問題。

  1. 打開取模軟件(附件:https://pan.baidu.com/s/1c366Zc8)
  2. 文件->新建->16*16(在中國漢字中,任何一個漢字都可以用16*16點陣表示!)
  3. 在16*16點陣中畫出先要顯示的漢字
  4. 設置

  5. 生成字模(十六個十六進制的數)

【注】12864顯示數字、字母等,也要設置取模字符串,但不再是16*16像素,而為16*8像素。但是相應的顯示程序中,也不能在用顯示漢字的for(16),而要改成for(8)。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM