多模爆闪灯流水灯8种模式Verilog代码Quartus仿真

2024-03-23 03:30

本文主要是介绍多模爆闪灯流水灯8种模式Verilog代码Quartus仿真,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

名称:多模爆闪灯流水灯8种模式Verilog代码Quartus仿真(文末获取)

软件:Quartus

语言:Verilog

代码功能:

多模爆闪灯←

应用于警车、岗亭、道路维修等场合,能够通过按键切换8种不同的工作模式。←

1. 工程文件

2. 程序文件

3. 程序编译

4. RTL图

5. Testbench

6. 仿真图

整体仿真图

分频模块

按键控制模块

LED控制模块

部分代码展示:

//LED控制模块
module LED_ctrl(
input clk_div,//时钟
input rst_n,//复位
input [2:0] mode,//模式控制
output reg [7:0] LED//LED灯
);
reg [2:0] led_cnt=3'd0;
always@(posedge clk_div)
led_cnt<=led_cnt+1;//0~7循环计数
always@(posedge clk_div or negedge rst_n)
if(rst_n==0)//复位
LED<=8'b00000000;//清零
else
case(mode)
3'd0://模式1
case(led_cnt)
3'd0:LED<=8'b11000011;
3'd1:LED<=8'b00111100;
3'd2:LED<=8'b11000011;
3'd3:LED<=8'b00111100;
3'd4:LED<=8'b11000011;
3'd5:LED<=8'b00111100;
3'd6:LED<=8'b11000011;
3'd7:LED<=8'b00111100;
endcase
3'd1://模式2
case(led_cnt)
3'd0:LED<=8'b10000000;
3'd1:LED<=8'b01000000;
3'd2:LED<=8'b00100000;
3'd3:LED<=8'b00010000;
3'd4:LED<=8'b00001000;
3'd5:LED<=8'b00000100;
3'd6:LED<=8'b00000010;
3'd7:LED<=8'b00000001;
endcase
3'd2://模式3
case(led_cnt)
3'd0:LED<=8'b11110000;
3'd1:LED<=8'b11110000;
3'd2:LED<=8'b00001111;
3'd3:LED<=8'b00001111;
3'd4:LED<=8'b11110000;
3'd5:LED<=8'b11110000;
3'd6:LED<=8'b00001111;
3'd7:LED<=8'b00001111;
endcase
3'd3://模式4
case(led_cnt)
3'd0:LED<=8'b11000000;
3'd1:LED<=8'b00110000;
3'd2:LED<=8'b00001100;
3'd3:LED<=8'b00000011;
3'd4:LED<=8'b11000000;
3'd5:LED<=8'b00110000;
3'd6:LED<=8'b00001100;
3'd7:LED<=8'b00000011;
endcase
3'd4://模式5
case(led_cnt)
3'd0:LED<=8'b00111111;
3'd1:LED<=8'b11001111;
3'd2:LED<=8'b11110011;
3'd3:LED<=8'b11111100;
3'd4:LED<=8'b11111100;
3'd5:LED<=8'b11110011;
3'd6:LED<=8'b11001111;
3'd7:LED<=8'b00111111;
endcase
3'd5://模式6
case(led_cnt)
3'd0:LED<=8'b00011110;
3'd1:LED<=8'b00001111;
3'd2:LED<=8'b10000111;
3'd3:LED<=8'b11000011;
3'd4:LED<=8'b11100001;
3'd5:LED<=8'b11110000;
3'd6:LED<=8'b01111000;
3'd7:LED<=8'b01111100;
endcase
3'd6://模式7
case(led_cnt)
3'd0:LED<=8'b10000001;
3'd1:LED<=8'b01000010;
3'd2:LED<=8'b00100100;
3'd3:LED<=8'b00011000;
3'd4:LED<=8'b00011000;
3'd5:LED<=8'b00100100;
3'd6:LED<=8'b01000010;
3'd7:LED<=8'b10000001;
endcase
3'd7://模式8
case(led_cnt)
3'd0:LED<=8'b11111110;
3'd1:LED<=8'b11111101;
3'd2:LED<=8'b11111011;
3'd3:LED<=8'b11110111;
3'd4:LED<=8'b11101111;
3'd5:LED<=8'b11011111;
3'd6:LED<=8'b10111111;
3'd7:LED<=8'b01111111;
endcase
default:;
endcase
endmodule
源代码

 扫描文章末尾的公众号二维码

这篇关于多模爆闪灯流水灯8种模式Verilog代码Quartus仿真的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/836997

相关文章

活用c4d官方开发文档查询代码

当你问AI助手比如豆包,如何用python禁止掉xpresso标签时候,它会提示到 这时候要用到两个东西。https://developers.maxon.net/论坛搜索和开发文档 比如这里我就在官方找到正确的id描述 然后我就把参数标签换过来

在JS中的设计模式的单例模式、策略模式、代理模式、原型模式浅讲

1. 单例模式(Singleton Pattern) 确保一个类只有一个实例,并提供一个全局访问点。 示例代码: class Singleton {constructor() {if (Singleton.instance) {return Singleton.instance;}Singleton.instance = this;this.data = [];}addData(value)

poj 1258 Agri-Net(最小生成树模板代码)

感觉用这题来当模板更适合。 题意就是给你邻接矩阵求最小生成树啦。~ prim代码:效率很高。172k...0ms。 #include<stdio.h>#include<algorithm>using namespace std;const int MaxN = 101;const int INF = 0x3f3f3f3f;int g[MaxN][MaxN];int n

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能

基于UE5和ROS2的激光雷达+深度RGBD相机小车的仿真指南(五):Blender锥桶建模

前言 本系列教程旨在使用UE5配置一个具备激光雷达+深度摄像机的仿真小车,并使用通过跨平台的方式进行ROS2和UE5仿真的通讯,达到小车自主导航的目的。本教程默认有ROS2导航及其gazebo仿真相关方面基础,Nav2相关的学习教程可以参考本人的其他博客Nav2代价地图实现和原理–Nav2源码解读之CostMap2D(上)-CSDN博客往期教程: 第一期:基于UE5和ROS2的激光雷达+深度RG

代码随想录冲冲冲 Day39 动态规划Part7

198. 打家劫舍 dp数组的意义是在第i位的时候偷的最大钱数是多少 如果nums的size为0 总价值当然就是0 如果nums的size为1 总价值是nums[0] 遍历顺序就是从小到大遍历 之后是递推公式 对于dp[i]的最大价值来说有两种可能 1.偷第i个 那么最大价值就是dp[i-2]+nums[i] 2.不偷第i个 那么价值就是dp[i-1] 之后取这两个的最大值就是d

pip-tools:打造可重复、可控的 Python 开发环境,解决依赖关系,让代码更稳定

在 Python 开发中,管理依赖关系是一项繁琐且容易出错的任务。手动更新依赖版本、处理冲突、确保一致性等等,都可能让开发者感到头疼。而 pip-tools 为开发者提供了一套稳定可靠的解决方案。 什么是 pip-tools? pip-tools 是一组命令行工具,旨在简化 Python 依赖关系的管理,确保项目环境的稳定性和可重复性。它主要包含两个核心工具:pip-compile 和 pip

D4代码AC集

贪心问题解决的步骤: (局部贪心能导致全局贪心)    1.确定贪心策略    2.验证贪心策略是否正确 排队接水 #include<bits/stdc++.h>using namespace std;int main(){int w,n,a[32000];cin>>w>>n;for(int i=1;i<=n;i++){cin>>a[i];}sort(a+1,a+n+1);int i=1

模版方法模式template method

学习笔记,原文链接 https://refactoringguru.cn/design-patterns/template-method 超类中定义了一个算法的框架, 允许子类在不修改结构的情况下重写算法的特定步骤。 上层接口有默认实现的方法和子类需要自己实现的方法

【iOS】MVC模式

MVC模式 MVC模式MVC模式demo MVC模式 MVC模式全称为model(模型)view(视图)controller(控制器),他分为三个不同的层分别负责不同的职责。 View:该层用于存放视图,该层中我们可以对页面及控件进行布局。Model:模型一般都拥有很好的可复用性,在该层中,我们可以统一管理一些数据。Controlller:该层充当一个CPU的功能,即该应用程序