单片机控制led点阵显示屏设计内容摘要:

种动态扫描显示方式极大的缩减了发光单元的信号线数量,因此在 LED 显示技术中被广泛使用。 以 8 8 点阵模块为例,说明一下其使用方法及控制过程。 图 中,红色水平线Y0、 Y1„„ Y7 叫做行线,接内 部发光二极管的阳极,每一行 8个 LED的阳极都接在本行的行线上。 相邻两行线间绝缘。 同样,蓝色竖直线 X0、 X1„„ X7 叫做列线,接内部每列 8个 LED的阴极,相邻两列线间绝缘。 在这种形式的 LED 点阵模块中,若在某行线上施加高电平(用“ 1”表示),在某列线上施加低电平(用“ 0”表示)。 则行线和列线的交叉点处的 LED 就会有电流流过而发光。 比如, Y7 为 1, X0为 0,则右下角的 LED 点亮。 再如 Y0 为 1, X0到 X7均为 0,则最上面一行 8个 LED全点亮。 6 Proteus 中只有 5 7 和 8 8等 LED 点阵,并没有 16 16LED 点阵,而在实际应用中,要良好地显示一个汉字,则至少需要 16 16点阵。 下面我们就首先介绍使用 8 8点阵构建 16 16点阵的方法,并构建一块 16 16LED 点阵,用于本次设计。 首先,从 的元件库中找到“ MATRIX8X8RED”元器件,并将四块该元器件放入 Proteus 文档区编辑窗口中。 此时需要注意 ,如果该元器件保持初始的位置(没有转动方向),我们要首先将其左转 90176。 ,使其水平放置,那么此时它的左面 8 个引脚是其行线,右边 8个引脚是其列线(当然,如果你是将右转,则右边 8个引脚是 行线)。 然后我们将四个元器件对应的行线和列线分别进行连接,使每一条行线引脚接一行 16个 LED,列线也相同。 并注意要将行线和列线引出一定长度的引脚,以便下面我们使用。 连接好的 16 16点阵如图。 成如上图的 16 16点阵只是第一步,这样分开的数块并不能达到好的显示效果 ,下面我们要将其进一步组合。 组合实际上很简单,首先选中如上图中右侧的两块 8 8 点阵,然后拖动并使其与左侧的两块相并拢,如图 所示。 图 点阵模块组合 7 第 3章 方案实现 从理论上说,不论显示图形 还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的 LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。 5x 7的点阵共有 35 个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按 8位的锁存器来计算, 5x 7的点阵需要 35/8=5 个锁存器。 这个数字比较大,因为我们仅仅是 5x 7 的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很大的数字。 因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示 方法。 动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如 7 行)的同名列共用一套驱动器。 具体就 5x 7 的点阵来说,把所有同 1 行的发光管的阳极连在一起,把所有同 1 列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第 1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第 2行使其燃亮相同的时间,然后熄灭;以此类推,第 7 行之后,又重新燃亮第 1 行,反复轮回。 当这样轮回的速度足够快(每秒 24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上 稳定的图形了。 采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。 显示数据通常存储在单片机的存储器中,按 8 位一个字节的形式顺序排放。 显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。 从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。 显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。 当列数很多时,并列传输的方案是不可取的。 采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十 分经济的。 但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。 这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。 对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到 LED 的亮度。 解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。 即在显示本行各列数据的同时,传送下一列数据。 为了达到重叠处理的目的,列数据的显示就需要具有所存功能。 经过上述分析,就可以归纳出列驱动器电路应具有的功能。 对于列数据准备来说,它应能 实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。 这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。 图 1为显示屏电路实现的结构框图。 8 图 1,显示屏电路框图 系统硬件电路的设计 硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。 单片机采用 MSC51 或其兼容系列芯片,采用 24MHZ 或更高频率晶振,以获得较高的刷新频率,时期显示更稳定。 单片机的串口与列驱动器相连,用来显示数据。 P1口低4 位与行驱动器相连,送出行选信号; ~ 口则用来发送控制信号。 P0 口和 P2口空着,在有必要的时候可以扩展系统的 ROM 和 RAM。 5x 7的点阵显示屏的 硬件原理图如图 2 所示(在附录 A)。 列驱动电路有集成电路 74HC595 构成。 它具有一个 8位串入并出的移位寄存器和一个 8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行列数据的同时,传送下一行的列数据,既达到重叠处理的目的。 74HC595 的外形及内部结构如图 3 所示。 它的输入侧有 8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。 引脚 SI 是串行数据的输入端。 引脚 SCK 是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将 SI的下一个数据打入最低 位。 移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。 RCK 是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。 引脚 G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高组态。 SCLR 信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。 由于 SCK和 RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。 芯片的输出端为QA~ QH,最高位 QH 可作为多片 74HC595 级联应用时,向上一。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。