首页 > 其他分享 >电子设计教程49:16*16LED点阵屏驱动-74HC595的原理

电子设计教程49:16*16LED点阵屏驱动-74HC595的原理

时间:2023-01-11 17:33:01浏览次数:53  
标签:输出 16LED 引脚 数据 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

nRESET

复位

低电平有效,可以清除移位寄存器中的数据。

11

SRCLK

SHCP

CLOCK

移位寄存器时钟输入

上升沿时,把新的1bit数据挤入移位寄存器

12

RCLK

STCP

LANCH

存储寄存器时钟输入

上升沿时,把移位寄存器的8bit数据全部存入存储寄存器。

13

输出使能

低电平有效,把存储寄存器中的8bit数据输出给QA-QH

14

SER

DS

DI

数据串行输入

数据在此引脚上一位一位输入。

8,16

GND,VCC

地,电源

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

电子设计教程49:16*16LED点阵屏驱动-74HC595的原理_引脚_04

  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输出。


标签:输出,16LED,引脚,数据,16,低电平,寄存器,电子设计,移位
From: https://blog.51cto.com/u_12001544/6002434

相关文章

  • 电子设计教程48:流水灯电路-完整电路设计
      产生脉冲的环节中,限流电阻设置为阻值可调的电位器,可以大幅度改变脉冲的频率。按键K2可以产生手动的脉冲,拨动开关SW2可以选择是自动产生脉冲,还是手动产生脉冲。LED2可以......
  • 电子设计教程47:流水灯电路-74HC245驱动器
      上一节提到,如果想控制多于8个LED,74HC164就有点带不动了,就需要接功率更大的芯片了。这个芯片的功能是输入较小的电流,输出较大的电流,这种芯片被称为是驱动器。一般常用74H......
  • 电子设计教程27:运放的几个常用参数
      关于运放的参数很多,常用的却没几个。本文讲一下个人对输入失调电压、共模抑制比、轨至轨的理解。  在运放开环使用的时候,两个输入端都接地,理论上输出端应该为0V,但实......
  • 极光笔记 | 如何为 iOS 16 创建一个实时活动
    01、iOS16中的LiveActivity(实时活动)是什么?​根据Apple官方描述,“实时活动是一项新功能,可帮助用户直接从锁定屏幕实时获知各种事情的进展,例如体育比赛、锻炼、拼车或......
  • Windows Server 2016离线安装.NET Framework 3.5
    安装方法:1、下载NetFx3.cab后将其放于C盘WINDOWS文件夹下(C:\Windows)2、点击“开始”找到“WindowsPowerShell”右击“以管理员身份运行”,输入如下命令:dism.exe/onlin......
  • 电子设计教程46:流水灯电路-74HC164串入并出芯片
      电路中已经有了74HC165,并入串出,获取几个拨码开关的状态,还需要一个串入并出的芯片,来控制几个LED。74HC164芯片与74HC165相对应,可以实现串入并出的功能。  它有两个串......
  • 电子设计教程45:流水灯电路-74HC165并入串出芯片
      流水灯电路用拨码开关来控制某个LED亮灭,但是又不想让开关与LED一一对应,因为对应的太死,就没办法实现流水的效果。可以先用一个“并入串出”芯片,获取所有拨码开关的状态,再......
  • 电子设计教程44:流水灯电路-应用74HC14施密特反相器
      上一节的非对称式多谐振荡器,要用反相器产生,本节电路做了一些优化,使用带有施密特功能的反向触发器。关于施密特触发器的知识,可以翻看滞回比较器这一节。  施密特触发......
  • 电子设计教程43:流水灯电路-非对称式多谐振荡器
      接下来几篇将做一个流水灯电路,本文是流水灯电路的第一节,介绍用反相器产生非对称式多谐振荡器。  流水灯电路将以一定的速度来“流水”,必然需要周期变化的脉冲信号作为......
  • 电子设计教程42:限流软启动电路
      上一篇文章中,当使用固定的电阻限流时,电流大小受V_Cin和V_CL的差影响,安全上电瞬间的电流是最大的,随后电流按指数曲线逐渐变小。电阻值需要保证安全上电瞬间,最大电流也不......