基于PicoBlaze軟核的TFT液晶顯示控制
2 TFT液晶顯示模塊
TFT液晶模塊為320×240像素26萬(wàn)色彩色圖形點(diǎn)陣式液晶,不僅可以顯示數(shù)字、字符等內(nèi)容,還可以顯示漢字和任意圖形。該模塊的控制芯片為SSD1289,與外部的連接只有16位數(shù)據(jù)線、5根控制線及電源。液晶模塊引腳功能如表1所列。TFT液晶模塊的讀寫(xiě)時(shí)序滿足標(biāo)準(zhǔn)的8080并行時(shí)序,F(xiàn)PGA只要通過(guò)這些數(shù)據(jù)線和控制線按照相應(yīng)的時(shí)序進(jìn)行讀寫(xiě),即可實(shí)現(xiàn)對(duì)模塊的顯示控制。本文引用地址:http://butianyuan.cn/article/150935.htm
3 軟硬件設(shè)計(jì)
3.1 PicoBlaze匯編程序設(shè)計(jì)
由于TFT液晶模塊內(nèi)置了SSD1289控制芯片,并且其讀寫(xiě)時(shí)序滿足標(biāo)準(zhǔn)的8080并行時(shí)序,因此,在PicoBlaze程序設(shè)計(jì)中模擬其讀寫(xiě)時(shí)序即可實(shí)現(xiàn)對(duì)TFT液晶模塊的控制。要通過(guò)軟件模擬8080并行讀寫(xiě)時(shí)序,主要有兩項(xiàng)關(guān)鍵技術(shù):一項(xiàng)是對(duì)端口的高低電平進(jìn)行控制;另一項(xiàng)是
編寫(xiě)軟件延時(shí)子程序。
對(duì)端口的電平控制,可以通過(guò)OUTPUT命令方便地實(shí)現(xiàn)。比如:
可以向LCD_DATA_H端口輸出數(shù)據(jù)0xFF。
PieoBlaze沒(méi)有提供相應(yīng)的位操作指令,因此,對(duì)PieoBlaze端口的位操作可以通過(guò)下列程序?qū)崿F(xiàn):
上述程序?qū)崿F(xiàn)了對(duì)LCD_CTRL_PORT的bit0進(jìn)行置“1”和清“0”操作,且不影響其他位。每次進(jìn)行端口輸出前,將端口狀態(tài)從寄存器sF中讀出;而每次端口輸出完成后,將當(dāng)前端口狀態(tài)保存到寄存器sF中。
軟件延時(shí)子程序可以通過(guò)循環(huán)來(lái)實(shí)現(xiàn)。PicoBlaze的所有指令均為雙周期指令,當(dāng)系統(tǒng)工作頻率為50 MHz時(shí),每條指令的執(zhí)行時(shí)間為40 ns。因此,通過(guò)調(diào)用下面的子程序即可實(shí)現(xiàn)1μs延時(shí):
評(píng)論