问题标签 [shift-register]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
circuit - 如何使用通用移位寄存器实现序列生成器?
如何实现生成以下序列的序列生成器
0000 1000 0001 0011 0110 1101 1110 1111
使用通用移位寄存器?我需要使用的移位寄存器是下图所示的 74LS194 型号,其中输入 S1、S0 控制移位模式。
如果 (S1,S0) = (0,0),则当前值被锁定到下一个状态。如果 (1,0),则向右移动。如果 (0,1),它向左移动,并且 (1,1) 表示从并行数据输入并行加载。
如果要求只是使用我选择的触发器而不是移位寄存器,我认为这将是一个简单的问题,但是有了这个要求,我不知道从哪里开始。即使我为每个数字绘制了 4 张卡诺图,我似乎也没有掌握任何线索。任何帮助,将不胜感激。提前致谢!
通用移位寄存器 74LS194:
编辑:我接受了建议并用输入信号编写了下一个状态表。我注意到在绘制下一个状态表时需要考虑的输入变量太多。您必须考虑每个下一个状态 Qd、Qc、Qb、Qa 的 Qd Qc Qb Qa、CLR、S1、S0、RIn、LIn 信号,这意味着每个 Q 都有一个 9 变量卡诺图,我知道这很荒谬。我在这里错过了什么吗?
vhdl - 移位寄存器 PISO
并行输入/串行输出移位寄存器的清除和时钟输入是什么意思?我正在分析该代码:
我不明白的是“c”的含义,我想,它类似于 CLEAR 输入或将输入 x 加载到寄存器中的东西。
shift-register - 移位寄存器中的 CLKCTRL
我在 Quartus II v13 中遇到了一个简单的循环移位寄存器的问题。当我使用 RTL 查看器查看逻辑时,它是正确的,但电路在开发板上无法正常工作。当我查看 Technology Map Viewer (Post-Fitting) 时,我看到时钟只进入移位寄存器的第 0 级,其余级通过 CLKCTRL 块由相同的时钟馈送。有时重新布置电路会删除此块,然后电路才能正常工作。我究竟做错了什么?
arm - 如何解决一个 8 位移位寄存器的问题?
假设一个 8 位移位寄存器加载了位模式10110101
,并且每个时钟脉冲将该位右移一位。2 个时钟脉冲后移位寄存器输出的模式是什么?
假设寄存器是桶形移位器。
上面的答案怎么可能?
verilog - 使用 dff verilog 的移位寄存器
我想创建一个使用 d 触发器作为基本结构元素的移位寄存器。代码:
dff:
移位寄存器:
试验台:
我认为测试台有问题。我尝试在 clk=1 时为每个 #10 提供 s1 值,但同样不起作用。
这段代码没有给我 q 和 s0 的波形。我找不到什么问题。有什么想法吗?
vhdl - 如何在 vhdl 中发送数据 pipo?
我的代码是为接收 4 位数据而编写的,将它们打包成 32 位,并在触发器为 1 时(在 9 个时钟周期后)将它们发送到 arm 处理器
问题是
数据仅在第一个时钟周期存储在我的最终寄存器 l1 中
我从 ise 收到警告,我的 2 个寄存器 sr1 和 sr2 未连接到我的 too 模块(or1),它们在综合中被省略
如果你们帮助我,我将非常感激。
这是我的代码
-------------------------------------------------- ---------
c - 如何使用 nrf51822 模块在一定时间间隔后关闭 LED
有12个LED通过移位寄存器HC595连接,使用的模块是nrf51822(蓝牙模块)。我希望 LED 在 3 秒间隔后熄灭。我的代码如下 -
上面的代码似乎不起作用。我是模块新手。请提供解决方案帮助。
c - 如何点亮特定的 LED 并使用 74HC595 移位寄存器移动所有其他 LED?
我目前正在构建带有微控制器的鼓机。我试图弄清楚音序器的逻辑。我有 16 个 LED,它们将指示鼓机当前正在播放的第 16 个音符。
因此,例如,假设每分钟节拍 (BPM) 为 120,那么 LED 应该每秒移动两次。
因此,对于移位部分,我编写了代码,如果步数为 0,则移入 1。如果步数大于 0,则移入 0。该方法每 (60/BPM) 秒调用一次。
PD5 是串行输入,PD4 是锁存引脚,PD3 是时钟引脚。
但我也希望 LED 在用户编程声音的每一步都静态亮起。因此,例如,如果用户使用乐器底鼓按下按钮 1 和 5 以及 9 和 13,则 LED 1、5、9、13 应该静态亮起,但 LED 也应该像上面的代码一样移动。有没有人有关于如何有效地实现这一点的任何提示?移动其他 LED 时,是否有一种聪明的方法可以使特定 LED 始终亮起?
performance - 如何在 LABVIEW 中快速将 U32 Image Array 解压成 RBG U8 Array
我有一个扁平的 (1D) U32 编码图像阵列,其中 r、b 和 b 8 位通道值被编码到每个 U32 的前 24 位中。我想将此数组扩展为 U8 数组,每个 U8 都存储一个单独的 r、g 或 b 值(0-255)。问题是我需要这种情况发生得非常快(在旧计算机上每秒数百次),而我创建的方法很慢。
我是labview 的新手,所以我不确定有什么更快的方法来做到这一点。
我通过创建一个 U8 数组、迭代 U32 Image 数组的每个索引并使用移位寄存器将相应的 3 个 rgb 值分配给 U8 数组中的适当索引来成功地实现了这一点。我尝试使用 In Place Element Structure(这可能不需要像 shift 这样的循环之间复制数据),但我不知道如何让它在循环内工作,当我试图从循环中返回最后一个数组时,只有最后一个元素被修改。
这是我上面描述的第一种工作方法:
在 c/c++ 中,它会非常简单(像这样):
上面的工作 labview 示例仅以 20 Hz 运行!我认为对于这样一个简单的操作来说这非常慢。有没有更多经验的人建议我如何使用labview代码快速实现这一点?
python - Micropython 链式移位寄存器的行为不符合预期
我是电子新手,并且一直在玩 esp8266 和 Micropython。我试图让几个链式移位寄存器 (sn74hc595) 控制 16 个 LED,并且正在努力理解我得到的结果。
我的脚本如下:
在我的视频中有点难以分辨,但每个 LED 在所有重复之前都会单独亮起。 Google 云端硬盘视频示例
[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]
根据我的代码和对移位寄存器的基本了解,我希望所有的 LED 在移入时都会亮起。
所以我的第一个问题是为什么我的脚本没有点亮每个 LED,而之前的 LED 仍然点亮?如果您需要我进一步澄清,请告诉我!谢谢!