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