XOR A,@0B00000110 ;光电输入是110?
JBS STATUS,Z_FLAG
JMP CHECK7
JMP ACT110
CHECK7: MOV A,TEMP
XOR A,@0B00000111 ;光电输入是111?
JBS STATUS,Z_FLAG
JMP MAIN
JMP ACT111
;-----------------------------------------------------------------------
ACT000: NOP ;保持原状,无动作,返回
JMP MAIN
ACT001: MOV A,@0B00000100 ;稍偏右,M1仃转,M2正转
MOV PORT6,A
CALL TURNDELAY
JMP ACT101
ACT010: NOP ;无动作,返回
JMP MAIN
ACT011: MOV A,@0B00000100 ;偏右,M1仃转,M2正转
MOV PORT6,A
CALL TURNDELAY
JMP ACT101
ACT100: MOV A,@0B00000001 ;稍偏左,M1正转,M2仃转
MOV PORT6,A
CALL TURNDELAY
JMP ACT101
ACT101: MOV A,@0B00000101 ;沿黑色胶带正中前进,M1正转,M2正转
MOV PORT6,A
JMP MAIN
ACT110: MOV A,@0B00000001 ;偏左,M1正转,M2仃转
MOV PORT6,A
CALL TURNDELAY
JMP ACT101
ACT111: MOV A,@0B00001001 ;没有压到黑色胶带,M1正转、M2反转
MOV PORT6,A
CALL TURNDELAY
CALL TURNDELAY
JMP ACT101
;-----------------------------------------------------------------------
TURNDELAY:MOV A,@50 ;转弯延时约100毫秒,需调整
MOV DLY3,A
CALL DELAY
RET
;-----------------------------------------------------------------------
;延时时间 = 2mS * DLY3
DELAY: MOV A,@25 ;1*(DLY3)
MOV DLY2,A ;1*(DLY3)
INNER2: MOV A,@133 ;1*(DLY3)*(250)
MOV DLY1,A ;1*(DLY3)*(250)
INNER1: DJZ DLY1 ;1*(DLY3)*(250)*(133)
JMP INNER1 ;2*(DLY3)*(250)*(133)
DJZ DLY2 ;1*(DLY3)*(250)
JMP INNER2 ;2*(DLY3)*(250)
DJZ DLY3 ;1*(DLY3)
JMP DELAY ;2*(DLY3)
RET ;延时返回
EOP
上一页 [1] [2]
本文关键字:光电 义隆单片机,单片机-工控设备 - 义隆单片机