📄 text1.asm
字号:
column EQU P0
row EQU P1
scancode equ 11111110b
speed equ 4
s_time equ -2500
org 0000h
jmp start
org 0bh
jmp timer0
;==================================
start: mov ie,#10000010b
mov tmod,#1
mov sp,#60h
setb rs0
mov r1,#20h
mov r2,#8
mov r3,#scancode
clr rs0
mov th0,#4eh
mov tl0,#04h
setb tr0
loop: mov dptr,#table
mov r4,#10
mov r3,#0
;==================================
next: mov r2,#8
mov r0,#20h
call loading
call delay
djnz r4,next
jmp loop
;==================================
loading:mov a,r3
movc a,@a+dptr
mov @r0,a
inc R3
INC R0
djnz r2,loading
ret
;==================================
delay: mov r7,#speed
d2: mov r6,#200
d1: mov r5,#250
djnz r5,$
djnz r6,d1
djnz r7,d2
ret
;=====================================
timer0: clr tr0
push acc
setb rs0
mov column,#0ffh
mov a,@r1
;===================================
;使用共阳LED加入下一列指令
; cpl r3
;==================================
mov row,a
mov a,r3
mov column,a
rl a
inc r1
djnz r2,next_c
mov r2,#8
mov r1,#20h
next_c: mov th0,#4eh
mov tl0,#04h
setb tr0
clr rs0
pop acc
reti
;==================================
table:
db 00h,1ch,22h,41h;0
db 41h,22h,1ch,00h
db 00h,40h,44h,7eh;1
db 7fh,40h,40h,00h
db 00h,00h,66h,51h;2
db 49h,46h,00h,00h
db 00h,00h,22h,41h;3
db 49h,36h,00h,00h
db 00h,10h,1ch,13h;4
db 7ch,7ch,10h,00h
db 00h,00h,27h,45h;5
db 45h,45h,39h,00h
db 00h,00h,3eh,49h;6
db 49h,32h,00h,00h
db 00h,03h,01h,71h;7
db 79h,07h,03h,00h
db 00h,00h,36h,49h;8
db 49h,36h,00h,00h
db 00h,00h,26h,49h;9
db 49h,3eh,00h,00h
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -