📄 外部按扭改变三位数字.txt
字号:
ORG 0000H
AJMP MAIN
ORG 0003H ;外部中断INT0入口地址
AJMP PINT0 ;转中断服务子程序
MAIN: MOV SP,#40H
MOV P1,#0FFH
MOV P2,#0FFH
MOV P0,#0FFH
MOV 20H,#2
MOV 21H,#1
MOV 22H,#3
SETB EA ;开CPU中断
SETB IT0 ;设定INT0触发方式
SETB EX0 ;INT0请求中断
DSP: JNB P3.1,JY
DSP1: MOV DPTR,#TAB
MOV A,21H
MOVC A,@A+DPTR
RX1: MOV P1,A
CLR P0.0
DJNZ R7,RX1
MOV R7,#0FFH
MOV P1,#0FFH
SETB P0.0
MOV A,20H
MOVC A,@A+DPTR
RX2: MOV P1,A
CLR P0.1
DJNZ R7,RX2
SETB P0.1
MOV R7,#0FFH
MOV P1,#0FFH
SETB P0.1
MOV A,22H
MOVC A,@A+DPTR
RX3: MOV P1,A
CLR P0.2
DJNZ R7,RX3
SETB P0.2
AJMP DSP
RET
JY: ACALL DL ;延时20毫秒,消除接点抖动
JNB P3.1,$
INC 21H
MOV R1,21H
CJNE R1,#10,TZ
MOV 21H,#0
INC 20H
MOV R1,20H
CJNE R1,#10,TZ
MOV 20H,#0
INC 22H
MOV R1,22H
CJNE R1,#10,TZZ
MOV 22H,#0
TZ: AJMP DSP
PINT0: NOP
CLR P2.4
INC 20H
MOV R1,20H
CJNE R1,#10,TZZ
MOV 20H,#0
INC 22H
MOV R1,22H
CJNE R1,#10,TZZ
MOV 22H,#0
TZZ: NOP
RETI
DL: MOV R7,#100
DL1: MOV R6,#100
DL2: DJNZ R6,DL2
DJNZ R7,DL1
RET
TAB: DB 60H,7DH,0D0H,58H,4DH;0/1/2/3/4/5/6/7/8/9/
DB 4AH,42H,7CH,40H,48H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -