交通灯控制系统

这篇具有很好参考价值的文章主要介绍了交通灯控制系统。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一.实验目的
设计一个用于十字路口的交通灯控制器,能显示十字路口东西、南北两个方向的红、黄、绿的指示状态;
具有倒计时的功能,用两组数码管作为东西和南北方向的倒计时显示,主干道直行(绿灯)60秒后,左转(绿灯)40秒;支干道直行(绿灯)45秒后,左转(绿灯)30秒,在每次绿灯变成红灯的转换过程中,要亮黄灯5秒作为过渡。黄灯每秒闪亮一次。
只考虑直行和左转车辆控制信号灯,右转车辆不受信号灯控制, 南北向车辆与东西向车辆交替方向,同方向等待车辆应先方向直行车辆而后放行左转车辆。
二.实验代码
主代码

module traffic_fsm (lights, clk, rst);
input clk, rst;
output [5:0] lights;
wire clk, rst;
reg [5:0] lights;

// define reg
reg [2:0] curr_st;
reg [2:0] next_st;
reg [3:0] count;
// define state
parameter s0 = 3'b000;
parameter s1 = 3'b001;
parameter s2 = 3'b010;
parameter s3 = 3'b011;
parameter s4 = 3'b100;
parameter s5 = 3'b101;
// define lights
parameter light0 = 6'b100_001;
parameter light1 = 6'b100_010;
parameter light2 = 6'b100_100;
parameter light3 = 6'b001_100;
parameter light4 = 6'b010_100;
parameter light5 = 6'b100_100;
// define time delay
parameter delay5 = 5;
parameter delay1 = 1;

// 产生一个可能的状态变化
always @ (posedge clk or negedge rst) begin
  if (!rst) begin
             curr_st <= s0;
             count <= 0;
           end
  else      

// curr_st = next_st;
begin
if (curr_st == s0 | curr_st == s3)
if (count < delay5 - 1)
count <= count + 1;
else begin
curr_st <= next_st;
count <= 0;
end
else if (curr_st == s1 | curr_st == s2 | curr_st == s4 | curr_st == s5) begin
curr_st <= next_st;
count <= 0;
end
end
end
// 产生下一个状态的组合逻辑
always @ (curr_st) begin
case (curr_st)
s0:
next_st <= s1;
s1:
next_st <= s2;
s2:
next_st <= s3;
s3:
next_st <= s4;
s4:
next_st <= s5;
s5:
next_st <= s0;
default: begin
next_st <= s0;
end
endcase
end
// 产生输出lights的组合逻辑
always @ (posedge clk or negedge rst) begin
if (!rst) lights = light0;
else
case (curr_st)
s0: lights = light0;
s1: lights = light1;
s2: lights = light2;
s3: lights = light3;
s4: lights = light4;
s5: lights = light5;
default: lights = light0;
endcase
end
endmodule

                              测试文件代码(代码二)

// testbench of ‘traffic_fsm’
module traffic_fsm_tb;
reg clk, rst;
wire [5:0] lights;
traffic_fsm u1 (.lights(lights), .clk(clk), .rst(rst));
initial begin
clk = 0;
rst = 0;
#10 rst = 1;
#80 rst = 0;
#20 rst = 1;
end
always #5 clk = ~clk;
endmodule

三.实验相关图片
1. 代码运行波形图
交通灯控制系统
2. 代码运行逻辑图交通灯控制系统
3. 代码运行引脚图交通灯控制系统
四.交通灯控制系统
交通灯控制系统
五.实验结果
完成了课题设置,设计了解了相关的设计代码,自我知识的能力得到了扩充,一门有意义、有效果的课程。

                                                      具体操作视频链接如下

modsim或quartus交通灯设计实验(视频详解)文章来源地址https://www.toymoban.com/news/detail-502753.html

到了这里,关于交通灯控制系统的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 基于单片机控制的交通灯系统设计

    本设计是交通灯的控制实验,必须要先了解实际交通灯的变化规律。假设一个路口为东西南北走向,即十字路口,初始状态零为东西南北灯都熄灭。然后转状态一东西绿灯通车,南北为红灯。过段时间转状态二,东西绿灯闪几次转黄灯,延时几秒,南北仍为红灯。再转状态三

    2024年02月08日
    浏览(56)
  • 【Proteus仿真】【STM32单片机】交通灯控制系统设计

    本项目使用Proteus8仿真STM32单片机控制器,使用数码管、按键、交通信号灯模块等。 系统运行后,交通灯系统开始运行,数码管显示初始时间,默认南北绿灯5S,东西红灯8S,绿灯过后南北黄灯3秒;然后切换东西绿灯5S,南北红灯8S,绿灯过后南北黄灯3秒;如此循环。 可使用

    2024年02月11日
    浏览(40)
  • 51单片机的交通灯控制系统(仿真+程序+报告+原理图)

    该系统由AT89C51单片机+数码管模块+LED指示灯模块+按键模块构成。 可实现基本功能: 1、红绿灯正常切换,黄灯会闪烁 2、红灯30s,绿灯25s,黄灯5s(时间不同只需修改变量,简单) 按键功能: 1、南北向红灯时间可调,东西向绿灯时间可调 2、东西方向紧急模式:按下东西方向变

    2024年02月05日
    浏览(56)
  • 单片机设计基于单片机的交通灯控制系统的设计

      针对我国城市路况复杂的特点,在交通灯控制系统硬件设计方面以最小系统模块、电源模块、时间显示模块以及车流量检测模块为主要模块,不仅可以完成交通灯的顺序点亮,还可以实现倒计时、车流量检测等相关功能;软件设计方面通过检测程序的设定,来检测是否达

    2024年02月04日
    浏览(44)
  • 【毕业设计】基于PLC的十字路口交通灯控制系统设计【仿真+源码+论文】

    摘 要 本次设计的课题是基于PLC的十字路口交通灯控制系统设计,传统的十字路口交通灯多采用单片机集成电路作为控制系统,单片机系统虽然在功能上能够实现十字路口交通灯的各种控制需求,但是单片机控制系统在设计时需要数字电路与模拟电路的完美结合,这样的控制

    2024年02月08日
    浏览(57)
  • 多功能交通灯控制系统VHDL十字路口红绿灯倒计时DE2-115开发板代码

    名称:多功能交通灯控制系统VHDL十字路口红绿灯倒计时DE2-115开发板 软件:Quartus II 语言:VHDL 代码功能: 要求设计一个多功能交通灯控制系统。并进行软件仿真与硬件实现。要求做到  (1)主干道绿灯亮时,支干道红灯亮,反之亦然,两者交替允许通行,主干道每次放行60s,支干道每

    2024年02月04日
    浏览(66)
  • 实验(八):交通灯控制

            1. 学习模拟交通灯控制的实现方法;         2. 掌握Proteus硬件仿真与调试。         1.根据要求编写程序,并写出原理性注释;         2. 将检查程序运行的结果,分析一下是否正确;         3. 完成所建工程的仿真及调试。 按照电路要求在Protu

    2024年02月03日
    浏览(52)
  • FPGA实验四:交通灯控制器设计

    目录 一、实验目的 二、设计要求 三、实验代码 1.design source文件代码

    2024年02月13日
    浏览(48)
  • 数电课设交通灯控制器

    1.通灯控制器内容 设计一个红绿灯控制器控制器,模拟十字路口交通灯 的状态。设计要求: 南北主干道红灯时间小于东西干道红灯时间,东西干道红灯时间为学号尾数两位(20以前的+20),黄灯为5秒,红灯时间=绿灯时间+黄灯时间。东西、南北4个方向的红绿黄灯时间都用两

    2024年02月09日
    浏览(43)
  • EDA实验(Quartus Ⅱ+fpga) (四)---交通灯设计

    前言: 本文主要介绍了EDA原理与应用这门课程的相关实验及代码。使用的软件是Quartus Ⅱ,该实验使用fpga芯片为cycloneⅤ 5CSEMA5F31C6。 (一)实验目的 (1)熟悉交通灯控制器的工作原理; (2)了解设计中的优化方案; (3)进一步掌握状态机的设计; (4)学习较复杂数字系

    2024年02月02日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包