<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

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

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

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

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

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

b.JPG


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

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


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


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

評論


相關(guān)推薦

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

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>