基于AVR單片機的VRAM型彩色液晶顯示模塊設計
當數據位為“1”時,對應色點為亮;為“0”時,對應色點為暗。通過RGB三原色組合而得到的8種顏色代碼如下:
例1:若X 、Y坐標為(7,0)
SRAM = 0EFH ×100H + 0 = 0EF00H
余數為7 ,則 RAM = 0EF00H + 2 = 0EF02H
若此點為紅色,則送入0EF02H 內存單元里的數據為[ 0EF02H] 11111000B + 00000100B
例2 :若X 、Y坐標為(15,5)
SRAM = (5 - 1) ×100H + 1 ×3 = 403H
余數為5 ,則 RAM1 = 403H + 1 = 404H
RAM2 = 403H + 2 = 405H
若此點為白色,則送入這兩個單元的數據為
[ 404H] 11111110B + 00000001B
[ 405H] 00111111B + 11000000B
4.2.2 畫點函數的具體實現
從例1和例2可以看出,要只顯示一個色點,就必須知道該點對應的內存中的數據,而前面提到過內存中的數據是不能讀出的,所以要將寫入內存中的數據先保存起來,即在向YD2502的顯示緩沖區里寫數據之前,應先將此數據寫入61LV5128 。若在坐標(X,Y)處畫顏色為color的點,其具體函數如下:
以上只給出了余數是0的情況,其他的情況可依此類推。計算內存地址的LCD_pixeladdr函數可根據給出的內存地址計算方法編寫,讀寫61LV5128的read_exram函數和write_exram函數可根據具體的硬件設計編寫,這里不再給出。
4.3 顯示漢字和其他功能的實現
在屏幕上顯示16×16點陣漢字的基本步驟是:首先取得該漢字的32個字節的點陣數據,再確定屏幕上顯示的位置,利用畫點函數即可顯示該漢字。因本模塊使用了硬件漢字庫技術,所以漢字的點陣數據是從漢字庫中獲取的。
評論