基于Verilog-HDL的交通灯控制器设计11.docx
文本预览下载声明
最新精品文档,知识共享!
目 录
TOC \o 1-3 \h \z \u HYPERLINK \l _Toc283187418 第一章 设计原理 PAGEREF _Toc283187418 \h 1
HYPERLINK \l _Toc283187419 1.1设计要求 PAGEREF _Toc283187419 \h 1
HYPERLINK \l _Toc283187420 1.2设计思路和原理 PAGEREF _Toc283187420 \h 1
HYPERLINK \l _Toc283187421 1.3实现方法 PAGEREF _Toc283187421 \h 1
HYPERLINK \l _Toc283187422 第二章 Verilog HDL程序设计 PAGEREF _Toc283187422 \h 2
HYPERLINK \l _Toc283187423 2.1整体设计 PAGEREF _Toc283187423 \h 2
HYPERLINK \l _Toc283187424 2.2 具体设计 PAGEREF _Toc283187424 \h 2
HYPERLINK \l _Toc283187425 第三章 仿真与硬件调试 PAGEREF _Toc283187425 \h 7
HYPERLINK \l _Toc283187426 3.1 波形仿真 PAGEREF _Toc283187426 \h 7
HYPERLINK \l _Toc283187427 3.2 硬件调试 PAGEREF _Toc283187427 \h 9
HYPERLINK \l _Toc283187428 第四章 设计总结 PAGEREF _Toc283187428 \h 10
HYPERLINK \l _Toc283187429 程序清单 PAGEREF _Toc283187429 \h 11
HYPERLINK \l _Toc283187430 参考资料 PAGEREF _Toc283187430 \h 15
交通灯控制器设计
第一章 设计原理
1.1设计要求
设计一个交通控制器,用LED显示灯表示交通状态,并以7段数码显示器显示当前状态剩余秒数 主干道绿灯亮时,支干道红灯亮;反之亦然,二者交替允许通行,主干道每次放行35s,支干道每次放行25s。每次由绿灯变为红灯的过程中,亮光的黄灯作为过渡,黄灯的时间为5s。能进行特殊状态显示,特殊状态时东西、南北路口均显示红灯状态。用LED灯显示倒计时,并且能实现总体清零功能,计数器由初始状态开始计数,对应状态的显示灯亮。能实现特殊状态的功能显示,
1.2设计思路和原理
本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35S后,主干道和支干道上的黄灯都亮启,持续5S后,主干道上红灯亮启,支干道上绿灯亮启持续25S,之后主干道和支干道上的黄灯都亮启5s,一个循环完成。循环往复的直行这个过程。其过程如下图所示:
图1.交通灯点亮时间控制说明
1.3实现方法
本次采用文本编辑法,即利用Verilog HDL语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。设计中用两组红黄绿LED模拟两个方向上的交通灯,用4个7段数码管分别显示两个方向上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。
第二章 Verilog HDL程序设计
2.1整体设计
根据上章设计原理,交通灯控制的关键是各个状态之间的转换和进行适当的时间延时,根据状态机的设计规范,本次设计了三个状态之间的循环转化,其真值表及状态转化图如下所示:
图2.交通灯控制状态转化
说明:该状态图为交通灯在正常情况下的状态转化图,进入控制后,状态00时主干道绿灯及支干道红灯亮起,进入状态01后两路黄灯亮起,状态11时主干道红灯及支干道绿灯亮起。进入10状态两路黄灯亮起。结束一个循环,从00状态重新开始循环。
为实现控制与显示的功能,需要设计交通灯点亮顺序控制程序,倒数计时程序,七段数码管显示程序,数码管显示扫描程序,其系统结构图如下所示:
图3.交通灯控制系统结构图
其中rst为复位信号,clk为时钟信号,hold为特殊情况控制信号,输入hold时两个方向红灯无条件亮起。
2.2 具体设计
根据整体设计要求,编写各个功能部分Verilog HDL程序,设置各输入输出变量说明如下
clk: 为计数时钟;
qclk:为扫描显示时钟;
en: 使能信号,为1 的话,则控制器开始
显示全部