电子设计教程49:16*16LED点阵屏驱动-74HC595的原理_16*16点阵引脚-程序员宅基地

技术标签: 电子设计  

  我尝试通过移位寄存器级联+三八译码器,实现用3跟控制线,驱动16*16LED点阵屏的效果。这是第一篇博客,讲述74HC595芯片的工作原理

  一般情况下,使用单片机来控制LED。一个引脚,控制一个LED,是最直观的方法。但也是最笨的方法。引脚对于单片机来说是珍贵的资源,同样性能的芯片引脚越多,价格就越贵。然而有些外设会占用很多引脚,例如LED屏幕。理论上来讲,一个LED需要一个引脚来操作,64个LED组成8×8屏幕,就需要多达64个引脚。但聪明的工程师会节省引脚,把LED按照行列连接,形成矩阵,只需要16个引脚。如果感觉用16个引脚还是有点多的话,可以考虑使用移位寄存器级联应用电路,最少只需要3个引脚,就可以控制很多个LED,多于64个,理论上甚至无限多。

  74HC595具有1个8位移位寄存器和1个存储器,具备三态输出功能。移位寄存器和存储寄存器有相互独立的时钟。数据在移位寄存器时钟输入的上升沿输入到移位寄存器中,在存储寄存器时钟输入的上升沿输入到存储寄存器中去。移位寄存器有1个串行移位输入,和1个串行输出,还有1个异步的低电平复位,存储寄存器有1个并行8位的,具备三态的总线输出,当使能OE时(为低电平时),存储寄存器的数据输出到总线。
  很多厂家都有生产该类芯片(比如TI、NXP等),虽然都是595芯片,但名称略有区别,如74lv595、74ls595、74hc595等,除此之外,引脚名称、速度、电压、电路、输入输出电平等,也不尽相同,具体的需要参考对应的元件手册。595芯片最大的一个特点就是可以级联,最少只需要占用控制器3个IO口就可以控制很多片595。只要电路设计合理,级联上百片不成问题。想象一下如果用来驱动继电器、LED等1个引脚就能控制的设备,级联100片595,每片可以驱动8个设备,总共可以驱动800个,所占用的只是控制器3个IO口

引脚 名称 别名 电路板丝印 功能 说明
15,1-7 QA-QH Q0-Q7 并行数据输出
9 QH’ Q7S 串行数据输出 当移位寄存器内的数据溢出时,把最先存入的1bit数据从此脚挤出去。常用于级联。
10 SRCLR ‾ \overline{\text{SRCLR}} SRCLR MR ‾ \overline{\text{MR}} MR nRESET 复位 低电平有效,可以清除移位寄存器中的数据。
11 SRCLK SHCP CLOCK 移位寄存器时钟输入 上升沿时,把新的1bit数据挤入移位寄存器
12 RCLK STCP LANCH 存储寄存器时钟输入 上升沿时,把移位寄存器的8bit数据全部存入存储寄存器。
13 OE ‾ \overline{\text{OE}} OE 输出使能 低电平有效,把存储寄存器中的8bit数据输出给QA-QH
14 SER DS DI 数据串行输入 数据在此引脚上一位一位输入。
8,16 GND,VCC 地,电源

  一般情况下为了说明74HC595的工作原理,都要讲解它的真值表与时序图。但是这两者都没有体现出移位寄存器与存储寄存器的工作逻辑,并且有些信息并不实用,所以本文不讲真值表与时序图,只结合下图来讲解74HC595的工作原理,并梳理关键点。
在这里插入图片描述

  1:在SRCLK上升沿时,来自SER的数据可以存入移位寄存器。移位寄存器只有8位,如果数据溢出,溢出的数据从QH’输出(图中用空心箭头表示)。
  2:在RCLK上升沿时,移位寄存器的8位数据全部传给存储寄存器(图中用虚线表示)。此时如果OE是低电平,8位数据会并行输出。
  3:SRCLR在低电平时可以清空移位寄存器,一般只在第一次安全上电时拉低,其它时间置高。OE在低电平时允许输出,高电平输出三态。三态既不是高电平,也不是低电平,被称为高阻态。实际应用时OE常常设为低电平。
  4:假设来自于控制芯片的数据是ABCD EFGH,每个字母表示1bit数据,非0即1。那么会把高位的数字A最先存入移位寄存器,第1个数据会从QH输出,存入的第8个数据会从QA输出。

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/geek_monkey/article/details/107622452

智能推荐

php eayswoole node axios crypto-js 实现大文件分片上传复盘_cryptojs 处理文件过大-程序员宅基地

文章浏览阅读740次。1)前端侧 :前端上传文件,根据分片大小,自动计算出整个文件的分片数量,以及分片二进制文件,以及整个文件的md5值,以及分片文件md5值,传与后端,后端处理完后,根据上传分片的进度以及后端返回状态,判断整个文件是否传输完毕,完毕后,前端展示完成进度。2)后端PHP侧:后端接收前端传过来的数据,包括文件名,文件md5,分片信息,然后将分片文件信息存储到redis 有序集合中,其中key为整个文件的md5 ,待所有分片文件都上传完后,根据顺序,然后将文件整合存储,然后完成整个文件分片上传逻辑。_cryptojs 处理文件过大

VScode 编译器配置IDE环境(C/C++/Go)_vscode 配置 在ide上编译运行-程序员宅基地

文章浏览阅读4.5k次,点赞4次,收藏29次。VScode 编译器配置IDE环境(C/C++/Go)摘要VS Code 下载安装下载安装简单使用WindowsLinuxIDE 环境配置C/C++C/C++ 编译器安装及配置简单使用 VS Code 终端进行编译和运行方式使用code runner插件:Go总结摘要对于 VS Code 的使用,我本人感觉这个编译器还是很好用的,而且目前能够支持在 Windows、Linux、MacOs 上流畅运行,并且官方已经提供了 X86、ARM等主流架构版本,还很容易通过安装插件就能过实现基于 SSH 的远程代_vscode 配置 在ide上编译运行

oracle use_ntl详细解释_oracle中use_nl提示-程序员宅基地

文章浏览阅读1k次。1./*+ use_nl(t2,t) */提示走nest Loop,但是没有提示t2还是t为驱动表2./*+ ordered user_nl(t2,t) */提示走 Nest Loop,order提示的是from 后面的第一个表为驱动表.3./*+ leading(t2) use_nl(t) */直接提示t2为驱动表。结论:use_NL不能让优化器确定谁是驱动表谁是被驱动表。use_nl(t,t2)也没有指出哪个是驱动表,这时候我们就需要使用Ordered ,_oracle中use_nl提示

windows下python2.7 media模块的安装_python下载media模块-程序员宅基地

文章浏览阅读1.2k次。总共就是需要以上这些安装包(这里面python-2.7.4.msi是python的安装包)关于pygraphics的模块可以到http://code.google.com/p/pygraphics/downloads/list下载,下载时要看好针对的操作系统和python的版本号。找不到的就百度吧,最好是到官网上下载。安装步骤:下载:Python Ima_python下载media模块

MySQL表约束(2)_一个表有多少个自增和主键-程序员宅基地

文章浏览阅读1.5k次。常见面试题:主键约束VS 唯一约束1.一个表中主键约束只能有一个,而唯一约束可以有多个;2.唯一约束可以插入一个或多个NULL,而主键约束不允许插入NULL。4.外键约束(foreing key)外键用于关联其他表的主键或唯一键。语法:foreign key (字段名) references 主表(列)主表(主键)和次表(外键,关联到主表的主键上)创建一个class表设置主键:创建一个student表并设置外键和class关联:测试外键:创建两个班级12班和18班如图,此_一个表有多少个自增和主键

java迭代器(Itreator)-程序员宅基地

文章浏览阅读985次。在设计模式中有一种模式是迭代器模式,迭代器模式是提供一种方法顺序访问一个聚合对象中的各种元素,而又不暴露该对象的内部表示。所以在JDK源代码中提供了Iterator接口遍历集合中的元素。 Iterator是Java迭代器最简单的实现,在List集合中还实现了ListIterator,它可以从两个方向遍历List,也可以从List中插入和删除元素。大部分Collection集合的实现类都_itreator

随便推点

linux ssh远程登录退出,ssh登陆小技巧-用SSH 退出符切换 SSH 会话-程序员宅基地

文章浏览阅读1.7k次。用SSH 退出符切换 SSH 会话这个技巧非常实用。尤其是远程登陆到一台主机A,然后从A 登陆到B,如果希望在A 上做一些操作,还得再开一个终端,很是麻烦。当你使用ssh从本机登录到远程主机时,你可能希望切换到本地做一些操作,然后再重新回到远程主机。这个时候,你不需要中断 ssh连接,只需要按照如下步骤操作即可:当你已经登录到了远程主机时,你可能想要回到本地主机进行一些操作,然后又继续回到远程主机..._linux中ssh远程登录后如何回到原来主机

[渝粤教育] 四川农业大学 计算机网络 参考 资料_调制的信号是单一频率的载波信号吗-程序员宅基地

文章浏览阅读796次。教育-计算机网络-章节资料考试资料-四川农业大学【】随堂测验1、【单选题】以下哪一项不属于物联网的实现基础A、可穿戴设备B、RFIDC、APPD、蓝牙参考资料【 】2、【单选题】以下哪一项不是解决网络安全问题的因素A、 安全技术B、法律法规C、道德自律D、多种应用参考资料【 】电路交换随堂测验1、【单选题】以下哪一项不是电路交换的特征A、按需建立点对点信道B、数据无需携带地址信息C、点对点信道独占经过的物理链路带宽D、两两终端之间可以同时通信参考资料_调制的信号是单一频率的载波信号吗

吃透这几道MQ消息队列面试题,秒杀面试官..._mq面试题吊打面试官-程序员宅基地

文章浏览阅读450次。几种常见的MQ面试题相关视频参考(来自动力节点):https://www.bilibili.com/video/BV1Ap4y1D7tU相关资料下载:http://www.bjpowernode.com/?csdn为什么使用消息队列?其实就是问问你消息队列都有哪些使用场景,然后你项目里具体是什么场景,说说你在这个场景里用消息队列是什么?面试官问你这个问题,期望的一个回答是说,你们公司有个什么业务场景,这个业务场景有个什么技术挑战,如果不用 MQ 可能会很麻烦,但是你现在用了 MQ 之后带_mq面试题吊打面试官

《UnityAPI.Screen屏幕》(Yanlz+Unity+SteamVR+云技术+5G+AI+VR云游戏+Unity+Screen+dpi+SetResolution+立钻哥哥++OK++)_unity刷新屏幕的api-程序员宅基地

文章浏览阅读1.5k次。《UnityAPI.Screen屏幕》 Screen屏幕 版本 作者 参与者 完成日期 备注 UnityAPI_Screen_V01_1.0 严立钻 2020.09.16 ..._unity刷新屏幕的api

流媒体服务器SRS的搭建及QT下RTMP推流客户端的编写_开源srs流媒体服务器-程序员宅基地

文章浏览阅读2.4k次。本客户端基于我的博客:https://blog.csdn.net/linyibin_123/article/details/132107948 开发的播放器下新增RTMP推流。播放器可以支持软硬解码,截图、录像等功能,详细功能看该博客。本客户端支持读取文件解码后推流,也支持拉取网络流解码后进行推流。推流地址为前面搭建的RTMP流媒体服务器,推流成功后,通过VLC播放器从RTMP服务器上拉流下来播放。_开源srs流媒体服务器

crontab定时任务_subject: cron <root@izm5e7qirl0atp7pat644bz> sh /u-程序员宅基地

文章浏览阅读2.2k次。crontab是什么?crontab是一个用于设置周期性被执行的任务工具。被周期执行的任务称为CronJob周期性的任务列表称为Cron Table安装检查Crontab服务检查cron服务 - 检查Crontab工具是否安装 crontab -l - 检查crond服务是否启动:service crond status eg:检查阿帕奇服务器是否启动servi..._subject: cron sh /usr/jar/9010/logclear9010.s

推荐文章

热门文章

相关标签