设计要求:

A路和B路,每路都有红、黄、绿三种灯,持续时间为:红灯45s,黄灯5s,绿灯40s。A路和B路灯的状态转换是:
(1)A红,B绿
(2)A红,B黄
(3)A绿,B红
(4)A黄,B红

Verilog代码:

module traffic_light
(input clk,rst,output reg[5:0] z
);
reg[6:0] time_count;
reg[1:0] state,next_state;
parameter s0=2'b00,s1=2'b01,s2=2'b11,s3=2'b10;
parameter time_s1=7'd40, time_s2=7'd5,time_s3=7'd20,time_s4=7'd5;
parameter led1=6'b000001,led2=6'b000010,led3=6'b000100,led4=6'b001000;always@(posedge clk or posedge rst)
begin if(rst) begin state<=s0; endelse state<=next_state;
endalways@(next_state or rst or time_count)
begin if(rst) next_state=s0;else begincase(state)s0:begin if(time_count==0) next_state<=s1;else next_state<=s0;ends1:begin if(time_count==0) next_state<=s2;else next_state<=s1;ends2:begin if(time_count==0) next_state<=s3;else next_state<=s2;ends3:begin if(time_count==0) next_state<=s0;else next_state<=s3;enddefault:next_state<=s0;endcaseend
endalways@(posedge clk)
begin if(rst) time_count<=time_s1;else begin case(next_state)s0:begin z=led1;if(time_count==0) time_count=time_s1-1;else time_count=time_count-1;ends1:begin z=led2;if(time_count==0) time_count=time_s2-1;else time_count=time_count-1;ends2:begin z=led3;if(time_count==0) time_count=time_s3-1;else time_count=time_count-1;ends3:begin z=led4;if(time_count==0) time_count=time_s4-1;else time_count=time_count-1;endendcaseend
end
endmodule

Verilog利用状态机实现的交通灯控制相关推荐

  1. 基于Verilog的十字路口交通灯控制电路设计

    基于Verilog的十字路口交通灯控制电路设计 一.设计要求 二.设计方案 三.电路原理图 四.代码实现 1. Verilog代码: 2. Testbench代码 五.仿真结果 一.设计要求 设计并实 ...

  2. 8255控制交通灯实验 c语言 main,交通灯控制实验

    交通灯控制实验 一)实验目的 通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用和中断的使用. 二)交通灯变化规律 十字路口交通灯的变化规律要求 1) 北路口的绿灯.东西路口的 ...

  3. 实验(八):交通灯控制

    一.实验目的与任务 实验目的: 1. 学习模拟交通灯控制的实现方法: 2. 掌握Proteus硬件仿真与调试. 任务: 1.根据要求编写程序,并写出原理性注释: 2. 将检查程序运行的结果,分析一下是 ...

  4. 【嵌入式系统设计与实现】4 十字路口交通灯控制(简易版)

    机考在前不想弄啊啊啊老师给个确定的截止时间吧!!!! 大作业超级极限,老师要pre,最后极限3小时赶出来笑死,只局限他所教的. 目录 环境 (软硬件)方案设计与论证 软件方案设计 阶段1:通行(5s) ...

  5. c语言交通灯控制设计和原理图,十字路口交通灯控制设计(附电路图及源代码).doc...

    十字路口交通灯控制设计(附电路图及源代码) <计算机控制技术> 课程设计报告 课题名称 交通灯控制设计 专 业 班 级 学生姓名 学 号 指导教师 201*年 6 月 8日 目录 TOC ...

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

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

  7. 怎么用C51语言实现50ms延时,单片机入门-C51语言实现简单的红绿LED交通灯控制

    原标题:单片机入门-C51语言实现简单的红绿LED交通灯控制 视频教程如下: 本文介绍了用C51语言实现十字路口交通灯控制: 四个路口各有红.绿2个LED,模拟交通灯的控制,即东西走向的灯变红,南北走 ...

  8. 基于机器视觉的交通灯控制系统设计

    基于机器视觉的交通灯控制系统设计 摘 要 Abstract 引言 1 课题背景 1.1概述 1.2传统交通路口信号灯 1.3基于机器视觉的交通灯控制智能系统 1.3.1国内研究现状 1.3.2国外研究 ...

  9. STMARL:用于合作交通灯控制的时空多智能体强化学习方法

    <STMARL: A Spatio-Temporal Multi-Agent Reinforcement Learning Approach for Cooperative Traffic Li ...

最新文章

  1. 轻松记账工程冲刺第二阶段10
  2. 华为任正非谈退休:思维跟不上的时候退,目前是才思泉涌的状态
  3. 使用redis时遇到的问题
  4. 1.6 课程资源-深度学习-Stanford吴恩达教授
  5. LOJ#2542 随机游走
  6. 使用VSCode连接到IBM Cloud区块链网络
  7. svn的使用总结(待补充)
  8. memcache的资料集
  9. 拓端tecdat|R语言中的Nelson-Siegel模型在汇率预测的应用
  10. C# 固高运动控制卡插补
  11. 受力分析软件_大赛作品 | 关于Z型路灯受力情况分析
  12. 机器学习系列(16)_怎样找到一份深度学习的工作(附学习材料,资源与建议)
  13. python关键字匹配_python正则表达式同时匹配多个关键字(多关键字匹配)
  14. android下划线链接,android7.0 TextView去除超链接下划线就这么难吗?
  15. nRF24L01 无线数传模块之间的区别 干货分析
  16. 设计低反射率触摸屏显示器以实现阳光下的可读性
  17. 『中级篇』什么是Container(15)
  18. EntityFramework之领域驱动设计实践(五)
  19. IBM X3550 m4 微码升级
  20. NVR(网络视频录像机)介绍

热门文章

  1. 学习笔记(34):MATLAB基础入门课程-乘方
  2. python 图像处理 拉普拉斯算子的实现和改进-LoG和DoG算子
  3. 数据库概论之MySQL表的增删改查1
  4. 股票入门:什么是股票指数,什么是大盘指数
  5. 全球定位系统和惯性系统在高速公路上的高精密定位
  6. python-迭代器_高阶函数
  7. Flink常见的面试题
  8. 攻防世界MISC练习区(SimpleRAR、base64stego、功夫再高也怕菜刀)
  9. PNAS:快速脑电波振荡识别并定位癫痫患者的大脑
  10. 利用jsoup爬取百度网盘资源分享连接(多线程)(2)