登录/注册

Hc59驱动电路16×16点阵

更多

针对使用Hc59驱动芯片(通常指如74HC595或其兼容逻辑芯片)来驱动16x16 LED点阵屏的方案,以下是详细的中文说明和关键要点:

核心思路:行列分时扫描驱动(动态扫描)

由于直接驱动256个LED引脚完全不现实,必须采用动态扫描技术。这种方法利用人眼视觉暂留效应,按顺序逐行(或逐列)快速点亮当前行的LED(通过控制列数据)。当扫描速度足够快时,眼睛会感觉所有LED都在持续发光。

所需主要元件:

  1. Hc59芯片(74HC595移位寄存器): 用于列驱动(数据控制)
    • 每个74HC595有8个并行输出引脚(Q0-Q7),可以控制8列LED。
    • 需要数量: 16列 / 8 = 2片 (每片负责8列数据)。
  2. 行驱动芯片/电路:
    • 需要能够提供足够电流来驱动整行(16个LED)点亮的器件。常用方案有:
      • ULN2803 (或ULN2003 + 组合): 达林顿晶体管阵列,适合低至中功率LED点阵。
      • 逻辑芯片 + MOSFET阵列: 更高功率或更灵活方案(如多个专用MOSFET驱动器或小型逻辑芯片加分立MOSFET)。
    • 需要数量: 1片(如果行驱动芯片通道数≥16)或组合成能够驱动16行
  3. 16x16 LED点阵屏: 确保了解其引脚排列(共阴/共阳?引脚对应关系?)。
    • 共阴点阵屏为例(更常见):行是共阴极,列是阳极。
  4. 主控器 (如 Arduino, STM32, 51单片机等): 提供时钟、数据和锁存信号给74HC595,控制行扫描顺序。

硬件连接原理:

  1. 列驱动 (74HC595 x 2):

    • 级联: 将第一片74HC595的Q7'(第9脚)连接到第二片74HC595的SER(第14脚)。
    • 共用控制线: 所有74HC595共享来自单片机的SCK(移位时钟,第11脚)和RCK(锁存/存储时钟,第12脚)。
    • 数据线: 将第一片74HC595的SER(第14脚)连接到单片机的数据输出引脚(如DATA_PIN)。
    • 输出: 将16个输出引脚(两片共16个Q0-Q7)连接到点阵屏的16根列引脚(Anode, 阳极)
    • 限流电阻: 非常重要! 在每个74HC595的输出引脚(或直接串在点阵列引脚上)必须串联一个限流电阻(电阻值根据LED工作电流VF、IF和电源电压计算)。典型值在100Ω-470Ω之间。
  2. 行驱动 (如 ULN2803 或替代方案):

    • 输入: 行驱动器的16个输入引脚连接到单片机用于行扫描的16个I/O口(如果是ULN2803,则需两个ULN2803或组合其他芯片)。
    • 输出: 行驱动器的16个输出引脚连接到点阵屏的16根行引脚(Cathode, 阴极,针对共阴屏)
    • 电源: 行驱动器需要连接到点阵屏的GND和合适的驱动电源(V+)。这个V+通常需要能提供足够的电流(如:假设行点亮时每LED 5mA,整行峰值电流可达 16 x 5mA = 80mA)。
  3. 点阵屏: 将列驱动芯片的输出连接到列引脚(阳极),将行驱动芯片的输出连接到行引脚(阴极)。

  4. 电源: 为整个系统(单片机、驱动芯片、点阵屏)提供稳定、足够功率的电源。点阵屏驱动电源可能需要独立考虑功率。

软件流程 (伪代码):

  1. 初始化: 设置单片机与74HC595连接的引脚(DATA, SCK, RCK)为输出模式;设置所有行扫描引脚为输出模式。关闭所有行(在行驱动端将行置为“无效”状态,对共阴屏就是输出高电平阻止电流)。
  2. 无限循环 (主循环):
    1. 关显示 (可选消影): 拉低RCK锁存器,可快速清除595输出(防止切换行时串亮)。或确保在更新数据前关掉当前行。
    2. 扫描下一行:
      • 关闭当前行(如果开着的行)。
      • 将要扫描的下一行的行驱动打开(对共阴屏即对应的行引脚输出低电平)。
    3. 准备该行的列数据 (16位):
      • 将该行16个LED对应的状态(亮/灭)转换为两个字节(16位)的数据。例如,若该行第1列和第16列要亮,其他灭,数据可能是0x8001(二进制高位对应第1列,低位对应第8列;需注意点阵物理连接顺序)。
      • 移位输出数据到两个级联的74HC595:
        • 拉高SCK时钟。
        • 按位(高位在先)设置DATA_PIN的值(0或1)。
        • 拉低SCK时钟(在下降沿将数据移入芯片)。
        • 重复16次(发够16位)。
    4. 锁存输出(显示数据): 拉高RCK锁存信号(在上升沿将移位寄存器内的数据传输到输出锁存器并驱动LED),此时该行应该显示出来。
    5. 保持显示一段时间 (占空比): 短暂延时(delay_us),使该行点亮一定时间,这决定了整体亮度和占空比。延时过短导致亮度低,过长或扫描慢会导致闪烁。
    6. 循环计数: 行计数器加1(到16后重置为0)。
    7. (回到步骤 2.1)

关键注意事项:

  1. 电流限制与散热:

    • 限流电阻: 严格为每个列输出引脚(或等效位置)串联限流电阻。根据LED规格(IF)、驱动电压(Vcc)、LED压降(VF)计算: R = (Vcc - VF) / IF(理想值,需保证电流不超过LED和芯片额定值)。
    • 峰值电流: 在点亮的瞬间,行驱动电路(如ULN2803的输出级)会流过该行所有点亮LED的电流之和(例如:假设点8个LED,每个10mA,则峰值电流80mA)。
    • 平均电流: 每个LED的平均电流 = (单个LED电流) x (行点亮时间) / (总扫描周期时间) = (单个LED电流) / (扫描总行数)。例如16行扫描,每行10ms点亮,每个LED平均电流≈设定电流/16。
    • 电源功率: 总平均电流 ≈ (每LED平均电流) x (点亮LED总数同时值)(点亮LED总数随显示内容动态变化)。电源功率需足够且留有余量。
    • 散热: 行驱动芯片(如ULN2803)和74HC595(尤其在低阻限流下)在驱动多个LED时可能发热,注意散热设计。
  2. 扫描速度与消影:

    • 频率: 刷新率 = 1 / (每行时间 * 总行数)。建议每行时间在几百微秒到1-2毫秒之间(最终刷新率 > 60Hz),这样可避免闪烁。例如,16行总时间 ≤ 16ms(刷新率约62.5Hz)。
    • 消影(Ghosting): 在切换行之前(或同时),先将74HC595的输出关闭(通过锁存一个全0的数据),然后再打开新行,最后再锁存新行的列数据。或者在锁存新数据时保证行驱动已切换(软件时间配合精准)。
  3. 共阴 vs 共阳:

    • 本文以共阴点阵为例(行=阴极,列=阳极)。
    • 如果使用共阳点阵(行=阳极,列=阴极),需要:
      • 列驱动: 使用具有高电平有效能力的驱动方式(如74HC595后面可以加反相器或改用灌电流驱动芯片)。
      • 行驱动: 需要使用能提供电流的驱动方式(如PNP三极管阵列或P沟道MOSFET),并且行扫描逻辑反向(选中的行应输出高电平,未选中的行应拉低或高阻)。
  4. I/O需求优化:

    • 本文示例需要16个单独的行控制I/O口。为节省I/O,可用另一组74HC595(加译码器或作为行驱动) 通过串行移位控制行扫描,这样只需3个控制线(DATA/SCK/RCK)就能控制所有16行(需要4位输出用4-16译码器,或用两个595级联出16位输出控制行)。
  5. LED规格: 确认点阵屏LED的工作电流(IF)和正向压降(VF),这是计算限流电阻的基础。

总结步骤:

  1. 确认点阵类型(共阴/共阳)
  2. 搭建列驱动电路: 2片74HC595级联,接16列引脚,加限流电阻。
  3. 搭建行驱动电路: 选用足够通道和驱动能力的芯片(如ULN2803),接16行引脚。
  4. 连接单片机控制线: DATA(列数据输入线)、SCK(移位时钟)、RCK(锁存时钟)、以及16个行选通线(或使用更省I/O的行驱动方案)。
  5. 编写软件: 初始化 → 循环(关显示/行 → 开下一行 → 移出当前行16位数据 → 锁存显示 → 延时 → 下一行)。
  6. 调试: 重点检查限流电阻是否正确,扫描速度是否足够快无闪烁,是否有消影措施解决串亮问题,电源容量是否足够。

这是一个经典的16x16点阵驱动方案。理解其原理后,可以根据实际器件的性能参数进行优化和调整。祝你顺利搭建成功!

首鼎SD16S1Y:GB2312标准16X16点阵汉字库芯片的全面解析

首鼎SD16S1Y:GB2312标准16X16点阵汉字库芯片的全面解析 在当今的电子设备中,文字显示是一个基础且重要的功能,汉字库芯片则为这一功

2026-04-28 15:30:16

16*16点阵屏幕的控制原理是什么?

16*16点阵屏幕的控制原理

2023-11-10 06:43:04

51在进行16*16点阵开发时怎么使用?

51在进行16*16点阵开发时怎么使用

2023-10-19 06:00:56

基于单片机设计的16×16点阵屏仿真程序

基于单片机设计的16×16点阵屏仿真设计资料

资料下载 木头1233 2023-05-22 15:43:13

16x16点阵滚动显示汉字74HC595程序仿真原理图驱动文件

16x16点阵滚动显示汉字程序+仿真原理图 74HC595驱动资料文件下

资料下载 啊海147258369 2022-08-29 10:16:47

16*16点阵LED显示屏原理图下载

16*16点阵LED显示屏原理图下载

资料下载 太白123 2021-06-29 09:16:10

基于FPGA的LED-16×16点阵汉字显示设计

基于FPGA的LED-16×16点阵汉字显示设计方法。

资料下载 姚小熊27 2021-06-01 09:46:23

使用74HC595和74LS154实现16X16点阵屏的程序和仿真电路图免费下载

本文档的主要内容详细介绍的是使用74HC595和74LS154实现16X16点阵屏的程序和仿真

资料下载 佚名 2020-07-10 14:28:22

Proteus教程:16x16点阵显示以及流水效果

Proteus教程:16x16点阵显示以及流水效果

2023-06-14 11:31:22

如何用4个8乘8点阵拼成一个1616点阵

看此篇博文之前建议先看博主的上一篇博文: 51单片机教程:8*8 点阵显示字符、数字、简单汉字教你如何用4个8乘8点阵拼成一个16乘

2021-11-18 09:07:14

求基于stm32单片机,16*16点阵proteus仿真电路

求基于stm32单片机,16*16点阵proteus仿真电路,及代码,可

2021-10-19 23:30:15

单片机16x16点阵显示汉字程序

单片机16x16点阵显示汉字程序,51单片机 16X192点阵程序动态显

2021-07-14 07:10:25

一种低廉的16x64点阵LED显示屏的设计过程

。  如果需要,也可以把4个16x16点阵显示器相连从而构成16x64的点阵

2021-01-13 16:01:04

16X16点阵编写技巧的思路

看一下16X16点阵的驱动电路,以这个

2020-10-26 11:16:36

如何将***点阵拼接成16*16点阵屏?

求助!如何将***点阵拼接成16*16点阵屏?恳请帮帮忙,感激不尽!

2019-07-14 23:50:14
7天热门专题 换一换
相关标签