任务实施
1.任务分析
(1)从硬件角度分析。
硬件电路主要为LED灯电路,根据题目要求,在不考虑车辆左转弯的情况下,东、西两个方向的信号灯显示状态是一样的,可以只使用3个LED灯模拟东西方向的信号状态。同理,南北方向也只用3个LED灯控制南北信号状态。所以,可用P1口的6个I/O口控制6个LED灯。
(2)从软件角度分析。
通过定时控制东西、南北方向6个LED灯,在紧急车辆通行时,采用外部中断及时调整交通灯指示状态。
任务中有亮55s、闪3s、亮2s的时间。其中闪3s,指示灯1s亮灭一次,因此采用查询法软件定时0.5s。循环110次0.5s为55s;闪3s为循环三次亮0.5s、灭0.5s;亮2s循环4次0.5s。
2.电路设计
根据以上分析,硬件电路设计如图5-12所示。
3.程序设计
(1)流程图。
南北方向函数流程图如图5-13所示,东西方向函数流程图如图5-14所示,紧急处理中断函数流程图如图5-15所示。

图5-12 模拟交通灯硬件电路(见彩插)(https://www.daowen.com)

图5-13 南北方向函数流程图

图5-14 东西方向函数流程图

图5-15 紧急处理中断函数
(2)程序编码。




