📄 pwm1.asm
字号:
ORG 0000H
AJMP MAIN
ORG 000BH
LJMP PIPO
ORG 0020H
MAIN: MOV SP,#40H
MOV 30H,#50H
MOV 31H,#50H
MOV 32H,#00H
MOV TMOD,#02H
SETB EA
SETB ET0
MOV TH0,#0A4H
MOV TL0,#0A4H
MOV R5, #00H
SETB TR0
INKEY1:MOV P3,#0FFH
JB P3.3,INKEY2
QUDOU1:JNB P3.3,QUDOU1
ACALL ADDA1 ;加操作
INKEY2:MOV P3,#0FFH
JB P3.4,OUT
QUDOU2: JNB P3.4, QUDOU2
ACALL MIN1
OUT: ACALL DISP
AJMP INKEY1
PIPO: PUSH ACC
CJNE R5,#00H,PIPO2
MOV A,32H
INC A
DA A
MOV 32H,A
CJNE A,30H,RET0
CPL P1.0
MOV 32H,#00H
MOV R5,#01H
AJMP RET0
PIPO2:MOV A,32H
INC A
DA A
MOV 32H,A
CJNE A,31H,RET0
CPL P1.0
MOV R5,#00H
MOV 32H,#00H
RET0:
CLR CY
POP ACC
RETI
ADDA1:
PUSH ACC
MOV A,30H
INC A
DA A
MOV 30H,A
MOV A,31H
DEC A
MOV 31H,A
CJNE A,#00H,PP1
MOV 31H,#99H
PP1: ANL A,#0FH
CJNE A,#0FH,CONT
MOV A,31H
SUBB A,#06H
MOV 31H,A
CONT: CLR CY
POP ACC
RET
MIN1: PUSH ACC
MOV A,30H
DEC A
MOV 30H,A
CJNE A,#00H,KK
MOV 30H,#99H
KK: ANL A,#0FH
CJNE A,#0FH,CONT2
MOV A,30H
SUBB A,#06H
MOV 30H,A
CONT2:
MOV A,31H
INC A
DA A
MOV 31H,A
CLR CY
POP ACC
RET
;---------------------------------------------------------------------------
DELAY: MOV R3,#10H
DELAY0: MOV R4,#50H
DELAY1: DJNZ R4,DELAY1
DJNZ R3,DELAY0
RET
;------------------------------------------------显示子程序----------------------
DISP: MOV P2,#0FFH
MOV A,30H
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.6
ACALL DELAY
SETB P0.6
MOV A,30H
SWAP A
ANL A,#0FH
ACALL TABLE
MOV P2,A
CLR P0.5
ACALL DELAY
SETB P0.5
MOV P2,#40H
CLR P0.4
ACALL DELAY
SETB P0.4
MOV P2,#0FFH
RET
TABLE:INC A
MOVC A,@A+PC
RET
DB 0C0H,0F9H,0A4H,0B0H,099H,092H,082H,0F8H,080H,090H ;0-9的段码
;---------------------------------------------------------------------------
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -