描述
74HC595
8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态。三态。
将串行输入的8位数字,转变为并行输出的8位数字,例如控制一个8位数码管,将不会有闪烁。
编辑本段特点
8位串行输入 /8位串行或并行输出 存储状态寄存器,三种状态
输出寄存器(三态输出:就是具有高电平、低电平和高阻抗三种输出状态的门电路。)可以直接清除 100MHz的移位频率
编辑本段输出能力
并行输出,总线驱动; 串行输出;标准中等规模集成电路
595移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
参考数据
Cpd决定动态的能耗,
Pd=Cpd×VCC×f1+∑(CL×VCC^2×f0)
F1=输入频率,CL=输出电容 f0=输出频率(MHz) Vcc=电源电压
编辑本段引脚说明
符号 引脚 描述
Q0…Q7 8位并行数据输出,其中Q0为第15脚
GND 第8脚 地
Q7’ 第9脚 串行数据输出
MR 第10脚 主复位(低电平)
SHCP 第11脚 移位寄存器时钟输入
STCP 第12脚 存储寄存器时钟输入
OE 第13脚 输出有效(低电平)
DS 第14脚 串行数据输入
VCC 第16脚 电源
编辑本段功能表
输入
|
输出
|
功能
|
|||||
SHCP
|
STCP
|
OE
|
MR
|
DS
|
Q7’
|
Qn
|
|
×
|
×
|
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为高电平,OE为低电平时,数据在SHCP上升沿进入移位寄存器,在STCP上升沿输出到并行端口。
真值表
#define u8 unsigned char
#define u16 unsigned int
sbit MR=P1^6; //寄存器清0,避免数据错位
sbit RCK=P1^5; //并行输出时钟
sbit DS=P1^4; //数据线
sbit CLK=P1^3; //移位输入时钟
void writ_595(u8 dat)
{
u8 i;
MR=0; //寄存器清0,避免数据错位
MR=1;
for(i=0;i<8;i++)
{
CLK=0;
if((dat&0x80) == 0x80)
DS = 1; //串行数据输入
else
DS = 0;
CLK=1; //移位输入时钟,上升沿输入
dat<<=1;
}
RCK=0; //并行输出时钟
RCK=1;
}
该子函数可以直接调用,比如writ_595(0xfe);Q0-Q7脚则输出对应的二进制码