从前面的设计过程可以看到,交通灯控制系统的数据处理器中,8 s定时器和32 s定时器不需同时工作,且用32 s定时器也可以非常方便地产生8 s定时。因此,可以用一个32 s定时器来产生8 s和32 s定时,从而省去单独的8 s定时器。
由于8 s定时器和32 s定时器每次都需要从0开始计时,使用1个定时器后,定时器的复位需要增加单独的状态才能完成。但因为控制器中使用的一片74 LS161最多有16个状态,所以这并不会增加控制器的硬件成本。
1)数据处理器
数据处理器结构可以直接从如图11.45所示的交通灯控制系统数据处理器结构得到,即将原电路中的8 s定时器去掉,同时从32 s定时器右侧的74LS161芯片的QD端引出8 s到T8,修改后的数据处理器结构如图11.47所示。
图11.47 交通灯控制系统数据处理器结构
2)控制算法与控制状态图
为了便于实现,将原算法中的每条语句均分解为两条语句进行操作,一条语句仍完成原有的交通灯控制操作,另一条语句则完成定时器复位工作。为了保证交通灯操作的连续性,第二条语句中除了完成复位操作外,还要继续保持第一条语句的交通灯操作。
因此,可编写出新的控制算法如下(CLRT为计数器清0):
S00:G1←1‖R0←1‖→S00if M′; 主绿,支红,定时32 s
S01:G1←1‖R0←1‖CLRT; 主绿,支红,清计数器
S10:Y1←1‖R0←1‖→S10if T′8; 主黄,支红,定时32 s
S11:Y1←1‖R0←1‖CLRT; 主黄,支红,清计数器
S20:R1←1‖G0←1‖→S20if N′; 主红,支绿,定时32 s
S21:R1←1‖G0←1‖CLRT; 主红,支绿,清计数器
S30:R1←1‖Y0←1‖→S30if T′8; 主红,支黄,定时32 s
S31:R1←1‖Y0←1‖CLRT‖→S00; 主红,支黄,清计数器
控制状态图如图11.48所示,图中同样标出了各状态的有效输出控制信号。(www.daowen.com)
图11.48 交通灯控制系统控制状态图
3)控制器的实现
控制器用硬件方法实现,用74LS161作状态寄存器。
(1)74LS161控制激励表
由于现在有八个状态,因此,需要用3位二进制编码。使用74LS161的QCQBQA来表示这八个状态,可得74LS161控制激励表如表11.8所示。
表11.8 74LS161控制激励表
(2)激励与控制输出表达式
根据74LS161控制激励表,写出激励与控制输出表达式:
其中,M、N的表达式与前面相同,为了使用方便,这里仍然列于下面:
(3)硬件控制器电路
由上面得到的激励和输出表达式可知,M、N、P仍然用数据选择器实现比较方便,其 中,M、N用X1、X0作 为选择变量,P用状态Si(也就是QCQBQA)作为选择变量。G1、Y1、G0、Y0还是用译码器实现,但只需用译码器对QCQB进行译码即可产生这些输出信号,不 必 对QCQBQA译 码 后 再 进 行 逻 辑 或 产 生 这 些 信 号。C1、R1、R0仍 然 直 接 从74 LS161的相应Q或端输出。由此得到交通灯控制系统的硬件控制器电路如图11.49所示,仍然选用1k Hz控制时钟。
图11.49 交通灯控制系统硬件控制器电路
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。