基于可编程控制的交通红绿灯模拟系统设计
迈肯思科技
发布时间:2019-11-29
 

1. 需求分析

  本系统的设计首先必须了解交通路灯的亮灭规律。设有一个十字路口,1、3 为南,北方向, 2、4 为东,西方向,初始态为4 个路口的红灯全亮。之后, 1、3 路口的绿灯亮,2、4 路口的红灯亮, 1、3 路口方向通车。延迟一段时间后, 1、3 路口的绿灯熄灭,而1、3 路口的黄灯开始闪烁。闪烁若干次后, 1、3 路口的红灯亮, 同时 2、4 路口的绿灯亮, 2、4 路口方向开始通车。延迟一段时间后, 2、4 路口的绿灯熄灭,而黄灯开始闪烁。闪烁若干次后,再切换到1、3 路口方向。之后,重复上述过程。对于各组灯的亮灭,我们运用的是8255A 的输入输出功能。

  2. 对于各组灯亮灭的时间控制方案

  A 利用软件 –程序来完成对时间延时的控制。

  此方案特点:软件定时是最简单的定时方法,它不需要硬件支持,只要让机器循环执行某一条或一系列指令,这些指令本身并没有具体的执行目的,但由于执行每条指令都需要一定的时间,重复执行这些指令就会占用一段固定的时间。因此,习惯上将这种延时方法称为软件延时。通过正确的选取指令和改变定时时间,灵活方便,而且节省费用。这种方法的缺点明显就是CPU 的利用律太低,在指定的循环期,CPU 不能去做任何其他有用的工作,而仅仅是在反复的循环,等待预定的定时时间到来,在许多情况下这样是不允许的[1]。比如,对动态存储器的定时刷新操作,只要处于开机状态,就需要一直不停地进行下去,显然不能采用软件延时。

  B.利用芯片8253 芯片定时控制红绿灯的亮灭时间。

  此方案特点:可编程定时器/计数器利用硬件电路和中断的方法控制定时,定时时间和范围完全有软件来确定和改变,并有微处理器的时钟信号提供时间基准,因这种时钟信号由晶体震荡器产生,故计时精确稳定。但该时钟信号频率太高,所以要把它送到专门的计数器/定时器芯片进行分频后,才能产生个中所需要的定时信号。用可编程定时器/计数器电路进行定时时,先要根据预定的定时时间,用指令对计数器/定时器芯片设定计算初值,然后启动芯片进行工作。计数器一旦开使工作后,CPU 就可以去做别的工作了,等计数器到了预定的时间,变自动形成一个输出信号,该信号可以向CPU 提出中断请求,通CPU 定时时间已到,使CPU 做相应的处理[2]。或者直接输出信号启动设备去工作。这种方法不但显著提高了CPU 的利用率,而且定时时间由软件来设置,使用起来十分的灵活方便,加上定时时间又很精确,所以获得了广泛的应用。

  由上可知,该模拟系统设计的目的是控制车辆的有序流动,CPU 在程序执行过程中并没有其他的工作要做只是单一的使程序正常运行,所以也就不用考虑其利用率的问题的,在从节省资金的方面考虑第一种方案比第二种少用一个8253,而且第一种方案只用一个芯片在维修方面也比第二种方案方便。综合这些因素,我们最终选择第一种方案作为我们的设计方案。

超级通云控

超级通微信云控

云控系统

云控

熊猫微信云控

微信云控系统

微信云控

微信云控系统

全国服务电话:
13066931819
Copyright©2019 深圳市迈肯思科技有限公司
粤ICP备16030717号