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