LED點(diǎn)陣顯示實(shí)驗
一.實(shí)驗要求
本文引用地址:http://dyxdggzs.com/article/168121.htm編程實(shí)現中英文字符的顯示。
二.實(shí)驗目的
1.了解LED點(diǎn)陣顯示的基本原理和實(shí)現方法。
2.掌握點(diǎn)陣漢字庫的編碼和從標準字庫中提取漢字編碼的方法。
三.實(shí)驗電路及連線(xiàn)
點(diǎn)陣顯示模塊WTD3088的(紅色)列輸入線(xiàn)接至內部LED的陰極端,行輸入線(xiàn)接至內部LED的陽(yáng)極端(若陽(yáng)極端輸入為高電平,陰極端輸入低電平,則該LED點(diǎn)亮)。發(fā)光點(diǎn)的分布如圖22-0所示。

Fig22-0WTD3088LED分布
如圖22-1示,本實(shí)驗模塊使用74LS374來(lái)控制列輸入線(xiàn)的電平值。將74LS374的某輸出置0,則對應的LED陰極端被置低。如圖22-2示,本實(shí)驗模塊使用74LS273來(lái)控制行輸入線(xiàn),并通過(guò)9013提供電流驅動(dòng)。將74LS273的某輸出置1,則對應的LED陽(yáng)極端被置高。每次系統重新開(kāi)啟或總清后,74LS273輸出為全0,LED顯示被關(guān)閉。
通過(guò)編程控制各顯示點(diǎn)對應LED陽(yáng)極和陰極端的電平,就可以有效的控制各顯示點(diǎn)的亮滅。

Fig22-1LED模塊及列掃描電路

Fig22-2行掃描電路

Fig22-3地址譯碼電路
本實(shí)驗模塊使用4塊WTD3088組成16×16點(diǎn)陣,以滿(mǎn)足漢字顯示的要求。為了方便的控制四個(gè)單元,使用了一片74LS139譯碼,產(chǎn)生四個(gè)地址片選信號:CLKR1=CSLED,CLKR2=CSLED+1,用于行控制的兩片74LS273;CLKC1=CSLED+2,CLKC2=CSLED+3,用于列控制的兩片74LS374。
實(shí)驗接線(xiàn):按示例程序,模塊的CSLED接51/96地址的8000H。
四.實(shí)驗說(shuō)明
使用高亮度LED發(fā)光管構成點(diǎn)陣,通過(guò)編程控制可以顯示中英文字符、圖形及視頻動(dòng)態(tài)圖形。LED顯示以其組構方式靈活、亮度高、技術(shù)成熟、成本低廉等特點(diǎn)在證券、運動(dòng)場(chǎng)館及各種室內/外顯示場(chǎng)合得到廣泛的應用。
所顯示字符的點(diǎn)陣數據可以自行編寫(xiě)(即直接點(diǎn)陣畫(huà)圖),也可從標準字庫(如ASC16、HZ16)中提取。后者需要正確掌握字庫的編碼方法和字符定位的計算。
實(shí)驗盤(pán)片中“字符轉換”子目錄下提供的Basc16.exe,BHz16.exe可方便的將單個(gè)字符的碼表從標準字庫Asc16,Hzk16中提取出來(lái)。具體使用方法是運行上述可執行程序,根據提示輸入所需字符(如是漢字還需要先啟動(dòng)dos下的漢字環(huán)境,如ucdos,pdos95等)。程序將該字符的碼表提取出來(lái),存放在該字符ASC或區位碼為文件名稱(chēng)的.dat文件中。用戶(hù)只需將該文件中內容拷貝、粘貼到自己的程序中即可。但需要注意字節排列順序、字節中每一位與具體顯示點(diǎn)的一一對應關(guān)系,必要時(shí)還要對碼表稍作修改。同一目錄下還提供了上述可執行程序的源文件,使用BC3.1編寫(xiě),供用戶(hù)參考。
五.實(shí)驗程序框圖

用戶(hù)應留心其中行掃描的實(shí)現及碼表的處理。
六.實(shí)驗程序:
(一)提供LEDA51演示Asc16字符的簡(jiǎn)單點(diǎn)陣顯示。
*********LED點(diǎn)陣顯示示例程序***********************
**該程序顯示Asc16字符**
**為了簡(jiǎn)單起見(jiàn),程序只顯示一個(gè)字符**
**該程序針對T598實(shí)驗機的模塊14**
****************************************************
CSLEDEQU8000H
CSR1EQUCSLED;行1273
CSR2EQUCSLED+1H;行2273
CSC1EQUCSLED+2H;列1374
CSC2EQUCSLED+3H;列2374
ORG0000H
MOVSP,#60H
INIT:MOVA,#0H;關(guān)閉行
MOVDPTR,#CSR1
MOVX@DPTR,A
MOVDPTR,#CSR2
MOVX@DPTR,A
MOVA,#0FFH;關(guān)閉列
MOVDPTR,#CSC1
MOVX@DPTR,A
MOVDPTR,#CSC2
MOVX@DPTR,A
D:MOVR5,#00H
MOVR4,#01H;每次為單行掃描
DISP:
MOVA,R5
MOVDPTR,#ASCE;此處設定所要顯示的字符
MOVCA,@A+DPTR
CPLACC;代碼取反,決定顯示的陰陽(yáng)
MOVDPTR,#CSC2
MOVX@DPTR,A
MOVDPTR,#CSR1
MOVA,R4
MOVX@DPTR,A
RLACC
MOVR4,ACC
INCR5
LCALLDELAY
CJNER5,#8H,DISP
MOVA,#0H
MOVX@DPTR,A
MOVR5,#08H
MOVR4,#01H
DISP2:
MOVA,R5
MOVDPTR,#ASCE
MOVCA,@A+DPTR
CPLACC
MOVDPTR,#CSC2
MOVX@DPTR,A
MOVDPTR,#CSR2
MOVA,R4
MOVX@DPTR,A
RLACC
MOVR4,ACC
INCR5
LCALLDELAY
CJNER5,#10H,DISP2
MOVA,#0H
MOVX@DPTR,A
SJMPD
********延時(shí)子程序,協(xié)調字符顯示速度*************
DELAY:MOVR7,#1H
DL1:MOVR6,#00H
DL2:DJNZR6,DL2
DJNZR7,DL1
RET
********字符點(diǎn)陣字庫***************
ASC16字符編碼排列
0
1
|
|
14
15
高位D7--D0
請注意編碼的排列次序和實(shí)際顯示點(diǎn)陣分布的關(guān)系
ASCA:DB00H,00H,10H,38H,6CH,0C6H,0C6H,0FEH
DB0C6H,0C6H,0C6H,0C6H,00H,00H,00H,00H
ASCE:DB00H,00H,0FEH,66H,62H,68H,78H,68H
DB60H,62H,66H,0FEH,00H,00H,00H,00H
ASCD:DB00H,00H,0F8H,6CH,66H,66H,66H,66H
DB66H,66H,6CH,0F8H,00H,00H,00H,00H
ASCK:DB00H,00H,0E6H,66H,66H,6CH,78H,78H
DB6CH,66H,66H,0E6H,00H,00H,00H,00H
評論