• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于FPGA的LCD液晶顯示器設(shè)計

      2016-11-02 00:42:46王向玲
      關(guān)鍵詞:滿屏高電平字符

      王向玲

      (呂梁學(xué)院礦業(yè)工程系,山西呂梁 033000)

      基于FPGA的LCD液晶顯示器設(shè)計

      王向玲

      (呂梁學(xué)院礦業(yè)工程系,山西呂梁 033000)

      由LCD液晶顯示器制作的顯示面板廣泛應(yīng)用于軍用設(shè)備中,本設(shè)計采用Spartan-3E FPGA為硬件,該2×16字符型LCD內(nèi)嵌一個Sitronix ST7066U圖形控制器,實現(xiàn)了LCD顯示器的字符或者漢字的滿屏顯示、滿屏移動顯示以及單個字符在屏幕上的移動顯示,所有功能用VHDL語言實現(xiàn),符合LCD顯示器要求,達到各種顯示效果。

      Spartan-3E;滿屏移動顯示;VHDL

      由于LCD液晶顯示器體積小、重量輕、功耗低,應(yīng)用非常廣泛,如作為飛機、坦克和船上的顯示面板,可縮小原CRT顯示器的所占空間,減輕設(shè)備重量,增強機動性。

      本設(shè)計采用Spartan-3E開發(fā)板上的一個內(nèi)嵌Sitronix ST7066U圖形控制器的字符型LCD,實現(xiàn)了:(1)單個字符在任意位置的顯示以及字符的滿屏顯示及滿屏移動顯示;(2)自定義字符(漢字)的顯示以及單個字符的滿屏移動顯示。其中,圖形控制器[1]負責(zé)接收控制指令及數(shù)據(jù)并將其發(fā)送給LCD顯示器。

      1 Sitronix ST7066U圖形控制器

      該控制器有三個內(nèi)部存儲空間,DD RAM、CG ROM、CG RAM,送數(shù)據(jù)之前應(yīng)先初始化。

      (1)DD RAM(顯示數(shù)據(jù)RAM)

      存儲字符編碼,從物理上講DD RAM共有80個字符位置,每行有40個字符,但只有16個可被顯示,剩余的24個不被顯示。在讀或?qū)懼?,需初始化地址計?shù)器,地址計數(shù)器在讀或?qū)懼罂杀3殖?shù)或者自動增1或減1。

      (2)CG ROM(字符產(chǎn)生器ROM)

      包含每個事先定好的字符的字體位圖。

      (3)CG RAM(字符產(chǎn)生器RAM)

      包含8位的自定義字符位圖,每個自定義字符位由8行位圖的5個點組成,具體用法與DD RAM相同。

      1.1 與FPGA的接口信號

      LCD與FPGA的接口信號[2]有:

      (1)使能信號LCD_E;

      (2)寄存器選擇信號LCD_RS;

      (3)讀∕寫控制信號LCD_RW;

      (4)4根LCD數(shù)據(jù)線與StrataFlash數(shù)據(jù)線SF_D<11:8>復(fù)用。

      1.2 時序分析

      SF_D<11:8>的數(shù)據(jù)值,LCD_RS、LCD_RW必須建立并在LCD_E轉(zhuǎn)向高電平之前至少穩(wěn)定40 ns,LCD_E保留高電平時間至少230 ns。在許多應(yīng)用中,LCD_RW恒置低,因為一般不會從顯示屏讀取數(shù)據(jù)。

      如圖1所示,數(shù)據(jù)以8位形式傳送,分為高4位和低4位,先傳高4位再傳低4位,其間隔時間至少1us。一個8位的寫操作在下個通信之前間隔時間至少為40 us,而在清屏命令之后該延時需增至1.64 ms。

      圖1 字符型LCD接口時序圖

      2 數(shù)據(jù)顯示設(shè)計

      2.1 流程圖

      如圖2所示,LCD數(shù)據(jù)顯示包括上電初始化、配置顯示屏、寫數(shù)據(jù)給顯示屏,在寫數(shù)據(jù)之前應(yīng)先設(shè)定初始地址。

      圖2 LCD顯示流程圖

      本開發(fā)板晶振為50 MHz。

      具體實現(xiàn)步驟如下:

      1.上電初始化

      上電后顯示屏需建立通信協(xié)議即初始化,目的在于建立FPGA與LCD的4位數(shù)據(jù)接口,具體如下:

      (1)等待至少15 ms,即750000個時鐘周期。

      (2)寫SF_D<11:8>=0x3,LCD_E保持高電平12個時鐘周期。

      (3)等待至少4.1 ms,即205000個時鐘周期。

      (4)寫SF_D<11:8>=0x3,LCD_E保持高電平12個時鐘周期。

      (5)等待至少100 us,即5000個時鐘周期。

      (6)寫SF_D<11:8>=0x3,LCD_E保持高電平12個時鐘周期。

      (7)等待至少40 us,即2000個時鐘周期。

      (8)寫SF_D<11:8>=0x2,LCD_E保持高電平12個時鐘周期。

      (9)等待至少40 us,即2000個時鐘周期。

      2.顯示屏配置

      根據(jù)字符型LCD的命令設(shè)置而確定發(fā)送數(shù)據(jù)。

      (1)發(fā)功能設(shè)置命令0x28,配置顯示屏。

      (2)發(fā)進入模式命令0X06,顯示屏設(shè)置為自動增地址指針,設(shè)置指針移動方向為向左且規(guī)定不移動顯示。

      (3)發(fā)顯示開∕斷命令0x0c,將顯示字符的地址存儲在DD RAM中。

      (4)最后發(fā)清屏命令,此后等待時間至少為1.64 ms。

      3.寫數(shù)據(jù)給顯示屏

      具體步驟如下:

      (1)先指定初始地址即發(fā)送一個設(shè)置DD RAM地址命令給DD RAM中指定的初始7位地址。

      (2)再發(fā)送一個或多個數(shù)據(jù)值即使用DD RAM命令寫數(shù)據(jù)給顯示屏。8位數(shù)據(jù)值通過查表地址送給CG RAM,CG RAM中存儲的位圖驅(qū)動5×8點陣給相應(yīng)的字符。

      如果地址計數(shù)器配置為自動增1,則可依次寫多個字符編碼,每個字符自動存儲并顯示在下個位置,繼續(xù)寫字符直至在第一行的最后停止,而剩余的數(shù)據(jù)不會自動在第二行顯示,因為DD RAM的映射從第一行到第二行不連續(xù)。

      2.2 程序設(shè)計實現(xiàn)

      按照上面的步驟,先對LCD上電初始化,再進行配置,配置不同顯示效果也不同。

      1.單個字符的顯示

      先設(shè)定一個DD RAM地址命令為初始地址,根據(jù)給定的命令知首地址為“10000000”,緊接著往CG RAM中寫數(shù)據(jù),通過嚴格控制時序關(guān)系達到單個字符的顯示。默認地址設(shè)置為自動遞增,若在初始地址的基礎(chǔ)上遞加,則顯示字符就會變到相應(yīng)的位置。例如:若首地址設(shè)為“10000001”,則顯示字符就會出現(xiàn)在第2個位置。

      2.字符的滿屏顯示及滿屏移動顯示

      在顯示單個字符的基礎(chǔ)上通過不停的寫數(shù)據(jù)到LCD顯示器中就會達到滿屏顯示的效果。

      配置顯示屏?xí)r,第二步設(shè)置模式命令0X06(00000110)時,最低位定義是否移動顯示,若將最低位改為1時,則會出現(xiàn)滿屏左移或右移的現(xiàn)象。

      3.自定義字符(漢字)的顯示

      ASCII碼表不能滿足需求時用戶需要自定義,如漢字的顯示。具體步驟如下:

      (1)初始化CG RAM地址;

      (2)往CG RAM中寫入漢字對應(yīng)的字模信息;

      (3)建立好字模后,往DD RAM中寫索引值,范圍為(0x00~0x07),則新建的字符就會顯示出來。

      圖3 自定義字符的顯示

      初始化CG RAM地址時,指定命令為“01XXXXXX”,低三位代表字模信息的行數(shù),緊接著的三位代表索引到DD RAM中的地址。寫字模信息時,數(shù)據(jù)位為“XXX D4D3D2D1D0”,高三位0,1都可以,低五位為字模信息。如圖3所示,顯示“口”時,需要三行字模信息1C、14、1C,即寫入的數(shù)據(jù)應(yīng)為:“00011100”、“00010100”、“00011100”。

      4.單個字符在整個屏幕上的移動顯示

      能夠?qū)崿F(xiàn)移動顯示的方法有兩種[3]:

      (1)將前一個位置顯示的字符清除掉,在下個位置顯示同樣的字符達到移動顯示的效果,這需要使用清屏命令來實現(xiàn);

      (2)通過程序設(shè)計來控制:對前一個位置顯示的字符進行判斷,若顯示的不是空白內(nèi)容,則將顯示空白內(nèi)容的數(shù)據(jù)賦給原來的顯示字符,這樣原來顯示字符的位置上就會出現(xiàn)空白內(nèi)容,再通過程序判斷當(dāng)前位置的字符,若為空白內(nèi)容則將原來顯示字符的數(shù)據(jù)賦給它。由于地址設(shè)為自動遞增,故在下一個位置上就會出現(xiàn)與原來相同的字符,依次類推,最終結(jié)果就是單個字符在整個屏幕上的移動顯示。

      第一種方法每次使用清屏命令后,地址返回到初始地址,而寫下一個字符時必須返回到未使用清屏命令之前的地址,但由于在配置顯示屏?xí)r已經(jīng)將地址設(shè)為自動遞增,因此采用這種方法程序控制[4]較復(fù)雜,故采用第二種方法。

      關(guān)鍵程序代碼如下:

      由于顯示屏上每行只有16個字符可以顯示,所以要想達到在整個屏幕上移動顯示,需要對地址準確控制。

      地址控制具體步驟:從第一行的第1個位置開始逐次加1,當(dāng)?shù)降?6個位置時,將地址加24使其跳到第二行的第1個位置,緊接著從第二行的第1個位置開始逐次加1直到第16個位置,當(dāng)?shù)搅说诙械牡?6個位置時將地址再返回到初始地址即第一行的第一個位置。程序代碼如下:

      字符的移動顯示需用動畫演示,圖4僅列出四個特殊位置的顯示效果圖。

      圖4 單個字符的滿屏移動顯示圖

      3 結(jié)語

      本設(shè)計實現(xiàn)了字符型液晶顯示器的多樣化顯示,創(chuàng)新點是:單個字符的滿屏移動顯示沒有采用傳統(tǒng)的清屏命令而是采用顯示空白內(nèi)容與非空白內(nèi)容的交替賦值來實現(xiàn)。由于可以對該顯示器進行多次編程,能方便地應(yīng)用于實際,滿足現(xiàn)代化的要求。

      [1]賴義漢,傅智河,張衛(wèi)平.基于FPGA液晶顯示器接口設(shè)計[J].龍巖學(xué)院學(xué)報,2008,26(6):41-43.

      [2]覃永新,陳文輝,李克儉.基于FPGA的液晶顯示控制器的研制[J].制造業(yè)自動化,2008,30(4):80-83.

      [3]徐志軍.基于VHDL的CPLD/FPGA開發(fā)與應(yīng)用[M].北京:電子工業(yè)出版社,2002:72-76.

      [4]任勇峰,莊新敏.VHDL與硬件實現(xiàn)速成[M].北京:國防工業(yè)出版社,2005:41-48.

      Design of LCD Screen Based on FPGA

      WANG Xiang-Ling
      (Department of Mining Engineering,LvLiang University,Lvliang Shanxi,033000)

      LCD display is fit for military equipment as a display panel,this design adopts the spartan-3E FPGA for the hardware,the 2×16 charactered LCD which has a built-in graphical controller Sitronix ST7066U,it supports the display of some characters or Chinese characters on the whole screen,and the locomotive display of full screen,and the display of a character which can move on the whole screen,all uses VHDL,and it is up to the mustard of LCD and achieves the effect of various display.

      Spartan-3E;locomotive display of full screen;VHDL

      TN29

      A

      1674-0874(2016)01-0032-03

      2015-11-27

      王向玲(1985-),女,山西平遙人,碩士,助教,研究方向:動態(tài)測試技術(shù)、高速電路設(shè)計。

      〔責(zé)任編輯 高彩云〕

      猜你喜歡
      滿屏高電平字符
      晚禱書(外一首)
      詩歌月刊(2023年10期)2023-12-12 01:23:16
      尋找更強的字符映射管理器
      一種基于FPGA的PWM防錯輸出控制電路
      近 春
      詩選刊(2020年3期)2020-03-23 13:34:35
      字符代表幾
      一種USB接口字符液晶控制器設(shè)計
      電子制作(2019年19期)2019-11-23 08:41:50
      TS-03C全固態(tài)PDM中波發(fā)射機開關(guān)機控制電路原理及故障分析
      科技傳播(2019年15期)2019-08-22 08:07:44
      消失的殖民村莊和神秘字符
      DM 50KW中波廣播發(fā)射機欠推動故障分析
      PDM 1kW中波廣播發(fā)射機保護電路分析
      巴中市| 开封县| 宝清县| 昌江| 德江县| 吉安市| 子洲县| 瓦房店市| 鹤岗市| 义乌市| 英德市| 澄城县| 台州市| 惠来县| 玉田县| 庆元县| 晋中市| 日照市| 南漳县| 萨嘎县| 柞水县| 五家渠市| 巴里| 册亨县| 青铜峡市| 合山市| 北碚区| 涟源市| 阳朔县| 阿拉善盟| 凭祥市| 霸州市| 大化| 河间市| 商洛市| 静宁县| 阳春市| 昆山市| 泸水县| 青州市| 焉耆|