美文网首页Arduino 专题学习
项目7(任务5)74HC595的引脚及其功能

项目7(任务5)74HC595的引脚及其功能

作者: 0207_林文静 | 来源:发表于2019-06-14 16:30 被阅读16次

    项目7(任务5)74HC595的引脚及其功能

    我们都有Arduino NANO了,为什么还要用74HC595?

    扩展输出用!

    拓展输出是什么?

    以Arduino Uno为例,它的0-13号口可以接LED灯,13号口自己带一个灯,但一般来说Arduino的0和1号口是串口通信不接灯,只有2-13号口是接灯的,也就是有12个口可以接灯。但假如想要接20个LED灯怎么办呢?这个时候就要拓展输出。

    今天给大家介绍一种常用于拓展数字输出的芯片74HC595,它是一款漏极开路输出的CMOS移位寄存器,输出端口为可控的三态输出端,亦能串行输出控制下一级级联芯片。

    74HC595的作用就是把串行的信号转为并行的信号,常用在各种数码管以及点阵屏的驱动芯片,使用74HC595可以节约单片机的I/O口资源,用3个I/O就可以控制8个数码管的引脚,它还具有一定的驱动能力,可以免掉三极管等放大电路,所以这块芯片是驱动数码管的神器,应用非常广泛。

    1.特点:串入并出

    74HC595的最重要的功能就是:串行输入,并行输出。

    74HC595具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。

    数据在SH_CP的上升沿输入,在ST_CP的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能 OE时(为低电平),存储寄存器的数据输出到总线。

                                                                74hc595引脚图

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

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

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

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

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

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

    Qx:并行输出引脚。

                                                            74HC595引脚功能

                                                              74hc595真值表

                                                             74HC595内部结构图

    其中,shift register为移位寄存器,latch为锁存器。

    移位寄存器

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

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

    这里要注意一个引脚,11脚,(shift registerclock input)  移位寄存器时钟引脚。上升沿有效。

    存储寄存器

    存储器是直接和8个输出引脚相通的,将移位寄存器的数据转移到存储寄存器后,Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7 就可以接受到开始输入的一个字节的数据。所谓存储器,就是数据可以存在这个寄存器中,并不会随着一次输出就消失,只要74HC595不断电,也没有新的数据从移位寄存器中过来,数据就一直不变且有效。新的数据过来后,存储寄存器中的数据就会被覆盖更新。

    这里要注意的是12脚:(storage register clock input ) 存储寄存器时钟。数据从位移寄存器转移到存储寄存器,也是需要时钟脉冲驱动的,这就是12脚的作用。它也是上升沿有效。

    2.74HC595具体使用步骤

    第一步:目的:将要准备输入的位数据移入74HC595数据输入端上。

    方法:送位数据到_595。

    第二步:目的:将位数据逐位移入74HC595,即数据串入

    方法:SH_CP产生一上升沿,将DS上的数据移入74HC595移位寄存器中,先送低位,后送高位。

    第三步:目的:并行输出数据。即数据并出

    方法:ST_CP产生一上升沿,将由DS上已移入数据寄存器中的数据送入到输出锁存器。

    说明: 从上可分析:从SH_CP产生一上升沿(移入数据)和ST_CP产生一上升沿(输出数据)是二个独立过程,实际应用时互不干扰。即可输出数据的 同时移入数据。

    3.74HC595程序

    sbit SI_595=P2^0;

    sbit RCK_595=P2^2;

    sbit SCK_595=P2^1;

    void HC595SendData(unsigned char SendVal)//发送数据

    {

    unsigned char i;

    for(i=0;i<8;i++)

    {

    if((SendVal<

    else SI_595=0;

    SCK_595=0;//从SCK_595产生一上升沿(移入数据)

    _nop_();

    _nop_();

    SCK_595=1;

    }

    }

    void HC595ShowData()//RCK_595产生一上升沿(输出数据)

    {

    RCK_595=0;

    _nop_();

    _nop_();

    RCK_595=1;

    }

    相关文章

      网友评论

        本文标题:项目7(任务5)74HC595的引脚及其功能

        本文链接:https://www.haomeiwen.com/subject/lkepfctx.html