新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于MCS51單片機的大屏幕LED顯示屏高速控制方案

基于MCS51單片機的大屏幕LED顯示屏高速控制方案

作者: 時間:2011-01-19 來源:網絡 收藏

  本方案的特點有兩個: 第一,雖然CPU還是通過并行總線給列驅動電路的鎖存器寫字模數據,但是鎖存器的鎖存信號改用了CPU的控制信號RD,而不是常規(guī)用法的WR;第二,地址譯碼電路保證了LED點陣片列驅動電路的片選地址和數據存儲器的某一段的邏輯地址是重疊的,而不是常規(guī)用法,這兩組地址必須分開。

  由于上述電路的一些簡單更改,單片機對LED顯示屏的顯示控制效率將發(fā)生明顯的變化。具體工作過程如下: 假定數據指針DPTR中已經裝入了數據存儲器的地址,執(zhí)行指令“MOVXA,@DPTR”。這條指令的功能是CPU按DPTR的指向從外部數據存儲器中讀字模數據,讀到累加器A中;但是在本電路中,由于LED點陣片列驅動電路的片選地址和數據存儲器的某一段的邏輯地址是重疊的,也就是說,在執(zhí)行指令“MOVXA,@DPTR”時,DPTR除了指向外部數據存儲器的某個地址外,還選中了某一個LED點陣片列驅動電路的鎖存器。如果此時被選中的這個鎖存器的鎖存引腳正好有打入脈沖來到,那么鎖存器也就將從外部數據存儲器送出的字模數據鎖住了。這個打入脈沖用的就是RD。RD是CPU在執(zhí)行指令“MOVXA,@DPTR”時向外部數據存儲器發(fā)出的讀控制信號。由于MCS51系列單片機的讀控制信號RD和寫控制信號WR的時序完全相同[2],RD代替WR實現鎖存功能,當然也就沒有什么懸念了。這條指令在執(zhí)行時,在完成對數據存儲器讀的同時,又完成了對LED點陣片的寫,因此加快了顯示控制的過程。

  前面講過,并行總線時CPU完成1次向LED點陣片的列驅動電路的鎖存器寫字模數據的程序過程,大約需要十幾μs;而現在只要4 μs,快多了,因為現在完成1次向LED點陣片的列驅動電路的鎖存器寫字模數據的程序過程只要兩步,首先給數據指針DPTR賦有效地址,接著CPU按DPTR的指向從外部數據存儲器中讀字模數據,與此同時也將字模數據傳給了LED點陣片列驅動電路的鎖存器。2條指令,4個機器周期,4 μs。這里要補充說明一點,在編制全部LED點陣片列驅動電路的鎖存器寫字模數據的程序時,不要用循環(huán)指令,因為那樣每次過程又得增加2 μs;要采用對LED點陣片逐片編程的方法,這樣編出來的程序雖然占空間,但節(jié)省了時間。用空間換時間的設計方法,有時也是設計人員值得嘗試的一種方法。

  本電路的行驅動鎖存器的鎖存控制,還是用CPU的寫控制信號WR,不作更改。行驅動鎖存器的片選信號也來自地址譯碼電路。為了避免數據存儲器和LED點陣片之間的相互干擾,與這組地址對應的數據存儲器的這部分存儲空間就不用它了。

  地址譯碼電路的設計,應保證LED點陣片列驅動電路的片選地址和數據存儲器的某一段的邏輯地址是重疊的。具體設計舉例如下:

  假定某一塊LED顯示屏用了240片LED點陣片,可顯示16×16的漢字60個,用1片MCS51系列單片機進行高速控制。這240片LED點陣片列驅動電路的片選地址就應有240個,地址譯碼電路必須保證譯碼后的有效地址大于這個數量。圖1中的地址譯碼電路,輸入的地址信號是A0~A7和A11~A15,沒有接入A8、A9、A10。用74LS138譯碼器,三級譯碼后可得到256根有效地址線,第1根有效地址線對應外部數據存儲器的8個地址:0000H、0100H、0200H、0300H、0400H、0500H、0600H、0700H。第2根有效地址線對應外部數據存儲器的8個地址:0001H、0101H、0201H、0301H、0401H、0501H、0601H、0701H。……第256根有效地址線對應外部數據存儲器的8個地址:00FFH、01FFH、02FFH、03FFH、04FFH、05FFH、06FFH、07FFH。這256根有效地址線,240根給列驅動電路的片選地址,余下的給行驅動電路的片選地址;如果不夠用,行驅動電路可考慮改為串行總線的方式進行控制。上述分析結果表明,1片LED點陣片的I/O接口地址和數據存儲器的8個字節(jié)的地址建立了重疊關系。這是因為每片LED點陣片都有8行,每行都對應1個字節(jié)的字模數據。

  上述分析結果還表明,全部LED點陣片的I/O接口地址和數據存儲器的0000H~07FFH地址段建立了映射關系。數據存儲器0000H~07FFH中存放的正好是一幀圖像的全部字模數據。

4 高速控制方案在LED顯示屏中的應用

  現在商業(yè)上用的大屏幕LED顯示屏,用到的LED點陣片成百、上千甚至幾千片。單片機對LED顯示屏的控制,包括單片機與PC機的通信、字模數據的數據處理以及顯示控制三個部分。1片單片機要與PC機通信,又要進行數據處理,還要進行顯示控制,肯定是忙不過來的。

  為了解決大屏幕LED顯示屏的控制問題,許多文獻都對控制方案作了成功的設計。不少方案[36]的基本思路是數據處理由一片單片機完成,顯示控制由另一片單片機或一個專門設計的電路完成。這些方案的控制效率雖然很高,但是電路比較復雜。

圖2 數據存儲器分段選擇開關電路

本方案的基本思路是,單片機與PC機的通信、數據處理及顯示控制都由1片單片機完成。顯示控制采用本文提出的高速控制方案,電路簡單,而且顯示控制的效率很高。例如,LED點陣片采用常用的6 cm×6 cm外廓尺寸的LED點陣片時,屏幕面積小于2 m2時,1片MCS51系列單片機就可以完成。但是,高速控制方案用于大屏幕LED顯示屏,還有一些問題要解決:

 ?、?單片機與PC機的通信問題。大屏幕LED顯示屏與PC機連接時,PC機用來編輯待顯示的內容,并將內容傳給大屏幕LED顯示屏中的單片機。PC機與單片機通信時,不會干擾顯示屏的工作。因為顯示屏工作時,是一場一場顯示的,場與場之間有黑屏的時間,利用黑屏的時間進行通信完全沒有問題。

  ② 增加顯示場次的問題。大部分顯示屏的工作方式是,顯示的內容一場、一場、又一場,如此循環(huán)。前面的設計只考慮了顯示一幀圖像時,LED點陣片的I/O接口地址和數據存儲器的一段建立映射關系的問題,因此只能顯示一場定格的圖像。在圖1的基礎上增加圖2,可以使LED點陣片的I/O接口地址和數據存儲器的多段建立映射關系。工作時,由P1口控制多路開關,切換數據存儲器的不同段和LED點陣片的I/O接口地址映射,于是顯示屏就可以一場一場地循環(huán)顯示了。如果擴充外部數據存儲器的片數,并由P1口使能其中的一片有效,那么將可以擴充更多的段和LED點陣片的I/O接口地址建立映射關系,這樣的話,像拉幕、流水等一些顯示效果,也就可以實現了。

 ?、?字模數據的數據處理問題。顯示的方式比較多,比如有定格、拉幕、流水,流水方式中又有向左流水、向右流水等。在轉換顯示方式時,就必須進行一次字模數據的數據處理,用1片單片機,這也不會成為問題。因為轉換顯示方式時,本來要黑屏1 s至幾s,這段時間也就正好用來進行數據處理了。

結語

  本LED顯示屏的高速控制方案,經應用證明工作穩(wěn)定、可靠,且電路簡單,特別適合銀行匯率顯示屏、利率顯示屏使用。另外本文提出的靈活運用讀指令的思路,也可以提供給人們作為借鑒。


上一頁 1 2 下一頁

關鍵詞:

評論


相關推薦

技術專區(qū)

關閉