一、设计要求-------------------------------------------------------------------------------- 二、设计目的-------------------------------------------------------------------------------- 三、设计方案-------------------------------------------------------------------------------- 四、设计程序--------------------------------------------------------------------------------- 五、管脚分配--------------------------------------------------------------------------------- 六、硬件下载实现现象描述------------------------------------------ 七、体会、对设计工作的总结与展------------------------------------------- 一、设计要求: ① 在十字路口的两个方向上各设一组红、绿、黄灯,显示顺序为其中一方向(东西方向)是绿灯、黄灯、红灯;另一方向(南北方向)是红灯、绿灯、黄灯。 ② 设置一组数码管,以倒计时的方式显示允许通行或禁止通行的时间,其中绿灯、黄灯、红灯的持续时间分别是20s、5s和25s。 ③ 当各条路上任意一条上出现特殊情况时,如当消防车、救护车或其他需要优先放行的车辆通过时,各方向上均是红灯亮,倒计时停止,且显示数字在闪烁。当特殊运行状态结束后,控制器恢复原来状态,继续正常运行。 二、设计方案: 计数器的计数值与交通灯亮灭的关系如图1所示。 4949计数值(时间)00东西方向南北方向24442419绿灯亮红灯亮绿灯亮红灯亮黄灯亮黄灯亮 图1 计数值与交通灯亮灭的关系 显然,本课题的核心是一个计数范围为0~49(共50 s )的计数器和一个根据计数值做出规定反应的控制器。另外,所用实验箱配备的晶振为20MH z ,因此还需要一个分频电路。最后,要驱动七段数码管,显然还需要一个译码电路。 根据上面的分析,可以画出如图2 所示的系统框图。 计数器分频电路红、黄、绿发光二极管控制器分位译码电路七段数码管倒计时数字及“闪烁控制信号”CLK 10HzClk 1Hz计数值holdreset20MHzCPLD/FPGA 图2 交通灯控制器系统框图 2、计数器的设计 这里需要的计数器的计数范围为0~49。计到49 后,下一个时钟沿回复到0,开始下一轮计数。此外,当检测到特殊情况(Hold=’1’)发生时,计数器暂停计数,而系统复位信号Reset 则使计数器异步清0。 3、控制器的设计 控制器的作用是根据计数器的计数值控制发光二极管的亮、灭,以及输出倒计时数值给七段数译管的分...