新人求教!~~搞不懂啊!~~请各位大神,讲解一番!
这是一个我看的自动门的程序,可是看不懂的呀东东!~~请各位大神指教,小弟谢过先! 特别是最上面一段,有什么用!欢迎各位来此讨论,指教一番!MOV R4,A
INC R1
CLR R5,A
SUBB A,R4
XCH A,R4
DEC R1
SJMP LP2
JB 00H,ROLE
SPEED0 BIT P1.0 ; 门行程行状1
SPEED1 BIT P1.1 ; 门行程行状2
SPEED2 BIT P1.2 ; 门行程行状3
SPEED3 BIT P1.3 ; 门行程行状4
KEYDOOROPEN BIT P1.4 ; 手动门开按钮
KEYDOORCLOSE BIT P1.5 ; 手动门关按钮
MODE BIT P1.6 ; 手动/自动切换
DOOROPEN BIT P3.0 ; 门开驱动信号
DOORCLOSE BIT P3.1 ; 门关驱动信号
SIGNAL BIT P3.2 ; 红外线传感器信号
A0809E0C BIT P3.3 ; A/D转换结束信号
HSPEED BIT P3.4 ; 电机速度变换
DOORSTATE BIT 00H ; 门状态
RERROR BIT 01H ; 系统故障
ORG 0000H
AJMP START
ORG 0003H
AJMP INT0
ORG 000BH
AJMP T0
ORG 001BH
AJMP T1
ORG 0050H
START: CLR DOOROPEN ; 关电机驱动
CLR DOORCLOSE
MOV TMOD, #11H ; 定时器工作方式
MOV TLO,#OFOH ; 置定时器常数,
MOV TH0,#08DH
MOV TL1,#0E0H
MOV TH1,#0B1H
MOV TCON,#50H
MOV IP,#08H ; 优先级设置
MOV IE,#80H ; 开中断
LOOP: ACALL SYSERROR ; 调用系统故障子程序
JB RERROR,WAIT ; 有故障等待处理
MOV A,P2
ANL A,#OFH
JNZ WAIT ; 无按键等待
JB MODE,AUTO ; 运行方式判断
CLR EXO
SETB ETO
SJMP LOOP
AUTO: SETB ETO
SJMP LOOP
WAIT: SJMP $ ; 等待