Verilog语言交通灯课程设计
一、 设计思路
1)设计一个十字路口交通灯控制器。交通灯处于东西大街和南北大街,如图2-1所示用寄存器模拟十字路口交通信号控制情况。当东西方向为绿灯时,南北方向为红灯,二南北方向为绿灯时,东西方向为红灯。东西向通行时间为11s,南北向通行时间为11s。
图2-1路口示意图
diagrammatic sketch
2)东西、南北方向黄灯都亮3s。
3)用高低电平分别表示灯灭灯亮,用计数器实现状态跳转。
二、设计原理
1.首先了解实际交通灯的变化情况和规律。初始时东西向绿灯,g1输出高电平,南北向红灯,r2输出高电平。12个时钟脉冲后,原绿灯方向变为黄灯,再3个时钟脉冲后,黄灯方向变红灯,同时原红灯方向变绿灯;随后又是12个时钟脉冲后,当前绿灯方向又变为黄灯,再过3个时钟脉冲后,黄灯方向变红灯,同时当前红灯方向又变为绿灯,如此循环往复。
2.共有四种状态,状态1东西方向绿灯亮11秒,南北方向红灯亮 11;状态2东西方向黄灯亮3秒,南北方向红灯亮 3秒;状态3东西方向红灯亮11秒,南北方向绿灯亮 11秒;状态4东西方向红灯亮3秒,南北方向黄灯亮 3秒。列出交通信号灯的状态表如下:(其中,1代表灯亮,0代表灯灭)
表2-1 状态表
state table
三、各输入输出变量说明
clk:计数时钟;
r1,r2,g1,g2,y1,y2:分别代表东西方向,南北方向红绿黄灯;
cnt: 译码器输出
中间变量:
code:代表r1,r2,g1,g2,y1,y2;
module DecCounter(clk,cnt);
output[4:0] cnt;
reg[4:0] cnt;
wire clr:清零信号;
module Decoder(cnt,code);
output[5:0] code;
reg[5:0] code;
四、主要程序代码:
module traffic_light(clk,r1,y1,g1,r2,y2,g2);input clk;output r1,y1,g1,r2,y2,g2;reg[5:0] buf1=6'b001100;wire[4:0] cnt;wire[5:0] code;DecCounter u1(clk,cnt);Decoder u2(cnt,code);always @(posedge clk)beginbuf1=code;endassign {r1,y1,g1,r2,y2,g2}=buf1;
endmodulemodule Decoder(cnt,code);input[4:0] cnt;output[5:0] code;reg[5:0] code;always @(cnt)begincase(cnt)5'b00000: code=6'b001100;5'b00001: code=6'b001100;5'b00010: code=6'b001100;5'b00011: code=6'b001100;5'b00100: code=6'b001100;5'b00101: code=6'b001100;5'b00110: code=6'b001100;//75'b00111: code=6'b000100;5'b01000: code=6'b001100;5'b01001: code=6'b000100;5'b01010: code=6'b001100;//45'b01011: code=6'b010100;5'b01100: code=6'b010100;5'b01101: code=6'b010100;//35'b01110: code=6'b100001;5'b01111: code=6'b100001;5'b10000: code=6'b100001;5'b10001: code=6'b100001;5'b10010: code=6'b100001;5'b10011: code=6'b100001;5'b10100: code=6'b100001;//75'b10101: code=6'b100000;5'b10110: code=6'b100001;5'b10111: code=6'b100000;5'b11000: code=6'b100001;//45'b11001: code=6'b100010;5'b11010: code=6'b100010;5'b11011: code=6'b100010;//3default: code=6'b000000;endcaseend
endmodulemodule DecCounter(clk,cnt);input clk;output[4:0] cnt;reg[4:0] cnt;wire clr;assign clr=~(cnt[4]&cnt[3]&cnt[1]&cnt[0]);always @(posedge clk)begincnt[4]<=clr&(cnt[4]^(cnt[3]&cnt[2]&cnt[1]&cnt[0]));cnt[3]<=clr&(cnt[3]^(cnt[2]&cnt[1]&cnt[0]));cnt[2]<=clr&(cnt[2]^(cnt[1]&cnt[0]));cnt[1]<=clr&(cnt[1]^cnt[0]);cnt[0]<=clr&(~cnt[0]);end
endmodule
说明:蛮久以前写的,从课程设计报告上粘下来的,没写注释,代码里面包括了竞争冒险的消除,有问题可以留言。
运行截图:
Verilog语言交通灯课程设计相关推荐
- C语言红绿灯课程设计,C语言版交通灯课程设计.doc
C语言版交通灯课程设计 微机控制课程设计报告 课程名称 基于C语言单片机交通灯 学生姓名 张 万 双 学号 51102022004 专业班级 电子信息科学与技术2班 指导老师 2013年12月5日 目 ...
- 52单片机交通灯课程设计
单片机交通灯课程设计 1. 实验目的和器件 1.1实验目的 (1)通过单片机课程设计,熟练掌握C语言的编写方法,将理论联系到实际中去,提高我们的动手和动脑能力. (2)通过交通信号灯控制系统的设计,掌 ...
- 基于单片机的十字路口交通灯课程设计
1.设计要求: 设计一个十字路口交通灯控制器.用单片机控制LED灯模拟指示.模拟东西方向的十字路口交通信号控制情况.东西向通行时间为80s,南北向通行时间为60s,缓冲时间为3s. 2.设计思路: 通 ...
- c语言交通灯控制设计和原理图,十字路口交通灯控制设计(附电路图及源代码).doc...
十字路口交通灯控制设计(附电路图及源代码) <计算机控制技术> 课程设计报告 课题名称 交通灯控制设计 专 业 班 级 学生姓名 学 号 指导教师 201*年 6 月 8日 目录 TOC ...
- 计算机硬件交通灯课程设计,交通灯计算机硬件课程设计(附件).doc
交通灯管理系统的设计 专 业:自动化 班 级:2010级 04班 组长:梅 登 组员:陈 冶 组员:谢海龙 组员:徐拓燃 指导老师: 黄勤 2013年9月 目 录 1.基本功能设计1 1.1 基本功能 ...
- 现代交通灯的设计C语言编程,交通灯设计_优秀论文.doc
. PAGE .. 毕业论文(设计) 题 目 基于单片机控制的 交通灯的设计 _ 学生姓名 学 号 专业班级 指导教师 完成时间: 201 年 月 日 . PAGE .. 摘 要 交通信号灯的出现,使 ...
- Verilog实现交通灯(数电课设)----------旧
这里是新写的交通灯Verilog实现交通灯(数电课设)----------新:https://blog.csdn.net/qq_41467882/article/details/86626507 里边 ...
- 51单片机 时间控制的不同时段交通灯控制设计(简单版)
这个交通灯的设计时简单版,只有一个路口(不是十字路口)的那种(想要实现十字路口可以对代码稍加修改) 使用的开发软件:Keil uVision5 单片机类型为:C51 语言类型:C语言 在这里说一下实现 ...
- 基于fpga的交通灯的设计
课题一:交通灯控制设计 1.课程设计的目的与要求 1.1目的 以FPGA为核心,设计一个交通灯控制器,每个路口都有红.黄.绿三盏灯.该交通信号灯控制器由一条车道A和一条车道B汇合成十字路口,在每个入口 ...
最新文章
- wkwebview html5页面,iOS使用WKWebView加载HTML5不显示屏幕宽度的问题解决
- boost::contract模块实现base types的测试程序
- python把数据写入excel_Python读取和写入Excel文件(转)
- IOS - IPhone或IPAD,如何恢复出厂操作系统?
- 中文 转gbk编码_go查找中文首字母
- spark structured stream的Append模式例子
- Consul 服务注册与发现一站式解决方案
- B00003 C++标准库 std::bitset
- querydsl动态 sql_Spring-data-jpa扩展查询 QueryDSL 实践
- 什么是ctfmon.exe,为什么运行?
- 什么是WBS分解法?
- html5shiv_深入探讨:HTML5 Shiv和Polyfills
- Hyper-V虚拟机设置固定IP
- lisp princ详解_晓东CAD家园-论坛-A/VLISP-正则表达式lisp实例讲解-通过代码,完整的展示了正则表达式在lisp中使用 - Powered by Discuz!...
- requests 职友集招聘信息爬虫
- 微软默认 密钥管理服务器,加密和密钥管理概述 - Microsoft Service Assurance | Microsoft Docs...
- 哈工大硕士生用 Python 实现了 11 种经典数据降维算法,源代码库已开放
- 阿里云OSS图片缩放处理
- 第二十九章、containers容器类部件QFrame框架部件详解
- 对象存储(云存储)概述