zoukankan      html  css  js  c++  java
  • 串行移位锁存并行输出可级联器件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
  • 相关阅读:
    linux常用命令总结
    python3使用465端口发送邮件来解决阿里云封闭25端口问题
    Bamboo Django Celery定时任务和时间设置
    优秀的web端 vue框架
    将HTML5 Canvas的内容保存为图片借助toDataURL实现
    .naturalWidth 和naturalHeight属性,
    HTML5之FileReader的使用
    详解 Array.prototype.slice.call(arguments)
    在页面关闭或者刷新的时候触发 onbeforeunload
    缓存图片
  • 原文地址:https://www.cnblogs.com/ChYQ/p/5976163.html
Copyright © 2011-2022 走看看