移位寄存器

早些时候,我写了一篇关于移位寄存器的文章在实践中操作.但是移位寄存器究竟可以用来做什么?它是如何工作的?和往常一样,答案将取决于你试图做什么(是的,我们必须按现实的规则行事)。

移位寄存器的主要思想是,高或低的数据信号都可以通过集成电路内部的端口进行移位。在某种意义上,这可以被认为是一个投影仪的卷轴,在卷轴的每个部分都有信息,但只有一部分卷轴能够通过投影仪在一个特定的时间显示。

电影放映机。

考虑到这一点,我们可以看看常用的三种主要类型的移位寄存器:串行进串行出(SISO)移位寄存器、串行进并行出(SIPO)移位寄存器和并行进串行出(PISO)移位寄存器。

SISO移位寄存器能够根据移位寄存器的大小来存储(或在卷筒投影机的类比中,掩盖)信息。例如,如果它是一个8位寄存器,它可以存储8位的信息。这意味着当你输入数据到SISO,你将不得不等待8个数据移位(也称为时钟脉冲),在第一块信息输出/显示在投影仪上。因为这是一个串行输出移位寄存器,每次只显示一条信息,一旦第二条信息移到输出位置,第一条信息就丢失了。SISO移位寄存器可用于计算器中存储多个二进制数,然后再将它们移出,以便将它们相加。

一种SISO移位寄存器的实际应用
一种SISO移位寄存器的实际应用

SIPO移位寄存器,我在我的教程,获取一个串行的、一次一个的数据流,然后沿着多个输出显示信息。有两种方法可以操作这些类型的移位寄存器。一种方法是在输入时在输出上显示输入,创建一种卷轴投影仪,可以同时显示8张图片或信息(如果它是一个8位移位寄存器)。另一个,在我看来,更有用的选项是在移位寄存器中的所有触发器都被填满之前不显示任何输入信息,然后在它们各自的输出上同时显示输入。当您想要控制或输入多个组件,但又不想从微控制器到每个组件的单独专用导线时,SIPO移位寄存器是有用的。

用于串行进并行出移位寄存器
用于串行进并行出移位寄存器

最后,PISO移位寄存器同时接受多个输入并串行输出。虽然这并不遵循卷投影仪类比很好,一旦所有的输入被加载到移位寄存器,然后庇索可以被认为是一个serial-in串行移位寄存器,除非你不需要等待输入到输出端口。这对于同时读取多个读数非常有用(例如,多个按钮读数),然后将一行上的信息输入到微控制器。

PISO和SIPO结合使用移位寄存器。
PISO和SIPO结合使用移位寄存器。

关于詹姆斯·科尔文

我最喜欢的事情就是学习新东西。特别是涉及某些技术的事情;电脑组件、有趣的小工具、游戏、编码技术等。我喜欢和我的妻子和两个儿子在一起,也喜欢和朋友们在一起。在我的日常工作中,我管理Digilent论坛和北美支持团队。

查看所有由James Colvin→发布的帖子

2关于“移位寄存器”的评论

  1. 伙计,谢谢你的文章。但是我觉得你没有说太多关于PISO和SIPO组合的移位寄存器。请再详细说明一下。

    谢谢。

留下一个回复

您的电子邮件地址将不会被公布。必填字段被标记