图5按键处理程序流程图
第二部分为扫描程序,其流程图如图6所示。
图6 扫描程序流程图
主体程序:每个十字路口,南北方向通行时,则南北方向的绿灯亮起,若为自动模式,车流量检测模块开始采集数据,单片机处理过后送入倒计时显示模块显示,而东西方向则为红灯表示禁行,同时显示倒计时。若为手动模式,操控者设置时间后,按下确认键,系统则定得时间显示。东西方向通行时,则南北方向的绿灯亮起,同上所述,南北禁行,系统可手动或自动控制。文献综述
整个程序部分分为几个模块组成,分别由状态灯,键盘等处理以及控制程序,将显示集成在LED上,然后将程序中断计数,提示灯变换等交给次状态处理,整体程序的第一部分由按键来完成,当89S51判断键盘按键被按下时,通过程序的扫面判断到底是哪一个按键按下产生的效果,然后给出相应的反馈,所有的反馈又分成两种模式来完成整个程序的工作,一种是红绿指示灯手动设置模式控制,另一种是根据指示灯的自动设置时间来控制的。所以系统的模式由次级程序来主导完成,如果需求重新来完成这个系统的执行过程,那就通过复位键来重新完成这个系统的定时扫描。
但复位之后,程序需要重新计时,那就通过扫描50ms,第一步清零的是显示部分的模块,如果是不需要的手动的情况下,那就自行的针对车流量进行计数,接下来就是对各种信号的监控,如果一旦捕获到信号,那么就进行记录与统计。同时中断服务程序启动,一直到系统恢复,然后蜂鸣器停止[8]。
50ms时,系统进入重新扫描模式,扫描20次后,计数达1s时间数据随之减1,倒计时模块随之刷新。车流量检测模块采集数据完成后,送入单片机处理,两个方向的交通灯状态变换时,根据车流量计数程序采集的信息重置红绿灯变换时间。一个循环完成,此时子程序便输入对应数据并等待下一状态。在主程序中我们已经设置好初值为20s的计数器,定时器T0定时5s。50过后系统进入中断响应子程序,计数器开始计数,计数器每减1,系统就要判断是否为零,为零时倒计时结束,系统跳回设置时间模式。
3。2 倒计时程序
倒计时显示程序流程图如图7所示。
图7 倒计时显示程序流程图
倒计时模块接收到单片机输出端口的指令开始第一步的工作,倒计时显示板有四个数码管,每个数码管都可以显示从0到9共十个数字,这四个数码管组合起来才能显示出我们需要的时间信息,所以系统要先确认向哪一个数码管送值,因此数码管必须接受系统的位码扫描,位码扫描后,系统还应确定每个数码管应该显示的数值,所以程序要进行第二步,扫描数码管显示的从0到9这是个数字的BCD码,上述两步工作完成后,系统已经获取了每个数码管对位的数值信息,此时扫描结束,系统进入传送程序,单片机将数值信息指令传送到倒计时显示模块的输出接口,数码管进行动态扫描,因此我们要保证数码管的亮度,使数码管能够在接收有先后顺序的指令时,按照需要同时亮起,系统会调用延时程序延时,根据计算,我们将系统的延时程序设置为延时2ms,最后,由74LS245驱动数码管,在倒计时板上就可以显示出红绿灯转换的倒计时。来;自]优Y尔E论L文W网www.youerw.com +QQ752018766-
4。 智能控制系统的仿真
4。1 仿真调试与结果
经第一步软硬件综合调试成功后,进入第二步测试按键,时间调节和信号灯控制几个主要程序的正确性,接下来,检查逻辑后调整计时器,需要经过多次调整才能运行程序,此时开始检验仿真结果。