新聞中心

        EEPW首頁 > EDA/PCB > 設計應用 > 基于FPGA的多功能LCD顯示控制器設計

        基于FPGA的多功能LCD顯示控制器設計

        作者: 時間:2013-05-16 來源:網絡 收藏

        12864和1602液晶模塊都有自己一套嚴格用戶指令集,用戶就是通過這些指令來初始化液晶模塊來選擇顯示模式,這就要求顯示驅動器同時包含多種顯示模式的用戶配置指令,LCD12864和LCD1602液晶模塊字符、圖形顯示模式的初始化指令如表2所示,對于指令的解釋在此不再詳述。

        本文引用地址:http://www.104case.com/article/189600.htm

        c.JPG


        通過表2的指令對比可以看出兩種顯示模塊的字符顯示初始化指令完全一致,僅僅是顯示行的起始地址有所不同;這就需要在LCD中設置參數跳轉,來根據模塊配置參數自動加載相應的行起始地址,而對于LCD模塊的圖形顯示模式需要用到擴展指令集,并且需要分成上下兩個半屏設置起始地址,上半屏垂直坐標Y:8’h80~9’h9F(32行),水平坐標X:8’h80;下半屏垂直坐標和上半屏相同,而水平坐標X:8’h88。

        3 的狀態機設計
        基于設計LCD,關鍵在于采用硬件描述語言設計有限狀態機(FSM)來控制LCD模塊的跳轉,文獻中就是使用FSM實現了對LCD模塊的顯示控制,但是它們都是針對一種類型LCD模塊的某種顯示模式,不具有多模式的顯示控制能力。因此,多功能LCD顯示控制器的有限狀態機就需要設置更多的條件轉換,來實現多種控制模式,狀態機的狀態轉換圖如圖2所示。

        d.JPG


        在圖2所示的狀態轉換圖中,系統上電后,首先完成持續大約0.1 s(根據時鐘頻率配置)的自動復位,然后才根據模塊的端口參數選擇不同顯示模式所對應的初始化命令,在狀態機中設置有初始化命令、起始行地址和屏顯示數據3條轉換路徑來適應LCD屏的工作狀態,同時也在關鍵轉換路徑上設置有可以配置的延時循環,這樣既能方便LCD模塊的工作調試,又能使LCD模塊一直工作在寫屏模式(RW=0)。對于LCD屏的顯示數據存儲可以完全采用內嵌的ROM/RAM單元實現,如果使用雙口RAM(存儲器讀寫獨立)就能實現LCD模塊的動態實時顯示。

        4 多功能顯示控制器的設計驗證
        使用康芯KX7C5T 開發板(Altera CycleⅡEP2C5T144C8)、KBl2864KZK、RT1602C和4x4鍵盤組成多功能LCD控制器的硬件測試平臺;設計項目經過QuartusⅡ9.1開發工具的工程編譯和芯片下載配置后得到的實際顯示效果圖如圖3所示,其中圖3(a)是LCD1602模塊的字符顯示效果圖;屏的第1行顯示靜態字符,第2行實時顯示鍵盤輸入鍵值。圖3(b)是LCD12864模塊的中西文混合字符顯示效果圖,第4行也是實時顯示鍵盤輸入鍵值。圖3(c)是LCD12864模塊的靜態圖片顯示效果圖(ROM存儲);圖3(d)是LCD12864模塊的實時動態圖形顯示效果圖(雙口RAM存儲),這是用多功能LCD顯示控制器實現的邏輯分析儀界面。

        e.JPG



        5 結論
        文中設計的多功能LCD顯示控制器,在FPGA開發板上的驗證結果表明,它完全具有能夠驅動LCD1602模塊顯示字符、LCD12864模塊顯示字符和實時顯示圖形的功能;并能夠通過端口參數配置而實現控制器的系統移植。

        LCD顯示屏相關文章:lcd顯示屏原理


        fpga相關文章:fpga是什么


        led顯示器相關文章:led顯示器原理


        lcd相關文章:lcd原理

        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 贵溪市| 安丘市| 吐鲁番市| 彭州市| 东源县| 乾安县| 蒙阴县| 裕民县| 泗洪县| 东兰县| 大足县| 赞皇县| 凉城县| 交口县| 阳原县| 许昌县| 西丰县| 和林格尔县| 平湖市| 财经| 河南省| 石家庄市| 志丹县| 长寿区| 奈曼旗| 洱源县| 临泽县| 泗阳县| 射洪县| 宝鸡市| 龙游县| 荔浦县| 临洮县| 张家口市| 龙岩市| 麻城市| 林芝县| 潼关县| 道孚县| 兴仁县| 丹寨县|