📄 nc power.asm
字号:
ORG 00H
START:MOV R4,#04H
MOV R0,#30H
CLEAR:MOV @R0,#00H
INC R0
DJNZ R4,CLEAR
L1: MOV R3,#0EFH
MOV R1,#00H
L2: MOV A,R3
MOV P1,A
MOV A,P1
MOV R4,A
SETB C
MOV R5,#03H
L3: RRC A
JNC KEYIN
INC R1
DJNZ R5,L3
CALL DISPLAY
MOV A,R3
SETB C
RLC A
MOV R3,A
JC L2
JMP L1
KEYIN:MOV R7,#60
D2: MOV R6,#248
DJNZ R6,$
DJNZ R7,D2
D3: MOV A,P1
XRL A,R4
JZ D3
MOV A,R1
MOV DPTR,#TABLE
MOVC A,@A+DPTR
XCH A,30H
XCH A,31H
XCH A,32H
XCH A,33H
MOV A,32H
ADD A,#10
MOV 32H,A
MOV A,33H
CJNE A,#10,S2
S2:JC HH
SUBB A,#10
MOV 33H,A
HH:MOV A,30H
CJNE A,#11,T1
MOV 30H,#0
MOV A,33H
MOV B,#100
MUL AB
MOV 36H,A
MOV A,32H
SUBB A,#10
MOV B,#10
MUL AB
MOV 37H,A
MOV A,31H
ADD A,37H
ADD A,36H
MOV P0,A
T1:CALL DISPLAY
JMP L1
DISPLAY:MOV A,30H
CALL DIS
MOV P3,#01111111B
CALL DELAY2
MOV A,31H
CALL DIS
MOV P3,#10111111B
CALL DELAY2
MOV A,32H
CALL DIS
MOV P3,#11011111B
CALL DELAY2
MOV A,33H
CALL DIS
MOV P3,#11101111B
CALL DELAY2
RET
DIS:
MOV DPTR,#TAB
MOVC A,@A+DPTR
MOV P2,A
RET
TAB: DB 0C0H,0F9H,0A4H,0B0H,99H,92H,82H,0F8H,80H,90H,40H,79H,24H,30H,19H,12H,2H,78H,0H,10H;0,1,2,3,4,5,6,7,8,9,0.,1.,2.,3.,4.,5.,6.,7.,8.,9.
DELAY:MOV R7,#06
D1: MOV R6,#248
DJNZ R6,$
DJNZ R7,D1
RET
DELAY2:MOV 34H,#10
D5: MOV 35H,#100
DJNZ 35H,$
DJNZ 34H,D5
RET
TABLE: DB 01,02,03
DB 04,05,06
DB 07,08,09
DB 10,00,11
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -