verilog 实现不同按键的LED 闪烁效果
需求
使用开发板上的四个按键控制四个 LED 灯。按下不同的按键时,四个 LED 灯显示不同效果。
按键状态 | LED 显示效果 |
---|---|
无按键按下 | 四个 LED 灯全灭 |
按下 KEY0 | 自右向左的流水灯 |
按下 KEY1 | 自左向右的流水灯 |
按下 KEY2 | 四个 LED 同时闪烁 |
按下 KEY3 | 四个 LED 灯全亮 |
系统框图
- 内部模块:0.2 秒计数器->状态计数器->LED 模式选择
- 外部驱动:50MHZ 时钟,RST 复位信号,四个按键
- 展示:四个 LED 灯
代码
0.2 秒计时器模块
always@(posedge clk or negedge rst_n)
beginif(!rst_n)cnt <= 24'd0;//复位清零elseif(cnt < 24'd1000_0000)cnt <= cnt +1'b1;//未到清零时间加1elsecnt <= 24'd0;//计时清零
end
状态计数器模块
always@(posedge clk or negedge rst_n)
beginif(!rst_n)led_strl <= 24'd0;//复位清零elseif(cnt == 24'd1000_0000)led_strl <= led_strl + 1'b1;//未到清零时间加1,到达3的时候会加一自动清零elseled_strl <= led_strl;//未到时间不变
end
按键控制模块
always@(posedge clk or negedge rst_n)
beginif(!rst_n)led <= 4'b0000;//复位清零elseif(key[0] == 1'b0)//按键0按下case(led_strl)2'd0:led <= 4'b1000;2'd1:led<=4'b0100;2'd2:led<=4'b0010;2'd3:led<=4'b0001;endcaseelse if(key[1] == 1'b0)//按键1按下case(led_strl)2'd0:led <= 4'b0001;2'd1:led<=4'b0010;2'd2:led<=4'b0100;2'd3:led<=4'b1000;endcaseelse if(key[2] == 1'b0)//按键2按下case(led_strl)2'd0:led <= 4'b1111;2'd1:led<=4'b0000;2'd2:led<=4'b1111;2'd3:led<=4'b0000;endcaseelse if(key[3] == 1'b0)//按键3按下led<=4'b1111;elseled<=4'b0000;//都未按下则都不亮
end
verilog 实现不同按键的LED 闪烁效果相关推荐
- verilog学习笔记- 10)按键控制 LED 灯实验
目录 简介: 实验任务: 硬件设计: 程序设计: 下载验证 : 总结与反思: 简介: 按键开关是一种电子开关,属于电子元器件类.我们的开发板上有两种按键开关:第一种是本实验所使用的轻触式按键开关,使用 ...
- 【ZYNQ】从入门到秃头05 LED闪烁实验 按键控制LED实验Verilog(PL)
文章目录 LED闪烁实验Verilog(PL) 硬件设计 程序设计 创建Verilog HDL文件 编写Verilog 添加管脚约束 添加时序约束 生成BIT文件 Vivado仿真 下载 按键控制LE ...
- 基于Verilog的按键控制LED灯
按键控制LED灯 原理图 程序设计 `timescale 1ns / 1psmodule key_led( input sys_clk, input sys_rst_n, input [3:0] ke ...
- verilog 按键控制LED的亮灭状态
主要功能:按下按键0,从左到右点亮led;按下按键1,从右到左点亮led;按下按键2时,四个led间隔亮灭:按下按键3时,点亮全部led.亮灭间隔时间为0.5s,时钟为50MHz. //author ...
- led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验
1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...
- 【SoC FPGA学习】五、基于虚拟地址映射的 Linux 硬件编程,在已有工程上实现按键与LED的联动
参考教程中的以下章节: 小知识点: hps_0.h 文件是qsys生成的FPGA侧外设 0xfc00 0000~0xffff ffff一共是0xffffffff - 0xfc000000 + 1 = ...
- FPGA 双按键控制LED呼吸灯实现
FPGA &&双按键控制&&LED呼吸灯实现 文章目录 FPGA &&双按键控制&&LED呼吸灯实现 1.按键脉冲设计 1.1按键脉冲信 ...
- FPGA学习-Verilog实现独立按键消抖
文章目录 前言 一.独立按键消抖原理 二.按键消抖程序实现(Verilog) 1.按键触发判断 2.计数器模块实现 3.按键状态更新 4.按键控制led亮灭 三.仿真测试文件编写 四.编译结果 前言 ...
- Chapter002-FPGA学习之按键控制LED灯和蜂鸣器
硬件原理 在正点原子开发板中,LED模块高电平驱动,蜂鸣器也是高电平驱动,按键按下,对应引脚为低电平: 原理图如下: 以上设备与FPGA引脚的对照表如下: 设备 引脚名称 对应FPGA引脚 按键 PL ...
最新文章
- “本机号码一键登录”是如何实现?
- JavaFX UI控件教程(十八)之Progress Bar和Progress Indicator
- 1090 Highest Price in Supply Chain(甲级)
- webview跟html通信的原理,1.iOS: webView与html的交互
- C#LeetCode刷题之#884-两句话中的不常见单词(Uncommon Words from Two Sentences)
- 【环境搭建000】详细图解ubuntu 上安装配置eclips
- linux搭建java开发环境_Linux搭建Java开发环境
- 谈谈R中的乱码(一)
- Hacking Diablo II之完整性检查(Integrity Scan)
- 毕业论文 | 文献综述应该怎么写
- leetcode 5724. 绝对差值和
- 生存分析-Cox回归模型
- 激光雷达简介及物体检测(一)
- Java——通过Java代码从ftp服务器下载文件
- 服务器win7无限重启,win7系统无限重启的解决方法
- html如何写图片路径?
- c语言数组相同字符主元素,C语言数组考点归纳
- (一)--使用RSA公钥证书解密
- 成都有什么好的互联网公司推荐?
- python小游戏(华容道)
热门文章
- 华为荣耀平板2_荣耀平板2和荣耀x2哪个值得买?华为荣耀平板2和荣耀x2详细区别对比评测...
- 学习C语言的教材、如何成为一名优秀的C程序员、激发程序员创意的6本书、国外程序员推荐:每个程序员都应读的书
- SQLServer 实验三 复杂查询
- 只需三行代码轻松实现酷炫gif动图转换为mp4视频
- pcb外观维修_PCB电路板维修技巧分享
- 高级编程技术hw week 12
- win10 vscode go语言开发
- 计算机c语言期末答案,计算机C语言期末考试复习试题及答案[1]
- Visual Studio 2008 环境变量的配置
- Dell服务器系统升级,更改引导方式(以戴尔R720为例)