需求

使用开发板上的四个按键控制四个 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 闪烁效果相关推荐

  1. verilog学习笔记- 10)按键控制 LED 灯实验

    目录 简介: 实验任务: 硬件设计: 程序设计: 下载验证 : 总结与反思: 简介: 按键开关是一种电子开关,属于电子元器件类.我们的开发板上有两种按键开关:第一种是本实验所使用的轻触式按键开关,使用 ...

  2. 【ZYNQ】从入门到秃头05 LED闪烁实验 按键控制LED实验Verilog(PL)

    文章目录 LED闪烁实验Verilog(PL) 硬件设计 程序设计 创建Verilog HDL文件 编写Verilog 添加管脚约束 添加时序约束 生成BIT文件 Vivado仿真 下载 按键控制LE ...

  3. 基于Verilog的按键控制LED灯

    按键控制LED灯 原理图 程序设计 `timescale 1ns / 1psmodule key_led( input sys_clk, input sys_rst_n, input [3:0] ke ...

  4. verilog 按键控制LED的亮灭状态

    主要功能:按下按键0,从左到右点亮led;按下按键1,从右到左点亮led;按下按键2时,四个led间隔亮灭:按下按键3时,点亮全部led.亮灭间隔时间为0.5s,时钟为50MHz. //author ...

  5. led计数电路实验报告_「正点原子FPGA连载」第八章 按键控制LED灯实验

    1)实验平台:正点原子开拓者FPGA开发板 2)本实例源码下载:请移步正点原子官网 第八章 按键控制LED灯实验 按键是常用的一种控制器件.生活中我们可以见到各种形式的按键,由于其结构简单,成本低廉等 ...

  6. 【SoC FPGA学习】五、基于虚拟地址映射的 Linux 硬件编程,在已有工程上实现按键与LED的联动

    参考教程中的以下章节: 小知识点: hps_0.h 文件是qsys生成的FPGA侧外设 0xfc00 0000~0xffff ffff一共是0xffffffff - 0xfc000000 + 1 = ...

  7. FPGA 双按键控制LED呼吸灯实现

    FPGA &&双按键控制&&LED呼吸灯实现 文章目录 FPGA &&双按键控制&&LED呼吸灯实现 1.按键脉冲设计 1.1按键脉冲信 ...

  8. FPGA学习-Verilog实现独立按键消抖

    文章目录 前言 一.独立按键消抖原理 二.按键消抖程序实现(Verilog) 1.按键触发判断 2.计数器模块实现 3.按键状态更新 4.按键控制led亮灭 三.仿真测试文件编写 四.编译结果 前言 ...

  9. Chapter002-FPGA学习之按键控制LED灯和蜂鸣器

    硬件原理 在正点原子开发板中,LED模块高电平驱动,蜂鸣器也是高电平驱动,按键按下,对应引脚为低电平: 原理图如下: 以上设备与FPGA引脚的对照表如下: 设备 引脚名称 对应FPGA引脚 按键 PL ...

最新文章

  1. “本机号码一键登录”是如何实现?
  2. JavaFX UI控件教程(十八)之Progress Bar和Progress Indicator
  3. 1090 Highest Price in Supply Chain(甲级)
  4. webview跟html通信的原理,1.iOS: webView与html的交互
  5. C#LeetCode刷题之#884-两句话中的不常见单词(Uncommon Words from Two Sentences)
  6. 【环境搭建000】详细图解ubuntu 上安装配置eclips
  7. linux搭建java开发环境_Linux搭建Java开发环境
  8. 谈谈R中的乱码(一)
  9. Hacking Diablo II之完整性检查(Integrity Scan)
  10. 毕业论文 | 文献综述应该怎么写
  11. leetcode 5724. 绝对差值和
  12. 生存分析-Cox回归模型
  13. 激光雷达简介及物体检测(一)
  14. Java——通过Java代码从ftp服务器下载文件
  15. 服务器win7无限重启,win7系统无限重启的解决方法
  16. html如何写图片路径?
  17. c语言数组相同字符主元素,C语言数组考点归纳
  18. (一)--使用RSA公钥证书解密
  19. 成都有什么好的互联网公司推荐?
  20. python小游戏(华容道)

热门文章

  1. 华为荣耀平板2_荣耀平板2和荣耀x2哪个值得买?华为荣耀平板2和荣耀x2详细区别对比评测...
  2. 学习C语言的教材、如何成为一名优秀的C程序员、激发程序员创意的6本书、国外程序员推荐:每个程序员都应读的书
  3. SQLServer 实验三 复杂查询
  4. 只需三行代码轻松实现酷炫gif动图转换为mp4视频
  5. pcb外观维修_PCB电路板维修技巧分享
  6. 高级编程技术hw week 12
  7. win10 vscode go语言开发
  8. 计算机c语言期末答案,计算机C语言期末考试复习试题及答案[1]
  9. Visual Studio 2008 环境变量的配置
  10. Dell服务器系统升级,更改引导方式(以戴尔R720为例)