- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
基于FPGA实现的交通灯控制器
基于FPGA实现的交通灯控制器
一、实验室名称
通信实验室(实训楼二楼)
二、实训内容
本实验为Verilog HDL的程序设计仿真,通过实验掌握状态机,时序CLK的控制模块,及时序同步的控制方式。
实验题目:基于FPGA实现的交通灯控制器
实验要求:1.LED灯显示交通灯状态。
2.7段数码管显示当前状态剩余时间。
状态要求:1.主干道绿灯亮35s支道绿灯亮25s。
2.当主干道绿灯亮时,支道亮红灯。
3.由绿灯转红灯时,黄灯亮5s。
三、实训步骤
3.1设计思路和原理
本次设计是针对十字路口,进行南北和东西直行情况下交通灯控制。设定东西方向为主干道方向,根据交通灯的亮的规则,在初始状态下四个方向的都为红灯亮启,进入正常工作状态后,当主干道上绿灯亮时,支干道上红灯亮,持续35S后,主干道和支干道上的黄灯都亮启,持续5S后,主干道上红灯亮启,支干道上绿灯亮启持续25S,之后主干道和支干道上的黄灯都亮启5s,一个循环完成。循环往复的直行这个过程。其过程如下图所示:
3.2实现方法
本次采用文本编辑法,即利用Verilog HDL语言描述交通控制器,通过状态机计数法,实现设计所要求的交通灯控制及时间显示。设计中用两组红黄绿LED模拟两个方向上的交通灯,用两个7段数码管显示主干道上的交通灯剩余时间,控制时钟由试验箱上频率信号提供。
3.3整体设计
交通灯控制的关键是各个状态之间的转换和进行适当的时间延时,根据状态机的设计规范,本次设计了三个状态之间的循环转化,其真值表及状态转化图如下所示:
说明:该状态图为交通灯在正常情况下的状态转化图,进入控制后,状态00时主干道绿灯及支干道红灯亮起,进入状态01后两路黄灯亮起,状态11时主干道红灯及支干道绿灯亮起。进入10状态两路黄灯亮起。结束一个循环,从00状态重新开始循环。
为实现控制与显示的功能,需要设计交通灯点亮顺序控制程序,倒数计时程序,七段数码管显示程序,数码管显示扫描程序,其系统结构图如下所示:
图3.交通灯控制系统结构图
其中rst为复位信号,clk为时钟信号,hold为特殊情况控制信号,输入hold时两个方向红灯无条件亮起。
3.4具体设计
根据整体设计要求,编写各个功能部分Verilog HDL程序,设置各输入输出变量说明如下
clk //实验箱 1K Hz的时钟计时
g1,g2,r1,r2,y1,y2; //g、r、y依次为绿green红red黄灯yellow,1为主干道,2为支道
smg; //定义一个smg,用于控制数码管输出数值
led; //led控制使用的数码管
state,next_state; //状态控制
ctrl; //定义一个ctrl,用于控制数码管显示smg1或smg2的值
a; //定义一个a,用于判断在当前状态下,是进行数值初始化,还是计时
smg1,smg2; //smg1为个位,smg2为十位
clk1m; //计数1秒
cnt; //产生1秒
3.4.1画出状态图
3.4.2写出状态表
g1 g2 r1 r2 y1 y2 smg1 smg2 State0 1 0 0 1 0 0 0101 0011 State1 0 0 0 1 1 0 0101 0000 State2 0 1 1 0 0 0 0101 0010 State3 0 0 1 0 0 1 0101 0000
3.4.3写出程序
3.4.3.1输入输出及中间变量设置如下:
module qiuge80fen(clk,g1,g2,r1,r2,y1,y2,smg,led);
input clk;
output reg g1,g2,r1,r2,y1,y2; //g、r、y依次为绿、红、黄灯,1为主干道,2为支道
output reg[7:0] smg; //smg控制数码管输出数值
output reg[1:0] led; //led控制使用的数码管
reg[1:0]state,next_state; //状态控制
reg[3:0] ctrl; //ctrl为控制数码管显示smg1或smg2的值
reg a; //a用来判断在当前状态下,是进行数值初始化,还是计时
reg[3:0] smg1,smg2; //smg1为个位,smg2为十位
reg clk1m; //计数1秒
reg[8:0] cnt; //产生1秒
parameter state0=2b00,state1=2b01,state2=2b10,state3=2b11;//定义状态机
3.4.3.2
您可能关注的文档
- 地理第一单元第三讲.ppt
- 地理答题方法——经典剖析,突破简答题.doc
- 地理中考总复习-中国地理.pptx
- 地域联系(修改).ppt
- 地理二轮专题二 地球运动规律及其意义.ppt
- 地理说课 地形对聚落及交通线分布的影响.ppt
- 地理七上-课标、教材、教法-培训-上.ppt
- 地理补充知识点.ppt
- 地理湘教版必修二1.1人口增长模式.ppt
- 地科内部资料(速记版).docx
- 译林新版英语七上Unit 5 随堂小测.docx
- 重庆市2025届高三上学期11月月考语文试卷及参考答案.docx
- 聚合工艺证考试题库及答案.docx
- 鲁科版高中化学必修第二册精品课件 第3章 简单的有机化合物 分层作业20 糖类、油脂和蛋白质.ppt
- 人教版高考英语一轮总复习课后习题 必修第三册 高考题型组合规范练6 写作专项——要规范.doc
- 人教版高考英语一轮总复习课后习题 必修第一册 高考题型组合规范练1 写作专项——要规范.doc
- 人教版高考英语一轮总复习课后习题 选修6 选修6 Unit 1 语言运用题组——求精准.doc
- 精品解析:天津市第一中学2022-2023学年高一下学期期末物理试题(解析版).docx
- 精品解析:山东省实验中学2023-2024学年高二上学期1月月考物理试题(原卷版).docx
- 精品解析:河南省新郑市第二中学2022-2023学年高二上学期第11次考试(期末)物理试题(解析版).docx
文档评论(0)