AiBOM
首页 > 文章 > 74HC595 > 【C51】单片机芯片之——图解74HC595
为您找到相关搜索
NXP  74HC595N  移位寄存器, 串行至并行、串行至串行, 1元件, DIP, 16 引脚, 2 V, 6 V
恩智浦半导体(NXP Semiconductors)是全球前十大半导体公司,成立于2006年(前身为皇家飞利浦公司的事业部之一) ,先前由飞利浦于50多年前所创立,公司位于荷兰Eindhoven. NXP拥有50年以上的半导体经验,在全球20多个国家拥有37000名员工(欧洲37%、亚洲37%、大中国区21%、美洲5%),2007年公布的销售额达63亿美元。 NXP主要产品有:汽车工业用 5V CMOS 逻辑产品;汽车车内网络汽车音响数字信号处理器;电子护照中非接触式识别技术;数字无线芯片移动设备用 FM 收音机芯片;GSM/GPRS/EDGE 系统解决方案;接口产品移动扬声器系统;NFC 近距离无线通信;PC TV 芯片有线电视与卫星调谐器用 RF 产品;大众运输电子票务系统用RFID;汽车防盗器与非钥匙遥控门锁用系统解决方案;电视芯片 USB等。其产品技术与解决方案应用于以下五个市场领域:汽车电子、智能识别、家庭娱乐、手机及个人移动通信以及多重市场半导体,进而建立各大市场中的领导地位。 NXP主要业务有:提供半导体、系统解决方案和软件,为手机、个人媒体播放器、电视、机顶盒、识别应用、汽车以及其他广泛的电子设备提供更优质的感官体验。2006年11月16日NXP半导体正式宣布将以“恩智浦半导体”为其中文品牌名称,在大中华地区进行相关的市场营销与运营活动。除原有的英文品牌名NXP之外, 恩智浦半导体希望借此进一步其新品牌与大中华地区客户的沟通, 进而提升品牌知名度。
查看详情
在数字电路中,移位寄存器(英语:Shift Register)是一种在若干相同时间脉冲下工作的以触发器为基础的器件,数据以并行或串行的方式输入到该器件中,然后每个时间脉冲依次向左或右移动一个比特,在输出端进行输出。这种移位寄存器是一维的,事实上还有多维的移位寄存器,即输入、输出的数据本身就是一些列位。实现这种多维移位寄存器的方法可以是将几个具有相同位数的移位寄存器并联起来。
查看详情
热门推荐
74HC595引脚图和真值表
74HC595引脚图和真值表
元器件的Datasheet PDF数据手册如何阅读?如何快速掌握产品引脚图及功能等关键信息?
元器件的Datasheet PDF数据手册如何阅读?如何快速掌握产品引脚图及功能等关键信息?
TL494是什么芯片?TL494 工作原理及典型电路,十分钟带你快速搞懂TL494
TL494是什么芯片?TL494 工作原理及典型电路,十分钟带你快速搞懂TL494

【C51】单片机芯片之——图解74HC595

lulipro 2020-08-28 11:43 538次阅读 74HC595

引脚图

 引脚图


 

14脚:DS(SER),串行数据输入引脚

13脚:OE,  输出使能控制脚,它是低电才使能输出,所以接GND

12脚:RCK,存储寄存器时钟输入引脚。上升沿时,数据从移位寄存器转存带存储寄存器。

11脚:SCK,移位寄存器时钟引脚,上升沿时,移位寄存器中的bit 数据整体后移,并接受新的bit(从SER输入)。

10脚:MR,低电平时,清空移位寄存器中已有的bit数据,一般不用,接 高电平即可。

9 脚 :串行数据出口引脚。当移位寄存器中的数据多于8bit时,会把已有的bit“挤出去”,就是从这里出去的。用于595的级联。

Qx:并行输出引脚

 

使用参数

VCC:2V~6V,5V最好

I Qn:+- 35mA

 

注意

始终记住,对595,最先从SER进去的bit,会从Q7(QH)出去,而最后从SER进入的bit,从Q0(QA)出去。



74HC595介绍

一张图片和一段文字,哪种信息传递方式给人的第一视觉冲击是最大的?我想大家心中都有答案。

这也是我文章标题的来由。废话就到这里,下面我就用图片来分析595这个chip。

 

74HC595的最重要的功能就是:串行输入,并行输出。3态高速位移寄存器(好腻害的说)

595里面有2个8位寄存器:移位寄存器、存储寄存器

 

移位寄存器

在我看来,74HC595的移位寄存器工作方式就像shou qiang弹夹。但是子弹的发射(移位寄存器中的数据转储到存储寄存器),又像是【散x弹】(因为是并行输出嘛)

 

为什么说和弹夹很像呢?

1、串行输入,已进入的位数据依次下移(所以叫移位寄存器)         |     子弹也是一颗一颗上的,先上的子弹,被后上的慢慢往下压。

2、第一个输入的位,是并行输出的最后一个位                          |     最先进入弹夹的子弹,最后射出。

 

 

74HC595的引脚图


74HC595的引脚图

14脚:DS,又叫SER  英文全称是:Serial data input ,顾名思义,就是串行数据输入口。

595的数据来源只有这一个口,一次只能输入一个位,那么连续输入8次,就可以积攒为一个字节了。

 

假如,我们要将二进制数据0111 1111 输入到595的移位寄存器中,下面来上一张动态图,模拟了前2个位输入的情景。


移位

这个图有7帧,做了很久,毕竟不是做美工的。可谓术业有专攻,闻道有先后啊,还是要虚心学习 :)

 

0111 1111 这个数据完全输入后是这样的


移位

我们还要注意一个脚:11脚,(shift register clock input)  移位寄存器时钟引脚。上升沿有效。

首先我们要介绍这个引脚的作用。

我们知道51单片机的工作离不开晶振,他使CPU的工作步调稳定有序,就像跑步时喊1,2,1的那个人。

那么这里的位移寄存器时钟也是同样的道理,当一个新的位数据要进来时,已经进入的位数据就在移位寄存器时钟脉冲的控制下,整体后移,让出位置。

上升沿:电平从低到高的那个过程。移位寄存器时钟在上升沿这个过程中才起作用。


时钟沿

 


存储寄存器

到这里我们已经大致讲了怎么上子弹,也把子弹上齐了。下面来将怎么将子弹打出去,也就是怎么将移位寄存器的数据转移到存储寄存器

存储寄存器是直接和8个输出引脚相通的,将移位寄存器的数据转移到存储寄存器后,Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 就可以接受带到我们

开始输入的一个字节的数据。所谓存储寄存器,就是数据可以存在这个寄存器中,并不会随着一次输出就消失,只要595不断电,也没有新 的

数据从移位寄存器中过来,数据就一直不变且有效。新的数据过来后,存储寄存器中的数据就会被覆盖更新。

 

12脚: (storage register clock input )  存储寄存器时钟

数据从位移寄存器转移到存储寄存器,也是需要时钟脉冲驱动的,这就是12脚的作用。它也是上升沿有效。


 存储寄存器

 

自此,我们已经讲解了一个595正常情况下的工作流程,下面写一个程序,让8个LED保持 亮暗亮暗.... 间隔的效果。

Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7   分别接  8个LED正极

14脚SER 接 单片机P3.4

11脚SCK 接 单片机P3.6

12脚RCK接  单片机P3.5

13脚OE接GND

10脚MR接VCC

9脚闲置不接


#include<reg51.h>

#include<intrins.h>


typedef unsigned char uchar;

typedef unsigned int uint;


/**********函数声明********************/

void SendTo595(uchar byteData);

/***********************************/


sbit SER = P3^4;    //p3.4脚控制串行数据输入

sbit SCK = P3^6;    //串行输入时钟

sbit RCK = P3^5;    //存储寄存器时钟



void main()

{


       SendTo595(85);  //85的二进制:0101 0101

       

       while(1);



}


//功能:发送一个字节的数据给595,再并行输出

void SendTo595(uchar byteData)

{

   char i=0;

    for(;i<8;i++)

   {

           SER = byteData>>7;         //大家自己考量这2句

        byteData= byteData<<1;      


          SCK = 1;          //上升沿,让串行输入时钟变为高电平,并延时2个时钟周期

        _nop_();

        _nop_();


        SCK = 0;          //变为低电平,为下次准备

   }  

   

   /*位移寄存器数据准备完毕,转移到存储寄存器*/

   RCK = 1;         //上升沿,让存储寄存器时钟变为高电平,并延时2个时钟周期

   _nop_();

   _nop_();

   RCK = 0; 


}


扩展提升

见识到595的厉害了吧。138译码器通过3个输入口控制8个输出口,而且还只能是特定的8个输出值,

而595只用了一个输入口就可以输任意的8位数据。可谓短小精悍。

啥?你觉的1位控制8位输出还不够?让你的595串联起来吧!打造成加特林机关枪。

 

在上面的程序中用到的9脚,没用起作用,如果要让2个595串联起来的话,就需要它了。

想一下,我们将移位寄存器的8个位填满后,再往移位寄存器中塞一个会怎么样?也许你想到了。

对!移位寄存器的最后一个位数据会被挤出去,从哪里出去?就是从9脚输出的。如果我们把第一个595的

9脚连接到第二个的串行数据输入脚SER,那么,就形成了595的级联。这样,如果我们用2个595组合成了一个新的超级595,

这个草鸡595的移位寄存器和存储寄存器的容量都翻倍了,1口控制16口,有木有!你还可以继续级联下去!

 

最后还遗留2个 595 的脚没说

13脚OE  输出使能控制脚,如果它不工作,那么595的输出就是高阻态,595就不受我们程序控制了,这显然违背我们的意愿。

OE的上面画了一条线,表示他是低电平有效。于是我们将他接GND。

 

10脚MR ,位移寄存器清空脚,他的作用就是将位移寄存器中的数据全部清空,这个很少用到,所以我们一般不让他起作用,他

也是低电平有效,于是我们给他接VCC。

温馨提示:本文由网友投稿,经网站编辑整理发布,转载请注明出处和本文链接,如有侵犯您的权益,请及时与我们联系,我们将核实情况后进行相关处理!
相关推荐
74HC595引脚图和真值表
74HC595引脚图和真值表
74HC595具有输出锁存器的8位串行输入,串行或并行输出寄存器,3状态。
74HC595 / 引脚图 1209
74HC595控制8位数码管 51单片机
74HC595控制8位数码管 51单片机
74HC595是8位串行移位寄存器,亦能串行输出控制下一级级联芯片。关于级联、595芯片具体我就不多介绍,大家自己查吧!下面直接贴代码
74HC595 407
关注

关注采芯网

回复型号,查元件信息

采芯网 FindIC 用户意见反馈
问题类型
网站页面问题或建议
数据问题或错误
元器件采购询价
其他
意见建议
联系方式
反馈和联系