1. 用点亮4盏LED灯;
  2. 4盏LED灯在1秒内轮流点亮,即每盏LED灯的点亮时间是250毫秒;
  3. 一个轮流完成后,用一个4位的加法器累加LED循环的次数;
  4. 即当每一轮第四盏LED熄灭后,将这四盏LED灯改为同时点亮,显示出加法器中的16进制的数值,点亮时间为2秒;
  5. 加法器的数值从0~F循环
module key_test(clk,rst_n,light,key);input clk;input rst_n;input key;output reg[3:0] light;   //灯reg [31:0] timer;
reg [3:0] adder = 4'b0000;
reg [19:0] cnt_20ms;
reg key_flag = 1'b0;
reg adder_stop = 1'b1;
reg [31:0]timer_final;parameter T_NORMAL = 32'd149_999_999;
parameter T_SKIP = 32'd49_999_999;
parameter CNT_MAX = 20'd999_999;//消抖
always@(posedge clk or negedge rst_n)
beginif (rst_n == 1'b0)cnt_20ms <= 20'd0;else if( key == 1'b1 )cnt_20ms <= 20'd0;                             else if(cnt_20ms == CNT_MAX)cnt_20ms <= CNT_MAX;elsecnt_20ms <= cnt_20ms + 20'd1;
endalways@(posedge clk or negedge rst_n)
beginif (rst_n == 1'b0)key_flag <= 1'b0;else if( cnt_20ms == (CNT_MAX -20'd1) )key_flag <= 1'b1;                             else key_flag <= 1'b0;
endalways@(posedge clk or negedge rst_n)
beginif (rst_n == 1'b0)adder_stop <= 1'b0;else if( key_flag == 1'b1 )begin if(adder_stop == 1'b0 )adder_stop <= 1'b1;                             //stop adderelse if(adder_stop == 1'b1 )adder_stop <= 1'b0;endelseadder_stop <= adder_stop;
endalways@(posedge clk or negedge rst_n)
beginif (rst_n == 1'b0)timer <= 32'd0;else if (timer == T_NORMAL)timer <= 32'd0;else if ((adder_stop == 1'd1) && (timer == T_SKIP))timer <= 32'd0;else timer <= timer +32'd1;
endalways@(posedge clk or negedge rst_n)
beginif(rst_n == 1'b0)beginlight <= 4'b0000;adder <= 4'b0000;endelse if (timer == 32'd0)light <= 4'b0001;else if (timer == 32'd12_499_999)light <= 4'b0010;else if (timer == 32'd24_999_999)light <= 4'b0100;else if (timer == 32'd36_499_999)beginlight <= 4'b1000;if(adder_stop == 1'b1)adder <= adder;else if (adder_stop == 1'b0)adder <= adder + 4'd1;endelse if (timer == 32'd49_999_999)light <= adder;
endendmodule

FPGA Verilog 按键与LED组合设计相关推荐

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

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

  2. 二:FPGA导航按键控制LED

    FPGA按键控制LED 软件 芯片 功能 代码 代码解释 软件 软件使用的是ISE14.6(因为穷没买7系列,劝大家买个7系列的板子,这个软件装着还挺费事,不如Vivado好用,且6和7软件不通用) ...

  3. FPGA之按键控制LED

    一.按键开关 1.按键开关(轻触开关):主要是指轻触式按键开关,属于电子元器件类,使用时以满足操作力的条件向开关操作方向施压开关功能闭合接通,当撤销压力时开关即断开,其内部结构是靠金属弹片受力变化来实 ...

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

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

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

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

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

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

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

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

  8. 基于FPGA的两位按键控制LED数码管加减计数实验

    两位按键控制LED数码管加减计数实验 这是一篇拖了一个多月的文章,主要是基于FPGA利用按键消抖原理与动态数码管驱动原理相结合,来实现一个利用两位按键来控制数码管实现0-99的加法计数或者减法计数功能 ...

  9. 奋斗的小孩系列 FPGA学习altera系列: 第十篇 按键控制LED

    奋斗的小孩系列 FPGA学习altera系列: 第十篇 按键控制LED 作者:奋斗的小孩 郝旭帅(转载请注明出处) 大侠好,欢迎来到FPGA技术江湖,江湖偌大,相见即是缘分.大侠可以关注FPGA技术江 ...

最新文章

  1. “玻璃大王”曹德旺捐资100亿办大学!
  2. python详细安装步骤-最新Python安装图文教程[很详细]
  3. 函数计算自动化运维实战2 -- 事件触发 eip 自动转移
  4. PADS 非常用操作 备忘
  5. leetcode 224. 基本计算器(栈)
  6. 分享两个常见的搜索算法:BFS和DFS
  7. WPS关于尾注的细节
  8. android系统功耗优化(1)---高通平台功耗优化的基础知识
  9. 论EFMS模拟量部分采集电路的修改
  10. 4.3定时器框架(Timer Framework)
  11. Atitit 面试问题总结
  12. linux卸载cognos,在Linux上实战安装Cognos
  13. Visual studio +Intel Fortran 环境安装与设置
  14. 消息队列简介-原理与应用
  15. 图解RGB565、RGB555、RGB16、RGB24、RGB32、ARGB32等格式的区别
  16. 19号笔刷 ps_【精品】PS绘画19号笔刷正确使用方法
  17. 如何使用阿里云服务器搭建个人简历网站
  18. 华为智慧屏SE55通过FTP远程文件管理-实简FTP v1.6.30
  19. TTL,CMOS,LVTTL,LVCMOS电平标准
  20. html5实现定位签到,H5+百度地图实现移动端考勤定位打卡

热门文章

  1. 转载:混淆包含SlidingMenu、gson等Android代码的proguard写法
  2. 使用MySQL进行数据分析——以淘宝用户数据为例
  3. 「紧急推送」宅哥私藏的福利,24小时删!
  4. 信用卡中的“猫腻”用卡人需要注意了!
  5. arduino 温度调节器_感应电压、电流和温度 - 嘿!用Arduino造一个太阳能充电控制器吧...
  6. Message Lifecycle:Pulsar 里的信息传递究竟是什么样子
  7. 【BlockChain】go实现区块链2:工作量证明
  8. 最小宽度适配:Smallest-width
  9. JavaScript 事件类型
  10. java操作pdf--Spire,功能较全,免费版只能操作10页