树莓派论坛

 找回密码
 立即注册

使用8位移位寄存器74HC595扩展树莓派的IO端口(转载)

树老大 发表于 2013-7-27 23:07:20 | 显示全部楼层 |阅读模式

树莓派的GPIO接口数目有限,驱动一个步进电机需要占用4个, 一个Nokia 5110液晶也要占4个, 传感器输入至少需要一个,多玩几个外设后接口就不够用了。如果接口可以复用就可以让树莓派驱动更多的外设了,本文讨论如何使用74HC595集成电路芯片来扩展树莓派的I/O接口。

芯片介绍

SN74HC595N是德州仪器公司生产的集成电路芯片,是一个8位串行输入变串行输出或并行输出移位寄存器,具有高阻关断,高电平和低电平三态输出。在IO扩充上,可以最多串联15片,也就是高达120个IO扩充。


(注意到芯片上的小凹槽了吗,拿芯片的时候以这个为参考物就不会搞反了)

接口的常用命名方式有以下两种:


控制流程
如果要在8个引脚输出01010101
1、将Pin 14(DS, SER)置为高电平(1);
2、将Pin 11 (SH_CP, SRCLK))做高低电平切换,形成一个脉冲信号,这个信号会将数据从移位寄存器C1移动到下一个移位寄存器C2,。。。
3、接着将Pin 14设为低电平(0),再将Pin 11做1->0的脉冲变化,将数据继续往下移,依次类推直到8位都输入完成;
4、将Pin 12(ST_CP, RCLK)做1->0的脉冲,将8位数据一次并行输出。

如果要串联多片,由上一片的Pin 9接到下一片的Pin 14即可,这样输入16 bit后,再向Pin 12输入一个1->0的脉冲,16 bit会并行输出。
如果要一次清除所有数据,将Pin 10设为低电平后,再向Pin 12输入一个1->0的脉冲即可;
Pin 13还有高阻关断的第三态输出功能。
下面我们使用一片74HC595来同时控制8个发光二极管的状态,只需要占用树莓派的3个GPIO;否则的话,则需要占用8个。如果需要同时控制16个发光二极管,则可以通过串联两个74HC595来实现。

材料

引脚连接

游客,如果您要查看本帖隐藏内容请回复



树老大  楼主| 发表于 2014-5-29 16:50:05 | 显示全部楼层
沙发自己的。
hunter0619 发表于 2014-6-1 23:06:28 | 显示全部楼层
谢谢楼主的无私奉献!!!!!!
andyspider 发表于 2014-6-2 12:46:43 | 显示全部楼层
感谢楼主的讲解,看看!
jjzhujin 发表于 2014-6-12 11:50:49 | 显示全部楼层
学习中。。。。。。。。。。。
聂明 发表于 2014-6-13 15:16:44 | 显示全部楼层
是的法规和南京美克股份
wjzc2006 发表于 2014-6-18 12:09:31 | 显示全部楼层
学习一下。
szgongteng123 发表于 2014-7-10 10:37:38 | 显示全部楼层
轻松飘过~~~~~~~~~~~~~~~~
mlzxgzy 发表于 2014-8-31 19:31:45 | 显示全部楼层
三克油
lqf1206 发表于 2014-8-31 19:35:00 | 显示全部楼层
这样啊,学习了…………
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版 | Archiver | 树莓派论坛 ( 粤ICP备15075382号-1 )