基于单片机的led汉字滚动显示器的设计内容摘要:

T1 记时器 1 外部输入 /WR 外部数据存储器写选通 /RD 外部数据存储器读选通 P3 口同时为闪烁编程和编程校验接收 一些控制信号。 RST:复位输入。 当振荡器复位器件时,要保持 RST 脚两个机器周期的高电平时间。 XTAL1:反向振荡放大器的输入及内部时钟工作电路的输入。 XTAL2:来自反向振荡器的输出。 行驱动模块 行驱动电路的选择如果采取并口输入,会占用大量 I/O 口资源。 而选取串口输入, I/O 口资源使用较少。 所以本设计选用串口输入。 本设计中行方向由 4— 16 译码器 74HC154 完成扫描,它由 AT89S52 的 控制。 74HC154 是一种单片 4 线 — 16 线译码器,非常适合应用于 高性能存储器的译码器。 只要控制端 /E1 和 /E2 任意一个 引脚 为高电平, A、 B、 C、 D 任 何 电平 的 输入都 是 无效。 /E /E2 必须都为低电平才能操作芯片。 当两个选通输入 /E1 和 /E2 为低时 , 它可以将 4 个二进制编码的输入值译成 16 个相互独立的输出之一。 它实现解调功能采用的办法是用 4 个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。 当任何一个选通输入是高时,所有输出都为高。 其真值表如表 所示。 西京学院本科毕业设计(论文) 11 表 74HC154的真值表 输入 选定输出( L) /E1 /E2 D C B A L L L L L L Y0 L L L L L H Y1 L L L L H L Y2 L L L L H H Y3 L L L H L L Y4 L L L H L H Y5 L L L H H L Y6 L L L H H H Y7 L L H L L L Y8 L L H L L H Y9 L L H L H L Y10 L L H L H H Y11 L L H H L L Y12 L L H H L H Y13 L L H H H L Y14 L L H H H L Y15 X H X X X X NONE H X X X X X NONE 74HC154 引脚说明: /Y0/Y15:输出端。 GND:接地。 /E1, /E2:使能输入端,低电平有效。 A0A3:地址输入端。 VCC:接电源。 74HC154 是 4 线 16 线译码器 /解调器,其功能为: ( 1)将 4 个二进制编码输入译成 16 个彼此独立的输出之一。 ( 2)将数据从一个输入线分配到 16 个输出的任意一个而实现解 调功能。 西京学院本科毕业设计(论文) 12 ( 3)输入箝位二极管简化了系统设计。 ( 4)与大部分 TTL 和 DTL 电路完全兼容。 引脚分布如图 所示。 图 74HC154 引脚图 列驱动 模块 为节省单片机 I/O 口的资源,方便于后续扩展,行驱动电路采用串口输入并口输出的芯片。 该设计电路中列方向由两片 74HC595 芯片完成扫描,它由 AT89S52的 控制, 将 LED 点阵的 16 条 列 线 与两片 74HC595 芯片的并行输出端之间连接。 这样设计使的列方向只占用了单片机的 4 个 I/O 端口,同样节省了很多 I/O口。 74HC595 是一款低功耗、低噪声、高速的 COMS 移位寄存器,它能够驱动 15个 TTL 的负载。 该芯片包含一个 8 位串行输入,并行输出的移位寄存器和带有三态输出控制的 8 位 D 型存储器。 存 储器和移位寄存器分别由独立的时钟提供信号。 移位寄存器内置直接清零,串行输入和用于级联的串行输出功能。 时钟的上升沿触发存储器和移位寄存器。 若同一个时钟提供信号,则存储器的状态必须滞后于移位寄存器一个脉冲信号。 74HC595 的 最 主要优点是有数据存储寄存器,在移位过程中,输出端的数据可以保持不变。 这在串行速度慢的场合 有很大的实用性 , 二极管显示不会产生 闪烁感。 74HC595 有很多功能,在点阵显示中用到的串行输入并行输出只是其中的一个西京学院本科毕业设计(论文) 13 功能,而它的各个功能是通过寄存器选择 的。 对于动态显示来说, 行扫描主要 是 处理字模, 需要把整个字的字模都 输入 到 595 芯片 内 ,通过 595 来处理,通过子模各个位的移动来实现要显示的字。 在 LED 点阵 滚动显示 屏中, 74HC595 主要用到以下功能 : 1. 驱动, CMOS 的 74HC595 驱动 LED 点阵 显示 屏。 2. 串 行输入 转并 行输出 ,非常节约资源,从而可以降低对处理器的 I/O 资源 的需求量。 3. 具有三态输出锁存。 4. 存在 多个级联,可以很方便的 将前一个的数据通过串口输出,再输入下一个 74HC595 芯片中 用于更大的 LED 点阵屏驱动。 74HC595 引脚见图 所示。 图 74HC595引脚图 其引脚功能为 : Q1~ Q7: 八位并行输出端,可以直接控制数码管的 8 个段。 Q739。 : 级联输出端 , 它 可 接下一个 595 的 SI 端。 /MR:主复位端,低电平有效位端, 低 电 平时将移位寄存器的数据清零。 SHCP: 移位寄存器时钟输入 , 上升沿时数据寄存器的数据移位 , 下降沿移位寄存器数据不变。 STCP: 存储寄存器时钟输入 , 上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。 通常将 RCK 置为低电平,当移位结束后,在RCK 端产生一个正脉冲,更新显示数据。 /OE: 低电平 时 输出 , 高电平时禁止输出(高阻态)。 如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。 比通过数据端移位控制要省西京学院本科毕业设计(论文) 14 时省力。 DS: 串行数据输入。 SI: 串行数据输入端。 Q0: 锁存器输出端。 VCC: 接 电源。 GND:接地。 表 74HC595的真值表 LED 点阵显示模块 LED 点阵 显示 方案 输入 输出 功能 SHCP STCP /OE /MR DS Q7’ Qn X X L ↓ X L NC MR 为低电平时仅影响移位寄存器空移位寄存器到输出寄存器 X ↑ L L X L L 空移位寄存器到输出寄存器清空移位寄存器,并行输出为高阻态 X X H L X L Z 清空移位寄存器,并行输出为高阻态 ↑ X L H H Q6’ NC 逻辑高电平移入移位寄存器状态 0,包含所有的移位寄存器状态移入。 X ↑ L H X NC Qn 移位寄存器的内容到达保持寄存器并从并口输出 ↑ ↑ L H X Q6’ Qn 移位寄存器内容移入,先前的内 容到达保持寄存器并输出 西京学院本科毕业设计(论文) 15 显示部分是 该 设计最核心的部分, 它 的 16 16 LED 点阵显示屏通过 4 个 88LED 点阵显示屏扩展而成, 如 图 所示。 图 16 16LED显示屏图 对于 8 8 LED 点阵显示有以下两种方案: 静态显示,将一帧图像中的所有二极管的状态分别用 1 和 0 表示 ,若为 0 则表示 LED 没有电流通过 ,即状态为灭。 若为 1 则表示二极管被点亮。 如果给每一个发光二极管都加 一个驱动电路 ,一幅画面输入以后 ,所有 LED 的状态保持到下一幅画。 对于静态显示方式而言 ,所需的译码驱动装置非常多且引线多而复杂 ,成本高 ,可靠性也较低。 动态显示,是把一幅画面进行分割 ,使组成画面的各部分分别显示 ,是动态显示方式。 动态显示可以避免静态显示的问题。 但是在硬件设计上如果处理不当 ,很容易易造成亮度低 ,LED 闪烁的问题。 因此合理科学的设计既应保证驱动电路容易实现 ,同时也要保证图像稳定 ,没有闪烁。 动态显示大部分用多路复用技术的动态扫描显示方式 , 复用的程度也不是无限增加的 , 因为使用动态扫描显示使人眼看到 一幅稳定的画面,实际上是利用了人眼的暂留效应和调整发光二极管发光时间的长短 , 发光亮度等因素。 通过实验验证 , 当扫描刷新频率即发光二极管的停闪频率 50Hz同时发光二极管导通时间 ≥ 1m s 时 , 显示亮度最好 , 无闪烁感。 由于静态显示方式 ,需要的译码驱动等装置很多 ,引线多而复杂 ,成本也很高高 ,且可靠性较低,相反动态显示可以避免静态显示的问题,只是在设计的过程中应注意合理科学的设计既应保证驱动电路容易实现 ,又要保证图像稳定 ,无闪烁。 且动态显示易于制作和理解,又能巩固所学知识,同时也能达到该设计的预期效果, 因此选用动态显示方式。 LED 点阵原理 在结构上,单基色 8 8 的点阵屏每一列共用一根列线,每一行共用一根行线。 西京学院本科毕业设计(论文) 16 当相应的行接高电平,列接低电平时,对应的发光二极管被点亮。 8 8 点阵原理图如图 所示。 图 8 8点阵原理图 在一般 情况下,一块 8 8 像素的 LED 点阵 显示屏是不能用来显示一个 完整的汉字,因此,按照其原理结构进行扩展为 16 1 16 3 32 32 等等 , 该设计选用 16 16 的显示屏 就足以显示一个完整的汉字 了。 在 整个 显示过程中, 大 多 都采用扫描 的 方式,利用人 眼 的视觉暂停效应 ,只要 屏幕刷 新速率 大于等于 25 帧 /秒,就 感觉不到点阵屏幕的闪烁,从而看是一个稳定的画面了。 LED 点阵屏采用 1616共 有 256 个象素的点阵,通过 使用 万用表检测发光二极管的方法测试判断出该点阵的引脚分布 如图。 图 LED 点阵外观及引脚 将 行列总线接在单片机的 I/O 口 上 ,然后 将 扫描代码送人总线,就可以得到 想要 显示的汉字了。 如果 将 LED 点阵的行列 引脚 全部直接接入 AT89S52 单片机,则西京学院本科毕业设计(论文) 17 单片机的 P0、 P P P3 口 占用完 ,这样会造成 I/O 资源耗尽,系统也再无扩 展 的余地。 因此,将 LED 点阵 显示屏 的 16 条 列 线接 两 片 74HC595 的并行 输出端引脚上,行 扫描信号是由 416 线译码器 74HC154 来选择控制 的 , 这样 节约了很多 I/O 口 资源, 更 方便于系统扩展。 汉字显示原理 以 UCDOS 中文宋体字库为例,任何一个字都是由 16 行 16 列的点阵组成显示。 即国标汉字库中的任何一个字均可以由 256 点阵来表示。 如果将一个点理解为一个像素,把每一个字的整体字形理解为一幅图像都可以显示出来。 事实上,这个显示屏不仅仅能显示汉字, 也能显示在 256 像素范围内的任何一张图像。 用 8 位的 AT89S52 单片机控制, 由于单 片机的总线为 8 位,要扫描一个 1616 的汉字,就需要把每一个汉字拆分为 两 个部分。 汉字的拆分可分为上下拆分和左右拆分,把一个汉字拆分为两个 8*16 的显示部分。 一般情况下我们选择拆分为上部和下部,上部由 8 16 点阵组成, 下部也由 8 16 点阵组成。 在本例中单片机首先显示左上角第一列的上半部分,即 第 0 列的 P00P07 口。 扫描方向为 P00 到 P07 ,像图 显示汉字“大”时, P05 与第 0 列交点被 点亮 ,由上往下依次为 灭 , 灭 , 灭 灭 , 灭 , 亮 , 灭 , 灭。 即二进制 00000100,转换为 16 进制为 0x04。 上半部第一列扫描完成后,继续扫描下半部的第一列,为了在焊接连线时方便该设计选择由上往下扫描,即从 P27 向 P20 方向进行扫描,从下图可以看到,此列全部为不亮, 即为 00000000, 16 进制则为 0x00。 然后扫描转向上半部第二列,依然为 P05 点亮,为 00000100,即 16 进制 0x04。 这一列扫描完成后继续进行下半部分的扫描, P21 点亮,为二进制 00000010,即 16 进制 0x02。 西京学院本科毕业设计(论文) 18 图 16行 16列的点阵组成显示图 依照这个方法,继续进行下面的扫描,一共扫描 32 个 8 位, 可以得出汉字“大”的扫描代码为: 0x04,0x00,0x04,0x02,0x04,0x02,0x04,0x04,0x04,0x08,0x04,0x30,0x05,0xC0,0xFE, 0x00,0x05,0x80,0x04,0x60,0x04,0x10,0x04,0x08,0x04,0x04,0x0C,0x06,0x04,0x04 ,0x00,0x00 从这个原理可以看出, 无论显示任何字体还是图像, 都可以用这个方法来分析出它的扫描代码从而在显示屏幕上显示。 现在网上有很多种现成的汉字字模生成软件,软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把所需要的竖排数据复制到我们的程序中即可。 如图 所示。 图 汉字字模生成界。
阅读剩余 0%
本站所有文章资讯、展示的图片素材等内容均为注册用户上传(部分报媒/平媒内容转载自网络合作媒体),仅供学习参考。 用户通过本站上传、发布的任何内容的知识产权归属用户或原始著作权人所有。如有侵犯您的版权,请联系我们反馈本站将在三个工作日内改正。