CLR EXO
SETB ETO
SJMP LOOP
AUTO: SETB ETO
SJMP LOOP
WAIT: SJMP $ ; 等待
3.3.2 开门子程序
该过程要不停地进行门状态的检测,若门是关闭的,则电机加速,门低速地启动,之后是高速地开门,然后低速运行,若门已完全打开,则退出该过程。开门子程序流程图如图9所示:
图9 开门子程序流程图
3.3.3 关门子程序
关门的过程和开门的过程是相似的,都是在不停地检测门的状态,然后改变电机的运行状态。而两者的区别在与电机的转向问题。开门与关门时,电机的转向是相反的。因此其流程图与开门的流程图也是类似的。
3.3.4 T0中断程序
该过程是实现门禁开的程序。开门或关门中断按钮按下后,进入该过程。先进行开门还是关门的判定。若是开门则转入开门子程序,若是关门则转入关门子程序中。流程图如图10所示。
图10 开门中断程序流程图
3.3.5 T1中断服务程序
该过程是为了进行数据的转换,通过A/D转换,将模拟信号转换为数字信号。流程图如图11所示。
图11 T1中断服务程序流程图
3.3.6 故障检测服务程序
该程序主要是保证红外自动门能够在无人操控情况下自动运行,主要功能是若检测到系统有故障,则保持门状态使门停机,若检测到无故障时,当检测到有人出入门时,启动电机,从而实现自动开关门的目的。
4. 系统实物调试
4.1 系统硬件原理图
经过分析组合,将各部分组合在一起,可画出自动门控制系统的电路原理图。其图如图12所示。
图12 自动门硬件电路原理图
4.2 系统硬件调试
经过在Protel中画出电路的原理图后,绘制出PCB板接线图。接着根据PCB板接线图实物的制作。在制作的过程中,事先根据元件的大小排版布局,以单片机为中心,从简单线路少的元件开始着手,围绕单片机把所有元件焊接完毕。最后,焊接完毕之后需要检查调试。
由于软件库中无红外传感装置使得无法进行仿真实验,所以直接进行了实物调试过程。
实物接上电源后,显示灯亮,如图13所示。
图13 自动门实物图
起初,自动门处于关门状态,电机的轴位置如图14所示。
图14 关门状态时电机轴位置
开始时,传感器不停检测,未检测到人体时,传感器指示灯没变化。当感应到人体时,指示灯发亮,如图15所示。紧接着电机会顺时针旋转,如图16所示。当到达一定位置时,电机停转,处于开门状态,如图17所示。经过5秒后,电机自动反转,回到关门状态,与图14一致。
图15 传感器感应到人体
图16 电机转动时轴的一个位置
图17 门开状态时电机轴位置
在调试的过程中,曾出现各种错误。起初发现电路焊接未焊接牢固,出现过因接线口松动而反应不灵敏的情况,软件程序也修改了很多次才成功,最终在不断多次的调试后,电路板工作正常了。 51单片机的大楼自动门控制系统设计+源程序+电路图(7):http://www.751com.cn/zidonghua/lunwen_1787.html