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