串行移位锁存并行输出可级联器件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

 

转载于:https://www.cnblogs.com/ChYQ/p/5976163.html

表情包
插入表情
评论将由博主筛选后显示,对所有人可见 | 还能输入1000个字符
相关推荐
<p> 需要学习Windows系统YOLOv4的同学请前往《Windows版YOLOv4目标检测实战:原理与源码解析》, </p> <p> 课程链接 https://edu.csdn.net/course/detail/29865 </p> <h3> <span style="color:#3598db;">【为什么要学习这门课】</span> </h3> <p> <span>Linux</span>创始人<span>Linus Torvalds</span>有一句名言:<span>Talk is cheap. Show me the code. </span><strong><span style="color:#ba372a;">冗谈不够,放码过来!</span></strong> </p> <p> <span> </span>代码阅读是从基础到提高的必由之路。尤其对深度学习,许多框架隐藏了神经网络底层的实现,只能在上层调包使用,对其内部原理很难认识清晰,不利于进一步优化和创新。 </p> <p> YOLOv4是最近推出的基于深度学习的端到端实时目标检测方法。 </p> <p> YOLOv4的实现darknet是使用C语言开发的轻型开源深度学习框架,依赖少,可移植性好,可以作为很好的代码阅读案例,让我们深入探究其实现原理。 </p> <h3> <span style="color:#3598db;">【课程内容与收获】</span> </h3> <p> 本课程将解析YOLOv4的实现原理和源码,具体内容包括: </p> <p> - YOLOv4目标检测原理<br /> - 神经网络及darknet的C语言实现,尤其是反向传播的梯度求解和误差计算<br /> - 代码阅读工具及方法<br /> - 深度学习计算的利器:BLAS和GEMM<br /> - GPU的CUDA编程方法及在darknet的应用<br /> - YOLOv4的程序流程 </p> <p> - YOLOv4各层及关键技术的源码解析 </p> <p> 本课程将提供注释后的darknet的源码程序文件。 </p> <h3> <strong><span style="color:#3598db;">【相关课程】</span></strong> </h3> <p> 除本课程《YOLOv4目标检测:原理与源码解析》外,本人推出了有关YOLOv4目标检测的系列课程,包括: </p> <p> 《YOLOv4目标检测实战:训练自己的数据集》 </p> <p> 《YOLOv4-tiny目标检测实战:训练自己的数据集》 </p> <p> 《YOLOv4目标检测实战:人脸口罩佩戴检测》<br /> 《YOLOv4目标检测实战:中国交通标志识别》 </p> <p> 建议先学习一门YOLOv4实战课程,对YOLOv4的使用方法了解以后再学习本课程。 </p> <h3> <span style="color:#3598db;">【YOLOv4网络模型架构图】</span> </h3> <p> 下图由白勇老师绘制 </p> <p> <img alt="" src="https://img-bss.csdnimg.cn/202006291526195469.jpg" /> </p> <p>   </p> <p> <img alt="" src="https://img-bss.csdnimg.cn/202007011518185782.jpg" /> </p>
©️2020 CSDN 皮肤主题: 编程工作室 设计师:CSDN官方博客 返回首页