基于51单片机的led点阵屏的设计与实现(编辑修改稿)内容摘要:

一个 2μS 的高电平脉冲,即可产生复位动作。 最简单的硬件电路接法就是用一个电阻,一个电容和一个开关就构成可靠的复位电 路 [8],电阻一般选择 10K,电容一般选择 10181。 F,具体电路如 ( 图 ) 所示: 图 通电瞬间复位电路 程序及数据存储器设定 因为单片机内部数据存储器 [6]只有 128 Byte,非常有限,运行大一点的程序就显得捉襟见肘 , 而且程序存储器空间也只有 4K,大一点的程序就存储不下,尤其是在存储汉字点阵信息的时候,每个汉字32Byte, 100 个汉字就到了 ,程序也只有不到 1KB 的容量了。 在这时候必须外接存储器来扩展,那单片机怎么知道我们当前使用的是内部程序存储器还是外部程序存储器呢。 所以就需要设定 单片机 11 是使用外部程序存储器还是内部程序存储器, 89C51 把 31 脚设定为此功能,如果把 31 脚接地,则采用外部程序存储器,如果把 31 脚接VCC,则默认采用内部程序存储器。 我们暂时只是显示几十个汉字研究原理,所以仅仅用内部存储器就足够了,所以把 31 脚接高电位,就仅仅使用内部的 4K 程序存储空间。 如 ( 图 ) 所示。 但是在现实大屏幕显示应用中,一般要扩展 ROM,比如 24C08( 8K 的E2PROM),因为大量的数据是有电脑传送过来的,每个单片机只是负责自己控制的一行字符,这些数据是要随时更新的,采用 ROM 可以随时更新内 容 , 而且一般的显示程序优化以后的代码 4K 也够用了。 E A /V P31X119X218R E S E T9RD17WR16IN T 012IN T 113T014T115P 1 01P 1 12P 1 23P 1 34P 1 45P 1 56P 1 67P 1 78P 0 039P 0 138P 0 237P 0 336P 0 435P 0 534P 0 633P 0 732P 2 021P 2 122P 2 223P 2 324P 2 425P 2 526P 2 627P 2 728P S E N29A L E / P30T X D11R X D10U78 9 C 5 1+5JZ2 4 M H zC33 0 PC23 0 PC11 0 u+5R2S W 2R11 0 k 图 89C51 的基本外部电路 列驱动电路 每个汉字需要 4 个 8*8 的 LED 点阵,要想实现 8 行扫描驱动, 12 上下 2 行只使用了 1 个 74HC595 接到 LED 点阵模块上,而每个汉字是按照 16*16 取模,所以需要 2 个 74HC595 来驱动一个汉字,我的电路设计的是 8 个汉字,所以需要 8*2=16 个 74HC595 来实现 8 行扫描显示。 设计好的列驱动电路的部分如下 ( 图 ) 所示: 图 列驱动部分电路图 串入并出移位寄存器 74HC595 列驱动电路由集成电路 74HC595 构成。 它具有一个 8 位串入并出的移位寄存器和一个 8 位输出锁存器,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到数据准备的目的。 13 图 74HC595 外形及内部逻辑结构 74HC595 的外形及内部结构如 ( 图 ) 所示。 它的输入端有 8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。 引脚 SI 是串行数据的输入端。 引脚 SCK 是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将 SI 的下 一个数据输入最低位。 移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。 RCK 是输出锁存器的输入信号,其上升沿将移位寄存器的输出输入到输出锁存器。 引脚 G 是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则输出端为高阻状态。 SCLR 信号是移位寄存器的清 0 输入端,当其为低时移位寄存器的输出全部为 0。 由于 SCK 和 RCK 两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。 芯片的输出端为 QA~ QH, 最高位 QH 可作为多片 74HC595 级联应用时向上一级的级联输出。 但因 QH 受输出锁存器输 入 控制,所以还从输出锁存器前引出了 QH’,作为与移位寄存器完全同步的级联输出。 14 由 74HC595 在 供电的情况下( 25℃ ),可以达到 21MHz 以上的时钟频率,而我们采用的 89S51 的时钟频率只有 24MHz,串口方式 0 的时钟频率只有 fosc/12=2MHz,所以 74HC595 完全胜任;由于 74HC595 输出高电平时每个管脚的驱动电流只有 20mA,而每个LED 发光管的驱动电流也是 20mA,要是 8 个发光管同时轮流点亮的时候瞬间电流必定大于 20mA,所以我们采用是采用吸收电流的方式直驱 LED 发光管。 行驱动电路 本设计采用的是行驱动电路,主要是将输入的信号通过 3/8 译码器译码后,再通过 TIP127 扩流以驱动 LED 点亮,然后再进行行扫描来达到动态显示的目的。 电路的设计 89S51 单片机 P2 口低 4 位输出的 3 条 行选信号 和 2 条使能信号,通过 74LS244 八位数据缓冲器 ,经缓冲调整后,再 将数据送往 3/8 译码器 74LS138 译码的输入端,生成 8 条行选通信号线,接入一 10K的电阻, 再接入 TIP127 的基极, 当 TIP127 导通后再去驱动对应的行LED 显示。 其硬件电路如 ( 图 ) 所示: 15 图 74LS138 译码扩流电路 3—8线译码器 74LS138 我们前面的列驱动电路里面只是用了单片机的串口跟 P3 口,还剩下 P0 口 以及 P1 口可以直接接到 8 个 LED 的行选端,但是为了整个大屏幕方便以后扩展控制, 以及 防止直接驱动损坏单片机以及隔离外界干扰信号, 所以 使用了 74LS138 这个 3—8 译码器作为行选 通的芯片。 74LS138 译码器的引脚图,逻辑图及真值表如下 ( 图 ) 、 (表) 所示: 16 图 74LS138 的外部引脚图以及内部原理图 表 3 线 8 线译码器 74LS138 的真值表 由上看以看出,只要在信号输入端 A, B, C 输入特定组合的 0 的组合序列,就可以在输出端轮只有一个流输出低电压 0,这样我们就可以有选择的控制行电路。 17 大电流达林顿管 TIP127 TIP127 是一种大功率的 PNP 型达林顿管,其主要目的在于 LED的列 驱 动电路做扩流作用。 我。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。