;***********************************************************************
; 光电自动轨迹跟踪车.dt
;***********************************************************************
PORT5 == 0x05 ;定义端口5,6,7
PORT6 == 0x06
PORT7 == 0x07
;-----------------------------------------------------------------------
IOCE == 0x0E ;定义WDT控制寄存器IOCE
;-----------------------------------------------------------------------
STATUS == 3 ;定义状态寄存器STATUS和零标志位Z_FLAG
Z_FLAG == 2
;---------------------------------------------------------------
DLY1 == 13 ;定义延时置数单元DLY1,DLY2,DLY3
DLY2 == 14
DLY3 == 15
TEMP == 16 ;定义暂存器单元TEMP,存放光电读入数据
;-----------------------------------------------------------------------
ORG 0x00
INIT: MOV A,@0x0FF ;设定P7口全部为输入
IOW PORT7
IOW PORT5
MOV A,@0x00 ;设定P6口全部为输出
IOW PORT6
MOV A,@0X11
IOW IOCE ;关闭看门狗功能
MOV A,@0x00 ;停止电机运行
MOV PORT6,A
;-----------------------------------------------------------------------
MAIN: MOV A,PORT7 ;读光电输入
AND A,@0B00000111 ;屏蔽高5位
XOR A,@0B00000111
MOV TEMP,A
BC STATUS,Z_FLAG ;清除零标志位
CHECK0: MOV A,TEMP
XOR A,@0B00000000 ;光电输入是000?
JBS STATUS,Z_FLAG
JMP CHECK1
JMP ACT000
CHECK1: MOV A,TEMP
XOR A,@0B00000001 ;光电输入是001?
JBS STATUS,Z_FLAG
JMP CHECK2
JMP ACT001
CHECK2: MOV A,TEMP
XOR A,@0B00000010 ;光电输入是010?
JBS STATUS,Z_FLAG
JMP CHECK3
JMP ACT010
CHECK3: MOV A,TEMP
XOR A,@0B00000011 ;光电输入是011?
JBS STATUS,Z_FLAG
JMP CHECK4
JMP ACT011
CHECK4: MOV A,TEMP
XOR A,@0B00000100 ;光电输入是100?
JBS STATUS,Z_FLAG
JMP CHECK5
JMP ACT100
CHECK5: MOV A,TEMP
XOR A,@0B00000101 ;光电输入是101?
JBS STATUS,Z_FLAG
JMP CHECK6
JMP ACT101
CHECK6: MOV A,TEMP
本文关键字:光电 义隆单片机,单片机-工控设备 - 义隆单片机
上一篇:EM78P447自收发光电检测