📄 noname1.asm
字号:
ORG 0000H
JMP START
ORG 000BH
JMP TIM0
START:ORG 0100H
MOV SCON, #00H
MOV TMOD,#01H
MOV TH0,#HIGH(65536-5000)
MOV TL0,#LOW(65536-5000)
SETB TR0
MOV IE, #10000010B
MOV P0,#00
SETB P1.4
MOV DPTR,#TABLE
MOV 30H,#00 ;初始化低位30H
MOV A,30H
MOVC A,@A+DPTR
MOV SBUF,A
JIXU: JBC TI,JIXU1
JMP JIXU
JIXU1:CALL DELAY
MOV 31H,#05 ;初始化中间位31H
MOV A,31H
MOVC A,@A+DPTR
MOV SBUF,A
JIXU2:JBC TI,JIXU3
JMP JIXU2
JIXU3:CALL DELAY
;MOV 32H,#00 ;初始化高位32H
;MOV A,32H
;MOVC A,@A+DPTR
;ANL A,#7FH
;MOV SBUF,A
;JIXU4:JBC TI,JIXU5
;JMP JIXU4
;JIXU5:CALL DELAY
LOOP2:JB P3.5,LOOP2
CALL DELAY1
JNB P3.5,$
JIA: JB P3.4,JIAN ;不加则判断减
CALL DELAY1
JNB P3.4,$
MOV A,30H
CJNE A,#09H,JXJIA
MOV 30H,#00
MOV A,31H
CJNE A,#09H,JXJIA2
MOV 31H,#09H
MOV 30H,#09H
JMP JXJIA1
JXJIA2:INC 31H
JMP JXJIA1
JXJIA: INC 30H
JXJIA1:MOV A,30H
MOVC A,@A+DPTR
MOV SBUF,A
DI: JBC TI,GAO
JMP DI
GAO: MOV A,31H
MOVC A,@A+DPTR
MOV SBUF,A
GAO1: JBC TI,JIA
JMP GAO1
JIAN: JB P3.3,JIA
CALL DELAY1
JNB P3.3,$
MOV A,30H
CJNE A,#00,JXJ
MOV A,31H
CJNE A,#00H,JXJ2
MOV 31H,#00H
JMP JXJ1
JXJ2: DEC 31H
MOV 30H,#09H
JMP JXJ1
JXJ: DEC 30H
JXJ1: MOV A,30H
MOVC A,@A+DPTR
MOV SBUF,A
DI1: JBC TI,GAO2
JMP DI1
GAO2: MOV A,31H
MOVC A,@A+DPTR
MOV SBUF,A
GAO3: JBC TI,JIA
JMP GAO3
;JMP LOOP
DELAY:MOV R5,#20 ;200MS
D1: MOV R6,#20
D2: MOV R7,#248
DJNZ R7,$
DJNZ R6,D2
DJNZ R5,D1
RET
DELAY1:MOV R3,#240 ;30MS
DE1: MOV R4,#248
DJNZ R4,$
DJNZ R3,DE1
RET
TIM0: PUSH ACC
MOV TH0,#HIGH(65536-5000)
MOV TL0,#LOW(65536-5000)
CPL P1.4
POP ACC
RETI
TABLE:DB 0C0H,0F9H,0A4H,0B0H,99H,092H,082H,0F8H,80H,90H
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -