📄 一个16×16点阵汉字显示.asm
字号:
ORG 00H
START: MOV A,#00H
MOV P0,A ;清除画面
ANL P2,#00H
MOV R2,#200
D1: MOV R3,#0F8H ;延一秒
DJNZ R3,$
DJNZ R2,D1
MOV 20H,#00H ;取码措针初值
L1: MOV R1,#80H ;每字停留时间
L2: MOV R6,#16 ;每字16个码
MOV R4,#00H ;扫描初值
MOV R0,20H ;取码指针存入R0
L3: MOV A,R4 ;扫描指针载入A
MOV P1,A ;扫描输出
INC R4 ;扫描下一个
MOV A,R0 ;取码指针载入A
MOV DPTR,#TABLE ;数据指针指到TABLE
MOVC A,@A+DPTR ;至TABLE取上半部数据码
MOV R7,A
MOV P0,A ;输出至P0显示
INC R0 ;取码指针加1
MOV A,R0 ;取码指针载入A
MOV DPTR,#TABLE ;数据指针指到TABLE
MOVC A,@A+DPTR ;至TABLE取下半部数据码
MOV R7,A
MOV P2,A ;输出数据码
INC R0 ;取下一个码
MOV R3,#02H ;扫描时间1毫秒
D2: MOV R5,#0F8H
DJNZ R5,$
DJNZ R3,D2
MOV A,#00H ;清除屏幕
MOV P0,A
ANL P2,#00H
DJNZ R6,L3 ;显示1个字了?
DJNZ R1,L2 ;停留时间到了?
MOV 20H,R0 ;取码指针存入 20H地址
MOV A,R7
CJNE A,#1BH,L1 ;是否取完了
JMP START
TABLE: DB 00H,88H,20H,8AH,20H,92H,20H,0B2H
DB 0FFH,0D2H,2AH,92H,2AH,92H,2AH,0BEH
DB 2AH,92H,2AH,92H,0FFH,0D2H,20H,0A2H
DB 20H,0B2H,20H,9AH,00H,90H,00H,00H ;"基"
DB 02H,00H,02H,00H,42H,00H,42H,00H
DB 42H,04H,42H,02H,42H,01H,7FH,0FEH
DB 42H,00H,42H,00H,42H,00H,42H,00H
DB 42H,00H,42H,00H,02H,00H,00H,00H ;"于"
DB 10H,04H,1FH,0FCH,10H,84H,10H,80H
DB 10H,80H,10H,80H,0FH,00H,00H,00H ;"P"
DB 01H,04H,01H,04H,01H,0FCH,00H,84H
DB 01H,04H,01H,00H,01H,80H,00H,00H ;"r"
DB 00H,00H,00H,0F8H,01H,04H,01H,04H
DB 01H,04H,01H,04H,00H,0F8H,00H,00H ;"o"
DB 00H,00H,01H,00H,01H,00H,07H,0F8H
DB 01H,04H,01H,04H,00H,00H,00H,00H ;"t"
DB 01H,00H,01H,0F8H,00H,04H,00H,04H
DB 00H,04H,01H,08H,01H,0FCH,00H,04H ;"u"
DB 00H,00H,00H,0F8H,01H,44H,01H,44H
DB 01H,44H,01H,44H,00H,0C8H,00H,00H ;"e"
DB 00H,00H,00H,0CCH,01H,24H,01H,24H
DB 01H,24H,01H,24H,01H,98H,00H,00H ; "s"
DB 00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,00H,00H,00H,00H,00H,00H
DB 00H,00H,1FH,0FEH,31H,08H,0D1H,08H
DB 11H,08H,1FH,0FCH,02H,00H,0CH,00H
DB 0F1H,00H,10H,0C0H,10H,64H,10H,02H
DB 10H,04H,1FH,0F8H,00H,00H,00H,00H ;"的"
DB 00H,10H,00H,10H,1FH,0D0H,14H,90H
DB 94H,90H,74H,90H,54H,90H,1FH,0FFH
DB 14H,90H,34H,90H,0D4H,90H,54H,90H
DB 1FH,0D0H,00H,10H,00H,10H,00H,00H ;"单"
DB 00H,01H,00H,02H,00H,0CH,7FH,0F0H
DB 08H,80H,08H,80H,08H,80H,08H,80H
DB 08H,80H,0F8H,80H,08H,80H,08H,0FFH
DB 08H,00H,18H,00H,08H,00H,00H,00H ;"片"
DB 10H,20H,10H,0C0H,13H,00H,0FFH,0FFH
DB 12H,00H,11H,82H,10H,0CH,00H,30H
DB 7FH,0C0H,40H,00H,40H,00H,40H,00H
DB 7FH,0FCH,00H,02H,00H,1EH,00H,00H ;"机"
DB 02H,00H,04H,00H,08H,00H,37H,0FEH
DB 0E0H,02H,50H,04H,10H,18H,10H,60H
DB 9FH,80H,51H,08H,71H,04H,11H,02H
DB 11H,04H,33H,0F8H,11H,00H,00H,00H ;"仿"
DB 00H,08H,20H,09H,20H,09H,20H,0AH
DB 2FH,0FAH,2AH,0ACH,3AH,0A8H,0EAH,0A8H
DB 2AH,0A8H,2AH,0ACH,2AH,0AAH,2FH,0FAH
DB 20H,09H,60H,09H,20H,08H,00H,00H ;"真"
DB 1BH ;结束码
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -