自己已经解决,请大大们指教哪些可以改进
程序如下,请指教哪些可以改进,让程序更加简化,谢谢
ORG
0000H
LJMP
MAIN
ORG
0100H
MAIN:
ST:
MOV
30H,#30
;初始化
MOV
31H,30H
MOV
A,#100
CSQ:
JZ
MID
;累加器不为0执行快速闪烁,为0转移到MID
CLR
P1.0
LCALL DELQ
SETB
P1.0
LCALL DELQ
LJMP
CSQ
CSS:
CLR
P1.0
;慢速闪烁
LCALL DELS
SETB
P1.0
LCALL DELS
LJMP
MID
MID:
CJNE
A,31H,CSS
;累加器中值增加到30(30H中值)之前转移执行慢速闪烁 ,
;到30转移执行快速闪烁。
LJMP
CSQ
DELQ:
;快速闪烁从3S减少到0.1S
MOV
A,30H
DEC
A
DELQ1: MOV
32H,#250
DELQ2: MOV
33H,#200
DJNZ
33H,$
DJNZ
32H,DELQ2
DJNZ
30H,DELQ1
MOV
30H,A
RET
DELS:
;慢速闪烁从0.1S延长到3S
INC
A
MOV
30H,A
DELS1: MOV
32H,#250
DELS2: MOV
33H,#200
DJNZ
33H,$
DJNZ
32H,DELQ2
DJNZ
30H,DELQ1
RET
END