74HC595秒懂

  Arduino学习过程中很多童鞋都对74HC595表示晦涩难懂,今天我就来整理一下基本功能,让童鞋们呢能快速上手!

  74HC595是一个8位串行输入、并行输出的位移缓存器。
  其本质就是 行输 (一个端口 输入)、 行输 (8个端口 输出)。
       
                               引脚图
  

74HC595共有16个引脚,按照逆时针顺序排列。(74HC595有凹陷处,可以很快区分引脚。)

先来一张引脚功能图(百度到的),让大家先了解一下引脚的功能,然后用自己的理解来解释。

自我理解:

 

  • VCC(16引脚)接Arduino5V,GND(8引脚)接ArduinoGND,没什么可说的。
  • Q0-Q7 是8位并行输出引脚。
  • DS(Data Serial) 是串行数据输入引脚,595数据来源口,一次只能输入一个位,连续输入8次,就积攒为一个字节。(通过此引脚输入数据有专用的函数shiftOut)
  • SH_CP(Shift register ClockPin)移位寄存器时钟引脚  控制移位动作 高电平触发,做一次移位

    一次移位过程过程:SH_CP LOW;

                                   DS x(0/1);

                                   SH_CP HIGH;                                                                                                                       

  • 当DS有数据输入,且Sh_CP为高电平,则触发一次移位过程。 

  •  ST_CP 并行输出控制开关   高电平触发。

  • OE 输出有效(低电平触发)--默认接GND,若接到5V上,Q0-Q7输出都是0。

  • MR 复位开关-低电平有效(默认接到GND)  

  • Q7’串行输出引脚 (若输入位数比8多,则通过此引脚连接下一个74HC595,作为下一个的DS(极连),两个595的SH_CP 和ST_CP 连接,连接方式如下图,程序中两个shiftOut就可以了。)                                                                                                          

  summary      
 因为串行转并行        需要DS和Q0-Q7
因为移位(串入)      需要SH_CP

     因为并行输出             需要ST_CP         

假如我们要输出11011101=221,此时就需要用一个函数shiftOut(DS,Sh_CP,MSBFIRST,221)

int latchPin=5;
int clockPin=4;
int dataPin=2;//这里定义了那三个脚
void setup()
{
  pinMode(latchPin,OUTPUT);
  pinMode(clockPin,OUTPUT);
  pinMode(dataPin,OUTPUT); //让三个脚都是输出状态
}
void loop()
{
   for(int a=0;a<=256;a++)//这个循环的意思是让a这个变量+1一直加到到256,每次循环都进行下面的活动
  {
       digitalWrite(latchPin,LOW); //将ST_CP口上面加低电平让芯片准备好接收数据
       shiftOut(dataPin,clockPin,MSBFIRST,a);
       /*这个就是用MSBFIRST参数让0-7个针脚以高电平输出(LSBFIRST 低电平)是dataPin的参数,
       clockPin的参数是变量a*/
       digitalWrite(latchPin,HIGH); //将ST_CP这个针脚恢复到高电平
       delay(500); //暂停1秒钟让你看到效果
}
}

 

最后,向大家推荐一个讲解74HC595视频,对大家绝对有用哦!!!

点击打开链接




 
 
  • 49
    点赞
  • 193
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值