📄 单片机.asm
字号:
;888888888888888888888888888888888
;32*64 左移动
;888888888888888888888888888888888
ORG 0000H
START: MOV A,#00H;清屏
MOV P0,A
MOV P2,A
CALL DIS;调用显示子程序
CALL MOVE;调用左移程序
JMP START
DIS: MOV R2,#04H;每个画面2个字,8个字分4次显示
MOV 20H,#00H;取码指针暂存地址20H初值为0
D4: MOV R4,#00H;74154扫描指针初值
MOV R1,#3FH;每一幕停留时间
D5: MOV R6,#32;每幕32个数据
MOV R0,20H;取码指针存入R0
D2: CALL READ1;调用取码子程序
INC R4;扫描下一列
DJNZ R6,D2;是否显示完一幕?
MOV R4,#00H;清除74154扫描指针
DJNZ R1,D5;每一幕停留时间到了吗?
MOV 20H,R0;保留取码指针存入20H
DJNZ R2,D4;4幕字显示完了吗?
RET
MOVE: MOV 20H,#00H;取码指针暂存地址值为00H
MOV R4,00H;74154扫描指针初值
M1: MOV R1,#3FH;每幕停留时间
M2: MOV R6,#32;每幕32个数据
MOV R0,20H;取码指针存入R0
M3: CALL READ1
INC R4;扫描下一行
DJNZ R6,M3;是否显示完一幕?
MOV R4,#00;清除74154扫描指针
DJNZ R1,M2;每幕停留时间到了吗?
MOV A,20H
ADD A,#08
MOV 20H,A
XRL A,#128;8个字是否左移完毕?
JNZ M1
RET
READ1: MOV A,R4;扫描指针载入
MOV P1,A
MOV A,R0;取码指针载入A
MOV DPTR,#TAB;数据指针到TAB
MOVC A,@A+DPTR;到TAB取上半部的数据码
MOV P0,A
INC R0
MOV A,R0
MOV DPTR,#TAB;数据指针到TAB
MOVC A,@A+DPTR;到TAB取下半部数据码
MOV P2,A
INC R0
MOV R3,#128;延时
DJNZ R3,$
MOV A,#00H
MOV P0,A
MOV P2,A
RET
TAB:
DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;" ",8
/* (8 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,008H ,010H ,008H ,018H ,008H ,00CH ,008H ,006H ,008H ,003H ,0C8H ,009H ,0F8H ,018H ;
DB 07CH ,010H ,044H ,01CH ,0C4H ,00FH ,0C4H ,003H ,004H ,000H ,004H ,000H ,004H ,000H ,000H ,000H ;"万",9
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,004H ,000H ,004H ,002H ,004H ,002H ,0B4H ,00AH ,0BCH ,00AH ,0ACH ,04AH ,0FFH ,07FH ;
DB 0FFH ,07FH ,06AH ,005H ,07AH ,005H ,0DAH ,007H ,0C2H ,003H ,002H ,001H ,002H ,001H ,000H ,000H ;"事",10
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 080H ,000H ,080H ,000H ,080H ,020H ,080H ,030H ,0C0H ,01BH ,0FEH ,00FH ,07EH ,00EH ,0E0H ,01BH ;
DB 0E0H ,011H ,0C0H ,007H ,0C0H ,007H ,040H ,004H ,060H ,006H ,0E0H ,003H ,0E0H ,003H ,000H ,000H ;"如",11
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,020H ,000H ,020H ,038H ,020H ,038H ,0A4H ,00BH ,0ACH ,01BH ,0FDH ,032H ,0D7H ,02BH ;
DB 05FH ,07BH ,05EH ,053H ,0D2H ,053H ,0D2H ,074H ,010H ,024H ,010H ,00CH ,010H ,008H ,000H ,000H ;"意",12
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;" ",13
/* (8 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,000H ,022H ,000H ,022H ,000H ,032H ,000H ,012H ,0FCH ,01BH ,0FEH ,009H ,057H ,00DH ;
DB 055H ,027H ,0FCH ,07FH ,0FCH ,07FH ,0C0H ,000H ,070H ,000H ,030H ,000H ,000H ,000H ,000H ,000H ;"身",14
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,001H ,0C0H ,001H ,0E0H ,000H ,0F8H ,03FH ,0DEH ,03FH ,026H ,006H ,0A0H ,00BH ,0E0H ,009H ;
DB 0FEH ,07FH ,0FEH ,07FH ,0D0H ,004H ,090H ,003H ,010H ,007H ,000H ,006H ,000H ,004H ,000H ,004H ;"体",15
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 080H ,000H ,0C0H ,000H ,0E0H ,03FH ,0F8H ,03FH ,03EH ,014H ,0F6H ,01DH ,0F0H ,00FH ,0B0H ,01FH ;
DB 0A8H ,015H ,0FFH ,01FH ,0FFH ,03FH ,0F8H ,025H ,078H ,025H ,010H ,020H ,010H ,020H ,000H ,020H ;"健",16
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,010H ,000H ,018H ,000H ,00FH ,0FCH ,017H ,0FCH ,014H ,054H ,01DH ,054H ,02DH ,0FFH ,03FH ;
DB 0FFH ,03FH ,0EAH ,006H ,0FAH ,00EH ,03AH ,01BH ,022H ,019H ,020H ,010H ,000H ,010H ,000H ,010H ;"康",17
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;" ",18
/* (8 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,004H ,000H ,004H ,002H ,004H ,002H ,0B4H ,00AH ,0BCH ,00AH ,0ACH ,04AH ,0FFH ,07FH ;
DB 0FFH ,07FH ,06AH ,005H ,07AH ,005H ,0DAH ,007H ,0C2H ,003H ,002H ,001H ,002H ,001H ,000H ,000H ;"事",19
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,000H ,010H ,040H ,010H ,0C0H ,011H ,080H ,011H ,0FCH ,01FH ,0FCH ,01FH ,000H ,008H ;
DB 0FEH ,00FH ,0FEH ,00FH ,080H ,009H ,0C0H ,008H ,060H ,008H ,060H ,008H ,000H ,008H ,000H ,000H ;"业",20
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 040H ,008H ,040H ,008H ,064H ,009H ,0ECH ,00FH ,0E8H ,00EH ,080H ,018H ,090H ,014H ,0FEH ,017H ;
DB 0FEH ,013H ,050H ,030H ,0FFH ,03FH ,0FFH ,03FH ,048H ,030H ,048H ,030H ,040H ,010H ,000H ,010H ;"进",21
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,040H ,000H ,040H ,000H ,040H ,044H ,07CH ,047H ,07CH ,043H ,040H ,060H ,0FFH ,037H ;
DB 0FFH ,01FH ,024H ,00CH ,024H ,006H ,0A4H ,003H ,0A4H ,001H ,020H ,000H ,020H ,000H ,000H ,000H ;"步",22
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;" ",23
/* (8 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,000H ,000H ,0F8H ,03FH ,0FAH ,03FH ,046H ,010H ,044H ,01DH ,0D4H ,01DH ,0FCH ,01DH ;
DB 0FCH ,00FH ,0AEH ,00EH ,0AAH ,00EH ,022H ,028H ,0FEH ,07FH ,0FEH ,07FH ,000H ,000H ,000H ,000H ;"阖",24
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,010H ,000H ,01CH ,010H ,09CH ,012H ,0A8H ,01AH ,0E8H ,02FH ,0E9H ,067H ,0BFH ,07FH ;
DB 016H ,03FH ,094H ,003H ,0C4H ,006H ,04CH ,00CH ,00CH ,00CH ,004H ,008H ,000H ,008H ,000H ,000H ;"家",25
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,010H ,0A0H ,018H ,0A0H ,00DH ,030H ,007H ,0F0H ,007H ,0F0H ,025H ,040H ,030H ,078H ,01CH ;
DB 0BFH ,00FH ,0B7H ,007H ,050H ,00CH ,070H ,018H ,030H ,030H ,010H ,030H ,000H ,020H ,000H ,020H ;"欢",26
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,000H ,000H ,000H ,018H ,0F8H ,01EH ,0F8H ,006H ,088H ,010H ,0CCH ,030H ,0F4H ,03FH ;
DB 0F6H ,03FH ,042H ,000H ,042H ,002H ,042H ,006H ,040H ,00CH ,000H ,00CH ,000H ,000H ,000H ,000H ;"乐",27
/* (16 X 16 , 楷体_GB2312, 加粗 ) */
DB 000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ,000H ;" ",28
/* (8 X 16 , 楷体_GB2312, 加粗 ) */
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -