新聞中心

        EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于NiosⅡ處理器的TFT-LCD圖形顯示設(shè)計(jì)

        基于NiosⅡ處理器的TFT-LCD圖形顯示設(shè)計(jì)

        作者: 時(shí)間:2010-11-24 來(lái)源:網(wǎng)絡(luò) 收藏

          系統(tǒng)初始化,調(diào)用HAL的各模塊初始化程序,并定義在后面程序當(dāng)中要用到的各個(gè)對(duì)LCD顯示屏背景顏色、字體顏色設(shè)置的函數(shù)。

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

        基于NiosⅡ處理器的TFT-LCD圖形顯示設(shè)計(jì)

          代碼如下:

          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

          }

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

          對(duì)儲(chǔ)存的多張圖片進(jìn)行分類(lèi)標(biāo)號(hào)(例如picx1、picx2、picx3等),然后在C主程序中用switch語(yǔ)句[8]來(lái)分別調(diào)用表示該圖片信息的索引號(hào)碼,示例程序如下:

          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;

          }



        關(guān)鍵詞: TFT-LCD NiosⅡFPGA SoPC

        評(píng)論


        相關(guān)推薦

        技術(shù)專(zhuān)區(qū)

        關(guān)閉
        主站蜘蛛池模板: 乌苏市| 新兴县| 望江县| 鞍山市| 云龙县| 承德县| 武强县| 深泽县| 饶河县| 宁河县| 蓝山县| 洮南市| 名山县| 金华市| 巴楚县| 宜城市| 武义县| 琼结县| 鸡东县| 富民县| 石楼县| 临颍县| 贡觉县| 米泉市| 余江县| 临武县| 平果县| 阿克苏市| SHOW| 大宁县| 宿迁市| 新干县| 遂平县| 宁都县| 临海市| 贡山| 晋宁县| 井研县| 三门县| 海宁市| 甘肃省|