74hc595模块参考

74hc595模块参考

8位串行并行输出(SIPO)移位寄存器

使用74HC595移位寄存器扩展微控制器上的输出引脚数量。如果你需要扩充输入引脚的数量那么你需要74HC165移位寄存器。

SER(串行输入)引脚用于一次一位地将数据发送到移位寄存器。

SRCLK(移位寄存器时钟)是移位寄存器的时钟,并且是上升沿触发的。这意味着这些位是在时钟的上升沿压入的。

RCLK(寄存器时钟/锁存器)是一个非常重要的引脚。当该引脚拉高时,移位寄存器的内容被复制到存储/锁存寄存器中,最终出现在输出处。因此,锁存引脚可以被视为我们在输出端看到结果之前的最后一步。

SRCLR(移位寄存器清零)引脚允许我们重置整个移位寄存器,将所有位设置为零。因为这是一个低电平有效引脚,所以我们必须将 SRCLR 引脚拉低以执行复位。

OE(输出使能)也是一个低电平有效引脚:拉高电平时,输出引脚被禁用(设置为高阻抗状态)。当它被拉低时,输出引脚正常工作。

QA--QH(输出启用)是输出引脚。

引脚名称

Pin 描述
DS 串行输入
SHCP 串行时钟
STCP 锁存引脚
OE 输出使能,低有效。如果不使用,请连接到GND。
Q0...Q7 并行输出
Q7S 串行输出*
MR 复位(清除),低有效。如果不使用,请连接到VCC
GND 接地
VCC 接电源

* 使用Q7S将多个74HC595单元连接在一起。将Q7S连接到链中的下一个74HC595芯片的DS引脚。

在Arduino中使用

您需要将至少3个引脚连接到微控制器:DS、SHCP和STCP。

OE引脚可用于禁用移位寄存器的输出。如果您需要该功能,请将其连接到您的微控制器。否则,将其连接到地面以永久启用输出。

移位寄存器的输出引脚Q0到Q7,通常连接到LED或7段数码显示器。

以下代码示例假设您将DS连接到Arduino引脚2,SHCP连接到Arduino引脚3,并且STCP到Arduino的4号引脚。它输出一个8位的数,该数每秒翻转两次:

复制代码
const int dataPin = 2;   /* DS */
const int clockPin = 3;  /* SHCP */
const int latchPin = 4;  /* STCP */

void setup() {
  pinMode(dataPin, OUTPUT);
  pinMode(clockPin, OUTPUT);
  pinMode(latchPin, OUTPUT);
}

int pattern = 0b10101010;
void loop() {
  digitalWrite(latchPin, LOW);
  shiftOut(dataPin, clockPin, LSBFIRST, pattern);
  digitalWrite(latchPin, HIGH);
  delay(500);
  pattern = ~pattern; // Invert the pattern
}
相关推荐
崇山峻岭之间2 小时前
HC32F460PETB的PB2的Vout123
单片机
恶魔泡泡糖2 小时前
stm32F103C8T6标准库串口接收之中断方式2
stm32·单片机·嵌入式硬件
充哥单片机设计2 小时前
【STM32开源项目】智能小区充电桩
stm32·单片机·嵌入式硬件·毕业设计·小区充电桩·智能小区充电桩
嵌入式-老费3 小时前
esp32开发与应用(如何解决SoC冷启动的问题)
单片机·嵌入式硬件
充哥单片机设计4 小时前
【STM32开源项目】智能语音台灯
stm32·单片机·嵌入式硬件·毕业设计·单片机设计·智能语音台灯
EatFan5 小时前
全栈自造 Status Deck(四):硬件终于到了,从点亮屏幕到跑通第一个 Demo
单片机·物联网·esp32
sunoo-2296 小时前
【嵌入式裸机开发Day04】i.MX6ULL 蜂鸣器驱动详解:从引脚地址查找到代码实现全流程
arm开发·单片机·嵌入式硬件·学习·串口·裸机
Brilliantwxx6 小时前
【STM32】 SPI阻塞式通信与HAL源码 (源码分析)
stm32·单片机·嵌入式硬件
Doraemomo6 小时前
IMX6ULL裸机开发——PWM
arm开发·嵌入式硬件·imx6ull
老当益壮梁奶奶7 小时前
ARM汇编学习笔记(五):从按键轮询到 GIC 中断控制器(ARM Cortex-A7 )
arm开发·笔记·单片机·嵌入式硬件