Verilog利用状态机实现的交通灯控制
设计要求:
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利用状态机实现的交通灯控制相关推荐
- 基于Verilog的十字路口交通灯控制电路设计
基于Verilog的十字路口交通灯控制电路设计 一.设计要求 二.设计方案 三.电路原理图 四.代码实现 1. Verilog代码: 2. Testbench代码 五.仿真结果 一.设计要求 设计并实 ...
- 8255控制交通灯实验 c语言 main,交通灯控制实验
交通灯控制实验 一)实验目的 通过并行接口8255实现十字路口交通灯的模拟控制,进一步掌握对并行口的使用和中断的使用. 二)交通灯变化规律 十字路口交通灯的变化规律要求 1) 北路口的绿灯.东西路口的 ...
- 实验(八):交通灯控制
一.实验目的与任务 实验目的: 1. 学习模拟交通灯控制的实现方法: 2. 掌握Proteus硬件仿真与调试. 任务: 1.根据要求编写程序,并写出原理性注释: 2. 将检查程序运行的结果,分析一下是 ...
- 【嵌入式系统设计与实现】4 十字路口交通灯控制(简易版)
机考在前不想弄啊啊啊老师给个确定的截止时间吧!!!! 大作业超级极限,老师要pre,最后极限3小时赶出来笑死,只局限他所教的. 目录 环境 (软硬件)方案设计与论证 软件方案设计 阶段1:通行(5s) ...
- c语言交通灯控制设计和原理图,十字路口交通灯控制设计(附电路图及源代码).doc...
十字路口交通灯控制设计(附电路图及源代码) <计算机控制技术> 课程设计报告 课题名称 交通灯控制设计 专 业 班 级 学生姓名 学 号 指导教师 201*年 6 月 8日 目录 TOC ...
- 单片机怎么通过按键控制计时器的开始和停止_学习电路仿真:基于proteus电路仿真软件的交通灯控制电路设计...
电路仿真软件是当代重要软件之一,缺乏电路仿真软件,模拟运行环境将无法搭建.对于电路仿真软件,虽然市面上类别众多,但知名电路仿真软件为proteus.本文对于电路仿真软件的介绍,为基于proteus的交 ...
- 怎么用C51语言实现50ms延时,单片机入门-C51语言实现简单的红绿LED交通灯控制
原标题:单片机入门-C51语言实现简单的红绿LED交通灯控制 视频教程如下: 本文介绍了用C51语言实现十字路口交通灯控制: 四个路口各有红.绿2个LED,模拟交通灯的控制,即东西走向的灯变红,南北走 ...
- 基于机器视觉的交通灯控制系统设计
基于机器视觉的交通灯控制系统设计 摘 要 Abstract 引言 1 课题背景 1.1概述 1.2传统交通路口信号灯 1.3基于机器视觉的交通灯控制智能系统 1.3.1国内研究现状 1.3.2国外研究 ...
- STMARL:用于合作交通灯控制的时空多智能体强化学习方法
<STMARL: A Spatio-Temporal Multi-Agent Reinforcement Learning Approach for Cooperative Traffic Li ...
最新文章
- 轻松记账工程冲刺第二阶段10
- 华为任正非谈退休:思维跟不上的时候退,目前是才思泉涌的状态
- 使用redis时遇到的问题
- 1.6 课程资源-深度学习-Stanford吴恩达教授
- LOJ#2542 随机游走
- 使用VSCode连接到IBM Cloud区块链网络
- svn的使用总结(待补充)
- memcache的资料集
- 拓端tecdat|R语言中的Nelson-Siegel模型在汇率预测的应用
- C# 固高运动控制卡插补
- 受力分析软件_大赛作品 | 关于Z型路灯受力情况分析
- 机器学习系列(16)_怎样找到一份深度学习的工作(附学习材料,资源与建议)
- python关键字匹配_python正则表达式同时匹配多个关键字(多关键字匹配)
- android下划线链接,android7.0 TextView去除超链接下划线就这么难吗?
- nRF24L01 无线数传模块之间的区别 干货分析
- 设计低反射率触摸屏显示器以实现阳光下的可读性
- 『中级篇』什么是Container(15)
- EntityFramework之领域驱动设计实践(五)
- IBM X3550 m4 微码升级
- NVR(网络视频录像机)介绍