📄 汇编源程序.asm
字号:
ORG 00H
AJMP START
START: MOV P1,#0FFH //各口置初值
MOV P3,#0FFH
MOV R5,#00H
MOV 33H,#00H //显示缓冲置初值
MOV 34H,#04H
MOV 35H,#00H
MOV SCON,#00H //置串口为移位寄存器方式
ACALL DISP //调显示子程序
WT: JB P3.3,DE //加按键是否按下
ACALL DELAY10MS //去抖动
JB P3.3,DE
DEC R5
MOV P1,R5 //有键按下,P1口减1
MOV A,R5
CPL A //A取反
MOV B,#10H //除以16
DIV AB
MOV 33H,B //余数送33H
ADD A,#04H
DA A
MOV R3,A
ANL A,#0FH //屏蔽高4位
MOV 34H,A //个位送34H
MOV A,R3
ANL A,#0F0H //屏蔽低4位
RL A
RL A //左移4次
RL A
RL A
MOV 35H,A //十位送35H
ACALL DISP
DE: JB P3.4,WT //减按键是否按下
ACALL DELAY10MS
JB P3.4,WT
INC R5
MOV P1,R5
MOV A,R5
CPL A
MOV B,#10H
DIV AB
MOV 33H,B
ADD A,#04H
DA A
MOV R3,A
ANL A,#0FH
MOV 34H,A
MOV A,R3
ANL A,#0F0H
RL A
RL A
RL A
RL A
MOV 35H,A
ACALL DISP
AJMP WT
DISP: MOV R0,#33H //显示子程序
MOV R7,#03H
MOV A,@R0
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV R0,#34H
MOV A,@R0
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
MOV R0,#35H
MOV A,@R0
MOV DPTR,#TAB1
MOVC A,@A+DPTR
MOV SBUF,A
JNB TI,$
CLR TI
RET
TAB: DB 0FCH,60H,60H,0DAH,0DAH,0F2H,66H,66H,0B6H,0BEH,0E0H,0E0H,0FEH,0FEH,0F6H
TAB1: DB 0FCH,60H,0DAH,0F2H,66H,0B6H,0BEH,0E0H,0FEH,0F6H
DELAY10MS: MOV R6,#100
D1: MOV R7,#248
DJNZ R7,$
DJNZ R6,D1
RET
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -