色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于NiosII處理器的LCD滾屏設(shè)計(jì)

          基于NiosII處理器的LCD滾屏設(shè)計(jì)

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

          2 軟件設(shè)計(jì)
          使用NIOS對(duì)進(jìn)行控制主要是通過(guò)對(duì)的控制器進(jìn)行編程來(lái)實(shí)現(xiàn)的,在本文中采用T6963c控制器,其軟件方案流程圖如圖2所示。

          本文引用地址:http://cafeforensic.com/article/148056.htm

          b.JPG


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

          LCD顯示屏相關(guān)文章:lcd顯示屏原理


          lcd相關(guān)文章:lcd原理


          關(guān)鍵詞: LCD NiosII SOPC

          評(píng)論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉