1.题目:用状态机设计交通灯控制器,设计要求:A路和B路都有红、黄、绿三种灯,持续时间为红灯45s、黄灯5s、绿灯40s。A路和B路交通灯的状态转移为
(1)A红,B绿(持续时间40s);
(2)A红,B黄(持续时间5s);
(3)A绿,B红(持续时间40s);
(4)A黄,B红(持续时间5s)。

2.Verilog代码(仅供参考!!!)

module traffic_lights(input clk50M,rst,//时钟、复位输入信号output reg[5:0] lout);//输出六位2进制数点亮对应的灯
reg[30:0] count;//存计的数用的约21亿>20亿,基于50M的晶振最多可计时40多s
reg state;//灯的状态
parameter S0=2'b00,S1=2'b01,S2=2'b10,S3=2'b11;//灯的4种状态用4种不同的2进制表示
parameter extinguish_all=6'b000000,red_green=6'b100010,red_yellow=6'b100001,green_red=6'b010100,yellow_red=6'b001100;//点亮对应状态的灯的程序,不同的FPGA板子可能不一样
//计数
always@(posedge clk50M or posedge rst)
begin if(rst) count<=0;//如果复位,计数清零else count<=count+1;//否则每来一个时钟上升沿count+1
end
//状态机
always@(posedge clk50M or posedge rst)
begin if(rst) begin//如果复位state<=S0;//灯状态变为S0lout<=extinguish_all;//暂时灯全部熄灭endelse begincase(state)S0:begin lout<=red_green;//输出灯的状态为A红灯、B绿灯,并让它们保持40sif(count>=2000_000_000)//如果计时到40sbeginstate<=S1;//灯进入S1状态count<=0;//count归0endelse state<=S0;//否则,灯保持S0状态end                      S1:begin lout<=red_yellow;//输出灯的状态为A红灯、B黄灯,并让它们保持5sif(count>=250_000_000)//如果计时到5sbeginstate<=S2;//灯进入S2状态count<=0;//count归0endelse state<=S1;//否则,灯保持S1状态end               S2:begin lout<=green_red;//输出灯的状态为A绿灯、B红灯,并让它们保持40sif(count>=2000_000_000)//如果计时到40sbeginstate<=S3;//灯进入S3状态count<=0;//count归0endelse state<=S2;//否则,灯保持S2状态end            S3:begin lout<=yellow_red;//输出灯的状态为A黄灯、B红灯,并让它们保持5sif(count>=250_000_000)//如果计时到5sbeginstate<=S0;//灯回到S0状态count<=0;//count归0endelse state<=S3;//否则,灯保持S3状态enddefault: begin//出故障state<=S0;//灯状态变为S0count<=0;//计数清零lout<=extinguish_all;//暂时灯全部熄灭endendcase            end
end
endmodule​

基于Verilog用状态机设计交通灯控制器相关推荐

  1. Verilog语言实现设计交通灯控制器

    实验模块组成: (计数器+控制器)可以分开实现,最好一起实现避免接口对接时出错 译码器 实验要求: 在十字路口两个方向各设一组红.绿.黄灯,显示顺序为: 南北方向是绿.黄.红灯:东西方向是红.绿.黄灯 ...

  2. VHDL设计交通灯控制器的课程设计

    交通灯控制 设计要求:设计一个交通灯控制, 1当乡村公路无车时始终保持乡村公路红灯亮,主干道绿灯亮. 2当乡村公路有车时,而主干道通车时间已经超过他的最短通车时间时,禁止主干道通车,让乡村公路通行.主 ...

  3. eda交通灯控制器波形输入_基于VHDL的交通灯控制器设计

    应用VHDL语言设计数字系统,大部分设计工作可在计算机上完成,从而缩短系统开发时间,提高工作效率.下面介绍基于VHDL设计交通灯控制器的一种方案,并给出源程序和仿真结果. 1 系统功能与要求 交通灯控 ...

  4. VHDL交通灯控制器的设计

    主要内容: 设计主干道的交叉路口交通信号灯无人自动管理的控制系统.将路口红绿灯的各种亮灯情况定义不同的状态,路口状况定义为触发条件,组成有限状态机. 1.设计的目的 本次课程设计的目的是通过设计交通灯 ...

  5. 交通灯控制器的verilog实现

    用状态机实现交通灯控制器,仿真通过,有代码以及testbench. 要求: 方向1是主干道,绿灯时间较长,交通灯状态循环为: 绿:40 黄:5 左:15 黄:5 红:55 方向2不是主干道,绿灯时间较 ...

  6. 微机原理与接口技术 8255和8253综合应用之交通灯控制器的设计

    交通灯控制器的设计 一.实验要求 通过采用并行口8255A和定时器/计数器8253编写一模仿交通灯程序,在微机原理实验仪上调试,运行后可以看到LED灯在不停的红绿交替亮. 二.实验目的: 熟悉和掌握并 ...

  7. 一位全加器的设计和交通灯控制器EDA

    一.实验内容 1)熟悉quartusll开发环境 2)一位全加器的设计和交通灯控制器. FPGA为核心,设计一个交通灯控制器,每个路口都有红.黄.绿三盏灯.该交通信号灯控制器由一条车道A和一条车道B汇 ...

  8. FPGA智能交通灯控制器系统系统设计

    1系统总体设计 把由5OM的有源晶振产生的现场可编程逻辑器件FPGA 的系统时钟输入到分频模块,经分频模块分频产生频率为1Hz的时钟脉冲,作为控制定时模块.控制模块.紧急模块.计数模块的时钟信号,然后 ...

  9. 单片机怎么通过按键控制计时器的开始和停止_学习电路仿真:基于proteus电路仿真软件的交通灯控制电路设计...

    电路仿真软件是当代重要软件之一,缺乏电路仿真软件,模拟运行环境将无法搭建.对于电路仿真软件,虽然市面上类别众多,但知名电路仿真软件为proteus.本文对于电路仿真软件的介绍,为基于proteus的交 ...

最新文章

  1. c++以空格分开的输入数组_技术贴,MATLAB矩阵与数组汇总讲解
  2. 层展开/关闭 - 运动缓冲效果
  3. 自然语言处理之神经网络基础(四)
  4. 戴尔新鲜空气制冷的研究:在数据中心里面,让我们脱掉厚夹克换上一件夏威夷衬衫!...
  5. Gym - 101889I Imperial roads(最小生成树+树链剖分+线段树)
  6. vue ref 绑定的事件需要移除吗_Vue易遗忘的基础复习(二)
  7. STM32 设置片外SRAM分散加载
  8. Ubuntu 为普通用户添加sudo权限
  9. 2018蓝桥杯A组:星期一(年份判断)
  10. 在Java环境下怎么打开_Java环境配置及在Dos命令下运行Java程序
  11. 凌云ERP解析企业如何选择合适的ERP系统
  12. Java打包JRE于exe中方法
  13. 算法实现 int sqrt(int x) 函数。
  14. Ardunio开发实例-简单声音感应控制开关
  15. Vue+element实现图片的上传与显示
  16. win10鼠标右键点击文件夹一直转圈问题解决
  17. vs2008配置opencv2.4.0
  18. 【前端开发遇到到的问题2】文字下方加下划线
  19. java基础教程(一)
  20. UVA 524素数环

热门文章

  1. Python中循环语句的使用
  2. windows达梦数据库导入dmp文件报编码不一致问题解决
  3. (二)拒绝服务–Smurf 攻击
  4. Python进行克里金插值可视化
  5. 168_优先级以及任务饿死
  6. 现代城市地图场景RPG Maker MV游戏素材
  7. 诛仙为什么没有服务器显示无线,为什么诛仙连接不上服务器呢?未进行数据互通,要怎么解决?!!!!跪求!!!!!!!!!...
  8. 基于点、线数据三维地质建模方法
  9. jquery 插件 countdown.js 倒计时插件
  10. 卢松松:百度“石榴算法”未来发展趋势5点推测