友情提示:380元/半年,儿童学编程,就上码丁实验室。
74HC595实验
产品介绍
74HC595是一个8位串行输入、并行输出的位移缓存器:并行输出为三态输出。在SCK 的上升沿,串行数据由SDL输入到内部的8位位移缓存器,并由Q7′输出,而并行输出则是在LCK的上升沿将在8位位移缓存器的数据存入到8位并行输出缓存器。当串行数据输入端OE的控制信号为低使能时,并行输出端的输出值等于并行输出缓存器所存储的值。而当OE为高电位,也就是输出关闭时,并行输出端会维持在高阻抗状态。
引脚说明:
符号 |
引脚 |
描述 |
||
Q0–Q7 |
第15脚,第1-7脚 |
8位并行数据输出 |
||
GND |
8脚 |
地 |
||
Q7′ |
第9脚 |
串行数据输出 |
||
MR |
第10脚 |
主复位(低电平) |
||
SHCP |
第11脚 |
数据输入时钟线 |
||
STCP |
第12脚 |
输出存储器锁存时钟线 |
||
OE |
|
输出有效(低电平) |
||
DS |
第14脚 |
|
||
VCC |
|
|
真值表:
输入 |
输出 |
功能 |
|||||
SHCP |
STCP |
OE |
MR |
DS |
Q7’ |
QN |
|
* |
* |
L |
L |
* |
L |
NC |
MR为低电平时仅仅影响移位寄存器 |
* |
↑ |
L |
L |
* |
L |
L |
空移位寄存器到输出寄存器 |
* |
* |
H |
L |
* |
L |
Z |
清空移位寄存器,并行输出为高阻状态 |
↑ |
* |
L |
H |
H |
Q6 |
NC |
逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入 |
* |
↑ |
L |
H |
* |
NC |
QN’ |
移位寄存器的内容到达保持寄存器并从并口输出 |
↑ |
↑ |
L |
H |
* |
Q6’ |
QN’ |
移位寄存器内容移入,先前的移位寄存器的内容到达保持寄存器并出 |
注:H=高电平状态
L=低电平状态
↑=上升沿
↓=下降沿
Z=高阻态
NC=无变化
*=无关系
当MR为高电平,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口,OE为使能端,低电平有效,当OE为低时,输出使能,为高关闭使能,并不影响其他输入端。
注意:74HC595的OE脚,要连接GND.
■ 74HC595直插芯片:1 个
米思齐代码:
Arduino代码:
//Pin connected to ST_CP of74HC595
int latchPin = 8;
//Pin connected to SH_CP of74HC595
int clockPin = 12;
////Pin connected to DS of74HC595
int dataPin = 11;
void setup() {
//set pins to output becausethey are addressed in the main loop
pinMode(latchPin, OUTPUT);
pinMode(clockPin, OUTPUT);
pinMode(dataPin, OUTPUT);
}
void loop() {
//count up routine
for (int j = 0; j < 256;j++) {
//ground latchPin and hold lowfor as long as you are transmitting
digitalWrite(latchPin, LOW);
shiftOut(dataPin, clockPin,LSBFIRST, j);
//return the latch pin high tosignal chip that it
//no longer needs to listen forinformation
digitalWrite(latchPin, HIGH);
delay(1000);
}
}
实验结论
八个小灯对应八位二进制00000000,上电后小灯从00000001每次加1至最终全亮11111111.之后复位,重复之前的效果。
转自公众号:
29号造物吧