這個子程序主要是想送0~9的其中一個去12864顯示,其它顯示文字的程序都正常了,就差這個子程序~~~~ MOV FFFF,#0X20 LCALL SETY MOV EEEE,#0X06 LCALL SETPAGE
LCALL H8X16
AJMP $
H8X16:
MOV R0,#0X10 MOV DPTR,#HZOO CLR AAA ;AAA=0=上半字 H2:MOV R1,#0X08 ;寫上8個Y列 H3: MOV A,#0X00 MOVC A,@A+DPTR LCALL LCDWRDATA ; 調用寫數據程序 INC DPTR INC FFFF ;列地址加一 DEC R0 DJNZ R1,H3 ;判斷是否寫完8列 JB AAA,H4 ;AAA=0往下,=1跳至HZ2 CLR C ;進位清0為減法做準備 MOV A,FFFF SUBB A,#0X08 MOV FFFF,A LCALL SETY ;Y列減8, 即返回掃描 INC EEEE ;頁地址加1,即換第2頁掃描 LCALL SETPAGE SETB AAA ;AAA=1=下半字 LJMP H2 H4: RET
HZOO:
;-- 文字: 0 -- ;-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 -- DB 000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,00FH,010H,020H,020H,010H,00FH,000H
;-- 文字: 1 -- ;-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 -- DB 000H,010H,010H,0F8H,000H,000H,000H,000H,000H,020H,020H,03FH,020H,020H,000H,000H
;-- 文字: 2 -- ;-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 -- DB 000H,070H,008H,008H,008H,088H,070H,000H,000H,030H,028H,024H,022H,021H,030H,000H
;-- 文字: 3 -- ;-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 -- DB 000H,030H,008H,088H,088H,048H,030H,000H,000H,018H,020H,020H,020H,011H,00EH,000H
;-- 文字: 4 -- ;-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 -- DB 000H,000H,0C0H,020H,010H,0F8H,000H,000H,000H,007H,004H,024H,024H,03FH,024H,000H
;-- 文字: 5 -- ;-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 -- DB 000H,0F8H,008H,088H,088H,008H,008H,000H,000H,019H,021H,020H,020H,011H,00EH,000H
;-- 文字: 6 -- ;-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 -- DB 000H,0E0H,010H,088H,088H,018H,000H,000H,000H,00FH,011H,020H,020H,011H,00EH,000H
;-- 文字: 7 -- ;-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 -- DB 000H,038H,008H,008H,0C8H,038H,008H,000H,000H,000H,000H,03FH,000H,000H,000H,000H
;-- 文字: 8 -- ;-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 -- DB 000H,070H,088H,008H,008H,088H,070H,000H,000H,01CH,022H,021H,021H,022H,01CH,000H
;-- 文字: 9 -- ;-- 宋體12; 此字體下對應的點陣為:寬x高=8x16 -- DB 000H,0E0H,010H,008H,008H,010H,0E0H,000H,000H,000H,031H,022H,022H,011H,00FH,000H
;數字字節一共為160字節!!
|