- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于VerilogHDL设计的交通灯控制系统
设计背景和意义
交通网络是城市的动脉,象征着一个城市的工业文明水平。现在各大中城市交通建设已初具规模,而部分小城市建设日益加快,交通控制的提高势在必行,研发交通控制技术是十分有潜力的。具有优良科学的交通控制技术对资源物流和人们出行都是十分有价值的,保证交通线路的畅通安全,才能保证出行舒畅,物流准时到位,甚至是生命通道的延伸。
Verilog HDL作为一种规范的硬件描述语言,被广泛的运用于电路的设计之中,本设计通过FPGA芯片实现了交通信号灯控制电路的设计。本设计由于采用了FPGA芯片来实现,它将大量的电路功能集成到一个芯片中,并且可以由用户自行设计逻辑功能,提高了系统的功率密集度、可靠性和工作速度。
本文采用Verilog 硬件描述语言描述了十字路口交通信号灯电路,并完成了对电路的功能仿真。交通灯的循环点亮方式采用状态机的设计思路,实现环形计数器的功能。输出部分通过组合逻辑电路实现。系统控制主要由计数器、控制器、分频器、分位译码器、和扫描显示电路等组成。通过输入输出接口控制红绿灯发光二极管的亮灭和七段数码管的显示。
四.设计源程序
源码实现:
module jiaotongdeng(rst,clk,red_light,green_light,yellow_light);
nput clk,rst;
output red_light;
output green_light;
output yellow_light;
reg red_light;
reg green_light;
reg yellow_light;
reg [1:0] currentstate,nextstate;
reg [5:0] red_counter;
reg [5:0] green_counter;
reg [3:0] yellow_counter;
parameter RED_S = 3b000;
parameter GREEN_S = 3b001;
parameter YELLOW_S = 3b010;
//红绿灯计时
always@(posedge clk or posedge rst)
if(rst)
red_counter=6b0;
else if(currentstate==RED_S)
red_counter=red_counter+6b1;
else
red_counter=6b0;
always@(posedge clk or posedge rst)
if(rst)
green_counter=6b0;
else if(currentstate==GREEN_S)
green_counter=green_counter+6b1;
else
green_counter=6b0;
always@(posedge clk or posedge rst)
if(rst)
yellow_counter=4b0;
else if(currentstate==YELLOW_S)
yellow_counter=yellow_counter+4b1;
else
yellow_counter=4b0;
//状态初始化
always@(posedge clk or posedge rst)
if(rst)
currentstate=RED_S;
else
currentstate=nextstate;
//状态转换
always@(rst or currentstate or green_counter or red_counter or yellow_counter)
if(rst) nextstate=RED_S;
else case(currentstate)
RED_S:
if(red_counter==59) nextstate=GREEN_S;
el
文档评论(0)