同步复位100进制加法计数器vhdl_计数器 ? MC红石电路模块大百科

本文介绍了计数器的基础知识,包括计数器的功能、复位机制和数据输入接口。文章讨论了二进制计数器的实现,特别是如何在Minecraft中实现无进位延迟的计数器,并提到了k进制计数器和脉冲次数计数器的应用。
摘要由CSDN通过智能技术生成
⋄ MC红石电路模块大百科 ⋄​www.zhihu.com
f008542d6693cfe811a5631f161343e2.png

这些电路元件都非常基础,使用时无需声明原作者出处。(实际上,这些元件都可能被不同人在不同地方分别独自重复发明过许多次)

如果你发现了新的方案并且在这里面找不到,可以私信发给我进行补充。


本文包括:

二进制计数器、脉冲次数计数器

计数器简介:

计数器就是一个用来计数的装置,每当计数器触发一次后,计数器内的值就会+n(这里的n也可以为负数)。计数器将输出计数器内部当前的值。

通常还会让计数器支持一键复位(如内部值置0)的功能以便初始化。此外,计数器也可以提供一个数据输入的接口,以将计数器内布值设置为某一输入值。

相关介绍可以参考:https://baike.baidu.com/item/%E8%AE%A1%E6%95%B0%E5%99%A8/4699680

计数器的有关算法

最常见的,支持+1或-1功能的二进制计数器可以通过触发器实现,例如:“异步计数器”(戳我)或者“同步计数器”(戳我)。

如果要实现的是

equation?tex=%5Cpm+2%5En 的二进制计数器,可以从计数器的第n位开始+1以实现
equation?tex=%5Cpm2%5En ,或者配合移位操作实现。

有关

equation?tex=%5Cpm+2%5En 的二进制计数器还有其它的实现办法,例如从一个加法器或减法器中取出其中的进位链,然后利用进位链来计算
equation?tex=%5Cpm+2%5En 的结果。

另一种办法更适合在Minecraft中实现:

  1. 从最低位开始(如果要实现
    equation?tex=%2B+2%5En ,应从第n+1位开始)按顺序检测每位:
  2. 如果该位为1,则将其翻转为0,然后检测下一位
  3. 如果该位为0,则将其翻转为1,然后结束并输出结果

上面这个算法可以实现

equation?tex=%2B+2%5En,对应地,实现
equation?tex=-2%5En 的算法步骤是这样的:
  1. 从最低位开始(如果要实现
    equation?tex=%2B+2%5En ,应从第n+1位开始)按顺序检测每位:
  2. 如果该位为0,则将其翻转为1,然后检测下一位
  3. 如果该位为1,则将其翻转为0,然后结束并输出结果

这种算法可以通过利用半砖链的性质很方便地实现(信号传播范围内)无进位延迟的二进制计数器。

除二进制计数器外,还有其它计数器,例如k进制计数器。此外,MC中也可以对信号强度进行计数。

电路形变

方案并不是固定的,如果有必要,可以对某个方案进行适度的调整,以适配实际情况。


二进制计数器

52c17a45dc76c7d2b8dd9c56a43630b4.png
1,二进制计数器,按一下按钮就能+1,这个方案在堆叠到8位时信号刚好够

df97fd25cb46f98c6cc6ee7150114ec4.png
2,二进制计数器,按一下按钮+1,这个方案在堆叠到8位时会遇到信号强度不足

721b627b60090145dd9d847e1971ddbc.png
3,上图的视角补充

537454a1d6c6bff76f05910ef6e608f2.png

73b50c5e7564b59b0bd4888967a7caba.png
5,上图的视角补充

90af1a267adacb338209eb3c070a0a67.png
6,上图的视角补充

537454a1d6c6bff76f05910ef6e608f2.png
7,在上图的二进制-1计数器的核心部分中,修改成这样,虽然使用了红石火把,但可以稍微减小体积

4365a9d8d3152dece66656bd7ee91b75.png
8,二进制+1器,输入n,输出n+1

f1d4390c32fda134665d62747294b9f8.png
9,上图的视角补充

2b161d919e78ded195e336e6d2d0083e.png
10,经典的活塞异步计数器

62b26476d7213e85748853b4526a59e7.png
11,躺着的活塞异步计数器,注意这个计数器的输出是负逻辑输出

脉冲次数计数器

c9dcc47de543ed7f9e1f6a254c4ad504.png
12,计数器,图中两个容器是口对口的投掷器。输入n次上升沿信号后,靠近输入的投掷器变空,右边输出变为1,然后左边产生震荡信号将远离输入的投掷器的物品送回靠近输入的投掷器。需要确保左边的电路至少震荡n个周期,以送回所有物品。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值