📄 my_hanxian_.asm
字号:
;R1:存列扫描数
;21H:存中断程序显示的组数
;R3:存显示子程序中显示的第几个字
;R4:存放主程序要显示的第几组字,连接主程序、中断子程序、显示子程序
;R5:存放每一组的首地址
;R6:存放循环的次数
ORG 0000H
AJMP MAIN
ORG 0003H
ajmp int00
org 0100H
MAIN: MOV SP, #3FH
MOV IE, #81H ;设置外部中断1
SETB IT0 ;低电平触发中断
MOV 31H, #05H ;中断寄存器设置初值
LOOP0: MOV R4, #04H
;主程序循环显示
LOOP: LCALL DISPLAY
DJNZ R4, LOOP
SJMP LOOP0
;中断子程序
int00: MOV 21H,R4 ;暂存计数指针
SEG: MOV R4,22H ;存中断计数
DEC R4
CJNE R4,#00H,SEG1
MOV R4,#05H
SEG1: LCALL DIsPLAY
MOV 22H,R4
MOV R4,21H
RETI
;显示子程序
DISPLAY: DEC R4 ;初始化
MOV A,R4
MOV B,#60H
MUL AB
MOV DPTR,#TAB
MOV 20H,#00H ;20H暂存每一个字的首地址
add a,dpl ;把每一个字的首地址指针给DPTR
mov dpl,a
mov a,b
addc a,dph
mov dph,a
MOV R3,#03H ;存字数
MOV R0,#50 ;每一个字的循环次数,以保证字的亮度
WORD1: MOV R5,20H ;R5做地址指针
MOV R1,#00H ;R1做列扫描,且计数
WORD2: MOV A,R5 ;寻址
MOVC A,@A+DPTR
MOV P2,A ;锁存信号
SETB P3.0
NOP
CLR P3.0
INC R5
MOV A,R5
MOVC A,@A+DPTR
MOV P2,A
SETB P3.1
NOP
CLR P3.1
INC R5
MOV P1,R1 ;列扫描信号
INC R1
LCALL DELAY ;延时100ms
CJNE R1,#16,WORD2 ;是否够16个字
DJNZ R0,WORD1 ;是否够循环次数
MOV 20H,R5 ;记录首地址
DJNZ R3,WORD1 ;是否满3个字
RET
;延时100mS
DELAY: PUSH ACC
PUSH PSW
SETB RS0;换一组寄存器
MOV R7 ,#100
D2: MOV R6 ,#10
D1: MOV R5 ,#100
HERE: DJNZ R5 ,HERE
DJNZ R6 ,D1
DJNZ R7 ,D2
POP PSW
POP ACC
RET
; 刘亚丽 付吉吉 苗金华 大家好
TAB:DB 00H,00H,04H,02H,04H,03H,04H,06H,04H,0CH,04H,10H,04H,60H,05H,80H
DB 0FEH,00H,05H,0C0H,04H,30H,04H,08H,04H,04H,04H,02H,04H,01H,04H,00H;刘
DB 00H,00H,7FH,0FEH,02H,40H,02H,40H,02H,48H,22H,4CH,12H,48H,12H,48H
DB 0AH,50H,0AH,50H,0AH,60H,02H,40H,02H,44H,0FFH,0FEH,00H,00H,00H,00H;亚
DB 00H,00H,0FFH,0FEH,00H,00H,00H,00H,7EH,0FCH,42H,84H,42H,0C4H,62H,0A4H
DB 52H,0B4H,5AH,0A4H,52H,84H,42H,84H,42H,84H,4EH,0BCH,44H,88H,00H,00H;丽
DB 08H,10H,0CH,10H,10H,10H,10H,10H,27H,0FEH,30H,10H,54H,10H,92H,10H
DB 11H,10H,11H,90H,11H,10H,10H,10H,10H,10H,10H,50H,10H,20H,00H,00H;付
DB 01H,00H,01H,04H,0FFH,0FEH,01H,00H,01H,00H,01H,08H,7FH,0FCH,00H,00H
DB 00H,00H,1FH,0F0H,10H,10H,10H,10H,10H,10H,1FH,0F0H,10H,10H,00H,00H;吉
DB 01H,00H,01H,04H,0FFH,0FEH,01H,00H,01H,00H,01H,08H,7FH,0FCH,00H,00H
DB 00H,00H,1FH,0F0H,10H,10H,10H,10H,10H,10H,1FH,0F0H,10H,10H,00H,00H;吉
DB 08H,20H,08H,20H,08H,20H,7FH,0FEH,08H,20H,08H,20H,3FH,0F8H,21H,08H
DB 21H,08H,3FH,0F8H,21H,08H,21H,08H,21H,08H,3FH,0F8H,20H,08H,00H,00H;苗
DB 01H,00H,01H,00H,02H,80H,04H,40H,08H,30H,30H,0EH,0CFH,0F4H,01H,00H
DB 01H,00H,3FH,0F8H,01H,00H,09H,20H,05H,20H,05H,40H,0FFH,0FEH,00H,00H;金
DB 08H,80H,0CH,88H,10H,9CH,30H,0E0H,53H,80H,90H,84H,10H,84H,10H,7CH
DB 11H,00H,01H,00H,7FH,0FEH,01H,00H,01H,00H,01H,00H,01H,00H,01H,00H;华
DB 01H,00H,01H,00H,01H,00H,01H,00H,01H,00H,0FFH,0FEH,01H,00H,02H,80H
DB 02H,80H,02H,40H,04H,40H,04H,20H,08H,10H,10H,18H,20H,0EH,40H,04H;大
DB 02H,00H,01H,00H,3FH,0FEH,40H,04H,5FH,0E8H,01H,00H,02H,00H,0FH,20H
DB 72H,0B0H,04H,0C0H,19H,0C0H,66H,0B0H,18H,8EH,60H,84H,05H,00H,02H,00H;家
DB 10H,00H,11H,0FCH,10H,08H,10H,10H,0FCH,20H,24H,20H,24H,20H,27H,0FEH
DB 44H,20H,64H,20H,18H,20H,08H,20H,14H,20H,26H,20H,44H,0A0H,80H,40H;好
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -