DE0开发板交通灯十字路口红绿灯VHDL
名称:基于DE0开发板的交通灯十字路口红绿灯
软件:Quartus
语言:VHDL
要求:
设计一个十字路口交通信号灯的控制电路。分为两种情况,正常状态和报警状态。
1.正常状态:要求红、绿灯按一定的规律亮和灭,并在亮灯期间进行倒计时,且将运行时间用数码管显示出来。
绿灯亮时,为该车道允许通行信号,红灯亮时,为该车道禁止通行信号。
要求主干道每次通行时间为 60秒,支干道每次通行时间为 30 秒。
每次变换运行车道前绿灯闪烁,持续时间为 5 秒。
即车道要由 X转换为 Y时,X在通行时间只剩下 5 秒钟时,绿灯闪烁显示, Y仍为红灯。
2.报警状态:亮黄灯,蜂鸣器响起。(蜂鸣器高电平触发)
外接键盘:三种模式的切换:高峰,正常,夜晚
高峰:x:绿灯 35S 红灯25S;y:绿灯 25S 红灯35S。
夜晚:x:绿灯 45S 红灯45S;y:绿灯 45S红灯45S
本代码已在DE0-CV开发板验证,板子资料如下:
FPGA_DE0-CV.pdf
代码下载:DE0开发板交通灯十字路口红绿灯_Verilog/VHDL资源下载
代码网:hdlcode.com
部分代码展示
LIBRARY ieee;USE ieee.std_logic_1164.all; ENTITY Traffic_Light_Control ISPORT (clk : IN STD_LOGIC;--50Mhz reset : IN STD_LOGIC;--复位key_1 : IN STD_LOGIC;--正常状态按键key_2 : IN STD_LOGIC;--高峰状态按键key_3 : IN STD_LOGIC;--夜晚状态按键sw1 : IN STD_LOGIC;--主路报警开关sw2 : IN STD_LOGIC;--支路报警开关beep : OUT STD_LOGIC;--报警蜂鸣器red_1 : OUT STD_LOGIC;--主路灯green_1 : OUT STD_LOGIC;--主路灯yellow_1 : OUT STD_LOGIC;--主路灯red_2 : OUT STD_LOGIC;--支路灯green_2 : OUT STD_LOGIC;--支路灯yellow_2 : OUT STD_LOGIC;--支路灯HEX0 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管0HEX1 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管1HEX2 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);--数码管2HEX3 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0)--数码管3); END Traffic_Light_Control; ARCHITECTURE behave OF Traffic_Light_Control IS --分频模块 COMPONENT CLOCK IS-- Divide 50MHz to 1Hz GENERIC(D : INTEGER := 50000000);--仿真时改小为50加快仿真速度,实际上板验证时改为50000000PORT(CLK: IN STD_LOGIC;DAV: OUT STD_LOGIC);END COMPONENT; --交通灯控制模块 COMPONENT Traffic_Light_ctrl ISPORT (clk : IN STD_LOGIC;reset : IN STD_LOGIC;clk_1Hz : IN STD_LOGIC;--1Hz信号key_1 : IN STD_LOGIC;--正常状态按键key_2 : IN STD_LOGIC;--高峰状态按键key_3 : IN STD_LOGIC;--夜晚状态按键sw1 : IN STD_LOGIC;--主路报警开关sw2 : IN STD_LOGIC;--支路报警开关 beep : OUT STD_LOGIC;--报警蜂鸣器red_1 : OUT STD_LOGIC;--主路灯green_1 : OUT STD_LOGIC;--主路灯yellow_1 : OUT STD_LOGIC;--主路灯red_2 : OUT STD_LOGIC;--支路灯green_2 : OUT STD_LOGIC;--支路灯yellow_2 : OUT STD_LOGIC;--支路灯main_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0);--主路倒计时branch_time : OUT STD_LOGIC_VECTOR(7 DOWNTO 0)--支路倒计时); END COMPONENT; --显示模块COMPONENT HEX ISPORT (clk : IN STD_LOGIC;SMG_1 : IN STD_LOGIC_VECTOR(7 DOWNTO 0);SMG_2 : IN STD_LOGIC_VECTOR(7 DOWNTO 0);HEX0 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HEX1 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HEX2 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0);HEX3 : OUT STD_LOGIC_VECTOR(6 DOWNTO 0));END COMPONENT;SIGNAL clk_1 : STD_LOGIC;SIGNAL main_time : STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL branch_time : STD_LOGIC_VECTOR(7 DOWNTO 0);
设计文档(文档可下载):
设计文档.doc
1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. 管脚分配

6. Testbench

7. 仿真图









相关文章:
DE0开发板交通灯十字路口红绿灯VHDL
名称:基于DE0开发板的交通灯十字路口红绿灯 软件:Quartus 语言:VHDL 要求: 设计一个十字路口交通信号灯的控制电路。分为两种情况,正常状态和报警状态。 1.正常状态:要求红、绿灯按一定的规律亮和灭&a…...
华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制
华为云云耀云服务器L实例评测使用 | 通过程序实现直播流自动分段录制 1. 准备工作2. 环境搭建3. 心得总结 1. 准备工作 随着云计算时代的进一步深入,越来越多的中小企业企业与开发者需要一款简单易用、高能高效的云计算基础设施产品来支撑自身业务运营和创新开发。基…...
前端教程-webpack
官网 webpack webpack基础 视频教程 尚硅谷Webpack5入门到原理(面试开发一条龙)...
white-space几种属性的用法(处理空格)
white-space:normal 文首的空格忽略,文本内部的换行符自动转成了空格。 white-space:nowrap 不换行,即使超出容器宽度 white-space:pre 与原文本一致,空格和换行符保留 white-space:pre-…...
Linux的历史
Linux的历史 前言: 关于Linux,你可能只是听说过它是一款操作系统,也许你还知道它是开源的,但在日常生活中,你更熟悉的是Windows。 那么我们为什么要了解、学习Linux,看完这一篇,你也许可以从…...
软考高级系统架构设计师系列论文真题八:论企业集成平台的技术与应用
软考高级系统架构设计师系列论文真题八:论企业集成平台的技术与应用 一、论企业集成平台的技术与应用二、找准核心论点三、理论素材准备四、精品范文赏析1.摘要2.正文3.总结软考高级系统架构设计师系列论文之:百篇软考高级架构设计师论文范文软考高级系统架构设计师系列之:论…...
[H5动画制作系列] 路径引导动画 Demo
代码参考1: <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>路径引导动画 Demo1</tit…...
[React] Context上下文的使用
文章目录 1.Context的介绍2.为什么需要Context3.Context的使用 1.Context的介绍 Context旨在为React复杂嵌套的各个组件提供一个生命周期内的统一属性访问对象,从而避免我们出现当出现复杂嵌套结构的组件需要一层层通过属性传递值得问题。 Context是为了提供一个组…...
高云FPGA系列教程(9):cmd-parser串口命令解析器移植
文章目录 @[toc]cmd-parser库简介cmd-parser库源码获取GW1NSR-4C移植cmd-parser实际测试cmd-parse命令解析器优化本文是高云FPGA系列教程的第9篇文章。 上一篇文章介绍片上ARM Cortex-M3硬核处理器串口外设的使用,演示轮询方式和中断方式接收串口数据,并进行回环测试。 本文…...
PHP8的静态变量和方法-PHP8知识详解
我们在上一课程讲到了public、private、protected这3个关键字,今天我们来讲解static关键字,明天再讲解final关键字。 如果不想通过创建对象来调用变量或方法,则可以将该变量或方法创建为静态变量或方法,也就是在变量或方法的前面…...
用AI写文章被百家号封禁
我是卢松松,点点上面的头像,欢迎关注我哦! 千万不要用AI创作,尤其是原文照搬!不要用ai,不要用,不要用!重要的事情说三遍。 近日ID名为“爸爸在家赚钱”用AI写了4-5篇文章投稿在百家号,随后百度就把他帐号…...
JVM--Java类加载器笔记
Java类加载器 代码经过编译变成了字节码打包成 Jar 文件。让 JVM 去加载需要的字节码,变成持久代/元数据区上的 Class 对象,接着执行程序逻辑。 类声明周期和加载过程 步骤:加载->链接(校验->准备->解析)-…...
【在Ubuntu部署Docker项目】— PROJECT#1
一、说明 让我们深入了解 Docker。用docker构建web服务器。我们正在计划开发JavaScript API,建立MySQL数据库,并创建一个 PHP 网站使用 API 服务。Php Node.js Mysql — DockerSeries — Episode#1 二、系统架构概述 我们要构建的容器,是三…...
【学习笔记】LOJ #6240. 仙人掌
毒瘤题😅 简单版本 CF235D Graph Game 首先,考虑建立圆方树,然后对于一个点双(简单环)上的两个点,有两条路径可以到达 和简单版本类似,考虑容斥。即枚举点对 i , j i,j i,j之间 哪些路径是联…...
java通过接口转发文件(上传下载)
java接口转发上传的文件 RequestMapping(value "/XXXX/fileUpload", method RequestMethod.POST) public String getFileUpload2(RequestParam("file") MultipartFile file, HttpServletRequest request) public static String hotMapPost3(String ur…...
Docker-部署docker-compose以及管理服务
部署docker-compose以及管理服务 文章目录 部署docker-compose以及管理服务[TOC] 前言一、docker-compose是什么?1、介绍2、 功能 二、安装docker-compose1.yum直接安装2.二进制安装3.pip安装 三、docker-compose部署服务1.编写docker-compose.yml文件 总结 前言 D…...
Android - Monkey 测试应用出现Crash报错IllegalStateException
问题描述 平时使用Lottie动画都是正常的,没出过这个crash问题,看下的报错信息,代码中文件夹也设置了,没看出来问题。 AndroidRuntime: java.lang.IllegalStateException: You must set an images folder before loading an imag…...
Spring源码分析 事务 实现原理
文章目录 什么是事务Spring事务管理Spring事务实现原理事务管理器事务定义事务的开启事务核心方法业务代码使用事务TransactionInterceptor 什么是事务 一般所指的事务是数据库事务,是指一批不可分割的数据库操作序列,也是数据库并发控制的基本单位。其…...
ADS-B及雷达显示终端8.3
新版本功能升级主要有如下: 1、地图更新 在上一版本8.2中使用的高程地图为由SRTM经过地形晕渲后,生成地形图片,然后对图片进行贴图,一一按规定位置、大小将地形图贴至底图上,而后在底图上进行二维矢量地图的绘制,包括…...
第二章:最新版零基础学习 PYTHON 教程(第二节 - Python 输入/输出–从 Python 控制台获取输入)
目录 Python 中的控制台是什么? 接受来自控制台的输入: 1. 将输入类型转换为整数:...
华为云AI开发平台ModelArts
华为云ModelArts:重塑AI开发流程的“智能引擎”与“创新加速器”! 在人工智能浪潮席卷全球的2025年,企业拥抱AI的意愿空前高涨,但技术门槛高、流程复杂、资源投入巨大的现实,却让许多创新构想止步于实验室。数据科学家…...
Flask RESTful 示例
目录 1. 环境准备2. 安装依赖3. 修改main.py4. 运行应用5. API使用示例获取所有任务获取单个任务创建新任务更新任务删除任务 中文乱码问题: 下面创建一个简单的Flask RESTful API示例。首先,我们需要创建环境,安装必要的依赖,然后…...
springboot 百货中心供应链管理系统小程序
一、前言 随着我国经济迅速发展,人们对手机的需求越来越大,各种手机软件也都在被广泛应用,但是对于手机进行数据信息管理,对于手机的各种软件也是备受用户的喜爱,百货中心供应链管理系统被用户普遍使用,为方…...
【磁盘】每天掌握一个Linux命令 - iostat
目录 【磁盘】每天掌握一个Linux命令 - iostat工具概述安装方式核心功能基础用法进阶操作实战案例面试题场景生产场景 注意事项 【磁盘】每天掌握一个Linux命令 - iostat 工具概述 iostat(I/O Statistics)是Linux系统下用于监视系统输入输出设备和CPU使…...
【项目实战】通过多模态+LangGraph实现PPT生成助手
PPT自动生成系统 基于LangGraph的PPT自动生成系统,可以将Markdown文档自动转换为PPT演示文稿。 功能特点 Markdown解析:自动解析Markdown文档结构PPT模板分析:分析PPT模板的布局和风格智能布局决策:匹配内容与合适的PPT布局自动…...
spring:实例工厂方法获取bean
spring处理使用静态工厂方法获取bean实例,也可以通过实例工厂方法获取bean实例。 实例工厂方法步骤如下: 定义实例工厂类(Java代码),定义实例工厂(xml),定义调用实例工厂ÿ…...
HBuilderX安装(uni-app和小程序开发)
下载HBuilderX 访问官方网站:https://www.dcloud.io/hbuilderx.html 根据您的操作系统选择合适版本: Windows版(推荐下载标准版) Windows系统安装步骤 运行安装程序: 双击下载的.exe安装文件 如果出现安全提示&…...
大学生职业发展与就业创业指导教学评价
这里是引用 作为软工2203/2204班的学生,我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要,而您认真负责的教学态度,让课程的每一部分都充满了实用价值。 尤其让我…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据
微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列,以便知晓哪些列包含有价值的数据,…...
