0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

如何设计一个对按键信号进行计数的计数器?

冬至子 来源:大哈学习纪录铺 作者:张大哈 2023-10-10 14:27 次阅读

实验任务: 本实验中要设计一个对按键信号(key_in)进行计数的计数器。

实验原理 整个实验电路包含四个模块:

① erzp模块完成按键消抖功能,默认抖动时间为10MS;

② detect_module模块用于检测按键信号的下降沿,当检测到下降沿后,输出一个时钟周期的高电平。

③ get_state模块:将按键信号转换成状态信号,当按键按下后,状态转换0→1→0→1→……..。

④ cnt10模块:完成对按键信号进行计数。clk:系统时钟,cnt_en:计数使能(1:计数,0:暂停),cnt_single:计数信号,rst_n:复位信号,updown_state:加1计数或减1计数控制(1:加1计数,0:减1计数)。data:计数结果输出。

源代码撰写:

erzp****模块:

默认抖动时间最多为10ms,框1与框2的功能就是,计数当前电平若处于一直处于低电平就key_low一直自加1 ,一旦不是低电平了key_low就清0.高电平key_hign同理。当key_low或key_hign当前计数到了10ms,说明当前已经过了抖动状态。并且输出当前消抖后的对应电平。

图片

detect_module****模块:

这里主要是利用了一个寄存器,让上一个时钟状态的按键状态和当前的对比,不一样说明有了边缘变化。

图片

get_state****模块:

图片

cnt10****模块:

图片

原理图绘制顶层文件流程:

1.将以上四个.v文件依次转换为电路器件,生成BSF文件如右图所示

图片

图片

2.建立一个顶层原理图bdf(后建立的要设为顶层,与项目工程名称一致。)

图片

图片

在原理图中可以放置器件,可以看到刚刚生产的器件。并按逻辑进行连接。并修改对应端口名。完成之后,为了之后仿真,可以转成.v文件。

图片

图片

图片

生成如图所示:以后也可将此项目作为整个调用的器件,生成BSF文件

图片

图片

图片

RTL视图:

图片

测试代码撰写: 测试时,需将原理图移除,将转化的.V文件加进来。

图片

测试结果

图片

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 寄存器
    +关注

    关注

    31

    文章

    5308

    浏览量

    119979
  • 计数器
    +关注

    关注

    32

    文章

    2253

    浏览量

    94340
  • CLK
    CLK
    +关注

    关注

    0

    文章

    127

    浏览量

    17122
  • 按键消抖
    +关注

    关注

    2

    文章

    27

    浏览量

    10442
收藏 人收藏

    评论

    相关推荐

    计数器的级连使用

    计数器的级连使用 十进制计数器只能显示0~9十数,为了扩大计数器范围,常用多个十进制
    发表于 11-22 12:53 3997次阅读
    <b class='flag-5'>计数器</b>的级连使用

    环形计数器和扭环形计数器

    环形计数器和扭环形计数器 移位寄存也可以构成计数器,称为移位型计数器。它有两种结构:环形计数器
    发表于 01-12 14:07 9668次阅读

    计数器,计数器的工作原理是什么?

    计数器,计数器的工作原理是什么? 在数字系统中使用最多的时序电路是计数器计数器不仅能用于对时钟脉冲进行
    发表于 03-08 13:50 6.1w次阅读

    按键次数计数器

    慧净HL-1 配套C实验例程100例【实验21】按键次数计数器),很好的C51学习资料程序。
    发表于 03-21 16:44 21次下载

    什么是计数器芯片?

    什么是计数器芯片? 般来说,计数器芯片就是用来实现计数这种最基础运算的逻辑电路,计数器在数字系统中主要是对脉冲的个数
    的头像 发表于 07-13 14:09 1.4w次阅读

    单片机应用系统设计技术——计数器

    计数器、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会、实验目的掌握单片机定时计数器计数方式的使用及编程方法。二
    发表于 11-25 12:36 4次下载
    单片机应用系统设计技术——<b class='flag-5'>计数器</b>

    单片机应用系统设计技术——计数器

    计数器、实验目的二、实验内容三、实验步骤四、C代码如下五、实验结果六、实验体会、实验目的掌握单片机定时计数器计数方式的使用及编程方法。二
    发表于 11-25 12:51 5次下载
    单片机应用系统设计技术——<b class='flag-5'>计数器</b>

    "stm32f0按键计数器程序_数字系统设计, 8经典计数器电路方案合辑"

    计数器(Counter)由基本的计数单元和控制门所组成,是在数字系统中对脉冲的个数进行计数,以实现测量、计数和控制功能,且兼有分频功能的仪器
    发表于 11-25 18:06 32次下载
    "stm32f0<b class='flag-5'>按键</b><b class='flag-5'>计数器</b>程序_数字系统设计, 8<b class='flag-5'>个</b>经典<b class='flag-5'>计数器</b>电路方案合辑"

    异步计数器的主要类型

    异步计数器是那些输出不受时钟信号影响的计数器。由于异步计数器中的触发提供有不同的时钟信号,因此
    的头像 发表于 10-11 17:16 5550次阅读
    异步<b class='flag-5'>计数器</b>的主要类型

    同步计数器和异步计数器是什么 同步计数器和异步计数器的主要区别?

    在数字电子产品中,计数器是由系列触发组成的时序逻辑电路。顾名思义,计数器用于计算输入在负或正边沿转换中出现的次数。根据触发触发的方式,
    的头像 发表于 03-25 17:31 2.5w次阅读
    同步<b class='flag-5'>计数器</b>和异步<b class='flag-5'>计数器</b>是什么 同步<b class='flag-5'>计数器</b>和异步<b class='flag-5'>计数器</b>的主要区别?

    同步计数器和异步计数器的区别主要在哪里

    、应用等方面。 、工作原理 同步计数器:同步计数器的工作原理是,在时钟信号的驱动下,对输入的二进制数进行加法或减法运算,从而得到
    的头像 发表于 12-13 14:54 9784次阅读

    同步计数器和异步计数器各有什么特点

    : 同步计数器种同步机制,用于控制多个线程的顺序执行。它们使用共享的计数器,并在计数器达到特定值时触发线程的执行。下面是同步计数器的几个
    的头像 发表于 12-15 10:49 1851次阅读

    计数器怎么用 计数器的作用有哪些

    计数器种被广泛应用于各个领域的实用工具,在我们的日常生活中随处可见。无论是进行时间统计,协助工作任务的完成,还是用于科学研究和编程技术,在各个领域都起到了重要的作用。本文将详细介绍计数器
    的头像 发表于 02-03 10:04 5056次阅读

    同步计数器和异步计数器的区别

    在数字电子领域中,计数器种用于统计脉冲信号数量的重要设备。其中,同步计数器和异步计数器是两种不同类型的
    的头像 发表于 05-24 14:36 3566次阅读

    计数器同步和异步怎么判断

    计数器同步和异步是数字电路设计中的重要概念,它们在很多应用场景中都扮演着关键角色。 计数器概述
    的头像 发表于 07-23 11:14 756次阅读