什么是SIPO移位寄存器:电路、工作、真值表及其应用
通常,寄存器可以定义为用于存储二进制数据的设备,但如果您想存储多个数据位,则需要使用一组串联的触发器。存储在寄存器中的数据可以是。。。
通常,寄存器可以定义为用于存储二进制数据的设备,但如果您想存储多个数据位,则需要使用一组串联的触发器。通过提供CLK脉冲,可以通过在右侧或左侧使用移位寄存器来移位存储在寄存器中的数据。移位寄存器是一组用于存储多位数据的触发器。类似地,只要每个触发器简单地存储单个数据位,就可以通过简单地连接n个触发器来形成具有n位的移位寄存器。一旦寄存器将位移位到右侧,它就是右移位寄存器,而如果它移位到左侧,那么它就被称为左移位寄存器。本文概述了移位寄存器的一种类型,即串入并出移位寄存器或SIPO移位寄存器.
什么是SIPO移位寄存器?
允许串行输入并行输出的移位寄存器被称为SIPO移位寄存器。在SIPO寄存器中,术语SIPO代表串行输入并行输出。在这种类型的移位寄存器中,输入数据是逐位串行给出的。对于每个时钟脉冲,所有FF处的输入数据可以偏移单个位置。每个触发器处的o/p可以被并行接收。
电路图
这个SISO移位寄存器电路图如下所示。该电路可以用如图所示连接的4个D触发器来构建,其中除了CLK信号之外还向所有FF提供CLR信号以重置它们。在上述电路中,第一FF输出被提供给第二FF输入。所有这四个D触发器彼此串联连接,因为相同的CLK信号被提供给每个触发器。
SIPO移位寄存器的工作
SIPO移位寄存器的工作是:;它从左侧的第一触发器获得串行数据输入并产生并行数据输出。4位SIPO移位寄存器电路如下所示。该移位寄存器的操作是,首先,来自从FF1到FF4的电路的所有触发器都必须复位,使得像QA到QD这样的FF的所有输出将处于逻辑零电平,因此没有并行数据输出。
SIPO移位寄存器的结构如上所示。在该图中,第一触发器输出“QA”连接到第二触发器输入“DB”。第二触发器输出端‘QB’连接到第三触发器输入端DC,第三触发器输出端’QC‘连接到第四触发器输入端’DD。这里,QA、QB、QC和QD是数据输出。
最初,所有输出将变为零,因此没有CLK脉冲;所有数据将变为零。让我们举一个类似1101的4位数据输入示例。如果我们将第一个时钟脉冲“1”施加到第一个触发器,则要输入FF和QA的数据将变为“1”,并且剩余的所有输出(如QB、QC和QD)将变为零。所以第一个数据输出是“1000”
如果我们将第二个时钟脉冲作为“0”施加到第一个触发器,那么QA变为“0”,QB变为“零”,QC变为“零时”,QD变为”0“。因此,由于右移过程,第二个数据输出将变为“0100”。
如果我们将第三个时钟脉冲作为“1”施加到第一个触发器,那么QA变为“1”,QB变为“0”,QC变为“2”,QD变为”0“。因此,由于右移过程,第三个数据输出将变为“1011”。
如果我们将第四个时钟脉冲作为“1”施加到第一个触发器,那么QA变为“1”,QB变为“0”,QC变为“2”,QD变为”1“。因此,由于右移过程,第三个数据输出将变为“1101”。
SIPO移位寄存器真值表
SIPO移位寄存器的真值表如下所示。

时序图
这个SIPO移位寄存器的时序图如下所示。

这里我们使用的是一个正边缘CLK i/p信号。在第一个时钟脉冲中,输入数据变为QA=“1”,所有其他值,如QB、QC和QD变为“0”。因此,输出将变为“1000”。在第二个时钟脉冲中,输出将变为“0101”。在第三个时钟脉冲中,输出将变为“1010”,在第四个时钟脉冲中将变为“1101”。
SIPO移位寄存器Verilog代码
SIPO移位寄存器的Verilog代码如下所示。
模块sipomod(clk、clear、si、po);
输入clk、si、clear;
输出[3:0]po;
注册[3:0]tmp;
注册[3:0]po;
始终@(posedge clk)
开始
如果(清除)
tmp<=4’b0000;
其他的
tmp<=tmp<<1;
tmp[0]<=si;
po=临时;
终止
末端模块
74HC595 IC SIPO移位寄存器电路及其工作
74HC595 IC是一个8位串入并出移位寄存器,因此它串行使用输入并提供并行输出。该IC包括16个引脚,可用于不同的封装,如SOIC、DIP、TSSOP和SSOP。
74HC595的引脚配置如下所示,其中每个引脚将在下面进行讨论。
引脚1至7和15(QB至QH和QA):这些是用于连接7段显示器和LED等输出设备的o/p引脚。
引脚8(接地):该GND引脚简单地连接到微控制器的电源的GND引脚。
引脚9(QH):该引脚用于连接到不同IC的SER引脚,并向两个IC提供相同的CLK信号,以便它们像包括16个输出的单个IC一样工作。
引脚16(Vcc):此引脚用于连接微控制器,否则为电源,因为它是一个5V逻辑电平的IC。
引脚14(SER):串行i/p引脚是在该引脚中串行输入数据的位置。
引脚11(SRCLK):移位寄存器CLK引脚的工作方式与移位寄存器的CLK类似,因为CLK信号在整个引脚中给出。
引脚12(RCLK):寄存器CLK引脚用于观察连接到这些IC的设备上的o/ps。
引脚10(SRCLR):它是移位寄存器CLR引脚。这个引脚主要用于我们需要清除寄存器的存储时。
引脚13(OE):它是o/p启用引脚。一旦该引脚被设置为HIGH,则移位寄存器被设置为高阻抗条件&o/ps不被传输。如果我们把这个引脚设置为低,我们就可以得到o/ps。
74HC595 IC工作
用于控制LED的74HC595 IC的电路图如下所示。移位寄存器的3个引脚需要连接到类似于Arduino的引脚11、12和14。所有八个LED将简单地连接到该移位寄存器IC。
设计该电路所需的组件主要包括74HC595移位寄存器IC、Arduino UNO、5V电源、面包板、8个LED、1KΩ电阻器-8和连接线。

首先,移位寄存器的串行i/p引脚需要连接到Arduino Uno的引脚-4。之后,将CLK和闩锁引脚(如IC的引脚11和12)分别连接到Arduino Uno的引脚5和6。LED通过使用1KΩ的限流电阻器连接到IC的8-o/p引脚。在从Arduino提供5V电源之前,74HC595 IC使用单独的5V电源,并将公共GND连接到Arduino。
密码
激活一系列8个发光二极管的简单代码如下所示。
int插销=5;
int clkPin=6;
int数据引脚=4;
字节LED=0;
无效设置()
{
串行开始(9600);
引脚模式(插销,输出);
引脚模式(dataPin,OUTPUT);
引脚模式(clkPin,OUTPUT);
}
空心环()
{
int i=0;
LED=0;
移位LED();
延迟(500);
对于(i=0;i<8;i++)
{
位集(LED,i);
串行.println(LED);
移位LED();
延迟(500);
}
}
无效移位LED()
{
digitalWrite(锁定引脚,低电平);
shiftOut(dataPin、clkPin、MSBFIRST、LED);
digitalWrite(锁存引脚,高电平);
}
该移位寄存器电路的工作原理是,由于字节变量LED设置为零,因此最初所有8个LED都将熄灭。现在,使用“bitSet”函数将每个位设置为1,并使用“shiftOut”函数将其移出。同样,同一系列中的每个LED都将点亮。如果您想关闭LED,那么您可以使用“bitClear”功能。
74HC595移位寄存器IC用于不同的应用,如服务器、LED控制、工业控制、电子电器、网络交换机等。
应用
这个串行输入并行输出移位寄存器的应用如下所示。
- 通常,移位寄存器用于存储临时数据,用作ring&Johnson ring计数器。
- 这些用于传输数据和操作。
- 这些触发器主要用于通信线路中,因为该移位寄存器用于将数据从串行变为并行,所以需要将数据线路多路复用为多条并行线路。
- 这些用于数据加密和解密。
- 这个移位寄存器在CDMA中用于产生PN码或伪噪声序列号。
- 我们可以使用它们来跟踪我们的数据!
- SIPO移位寄存器用于各种数字应用程序中进行数据转换。
- 有时,一旦需要更多的GPIO引脚,这种类型的移位寄存器就简单地连接到微处理器。
- 这种SIPO移位寄存器的实际应用是将微处理器的输出数据提供给远程面板指示器。
因此,这是SIPO移位寄存器的概述——电路、工作、真值表和时序图及其应用。最常用的SIPO移位寄存器组件是74HC595、74LS164、74HC164/74164、SN74ALS14A、SN74AHC594、SN74AHC595和CD4094。这些寄存器使用速度非常快,数据可以很容易地从串行转换为并行,并且其设计也很简单。这里有一个问题,什么是PISO移位寄存器。