串行移位锁存并行输出可级联器件74HC595

一、背景
        老同学今天突然咨询关于74HC595,自己没用过,同学说可以级联10级!10级?我艹,这么叼,级联又是
    什么鬼,这勾起了我极大兴趣,二话不说,手册down下来研究,并在此做个记录。

二、正文
        74HC595为1个8位串行移位输入寄存器带1个存储寄存器,并可8位带锁存并行输出。串行移位输入寄存器
    和存储寄存器分别有独自的时钟输入控制端。此设备可级联多级,从而实现多路IO输出控制。
    
        以下为74HC595引脚说明:
        > Q7S   (PIN9)  serial data output    (串行输出)
        > MR    (PIN10) master reset (active LOW) (主机复位,低有效)
        > SHCP  (PIN11) shift register clock input (移位寄存器时钟输入)
        > STCP  (PIN12) storage register clock input (存储寄存器时钟输入)
        > OE    (PIN13) output enable input (active LOW) (输出使能输入端,低有效)
        > DS    (PIN14) serial data input (串行数据输入)
        > Q0~Q7 (PIN)    parallel data output 0~7(8位并行数据输出)
        > VCC
        > GND
    
        < VCC与GND无需多言。
        < DS为串行数据输入。
        < SHCP为串行移位时钟,当其为上升沿时,DS上的电平状态会被写入移位寄存器的最低位,移位寄存器
    的值会整体向高位移一位。
        < STCP为存储寄存器时钟输入(正确理解为锁存脚),当其为高电平时,移位寄存器的值被保存在了存
    储寄存器,并且存储器的值被锁存在了IO口。
        < MR为复位脚,当其为低电平时,存储寄存器的值会被清零。
        < OE为输出使能脚,当其为高电平时,8位并行输出可以输出电平,若是为低电平,则不可以输出。
        < Q7S为串行输出脚,作为级联之用,其通常连接至下一级74HC595的DS端。当第一级8位移位寄存器移
    满了之后,再有新的DS需要移位时,则第一级的Q7位会通过Q7S移动到下一级74HC595的DS端,这样就实现了
    级联功能。

    对74HC595实际使用举个例子:
        某项目单片机需要控制多达10个甚至更多的数码显示管。如果用扫描式的方法进行点亮数码管的话,那
    么数码管的亮度会非常暗。原因在于,假设一个数码管是20mA可以让其亮度很高的话,以1s为一个周期,若
    只有1个数码管,则1s这个数码管都在亮,若是10个的话,那么每个数码管会亮100ms,灭900ms,相当于每个
    数码管的平均电流只剩下2mA,导致的结果既是数码管会很暗。这个时候74HC595,就可以发挥作用了。级联十
   个,然后按照计算好的数据移位进去,最后使能输出引脚,锁存输出就可10个数码管一起显示了。 三、参考文献 在研究74HC595的时候,两篇关于74HC595级联和使用的文章写的很详细,链接如下: Introduction to 74HC595 shift register – Controlling
16 LEDs http://www.protostack.com/blog/2010/05/introduction-to-74hc595-shift-register-controlling-16-leds/ How to Cascade Shift Registers http://www.learningaboutelectronics.com/Articles/Cascade-shift-registers.php 至此,记录完毕。 记录时间:2016-10-19 记录地点:深圳WZ

 

posted @ 2016-10-19 10:02  Ch_Y_Q  阅读(2457)  评论(0编辑  收藏  举报