这个子程序主要是想送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字节!!
|