基于FPGA的交通灯电路设计(含程序)
目录
题目要求
设计方法
部分程序设计
题目要求
(1) 以车为主体,绿灯、黄灯、红灯、绿灯依次点亮;
(2)十字路口,具有两组红绿灯;
(3)采用倒计时显示剩余时间,数码管动态显示;
(4)红绿灯时间按键可调。
设计方法
用六位数码管显示,靠左和靠右两位数码管分别显示东西和南北方向的倒计时显示,我开发板刚好6个LED灯,但是是竖着的,上面三位表示南北方向的红黄绿灯,下面三位表示东西方向的红黄绿灯。平面图如下:
首先需要一个1hz频率进行倒计时计数,然后对倒计时在不同时间段做出不同的判断即可,为了方便理解,我画出流程图如下:(需要注意的是红灯亮的时间应该是黄灯和绿灯时间之和)
部分程序设计
module traffic(input clk,input rstn,input [6:0]d2,//绿灯点亮时间output reg [3:0] data1,output reg [3:0] data2,output reg [3:0] data5,output reg [3:0] data6,output reg [5:0] led);wire [6:0]d3; //红灯点亮时间assign d3=d2+5;
//1hz生成reg [26:0]cn1;reg clk1hz;always@(posedge clk or negedge rstn)beginif(!rstn)begincn1<=0;clk1hz<=0;endelse if(cn1>=24_999_999)//1hz频率生成beginclk1hz<=!clk1hz;cn1<=0;endelse cn1<=cn1+1;end
//计数 reg [6:0]count;always@(posedge clk1hz or negedge rstn)beginif(!rstn)count<=0;else if(count>=(d3+d3))//红灯时间d3,加上黄灯和绿灯时间d3count<=0;elsecount<=count+1;end
//南北方向显示reg [6:0]north_red,north_green,north_yellow;always@(posedge clk1hz or negedge rstn)beginif(!rstn)beginnorth_red<=0;north_green<=0;north_yellow<=0;led[2:0]<=0;data1<=0;data2<=0;endelse if(count<=d3)//南北方向红灯点亮beginnorth_red<=d3-count;led[2:0]<=3'b110;data1<=north_red%10;//取时间低位data2<=north_red/10;//取时间高位endelse if((count>d3)&&(count<=(d3+d3-5)))//南北方向绿灯点亮beginnorth_green<=d3+d3-5-count;led[2:0]<=3'b011;data1<=north_green%10;data2<=north_green/10;endelsebeginnorth_yellow<=d3+d3-count;//南北方向黄灯点亮led[2:0]<=3'b101;data1<=north_yellow%10;data2<=north_yellow/10;endend
//东西方向显示 reg [6:0]east_red,east_green,east_yellow;always@(posedge clk1hz or negedge rstn)beginif(!rstn)begineast_red<=0;east_green<=0;east_yellow<=0;led[5:3]<=0;data5<=0;data6<=0;endelse if(count<=d3-5)begineast_green<=d3-5-count;led[5:3]<=3'b011;data5<=east_green%10;data6<=east_green/10;endelse if((count>=(d3-5))&&(count<=d3))begineast_yellow<=d3-count;led[5:3]<=3'b101;data5<=east_yellow%10;data6<=east_yellow/10;endelsebegineast_red<=d3+d3-count;led[5:3]<=3'b110;data5<=east_red%10;data6<=east_red/10;endend
endmodule
工程.v文件https://download.csdn.net/download/m0_59487432/85684464?spm=1001.2014.3001.5503
基于FPGA的交通灯电路设计(含程序)相关推荐
- CASE_01 基于FPGA的交通灯控制器
该系类博客序言和资源简介可浏览该博客:PREFACE FPGA经典案例序言 快速了解该系列博客的内容与可用 资源. 目录 1 案例引导 1.1 硬件设计初窥 1.2 逻辑设计初窥 2 模块级逻 ...
- 基于FPGA的交通灯系统
基于FPGA的交通灯系统 一.实验目的 1.学习和掌握将实践中的要求抽象为逻辑需求关系的方法. 2.掌握将小型数字系统划分为控制器和处理器的方法. 3.掌握依据ASM图设计小型数字系统的方法 4.掌握 ...
- 基于fpga的交通灯的设计
课题一:交通灯控制设计 1.课程设计的目的与要求 1.1目的 以FPGA为核心,设计一个交通灯控制器,每个路口都有红.黄.绿三盏灯.该交通信号灯控制器由一条车道A和一条车道B汇合成十字路口,在每个入口 ...
- 基于FPGA的交通灯
交通灯是单片机和FPGA都会做的简单项目.本次交通灯做得比较简单,只是模仿一个十字路口的交通灯. 总共有三个模块组成,RTL视图如下: 顶层模块,控制模块,数码管显示模块.代码如下: 顶层模块: mo ...
- 基于FPGA的交通灯设计与实现
EDA工具:Modelsim and Vivado ##一.产品要求: 该控制器用于主干道和支道公路交叉口,优先保证主干道通行,平时处于"主干道绿灯,支道红灯"状态,支道有车辆要穿 ...
- 基于FPGA的呼吸灯设计
一:背景介绍: 网上类似的标题很多,有一些呼吸灯的设计是基于单片机的,还有一部分设计是基于FPGA的,我也一时手痒,将这两天自己重新写的verilog描述语句晒出来,免得压箱底放久了,出现发霉点. 为 ...
- ewb交通灯报告和文件_基于ewb平台的交通灯电路设计.doc
基于ewb平台的交通灯电路设计.doc 电子技术课程设计题目基于EWB平台的交通灯电路设计指导教师班级电子082姓名学号2008成绩时间第十八周一.课程设计的目的1掌握交通灯控制电路的设计.组装与调试 ...
- 基于单片机的交通灯信号控制器设计
基于单片机的交通灯信号控制器设计 一:功能要求 设计一个基于单片机的交通灯信号控制器.已知东.西.南.北四个方向各有红黄绿色三个灯,在东西方向有两个数码管,在南北方向也有两个数码管.要求交通灯按照表1 ...
- 基于红外技术的交通灯设计
目录 基于红外技术的交通灯设计 1 摘 要 1 Abstract 2 1 引言 1 1.1基于红外技术的交通灯的选题背景 1 1.2基于红外技术的交通灯选题的现实意义 1 1.3国内外研究现状及其发展 ...
最新文章
- HDU1425简单排序题
- 病毒周报(091102至091108)
- cocos creator 获取当前时间_前端开发者入门 Creator 必读吧
- 一段从TXT导入excel的py脚本
- 提高JS性能注意事项(转载)
- Git提示Please move or remove them before you switch branches.
- 工作173:数组转换为对象
- 转行人工智能,不得不温故的数学基础知识
- cpu开机就是60℃_注意,制冷机组开机前这些检查很重要
- Oracle 学习笔记(Windows 环境下安装 + PL/SQL)
- java sql loader_Oracle的存储过程中如何调用sql loader?
- 手把手教你快速构建自定义分类器
- Skype 4.1 Linux 发布,支持微软帐号登录
- Mathematica三维画图一些技巧
- 简易版人生重开模拟器开发(python版)
- 【天光学术】中国哲学论文:以老子为例看中国哲学的思辨体系
- 服务器心跳信号,服务器心跳攻击
- java计算机毕业设计旅游景点推荐系统源码+系统+mysql数据库+lw文档
- MySQL复制跳过错误--slave_skip_errors、sql_slave_skip_counter、slave_exec_mode
- 常用函数的拉氏变换表