单片机c语言编写自动门控制系统程序,p1.0红外传感器,p1.1位置检测开关1,p1.2位置检测开关2。 20
要求:有人进门,开门,开门至位置检测开关1时停止关门,延时,然后关门,关门至位置开关2时停止关门,等待下一次开门。若关门过程中有人进门,中止关门程序进入开门程序。...
要求:有人进门,开门,开门至位置检测开关1时停止关门,延时,然后关门,关门至位置开关2时停止关门,等待下一次开门。若关门过程中有人进门,中止关门程序进入开门程序。
展开
展开全部
以下汇编程序,delay的时间你需要自己调整一下,再加个2重循环吧,现在的时间是很短的。
P1.3为开门信号,P1.4为关门信号,输入输出低电平有效。
org 00h
ljmp main
org 30h
main:
jb p1.0,next1
setb 00h
clr 01h
next1:
jb p1.1,next2
clr 00h
next2:
jb p1.2,next3
clr 01h
next3:
mov c,00h
cpl c
mov p1.3,c
mov c,01h
cpl c
mov p1.4,c
jnb 02h,next4
jb 00h,next4
lcall delay
setb 01h
clr 00h
next4:
mov c,00h
mov 02h,c
ljmp main
delay:
mov r7,#00h
lp:
mov r6,#00h
djnz r6,$
djnz r7,lp
ret
P1.3为开门信号,P1.4为关门信号,输入输出低电平有效。
org 00h
ljmp main
org 30h
main:
jb p1.0,next1
setb 00h
clr 01h
next1:
jb p1.1,next2
clr 00h
next2:
jb p1.2,next3
clr 01h
next3:
mov c,00h
cpl c
mov p1.3,c
mov c,01h
cpl c
mov p1.4,c
jnb 02h,next4
jb 00h,next4
lcall delay
setb 01h
clr 00h
next4:
mov c,00h
mov 02h,c
ljmp main
delay:
mov r7,#00h
lp:
mov r6,#00h
djnz r6,$
djnz r7,lp
ret
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询