1. 程式人生 > 實用技巧 >電子設計大賽-顯示電路

電子設計大賽-顯示電路

文末免費下載資料

LED顯示器介面電路

LED顯示原理

  LED(Light Emitting Diode發光二極體)顯示器是由發光二極體構成的最為常用的顯示器件。數字LED顯示器利用7個發光二極體顯示數字,通常被稱為七段LED顯示器、或者數碼管。另外,數碼管中還有一個圓點型發光二極體,用於顯示小數點。結構圖如圖3.8.1所示。
  LED顯示器有共陽極接法和共陰極接法。共陽極接法的發光二極體的陽極連在一起構成公共陽極。使用時,公共陽極接+5V電壓。在陰極端輸入低電平,發光二極體就導通發光。共陰極接法的發光二極體的陰極連在一起構成公共陰極。使用時,公共陰極接地,在陽極端輸入高電平時,發光二極體就導通發光。使用時要注意區分這兩種不同接法的LED顯示器。

  LED導通電壓在1.5V左右,工作電流每段約為20mA,直接接在+5V電平上會使數碼管過亮導致損壞,需接一個100~300Ω的限流電阻。
   符號和引腳          共陰極接法          共陽極接法圖3.8.1   LED顯示器內部結構

多位數字顯示控制技術

  利用多個數字LED顯示器可以顯示多位數字。一個N位的LED顯示器有N根位選線和8×N根段選線。根據顯示方式的不同,位選線和段選線的連線方式也不同。段選線控制顯示字元的字形,位選線控制顯示位的亮、暗。
  多個數字LED顯示器顯示控制方式有靜態顯示方式和動態顯示方式兩種形式。
(1)靜態顯示控制技術
  數碼管採用靜態顯示方式時,各位的共陰極(或共陽極)連線在一起並接地(或接電源);每位的段選線(a ~ dp)分別與控制器的驅動訊號輸出相連。顯示器中的各位相互獨立,而且各位的顯示字元一經確定,控制器的驅動訊號輸出將維持不變,直到顯示另一個字元為止。數碼管採用靜態顯示方式時亮度較高。

  圖3.8.2所示為一個四位靜態LED顯示器電路。該電路各位可獨立顯示,只要在該位的段選線上保持段選碼電平,該位就能顯示相應的字元。由於各位分別有一個8位輸出口控制段選碼,故在同一時間裡,每一位顯示的字元可以不同。這種顯示方式介面,程式設計容易,管理也容易,付出的代價是佔用埠線資源較多,一個四位靜態LED顯示器需要36個I/O口。所以,在顯示位數較多的時,一般採用的是動態顯示方式。
圖3.8.2 一個四位LED靜態顯示電路

(2)動態顯示控制技術
  在多位LED顯示時,為了簡化硬體電路,通常將所有的段選線相應的並聯在一起,由一個8位I/O口控制,形成段選線的多路複用。而各位的共陽極或共陰極分別由相應的I/O口線控制,實現各位的分時位選通控制。

  圖3.8.3為一個4位7段LED動態顯示器的電路原理圖。一共佔用12個I/O口。由於各位的段選線並聯,段選碼的輸出對各位來說都是相同的。因此,同一時刻,如果各位位選線都處於選通狀態的話,4位LED將顯示相同的字元。若要各位LED能夠顯示出與本位相應的字元,就必須採用掃描顯示方式,即在某一時刻,只讓某一位的位選線處於選通狀態,而其他各位的位選線處於截止狀態,同時,段選線上輸出對應顯示位的字元字形碼。4位LED輪流選通,由於人眼的視覺暫留現象,只要每位顯示間隔足夠短,就可得到多位同時亮的效果。
圖3.8.3 一個4位7段LED動態顯示電路

LED顯示驅動電路

  LED顯示器可採用74LS48(共陽)/74LS49(共陰)譯碼驅動電路來控制顯示。由於FPGA和微控制器的驅動功率限制,不提倡由FPGA或者微控制器直接來驅動LED顯示,需要使用放大驅動電路來控制LED的顯示。
  一個利用FPGA組成的動態顯示控制電路如圖3.8.4所示。

圖3.8.4 使用三極體驅動的LED動態顯示

  使用74LS245匯流排驅動器驅動LED的動態顯示電路如圖3.8.5所示。
圖3.8.5   74LS245組成的LED動態顯示驅動電路

LED顯示器字形程式碼

  LED顯示器字形程式碼如表3.8.1所示。
表 3.8.1 數字字型程式碼表

LCD顯示器的控制

LCD顯示的原理

  在外加電場的作用下,液晶顯示器件的具有偶極矩的液晶棒狀分子在排列狀態上發生變化,使得通過液晶顯示器件的光被調製,從而呈現明與暗或透過與不透過的顯示效果。下面介紹FPGA驅動點陣字元型液晶顯示模組(MDLS)的方法與程式。

MDLS系列電路框圖

  MDLS系列液晶顯示模組的電路方框圖如圖3.8.6所示。
圖3.8.6  MDLS系列液晶顯示模組電路方框圖

  其中E是使能訊號輸入端。R/W是讀/寫操作,選擇邏輯電平1進行讀操作,選擇邏輯電平0進行寫操作。RS是暫存器選擇操作,1為資料,0為指令。 DB0~DB7是資料匯流排。VDD是+5V邏輯電源,V0是液晶驅動電源,VSS是電源地。

MDLS字元型液晶顯示模組指令集

  MDLS字元型液晶顯示模組指令集見第4章4.3.1節。

MDLS字元型液晶顯示模組的訊號真值表

  MDLS字元型液晶顯示模組的訊號真值表如表3.8.2所示。
表3.8.2 MDLS字元型液晶顯示模組的訊號真值表

MDLS字元型液晶顯示模組的時序圖

  MDLS字元型液晶顯示模組的寫操作時序圖如圖3.8.7所示。

圖3.8.7 寫操作時序圖

  從圖3.8.7的時序圖可以看到資料寫入的條件:暫存器Rs為高電平,讀/寫標誌R/W為低電平,建立地址,接下來使能訊號E為高電平,資料被寫入,當使能端E為下降沿的時候資料被完全建立。從地址的建立、保持到資料的建立、保持的結束,整個過程需要的時間至少為355ns。關於MDLS系列介面特性及電特性查點陣字元式液晶顯示模組使用手冊。

整體設計原理框圖

  採用專用IC晶片可以實現MDLS字元型液晶顯示模組的驅動,但專用IC晶片的資源有限,設計不靈活。採用FPGA驅動MDLS字元型液晶顯示模組的原理方框圖如圖3.8.8所示,主要由按鍵控制部分、FPGA驅動電路和液晶顯示模組組成。使用者通過按鍵控制電路對FPGA驅動電路進行初始化控制, FPGA控制器驅動液晶顯示模組,實現對字元型液晶顯示的驅動功能。
圖3.8..8  FPGA驅動MDLS字元型液晶顯示模組的原理方框圖

設計實現

  MDLS字元型液晶顯示模組的FPGA驅動電路如圖3.8.9所示。液晶顯示器譯碼模組(lcd_decoder)是把輸入的時間譯成與之對應的液晶顯示器的專用二進位制程式碼。例如:要在液晶顯示螢幕上顯示數字3,必須把3譯碼成二進位制程式碼"00110011",才能在顯示螢幕上得到所需顯示的資料。液晶顯示器驅動模組(lcd_driver)的內部有三個程序,分別是資料預置、分頻和控制程序。FPGA驅動電路的工作流程是:首先資料預置,然後被預置的資料通過液晶顯示器譯碼模組(lcd_decoder)譯成液晶顯示器中所對應的二進位制程式碼,送入液晶顯示器驅動模組(lcd_driver),由驅動模組的輸出訊號直接控制液晶顯示器,輸出對應的字元。達到採用FPGA驅動MDLS字元型液晶顯示的目的。
圖3.8.9  FPGA驅動電路原理圖

液晶顯示器驅動模組(lcd_driver)的狀態控制

  液晶顯示器驅動模組(lcd_driver)是FPGA控制器設計的主要內容,FPGA控制器內部的三大程序分別是資料預置(loaddata)、分頻(divider)和控制程序(control)。其中分頻程序是為了滿足使能訊號的使能週期的最小時間,這是由於FPGA的頻率太高,要滿足使能週期的最小時間就必須利用分頻來實現。控制程序是利用狀態機來完成的。狀態轉換圖如圖3.8.10所示,STATE0、STATE1…STATE5分別表示set_dlnf狀態(功能設定)、clear_lcd狀態(清屏)、 set_cursor狀態(輸入方式設定)、set_dcb狀態(限制開關控制)、set_location狀態(DDRAM地址設定)和write_data狀態(寫資料)。從圖3.8.10中可知:當復位訊號reset=0時,進入初始化狀態,即set_dlnf狀態(功能設定)。它的輸出為: lcden<=‘0’; lcdda<=‘0’;lcdrw<=‘0’;data<=“00111100”;lcden為使能訊號,lcdda相當於RS暫存器的輸入訊號,lcdrw是資料讀/寫訊號,data<="00111100"表示該功能方式設定的是8位資料介面,兩行顯示5*10點陣字元。其它的狀態輸出和功能查MDLS字元型液晶顯示模組指令集可知。由程式知道初始化時,使能訊號(lcden)為低電平,然後延遲200μs後使能訊號為高電平“1”,再延遲200μs使能訊號清零,之後再延遲200μs才轉到另一個狀態。因此從一個狀態轉到另一個狀態需要延遲600μs.在滿足條件的情況下,各狀態按照圖3.8.10中所示的關係轉換。

圖3.8.10  液晶顯示器驅動模組中的狀態轉換圖

MDLS字元型液晶顯示模組與微控制器的介面

  MDLS字元型液晶顯示模組與微控制器的介面電路見第4章4.3節。

LMA97S005AD點陣液晶顯示模組與微控制器的介面電路

  LMA97S005AD點陣液晶顯示模組與微控制器的介面電路見第4章4.3節。

資料詳情(點選)


全套資料免費下載:
關注v-x-公-眾-號:【嵌入式基地
後-臺-回-復:【電賽】 即可獲資料
回覆【程式設計】即可獲取
包括有:C、C++、C#、JAVA、Python、JavaScript、PHP、資料庫、微信小程式、人工智慧、嵌入式、Linux、Unix、QT、物聯網、演算法導論、大資料等資料
在這裡插入圖片描述