2,源程序
ORG 000H ,开机初始化
MOV A,#00H
MOV P1,A ,P1口清零
LCALL BING ,上电蜂鸣
START:MOV C, P3.4
MOV 22H,C
JB 22H,START ,按键扫描
LCALL BING ,按下按键时蜂鸣
JNB 22H,QIDONG ,按下按键转QIDONG
QIDONG:LCALL DEL ,延时启动
LCALL DEL
LCALL DEL
DETECT:MOV C,P3.5 ,检测程序
MOV 24H,C
JB 24H,ADVAN
JNB 24H,STOP
ADVAN:MOV A,#60H ,前进子程序
MOV P1,A
LCALL DEL
AJMP DETECT ,返回检测程序
STOP:LCALL BING ,停止子程序,调蜂鸣程序
MOV A,#00H
MOV P1,A
LCALL DEL ,此处可设置停止时间
LCALL DEL
LCALL DEL
LCALL DEL
LCALL DEL
RETRE:MOV A,#90H ,后退子程序
MOV P1,A
LCALL DEL ,此处可设置后退时间
LCALL DEL
LCALL DEL
LCALL DEL
LCALL DEL
LCALL DEL
RIGHT:MOV A,#50H ,右转子程序
MOV P1,A
LCALL DEL ,此处可设置右转弯时间
LCALL DEL
LCALL DEL
LCALL DEL
LCALL DEL
AJMP DETECT ,一个避障动作结束,返回检测程序
BING:CLR P3.7 ,蜂鸣器蜂鸣子程序
LCALL DEL1
SETB P3.7
RET
DEL:MOV R7,#220 ,延时子程序
D2:MOV R6,#220
DJNZ R6,$
DJNZ R7,D2
(责任编辑:admin) |