采用MCS51系列單片機對
本方案的特點有兩個:第一,雖然CPU還是通過并行總線給列驅動電路的鎖存器寫字模數據,但是鎖存器的鎖存信號改用了CPU的控制信號RD,而不是常規用法的WR;第二,地址譯碼電路保證了LED點陣片列驅動電路的片選地址和數據存儲器的某一段的邏輯地址是重疊的,而不是常規用法,這兩組地址必須分開�
由于上述電路的一些簡單更改,單片機對LED顯示屏的顯示控制效率將發生明顯的變化。具體工作過程如下:假定數據指針DPTR中已經裝入了數據存儲器的地址,執行指令“MOVXA,@DPTR”。這條指令的功能是CPU按DPTR的指向從外部數據存儲器中讀字模數據,讀到累加器A中;但是在本電路中,由于LED點陣片列驅動電路的片選地址和數據存儲器的某一段的邏輯地址是重疊的,也就是說,在執行指令“MOVXA,@DPTR”時,DPTR除了指向外部數據存儲器的某個地址外,還選中了某一個LED點陣片列驅動電路的鎖存器。如果此時被選中的這個鎖存器的鎖存引腳正好有打入脈沖來到,那么鎖存器也就將從外部數據存儲器送出的字模數據鎖住了。這個打入脈沖用的就是RD。RD是CPU在執行指令“MOVXA,@DPTR”時向外部數據存儲器發出的讀控制信號。由于MCS51系列單片機的讀控制信號RD和寫控制信號WR的時序完全相同[2],RD代替WR實現鎖存功能,當然也就沒有什么懸念了。這條指令在執行時,在完成對數據存儲器讀的同時,又完成了對LED點陣片的寫,因此加快了顯示控制的過程�
前面講過,并行總線時CPU完成1次向LED點陣片的列驅動電路的鎖存器寫字模數據的程序過程,大約需要十幾μs;而現在只�4μs,快多了,因為現在完�1次向LED點陣片的列驅動電路的鎖存器寫字模數據的程序過程只要兩步,首先給數據指針DPTR賦有效地址,接著CPU按DPTR的指向從外部數據存儲器中讀字模數據,與此同時也將字模數據傳給了LED點陣片列驅動電路的鎖存器�2條指令,4個機器周期,4μs。這里要補充說明一點,在編制全部LED點陣片列驅動電路的鎖存器寫字模數據的程序時,不要用循環指令,因為那樣每次過程又得增加2μs;要采用對LED點陣片逐片編程的方法,這樣編出來的程序雖然占空間,但節省了時間。用空間換時間的設計方法,有時也是設計人員值得嘗試的一種方法�
本電路的行驅動鎖存器的鎖存控制,還是用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個字節的地址建立了重疊關系。這是因為每片LED點陣片都�8行,每行都對�1個字節的字模數據�
上述分析結果還表明,全部LED點陣片的I/O接口地址和數據存儲器�0000H�07FFH地址段建立了映射關系。數據存儲器0000H�07FFH中存放的正好是一幀圖像的全部字模數據�
關注我�
公眾號:china_tp
微信名稱:亞威資�
顯示行業頂級新媒�
掃一掃即可關注我�