• 
    

    
    

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

      ?

      LCD驅(qū)動實時顯示控制電路的Verilog設(shè)計

      2020-05-07 09:02:04楊翠娥
      山西電子技術(shù) 2020年2期
      關(guān)鍵詞:二進制字符時序

      楊翠娥

      (太原工業(yè)學(xué)院,山西 太原 030008)

      0 引言

      FPGA芯片作為大規(guī)模可編程器件,以其高集成度、高速、可反復(fù)編程等特點在電子產(chǎn)品設(shè)計中得到了廣泛的應(yīng)用。作為FPGA的數(shù)據(jù)輸出外設(shè),一般有LED數(shù)碼管輸出及LCD液晶顯示輸出較為常見。而對LCD液晶顯示輸出控制是FPGA設(shè)計的一個難點,一種方法是可以通過8051IP核加ROM模塊通過匯編程序?qū)崿F(xiàn),資源消耗大;另一種方法是直接用Verilog程序設(shè)計實現(xiàn)控制時序,簡單明了,資源利用率高,而且易于移植。一般資料給出的Verilog程序設(shè)計完成的LCD顯示控制只能顯示固定地址的字符,本設(shè)計給出的LCD顯示控制模塊,可以對輸入端口的數(shù)據(jù)實時顯示,且可以移植應(yīng)用到各種需要LCD外設(shè)的FPGA設(shè)計中。

      1 LCD1602工作原理簡介

      LCD1602液晶顯示器是一種應(yīng)用廣泛的字符型液晶顯示模塊。1602是指顯示的內(nèi)容為16*2,即顯示兩行,每行16個字符。目前大多數(shù)的字符液晶都是基于HD44780液晶芯片的,控制原理基本相同,因此基于HD44780寫的Verilog控制程序可以很方便地應(yīng)用于其他型號的字符型液晶。LCD1602通常有16條引腳線,除了電源、地管腳,其他就是控制讀寫的端口及輸出8位數(shù)據(jù)口。HD44780內(nèi)置了DDRAM、CGROM和CGRAM。其中DDRAM用來寄存待顯示的字符代碼。共80個字節(jié),其地址和字符的對應(yīng)關(guān)系可參考其他資料[1]。1602液晶模塊內(nèi)部的字符發(fā)生存儲器(CGROM)已經(jīng)存儲了160個不同的點陣字符圖形,每一個字符都有一個固定的代碼。在程序中時可以直接用比如P1=“A”這樣的方法,PC在編譯時可以自動把“A”轉(zhuǎn)換為對應(yīng)的41H代碼。對DDRAM中的內(nèi)容和地址進行操作,需要通過不同的指令來完成。通過Verilog程序設(shè)計也可以實現(xiàn)對LCD1602的指令控制、寫入數(shù)據(jù)指令控制及如何在指定位置顯示字符等的功能。

      2 基于Verilog的LCD1602驅(qū)動程序設(shè)計

      圖1所示為用Verilog程序設(shè)計的LCD時序控制模塊,輸入端口除了時鐘和復(fù)位端,還有20位的數(shù)據(jù)輸入端口;輸出端口和LCD字符顯示器管腳對應(yīng)。根據(jù)Verilog程序設(shè)計特點,完成對LCD的時序控制可通過狀態(tài)機的設(shè)計方法。下面一段程序內(nèi)容用關(guān)鍵詞localparam首先定義了12個不同的參數(shù),分別對應(yīng)于LCD顯示控制、數(shù)據(jù)、地址的讀寫控制等不同的工作狀態(tài)。

      圖1 LCD時序控制模塊

      以dis_temp(顯示數(shù)據(jù))狀態(tài)為例,下面給出了對應(yīng)的Verilog程序。首先要判斷狀態(tài)執(zhí)行的時間,LCD1602完成一次數(shù)據(jù)的顯示需要一定的時間,在此設(shè)定為20ms。如果時間到就可以進行此狀態(tài)的工作及轉(zhuǎn)換到下一個狀態(tài),如果時間不到就一直保持此狀態(tài)。顯示輸入數(shù)據(jù)時,因為一個字符占8個字節(jié),所以要完整顯示電壓值比如“0.02V”五個字符時,要設(shè)定顯示數(shù)據(jù)寬度為40位,即39到0;每次顯示一個字符,光標右移再顯示第二個字符,所以cnt要計數(shù)5次,以完成5個字符的循環(huán)顯示。

      下面的程序給出了如何把輸入的二進制數(shù)實時顯示為對應(yīng)的顯示字符,如最高4位數(shù)據(jù),除了正常數(shù)字0~9對應(yīng)顯示“0~9”的字符外,根據(jù)具體設(shè)計內(nèi)容,還增加了10,11的二進制編碼,在此用于顯示小數(shù)點“.”和電壓的單位“V”二個字符。

      3 基于FPGA的LCD實時顯示設(shè)計舉例

      如圖2所示給出了基于FPGA的數(shù)字電壓表及LCD顯示設(shè)計的頂層電路圖,圖中共有四個模塊:鎖相環(huán)PLL模塊把系統(tǒng)時鐘clk0通過分頻和倍頻輸出三個時鐘,分別提供給AD轉(zhuǎn)換控制模塊、LCD時序控制模塊及ROM數(shù)據(jù)讀取模塊作為工作時鐘所用,其中ADCLK同時輸出給外部AD0809芯片使用;ADCINT模塊是基于Verilog設(shè)計的AD0809狀態(tài)轉(zhuǎn)換控制模塊,完成對外部AD0809芯片模擬量到數(shù)字量的轉(zhuǎn)換控制[2];由于AD0809芯片輸出的是8位二進制數(shù),其電壓分辨率為5V/256,約為0.02V,要想通過LCD直接顯示對應(yīng)的電壓值,還需要通過ROM模塊實現(xiàn)轉(zhuǎn)換。ROM模塊的功能是通過建立初始化mif文件,形成二進制與電壓的對應(yīng)關(guān)系,然后把AD0809芯片輸出的8位二進制數(shù)作為ROM的地址,這樣就完成了二進制數(shù)到對應(yīng)電壓值的轉(zhuǎn)換。ROM模塊數(shù)據(jù)的輸出作為給LCD顯示控制模塊的數(shù)據(jù)輸入,通過上述實現(xiàn)的LCD顯示控制模塊完成對輸入數(shù)據(jù)的LCD顯示輸出。

      圖2 數(shù)字電壓表頂層電路圖

      如下給出了mif初始化文件的部分內(nèi)容[3]:

      可以看出,通過編碼,設(shè)定1010(A)為顯示小數(shù)點字符,1011(B)為顯示電壓的單位“V”字符,地址每加1,對應(yīng)顯示的內(nèi)容增加0.02V,這樣就可以通過LCD控制模塊控制LCD實時顯示所輸入的模擬電壓值。圖3為LCD顯示的實時電壓測量數(shù)據(jù)。

      圖3 LCD顯示的實時電壓測量數(shù)據(jù)

      4 結(jié)束語

      Verilog硬件設(shè)計語言是實現(xiàn)FPGA設(shè)計的主要設(shè)計輸入方法之一,語法簡單,結(jié)構(gòu)明了,尤其是狀態(tài)機的設(shè)計描述方法可以很方便地完成FPGA的各種模塊設(shè)計。本論文通過對LCD顯示控制的Verilog狀態(tài)機設(shè)計,完成了對LCD實時數(shù)據(jù)顯示控制,該設(shè)計程序模塊化,標準化,可廣泛應(yīng)用到FPGA的系統(tǒng)設(shè)計中。

      猜你喜歡
      二進制字符時序
      基于時序Sentinel-2數(shù)據(jù)的馬鈴薯遙感識別研究
      尋找更強的字符映射管理器
      用二進制解一道高中數(shù)學(xué)聯(lián)賽數(shù)論題
      基于Sentinel-2時序NDVI的麥冬識別研究
      字符代表幾
      有趣的進度
      一種USB接口字符液晶控制器設(shè)計
      電子制作(2019年19期)2019-11-23 08:41:50
      二進制在競賽題中的應(yīng)用
      消失的殖民村莊和神秘字符
      一種毫米波放大器時序直流電源的設(shè)計
      電子制作(2016年15期)2017-01-15 13:39:08
      横山县| 陇西县| 南漳县| 贺州市| 拉孜县| 正镶白旗| 慈溪市| 海城市| 巨野县| 济源市| 务川| 宁津县| 梧州市| 泽库县| 临漳县| 嘉善县| 中阳县| 平顶山市| 万安县| 饶河县| 尚志市| 临武县| 兴隆县| 揭西县| 缙云县| 明水县| 色达县| 揭东县| 竹山县| 东安县| 阿克苏市| 鄄城县| 罗城| 芦溪县| 略阳县| 白水县| 寻乌县| 类乌齐县| 六盘水市| 鹤壁市| 满城县|