新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于NiosⅡ處理器的TFT-LCD圖形顯示設計

        基于NiosⅡ處理器的TFT-LCD圖形顯示設計

        作者: 時間:2010-11-24 來源:網絡 收藏

          系統初始化,調用HAL的各模塊初始化程序,并定義在后面程序當中要用到的各個對LCD顯示屏背景顏色、字體顏色設置的函數。

          本設計采用總線方式[6]對LCD控制器(TCB8000A)的時序進行控制,利用 Builder添加完一個掛接在三態橋上的接口,將TCB8000A的控制引腳與Avalon總線相關聯。由于TCB8000A的控制時序與Avalon總線三態接口的時序吻合,因此只需在定制接口時調整等待、建立時間便可以達到控制目的。在Nios程序內用簡單的寫操作產生Avalon總線時序,需要注意的是TCB8000A只需一個地址控制線A1,且與總線的A1相連,因此寫操作應使總線上的地址線A1符合TCB8000A對A1管腳的時序要求。即在并行模式下,MPU首先把完整的命令包送入地址為F004H的只寫寄存器(A1=0),然后將“1”送到地址為F006H的寄存器(A1=1),結束一個命令包,并打開顯示。對于地址線A0,A2~A17使用的控制板已經設定好了,所以只需要控制A1便可完成命令的送入。流程圖如圖4所示。

        基于NiosⅡ處理器的TFT-LCD圖形顯示設計

          代碼如下:

          void SdCmd(alt_u8 Command) //send command

          {

          IOWR(GX_TFT_LCD_BASE, 0, Command); //A1=0

          }

          void CmdEnd() //send command

          {

          IOWR(GX_TFT_LCD_BASE, 2, 1); //A1=1

          }

          在控制時序的基礎上,程序中的顯示圖片部分[7]首先把要顯示的圖片用Bmp2HexPro.exe軟件工具轉換成數據信息, 把圖片的數據信息以頭文件的形式(picture.h)添加在工程中。

          對儲存的多張圖片進行分類標號(例如picx1、picx2、picx3等),然后在C主程序中用switch語句[8]來分別調用表示該圖片信息的索引號碼,示例程序如下:

          void ShowBMP160(alt_u32 X,alt_u32 Y, alt_u8 picIndex)

          {

          alt_u8 i,j,k,Buffer[5],*pic;

          alt_u16 p;

          alt_u32 addr;

          switch(picIndex){

          case 1: pic=picx1;break;

          case 2: pic=picx2; break;

          case 3: pic=picx3; break;

          default: break;

          }



        關鍵詞: TFT-LCD NiosⅡFPGA SoPC

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 五大连池市| 九江市| 道孚县| 阳城县| 长治县| 都兰县| 阜阳市| 富源县| 西乌珠穆沁旗| 隆德县| 云和县| 西峡县| 清新县| 鹤庆县| 子洲县| 武义县| 和平区| 北安市| 轮台县| 周至县| 资兴市| 萍乡市| 东台市| 印江| 雷州市| 凤台县| 玉田县| 郴州市| 塔城市| 邵东县| 临夏市| 绍兴县| 桐梓县| 盘山县| 全州县| 邯郸市| 武邑县| 永新县| 宾阳县| 棋牌| 河西区|