新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于NiosII處理器的LCD滾屏設計

        基于NiosII處理器的LCD滾屏設計

        作者: 時間:2013-04-23 來源:網絡 收藏

        2 軟件設計
        使用NIOS對進行控制主要是通過對的控制器進行編程來實現的,在本文中采用T6963c控制器,其軟件方案流程圖如圖2所示。

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

        b.JPG


        2.1 初始化
        LCD模塊的初始化就是對LCD模塊的奇存器進行初始化,也就是對LCD控制器當中的寄存器寫入要預設的數據,設置好LCD的特性。LCD模塊的初始化包括地址指針設置,顯示區域設置,顯示方式設置,顯示狀態設置。其軟件實現主要依據表1指令來實現。
        T6963C模塊的控制指令可帶有0個、1個或2個參數。在執行每條指令時都是先送入參數(如果有的話),再送入指令代碼。設計軟件時無論輸入哪種指令,首先進行以下操作,
        (1)設置數據總線為輸出模式輸出
        IOWR ALTERA AVALON PIO DIRECTION(LCD_DB_BASE,0xff);//數據總線:輸出
        (2)設置片選信號有效
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_CS_BASE,0);
        (3)設置寫信號有效
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_WR_BASE,0);
        然后根據不同指令,編寫程序。
        對于無參數指令,
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,1);//選擇命令,即T6963C內部通過一根地址線來確定兩個寄存器,當地址線為低電平,選擇DATA寄存器;當地址線為高電平,則選擇COMMAND/STATUS寄存器。
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,無參數指令);
        對于一個參數指令,首先輸入參數,然后輸入指令,即
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,0);//選擇數據
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,參數數據);
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,1);//選擇命令
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,指令);
        對于兩個個參數指令,首先輸入2個參數,然后輸入指令,即
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,0)://選擇數據
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,參數數據1);
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,參數數據2);
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_CD_BASE,1);//選擇命令
        IOWR_ALTERA_AVALON_PIO_DATA(LCD_DB_BASE,指令)。
        2.2 顯示漢字
        漢字顯示的基本方法有兩種,即文本顯示方式和圖形顯示方式。二者顯示的方法不同,但都必須先在程序區設定漢字的字模數據。
        本文采用的是圖形方式下顯示漢字,使用的液晶顯示屏是240*128。該液晶顯示屏橫向的8個點即8×1點陣(也稱圖形顯示單位)是一個字節數據,每個字節在顯示緩沖區中均有對應的地址,液晶屏幕的左上角橫向8個點對應液晶模塊顯示緩沖區的首地址。16*16點陣漢字對應32個圖形顯示單位。采用圖形顯示方式時,根據漢字的存儲規律將32個圖形顯示單位信息寫入存儲單元,則對應的位置就會顯示出漢字。
        在顯示漢字時,關鍵是確定要讀取的存儲單元的位置。本文中采用的漢字存儲方式是按照區位的順序排列的,前一個字節為該漢字的區號,后一個字節為該字的位號。每一個區記錄94個漢字,位號則為該字在該區中的位置。因此,漢字在漢字庫中的具體位置計算公式為:
        94*(區號-1)+(位號-1) (1)
        這是以漢字為單位得到的該漢字在漢字庫中的位置,由此可得到16*16點陣字庫以字節為單位的該漢字在漢字庫中的位置:
        (94*(區號-1)+(位號-1))*32 (2)
        這樣通過將字模數據逐個字節地寫入圖形顯示區,即可在顯示屏上坐標為(X,Y)處順序顯示出漢字。軟件實現如下。
        alt_u32m_Addr=圖形區地址高八文*256+圖形區地址高八位+v*30+x;
        e.JPG

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


        lcd相關文章:lcd原理


        關鍵詞: LCD NiosII SOPC

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 罗城| 吕梁市| 麻栗坡县| 太仓市| 长子县| 正镶白旗| 班玛县| 安新县| 南江县| 和静县| 托克托县| 彭泽县| 六安市| 封丘县| 日土县| 安西县| 襄城县| 宣城市| 武冈市| 新建县| 图们市| 漠河县| 新河县| 武功县| 南阳市| 平阴县| 铁岭市| 隆昌县| 盘锦市| 南宁市| 巴彦县| 剑阁县| 海城市| 衡山县| 玉龙| 东港市| 洞口县| 比如县| 西和县| 体育| 察哈|