·上一文章:用AT89C2051单片机实现电梯控制系统
·下一文章:用AT89C2051单片机设计的双向门进计数器
2、流程图
主程序的流程图见下图(a)、(b)。由于图形太长,笔者将其折为两段。下图(a)段的原理是:延迟1秒后,小车退行,仪表板千位显示“L”表示返回。当接收到0#位的停车信号,小车停,工作人员给小车装料。之后按发车控制按钮,小车前进,仪表板千位显示“>”。当小车到达1#位后,小车停,位置信号“1”送内存F01,仪表板十位显示小车的当前位置“1”,千位显示“口”表示可以接收呼叫信号。下图(b)段的原理是:系统反复扫描5#~1#工位的呼叫端口,如端口收到呼叫,信号值为“O”,则执行相应的子程序,驱动小车驶往呼叫点。下图(c)段是“小车动2”子程序的流程图,其原理是:千位显示“2”,表示2#位呼叫。比较小车所处位置值与呼叫位置值的大小,若小车所处位置值大,则小车后退,否则前进。当到达2#位,小车停,位置信号“2”送内存F01,十位显示小车的当前位置“2”。延迟10秒钟后(此时间可根据实际需要调节),千位显示“口”表示移动结束,又可以接收呼叫信号了。
“小车动3”、“小车动4”的结构与“小车动2”相同,“小车动1”、“小车动5” 的结构也可以与“小车动2”相同,但由于1#位、5#位处于端部,小车不需要判断行进方向,程序可以省掉判断行进方向的这几步。而所有接收信号的子程序,都是些顺序结构,其流程图就不再画出了。为方便读者阅读流程图及程序,将子程序标号及其意义列于下表。