基于单片机的LED广告牌设计.doc_第1页
基于单片机的LED广告牌设计.doc_第2页
基于单片机的LED广告牌设计.doc_第3页
基于单片机的LED广告牌设计.doc_第4页
基于单片机的LED广告牌设计.doc_第5页
已阅读5页,还剩25页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

永城职业学院永城职业学院 毕毕 业业 论论 文文 基于单片机的 LED 广告牌设计 题题 目 目 基于单片机的基于单片机的 LEDLED 广告牌设计广告牌设计 班班 级级 机电一体化机电一体化 089089 班班 专专 业 机电一体化业 机电一体化 学生姓名 学生姓名 肖赛赛肖赛赛 指导教师 指导教师 黄黄 品品 日日 期期 20112011 年年 4 4 月月 3030 日日 目录目录 字体要一致 字体要一致 1 1 LEDLED 概述概述 2 2 1 11 1 LEDLED 电子显示屏概述电子显示屏概述 2 1 21 2 LEDLED 电子显示屏的分类电子显示屏的分类 2 2 2 显示原理及控制方式分析显示原理及控制方式分析 3 3 2 12 1 LEDLED 点阵模块结构点阵模块结构 3 2 22 2 LEDLED 动态显示原理动态显示原理 4 2 3 LED 常见的控制方式常见的控制方式 4 3 3 硬件电路设计硬件电路设计 5 5 3 13 1 系统硬件概述系统硬件概述 5 3 2 16 16LED 点阵显示制作点阵显示制作 7 3 2 1 16 16LED点阵的内部结构及工作原理点阵的内部结构及工作原理 7 3 2 2 用用8 8LED点阵构成点阵构成16 16LED点阵点阵 8 3 3 主控单片机的接口说明主控单片机的接口说明 9 3 4 LED 显示驱动电路显示驱动电路 10 4 4 字模生成字模生成 1111 4 1 字模简介字模简介 11 4 1 1 LEDLED 显示屏领域字模实现技术显示屏领域字模实现技术 11 4 1 2 软件控制系统字模提取的分析与设计软件控制系统字模提取的分析与设计 11 4 2 字模存储技术字模存储技术 12 4 34 3 字库生成字库生成 13 5 5 软件设计软件设计 1414 5 1 程序设计总体思路和结构程序设计总体思路和结构 14 5 1 1 程序设计总体思路程序设计总体思路 14 5 1 2 程序流程图程序流程图 14 5 2 各模块程序设计各模块程序设计 16 5 2 1 系统初始化系统初始化 16 5 2 2 LEDLED 动态显示动态显示 16 5 2 3 汉字显示的原理汉字显示的原理 16 6 6 系统功能测试系统功能测试 1818 6 16 1 单元模块电路测试单元模块电路测试 18 6 26 2 系统整体功能测试系统整体功能测试 18 总总结结 1919 致谢致谢 1919 参考文献参考文献 2020 附录附录 2121 基于单片机的 LED 广告牌设计 摘 要 本设计使用 AT89C51 系列高速单片机作为主控制模块 利用简单的外围电 路来驱动 64 16 的点阵 LED 显示屏 利用 AT89C51 系列高速单片机本身强大的 功能 可以很方便的实现单片机与 PC 机间的数据传输及存储 并能利用软件方 便的进行显示内容的多样变化 另一方面点阵显示屏广泛的应用于医院 机场 银行等公共场所 所以本设计具有很强的现实应用性 行间距 LED Light Emitting Diode 发光二极管 简称 LED 是一种能够将电能转 化为可见光的固态的半导体器件 它可以直接把电转化为光 LED 的心脏是一个 半导体的芯片 芯片的一端附在一个支架上 一端是负极 另一端连接电源的正 极使整个芯片被环氧树脂封装起来 半导体芯片由两部分组成 一部分是 P 型半 导体 在它里面空穴占主导地位 另一端是 N 型半导体 在这边主要是电子 但 这两种半导体连接起来的时候 它们之间就形成一个 P N 结 当电流通过导线 作用于这个芯片的时候 电子就会被推向 P 区 在 P 区里电子跟空穴复合 然后 就会以光子的形式发出能量 这就是 LED 发光的原理 LED 点阵显示具有如下特点 1 电压 LED 使用低压电源 供电电压在 6 24V 之间 根据产品不同而 异 所以它是一种比使用高压电源更安全的电源 2 效能 消耗能量比同光效的白炽灯减少 80 3 适用性 每个单元 LED 小片是 3 5mm 的正方形 所以可以制备成各种 形状的器件 并且适合于易变的环境 4 稳定性 10 万小时 光衰为初始的 50 5 响应时间 其白炽灯的响应时间为毫秒级 LED 灯的响应时间为纳秒 级 6 对环境污染 无有害金属汞 7 颜色 改变电流可以变色 发光二极管方便地通过化学修饰方法 调 整材料的能带结构和带隙 实现红黄绿兰橙多色发光 关键词 动态显示 单片机 点阵字库 1 1 LEDLED 概述概述 1 11 1 LEDLED 电子显示屏概述电子显示屏概述 LED 电子显示屏 Light Emitting Diode Panel 是由几百 几十万个半导 体发光二极管构成的像素点 按矩阵均匀排列组成 利用不同的半导体材料可以 制造不同色彩的 LED 像素点 目前应用最广的是红色 绿色 黄色 而蓝色和纯 绿色 LED 的开发已经达到了实用阶段 LED 显示屏是一种通过控制半导体发光二 极管的亮度的方式 来显示文字 图形 图像 动画 行情 视频 录像信号等 各种信息的显示屏幕 LED 显示屏分为图文显示屏和条幅显示屏 均由 LED 矩阵块组成 图文显示 屏可与计算机同步显示汉字 英文文本和图形 而条幅显示屏则适用于小容量的 字符信息显示 LED 显示屏因为其像素单元是主动发光的 具有亮度高 视角广 工作电压低 功耗小 寿命长 耐冲击和性能稳定等优点 因而被广泛应用于车 站 码头 机场 商场 医院 宾馆 银行 证券市场 建筑市场 拍卖行 工 业企业管理和其它公共场所 LED 显示屏的发展前景极为广阔 目前正朝着更高亮度 更高气候耐受性 更高的发光密度 更高的发光均匀性 可靠性 全色化方向发展 1 2 LED 电子显示屏的分类 按颜色分类 单基色显示屏 单一颜色 红色或绿色 双基色显示屏 红和绿双基色 256 级灰度 可以显示 65536 种颜色 全彩色显示屏 红 绿 蓝三基色 256 级灰度的全彩色显示屏可以显示一千六 百多万种颜色 按显示器件分类 LED 数码显示屏 显示器件为 7 段码数码管 适于制作时钟屏 利率屏等 显示 数字的电子显示屏 LED 位图文显示屏 显示器件是由许多均匀排列的发光二极管组成的点阵显示模 块 适于播放文字 图像信息 按使用场合分类 室内显示屏 发光点较小 一般 3mm 8mm 显示面积一般零点几至十几平方 米 室外显示屏 面积一般几十平方米至几百平方米 亮度高 可在阳光下工作 具 有防风 防雨 防水功能 按发光点直径分类 室内屏 3mm 3 75mm 5mm 室外屏 10mm 12mm 16mm 19mm 21mm 26mm 室外屏发光的基本单元为发光筒 发光筒的原理是将一组红 绿 蓝发光二极管 封在一个塑料筒内共同发光增强亮度 2 2 显示原理及控制方式分析显示原理及控制方式分析 2 12 1 LEDLED 点阵模块结构点阵模块结构 八十年代以来出现了组合型 LED 点阵显示器模块 以发光二极管为像素 它 用高亮度发光二极管芯数组组合后 环氧树脂和塑模封装而成 这种一体化封装 的点阵 LED 模块 具有高亮度 引脚少 视角大 寿命长 耐湿 耐冷热 耐腐 蚀等特点 LED 点阵规模常见的有 4 4 4 8 5 7 5 8 8 8 16 16 等等 根据像素颜色的数目可分为单色 双基色 三基色等 像素颜色不同 所显 示的文字 图像等内容的颜色也不同 单色点阵只能显示固定色彩如红 绿 黄 等单色 双基色和三基色点阵显示内容的颜色由像素内不同颜色发光二极管点亮 组合方式决定 如红绿都亮时可显示黄色 如果按照脉冲方式控制二极管的点亮 时间 则可实现 256 或更高级灰度显示 即可实现真彩色显示 图 2 1 示出最常见的 8 8 单色 LED 点阵显示器的内部电路结构和外型规格 其 它型号点阵的结构与引脚可试验获得 图 2 1 8 8 单色 LED 模块内部电路 LED 点阵显示器单块使用时 既可代替数码管显示数字 也可显示各种中西 文字及符号 如 5x7 点阵显示器用于显示西文字母 5 8 点阵显示器用于显示中 西文 8x8 点阵可以用于显示简单的中文文字 也可用于简单图形显示 用多块 点阵显示器组合则可构成大屏幕显示器 但这类实用装置常通过 PC 机或单片机 控制驱动 2 2 LED 动态显示原理 LED 点阵显示系统中各模块的显示方式 有静态和动态显示两种 静态显 示原理简单 控制方便 但硬件接线复杂 在实际应用中一般采用动态显示方式 动态显示采用扫描的方式工作 由峰值较大的窄脉冲电压驱动 从上到下逐次不 断地对显示屏的各行进行选通 同时又向各列送出表示图形或文字信息的列数据 信号 反复循环以上操作 就可显示各种图形或文字信息 点阵式 LED 汉字广告屏绝大部分是采用动态扫描显示方式 这种显示方式巧 妙地利用了人眼的视觉暂留特性 将连续的几帧画面高速的循环显示 只要帧速 率高于 24 帧 秒 人眼看起来就是一个完整的 相对静止的画面 最典型的例子 就是电影放映机 在电子领域中 因为这种动态扫描显示方式极大的缩减了发光 单元的信号线数量 因此在 LED 显示技术中被广泛使用 以 8 8 点阵模块为例 说明一下其使用方法及控制过程 图 2 1 中 红色水 平线 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 全点亮 现描述一下用动态扫描显示的方式 显示字符 B 的过程 其过程如图 2 2 图 2 2 用动态扫描显示字符 B 的过程 2 32 3 LEDLED 常见的控制方式常见的控制方式 目前常见的是并行传输方式 见附录 1 1 通过 8 位锁存器将 8 位总线上的 列数据进行锁存显示 各 8 位锁存器的片选信号由译码器提供 此种方式的优点 是传输速度快 对微控制器 MCU 的通信速度要求较低 但是这种方案最大的 缺点是不便于随意扩展显示单元的数目 每增加一个 16 16 点阵的全角汉字显 示单元 就需要在之前的电路上多增加两根地址线 这就要求在 PCB 布线的时候 要留有充足的地址线冗余量 再一个缺点是 每个单元的 PCB 随着安放位置的不 同 布线结构也不相同 不利于厂家批量生产 并行传输需要的芯片较多 因此 市场上已经出现用 FPGA CPLD 等高密度可编程逻辑器件 PLD 来取代传统锁存 器 IC 的方案 成本有所下降 但可扩展性仍旧较差 因此 并行传输方式适用 于显示单元数目确定的条屏 随着广告屏显示内容的多媒体化 对控制器传输速度 运算能力的要求越来 越高 因此控制器的种类也在不断发展以适应要求 从最初的 8051 单片机 到 PIC 单片机 又到 FPGA 直到现在的 ARM 处理器 不同功能档次的广告屏对应着 不同的处理器 一 以传统 8051 单片机为控制器的 LED 显示屏 因受到单片机运算速度及 通信速率的限制 LED 动态显示的刷新率不可能做得太高 对显示效果和移动算 法的处理也比较吃力 在实际显示效果上有比较明显的闪烁感 除此之外 传统 8051 单片机的内部资源贫乏 仅 128 字节的数据存储器 几 K 字节的程序内存 无 E2PROM SPI 这就需要对单片机扩展外设 无疑增加了硬件成本 因此 8051 控制的条屏只能用于显示内容及其简单 不需要经常更改显示内容的场合 二 以 PIC 单片机为控制器的 LED 显示屏 因 PIC 单片机是 RISC 架构的工 业专用单片机 处理指令的速度有所增加 抗干扰能力优秀 型号种类繁多 作 为条屏的控制器 可以明显的改善显示效果 同时 PIC 单片机内部的资源较丰富 可节省外部电路设计难度 同时降低了硬件成本 因此 以 PIC 单片机为控制器 的条屏目前仍是单色条屏市场的主流 三 以 FPGA 复杂可编程逻辑门阵列 为控制器的 LED 显示屏 FPGA 以高 速 并行著称 是近年来新兴的可编程逻辑器件 用他作为 LED 显示屏的控制器 能够高速的处理色阶 PWM 信号 高速的完成动态扫描逻辑 高速的完成字符移动 算法 因此被运用于双基色 三基色的显示系统 但是其成本较高 开发难度较 大 四 以 ARM 32 位 RISC 架构高性能微处理器 为控制器的 LED 显示屏 ARM 有着极高的指令效率 极高的时钟频率 因此其运算能力非常强大 内部资源也 十分丰富 极大的简化了硬件设计的难度 缩短了开发周期 在条屏的运用中 能用 ARM 来实现花样繁多的显示方式 以及高色阶 多像素的全彩屏驱动 ARM 与 FPGA 的组合更是功能强大 除了海量存储技术 无线更新技术外 还能实时 地显示视频信号 因此 以 ARM 为控制器的显示屏常为视频全彩屏 3 3 硬件电路设计硬件电路设计 3 13 1 系统硬件概述系统硬件概述 整个电路由单片机 89C51 8 个 74LS373 1 个 74HC154 1 个 74LS138 4 个 16 16 的 LED 该电路所设计的电子屏可显示多个汉字 需要 4 个 16 16 LED 点阵模块 可组成 16 64 的条形点阵 AT89C51 是一种带 4KB 可编程可擦除只 读存储器的低电压 高性能微 处 理器 俗称单片机 单片机的可擦除只 读存储器可以反复擦除 100 次 该器 件采用 ATMEL 高密度非易失 内存制造技术制造 与工业标准的 MCS 51 指令 集和输出管脚相兼容 由于 将多功能 8 位 CPU 和闪烁内存组合在单个芯片中 ATMEL 的 AT89C51 是一种高效微控制器 AT89C2051 是它的一种精 简版本 AT89C51 单片机为很多嵌入式控制系 统提供了一种 灵活性高且价廉的方案 AT89C51 引脚即外观如图 3 1 所示 图 3 1 AT89C51 的管脚图 译码器是组合逻辑电路的一个重要的器件 74LS138 的输出是低电平有 效 故实现逻辑功能时 输出端不可接或 门及或非门 74LS138 与前面不同 其有使能端 故使能端必 须加以处理 否则无法实现需要的逻辑功能 发光 二极管点亮只须使其正向导通即可 根据 LED 的公共极是 阳极还是阴极分为 两类译码器 即针对共阳极的低电平有效的译码器 针对共阴极 LED 的高电 平输出有效的译码器 74LS373 是低功耗肖特基 TTL8D 锁存器 内有 8 个相同的 D 型 三态同相 锁 存器 由两个控制端 11 脚 G 或 EN 1 脚 OUT CONT OE 控制 当 OE 接地时 若 G 为高电平 74LS373 接收由 PPU 输出的地址信号 如果 G 为低电平 则将地 址信号锁存 工作原理 74LS373 的输出端 O0 O7 可直接与总线相连 当三态允 许控制端 OE 为低电平时 O0 O7 为正常逻辑状态 可用来驱动负载或总线 当 OE 为高电平时 O0 O7 呈高阻态 即不驱动总线 也不为总线的负载 但锁存 器内部的逻辑操作不受影响 当锁存允许端 LE 为高电平时 O 随数据 D 而变 当 LE 为低电平时 O 被锁存在已建立的数据电平 74LS373 引脚即外观如图 3 2 所示 图 3 2 74LS373 引脚图 74HC154 为 4 线 12 线译码器 当选通端 G1 G2 均为低电平时 可将 地址端 ABCD 的二进制 编码在一个对应的输出端 以低电平译出 若将 G1 和 G2 中的一个作为数据输入端 由 ABCD 对输出寻址 还可作 1 线 16 线 数据分配器 工作环境温度为 0 70 对社会的要求非常适合 LED 50 年前人们已经了解半导体材料可产生光 线的基本知识 第一个商用二极管 产生于 1960 年 LED 是英文 light emitting diode 发光二极管 的 缩写 它的基本 结构是一块电致发光的半 导体材料 置于一 个有引线的架子上 然后四 周用环氧 7 树脂密封 即固体 封装 所以能起到保 护内部芯线的 作用 所以 LED 的抗震性能好 该电路的显示采用逐行扫描方式 工作时 由单 片机取出第一行需要显示的内容经延时一段时间后再进行下一行点阵数据的显示 需要注意的是 每次只能选通一行数据 即要通过不断的逐行扫描来实现汉字或 字符的显示 3 23 2 16 16LED16 16LED 点阵显示制作点阵显示制作 3 2 13 2 1 16 16LED16 16LED 点阵的内部结构及工作原理点阵的内部结构及工作原理 以 UCDOS 中文宋体字库为例 每一个字由 16 行 16 列的点阵组成显示 即国 家标准汉字库中的每一个字均由 256 点阵来表示 我们可以把每一个点理解为一 个像素 而把每一个字的字形理解为一幅图像 事实上这个汉字屏不仅可以显示 汉字 也可以显示在 256 像素范围内的任何图形 这里我们以 高 字说明 如 图 3 3 所示 图 3 3 16 16LED 汉字显示 用 8 位的 AT89C51 单片机控制 由于单片机的总线为 8 位 一个字需要拆分 为 2 个部分 一般把它拆分为上部和下部 上部由 8 16 点阵组成 下部也由 8 16 点阵组成 在本例中单片机首先显示的是左上角的第一列的上半部分 即 第 0 列的 p00 p07 口 方向为 p00 到 p07 显示汉字 高 时 p02 点亮 由上往 下排列 为 p0 0 灭 p0 1 灭 p0 2 灭 p0 3 灭 p0 4 灭 p0 5 亮 p0 6 灭 p0 7 灭 即二进制 00000100 转换为 16 进制为 04h 上半部第一列完成后 继 续扫描下半部的第一列 为了接线的方 便 我们仍设计成由上往下扫描 即从 p27 向 p20 方向扫 描 从上图可以看到 这一列全部为不亮 即为 00000000 16 进制则为 00h 然后单片机转向上半部第二列 仍为 p01 点亮 为 00000100 即 16 进制 04h 这 一列完成后继续进行下半部分的扫描 p20 点亮 为二进制 00000010 即 16 进 制 02h 依照这个方法 继续进行下面的扫描 一共扫描 32 个 8 位 可以得出汉 字 高 的扫描代码为 02h 00h 01h 04h 0FFh 0FEh 00h 00h 1Fh 0F0h 10h 10h 10h 10h 1Fh 0F0h 00h 04h 7Fh 0FEh 40h 04h 4Fh 0E4h 48h 24h 48h 24h 4Fh 0E4h 40h 0Ch 由这个原理可以看出 无论显示何种字体或图像 都可以用这个方法来分析 出它的扫描代码从而显示在屏幕上 不过现在有很多现成的汉字字模生成软件 就不必自己去画表格算代码了 3 2 2 用用 8 88 8 LEDLED 点点阵构成 16 16 LED 点阵 Proteus 中只有 5 7 和 8 8 等 LED 点阵 并没有 16 16LED 点阵 而在实 际应用中 要良好地显示一个汉字 则至少需要 16 16 点阵 下面我们就首先 介绍使用 8 8 点阵构建 16 16 点阵的方法 并构建一块 16 16LED 点阵 用于 本例的显示任务 首先 从 Proteus7 1 的组件库中找到 MATRIX 8X8 RED 元器件 并将四块该 元器件放入 Proteus 文文件区编辑窗口中 此时需要注意 如果该元器件保持初 始的位置 没有转动方向 我们要首先将其左转 90 使其水平放置 那么此 时它的左面 8 个引脚是其行线 右边 8 个引脚是其列线 当然 如果你是将右转 则右边 8 个引脚是行线 然后我们将四个元器件对应的行线和列线分别进行连 接 使每一条行线引脚接一行 16 个 LED 列线也相同 并注意要将行线和列线引 出一定长度的引脚 以便下面我们使用 连接好的 16 16 点阵如图 3 4 所示 成如上图的 16 16 点阵只是第一步 这样分开的数块并不能达到好的显示 效果 下面我们要将其进一步组合 组合实际上很简单 首先选中如上图中右侧 的两块 8 8 点阵 然后拖动并使其与左侧的两块相并拢 如图 3 5 所示 图 3 5 可以看到原来的联机已经自动隐藏了 至于在线的交点 我们不要去动 然 后 我们再来最后一步 选中下侧的两块点阵 并拖动使其与上侧的两块并拢 图 3 4 点阵模块组合 最后的效果如图 3 6 所示 看到 原来杂乱的联机现在已经几乎全部隐藏了 一 块 16 16 的 LED 点阵做成了 需要注意 做成的 LED 点阵的行线为左侧的 16 个 引脚 下侧的 16 个引脚为其列线 而且其行线为高电平有效 列线为低电平有 效 然后 我们将其保存 以便以后使用 图 3 6 3 3 主控单片机的接口说明 P0 口 P0 口是一组 8 位漏极开路型双向 I O 口 也即地址 数据总线复 制用口 作为输入口时 每位能吸收 电流的方式驱动 8 个 TTL 逻辑门电路 对端口写入 1 可作为高阻抗输入端用 在 访问外部数据存储器或程序内存 时 这组口线分时转换地址 低 8 位 和数据总线复用 在访问期启动内 部 上拉电阻 在 Flash 编程时 PO 口接收指令 节 而在程序校 检时 输出指令 位元组 校检时 要求外接上拉 电阻 P1 口 P1 口是一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓 冲级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对埠写 1 通过内 部的上拉电阻把埠拉到高电平 此时可作输入口 作输入口时 因为内部存 在上拉电阻 某个引脚被外部信号拉低时会输出一个电流 I Flash 编程和 程序校检期间 P1 接收低 8 位地址 P2 口 P2 口是一个带内部上拉电阻的 8 位双向 I O 口 P1 的输出缓冲级 可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对埠写 1 通过内部的 上拉电阻把埠拉到高电平 此时可作输入口 作输入口时 因为内部存在上 拉电阻 某个引脚被外部信号拉低时会输出一个电流 I 在访问外部数据存 储器或 16 位地址的外部 数据存储 例如执行 MOVX DPTR 指令 时 P2 口送 出高 8 位地址数据 在访问 8 位地址的外部 数据存储器 如执行 MOVX RI 指 令 时 P2 口在线的内容 也即特殊功能寄存器 SFR 区中 R2 寄存器的 内容 在整个访问期间不改变 Flash 编程和校检时 P2 亦接收高位位址 和其它控制信 号 P3 口 P3 口是一个带内部上拉电阻的 8 位双向 I O 口 P3 口输出缓冲 级可驱动 吸收或输出电流 4 个 TTL 逻辑门电路 对 P3 口写入 1 时 它们被内部上拉电阻拉高并可作 输入埠 作输入端时 被外部拉低的 P3 口 将用上拉电阻 输出电流 I P3 口还接收一些用于 Flash 闪速内存编程和程序 校检的控制信号 RST 复位输入 当震荡器工作时 RST 引脚出现两个机器周期以上高电平将 使单片机复位 ALE PROG 当访问外部程序内存或数据存储器时 ALE 地址锁存允许 输出 脉冲用于所存地址的低 8 位字节 即使不访问外部内存 ALE 乃以时钟振动频率 的 1 6 输出固定的正脉冲信号 因此它可对外输出时钟或用于定时目的 要注意 的是 每当访问外部数据存储器时将跳过一个 ALE 脉冲 3 4 LED 显示驱动电路 LED 显示驱动电路如图 3 7 所示 图 3 7 显示驱动电路图 4 4 字模生成字模生成 4 1 字模简介 文字的字模是一组数字 但它的意义却与数字的意义有着根本的变化 它是 用数字的各位信息来记载英文或汉字的形状 1 在计算机硬件中 根本没有汉字这个概念 也没有英文的概念 其认识的概 念只有 内码 将 ASCII 表的高 128 个很少用到的数值以两个为一组来表示汉 字 即汉字的内码 而剩下的低 128 位则留给英文字符使用 即英文的内码 如果你用启动盘启动系统后用 DIR 命令可能得到一串串莫名其妙的字符 但那确 确实实是汉字 如果你启动 UCDOS 或其它的汉字系统后 就会看到那是一个个熟 悉的汉字 在硬件系统内 英文的字模信息一般固化在 ROM 里 即使在没有进入 系统的 CMOS 里 也可以让你看到英文字符 而在 DOS 下 中文的字模信息一般 记录在汉字库文件里 将制作好的字模放到一个个标准的库中 这就是点阵字库 檔 4 1 1 LED 显示屏领域字模实现技术 在通过软件实现的技术中 目前有许多字模生成软件 软件打开后输入汉字 点 检取 十六进制数据的汉字代码即可自动生成 把我们所需要的竖排数据 复制到我们的程序中即可 在通过硬件实现字模提取的技术中 有在单片机系统 中增加硬汉字库的方法 主控器发送的汉字是其机内码 用两个字节来表示一个 汉字 根据机内码 显示单元控制模块从汉字库中查取显示字模 实现汉字显示 由于带有硬汉字库 进行动态文字显示时 通用智能显示单元仅接受汉字的机内 码即可 这样数据通讯量大大减少 因此 动态文字显示速度快 4 1 2 软件控制系统字模提取的分析与设计 而在 LED 显示屏控制系统具体应用的 Windows 操作系统下如何提取字模信息是设计的 核心 软件控制系统在实际编辑过程中 要求各种字体 字号的文字都能被编辑 保存 所 以系统在设计时 把文本区理解为由众多的象素点构成 而把不同字体 字号的文字理解为 一幅图像 因为所开启的文本区大小与 LED 显示屏的大小对应 所以采用 16 16 点阵为单 位元 把文本区内的每个像素点都看成一个二维数组 由于系统中各种颜色都有对应的值 赋予每个不同颜色的像素点不同的对应值 再把每个点赋予一个 int 型的值 这样保存下来 的信息就是二进制数据 通过这样的设计 我们不仅可以把任何字型 任何大小的文字保存 下来 还可以显示以 256 个像素点阵为单位的任何图形 在软件控制系统中实现字模的提取 也就避免了在单片机中加载硬汉字库模块 从而简化了硬件模块的设计 以下以单色屏为例 介绍系统采用字模保存的算法设计 定义 COLORREF zimo color 为像素点的颜色 判断某个点的颜色值 如果值为 Oxffffff 说明此点为白色 赋予此点值 0 由于单色屏只有红色和不显色两种 所以可以简 单赋值为除白色外其余点赋值为 1 CClientDC dc this CFile myfile unsigned int zimo 192 384 0 unsigned char zimo data 192 48 0 COLORREF zimo color int row col this HideCaret for row 0 row 192 row for col 0 col 384 col zimo color do GetPixel col row if zimo color Oxffffff zimo row col 0 else zimo row col 1 定义 unsigned int zimo 192 384 0 文本区像素点 以 8 位为一字节 因为在随后的串行通讯中 传输的数据是 8 位的二进制数据 定义 unsigned char zimo data 192 48 0 4 2 字模存储技术 目前使用最广泛的技术是 通过上位机软件将待显示的字符串转换为对应的 点阵字模数据 通过烧写的方式将这些字模数据按一定的顺序编址后存储在 E2PROM 中 在条屏显示的过程中按规定的方式取出 E2PROM 中的字模资料进行处理 对于一个 16 16 点阵的汉字字模数据 需要连续 32 位元组的 E2PROM 空间来存储 照此计算 若有 256 个需要显示的字符 则至少需要 32B 256 8192 字节 8KB 的 E2PROM 存储空间 通常的单片机内部没有集成这么大容量的 E2PROM 因此这种方案 需要在单片机外部扩展大容量的 E2PROM 增加硬件成本 上位机 程序设计由于涉及到汉字取模 取模算法的难度较大 在多字下载的时候传输时 间也较长 诸多弊端使本设计放弃了传统方案 而本设计创新使用了专用的点阵 字库芯片 成本仅为 8 元 内含各种点阵规格的 GB2312 ASCII 等标准字库 专 用字库芯片采用微型 SO 8 封装 使用高速同步串行 SPI 接口进行读写操作 节 省了控制器的 I O 在本设计中 单片机内部的小容量 E2PROM 用于存储待显示 汉字的 GB2312 标准机内码 每个全角文字的内码占 2 字节 则在同样需要显示 256 个汉字的情况下 这种方案仅占用 512 字节的 E2PROM 空间 4 3 字库生成 因为本设计中为行扫描 列输入 所以 魏 的自摸代码为 DB 49H 40H 4AH 51H 4CH 6AH 7FH 0C4H 4CH 4AH 8AH 71H 88H 42H 3FH 84H DB64H 98H 0A5H 0E0H 3EH 0BEH 24H 81H 24H 89H 7FH 81H 20H 07H 00H 00 佳 字代码为 DB 01H 00H 02H 00H 04H 00H 1FH 0FFH 0E2H 02H 12H 22H 12H 22H 12H 22H DB 12H 22H 0FFH 0FEH 12H 22H 12H 22H 32H 62H 16H 26H 02H 02H 00H 00H 锋 字代码为 DB 01H 40H 02H 40H 0EH 40H 0F3H 0FEH 12H 44H 12H 48H 09H 00H 11H 28H DB 0F2H 0A8H 2AH 0A8H 25H 0FFH 2AH 0A8H 32H 0A8H 23H 28H 02H 00H 00H 00 H 5 5 软件设计软件设计 5 1 程序设计总体思路和结构 5 1 1 程序设计总体思路 用简短的汇编程序设计 实现 LED 点阵显示内容 并使显示的内容在屏幕上 从左到右的滚动显示 系统采用模块化结构 包括主程序 延时程序 显示子程 序和串行口中断程序 用 AT89C51 74LS373 74LS138 74HC154 芯片和 4 个 16 16LED 点阵显示器构 成一个完整的 16 位点阵 LED 显示系统 5 1 2 程序流程图 程序主要由开始 初始化 主程序 字库组成 其中主程序和子 程序的流程图如图 5 1 所示 图 5 1 单片机汉字显示程序流程图 5 2 各模块程序设计 5 2 15 2 1 系统初始化系统初始化 ORG 0000H AJMP START ORG 000BH LJMP TIME0 ORG 0030H START MOV R1 00H MOV R2 00H MOV R3 00H MOV R4 00H MOV R5 00H 5 2 25 2 2 LEDLED 动态显示动态显示 显示要求汉字在显示屏上按从左到右的顺序一个个的出现 设计时可采用如 下方法 首先将 LED 显示屏对应的显示缓冲区全部清零 即 LED 显示空白 然后 每间隔一个 软定时器 设定的动态显示时间 显示缓冲区依次加入一个汉字点 阵数据并进行扫描显示 这样就可达到动态显示的效果 实现 LED 从左向右移动 显示程序 TIME0 INC R5 CJNE R5 3 NEXT MOV R5 0 INC DPTR INC DPTR INC R1 CJNE R1 144 NEXT MOV R1 0 MOV DPTR TAB NEXT MOV TH0 3CH MOV TL0 0B0H RETI 5 2 3 汉字显示的原理 我们以中文宋体字库为例 每一个字由 16 行 16 列的点阵组成显示 即国标 汉字库中的每一个字均由 256 点阵来表示 我们可以把每一个点理解为一个像素 而把每一个字的字形理解为一幅图像 事实上这个汉字屏不仅可以显示汉字 也可以显示在 256 像素范围内的任何图形 LED 点阵汉字显示程序 MAIN MOV P1 R2 MOV A R3 MOVC A A DPTR MOV P2 A INC R3 MOV A R3 MOVC A A DPTR MOV P0 A INC R3 MOV P3 R4 LCALL DELAY1MS INC R2 CJNE R2 16 MAIN MOV R2 0 INC R4 CJNE R4 3 MAIN MOV R3 0 MOV R4 0 LJMP MAIN 6 6 系统功能测试系统功能测试 6 1 单元模块电路测试 在 proteus 仿真软件中运行测试 AT89C51 74LS373 74LS138 74HC154 等 芯片和 LED 显示器均能正常运行并完整的显示出了我所要的效果 所以各个模块 功能正常 6 2 系统整体功能测试 在仿真软件 proteus 中运行测试系统整体功能 一切正常 实现了汉字的左 移滚动显示 完整的显示出了 陕西理工学院 浮动汉字 图 6 1 单片机汉字显示系统测试图 陕西理工 一看就不是自己的 总总 结结 在本设计中我用简短的汇编程序在 LED 显示屏实现了汉字的左移滚动显示 在设计中采用的芯片有 AT89C51 74LS373 74LS138 74HC154 和 4 个 16 16LED 点阵显示器 其特点 1 内容能从右向左浮动显示 2 硬件结构简单 应用广泛 3 LED 数码管动态扫描显示 工作效率高 价格低廉等 通过本次 64 16 位点阵 LED 的设计 理论知识学习和实际设计的结合锻炼 了我的综合运用所学的专业基础知识解决实际工程问题的能力 同时也提高我查 阅文献数据 设计手册 设计规范以及计算机制图等其它专业能力水平 而且通 过对整体的掌控 对局部的取舍 以及对细节的斟酌处理 都使我的能力得到了 锻炼 经验得到了丰富 为后继的学习和工作奠定的基础 致谢 在完成此设计过程中 我曾多次去找我的指导老师 李建忠老师 每次在遇到实验中遇 到困难或者程序看不懂的时候 我都去找李老师 不管上班下班时间 李老师每次都不厌其 烦 不辞辛苦的给我细心讲解指导 我才能在实验室完成实验 在写论文过程中老师也给了 我很大帮助 在此 我由衷的对李老师对我的指导和教育 参参 考考 文文 献献 1 李建忠编着 单片机原理及应用 西安 西安电子科技大学出版社 2002 2 李群芳 肖看编着 单片机原理 接口及应用 北京 清华大学出版社 2005 3 于海生编着 微型计算机控制技术 北京 清华大学出版社 2008 4 戴梅萼 史嘉权编着 微型计算机技术及应用 第 3 版 北京 清华大学出版社 2008 5 江晓安 董秀峰编着 数字电子技术 第二版 西安 西安电子科技大学出版社 2005 附录 附录 源程序代码 ORG 0000H 初始化 AJMP START ORG 000BH LJMP TIME0 ORG 0030H START MOV R1 00H MOV R2 00H MOV R3 00H MOV R4 00H MOV R5 00H MOV TMOD 01H MOV TH0 3CH MOV TL0 0B0H MOV IE 82H SETB TR0 MOV DPTR TAB MAIN MOV P1 R2 单片机输出 MOV A R3 MOVC A A DPTR MOV P2 A INC R3 MOV A R3 MOVC A A DPTR MOV P0 A INC R3 MOV P3 R4 LCALL DELAY1MS INC R2 CJNE R2 16 MAIN MOV R2 0 INC R4 CJNE R4 4 MAIN MOV R3 0 MOV R4 0 LJMP MAIN TIME0 INC R5 移动显示 CJNE R5 3 NEXT MOV R5 0 INC DPTR INC DPTR INC R1 CJNE R1 144 NEXT MOV R1 0 MOV DPTR TAB NEXT MOV TH0 3CH MOV TL0 0B0H RETI DELAY1MS MOV R7 2 延时 DEL MOV R6 250 DJNZ R6 DJNZ R7 DEL RET TAB DB 000H 000H 01FH 0FCH 010H 000H 025H 000H 03BH 004H 000H 048H 00AH 050H 009H 060H 陕 DB 07FH 0C0H 010H 0A0H 012H 090H 014H 088H 000H 08CH 000H 004H 000H 004H 000H 000H DB 00H 00H 7FH 0FFH 44H 20H 5AH 10H 61H 0E1H 10H 82H 14H 84H 12H 88H DB 10H 0B0H 0FFH 0C0H 10H 0B0H 12H 88H 34H 86H 11H 83H 00H 82H 00H 00H DB 000H 000H 003H 000H 002H 0F8H 022H 010H 022H 050H 03FH 090H 022H 010H 022H 010H DB 07FH 090H 044H 090H 044H 090H 004H 00CH 004H 030H 007H 0C0H 000H 000H 000H 000H DB 000H 010H 011H 010H 011H 020H 01FH 0E0H 022H 048H 000H 048H 038H 008H 027H 048H DB 025H 048H 03FH 0F0H 04AH 090H 042H 090H 07EH 010H 000H 010H 000H 000H 000H 000H DB 000H 000H 000H 010H 000H 010H 000H 010H 008H 010H 008H 010H 008H 010H 00FH 0E0H DB 010H 020H 010H 020H 010H 020H 000H 020H 000H 020H 000H 020H 000H 000H 000H 000H DB 000H 000H 003H 020H 00EH 020H 044H 020H 024H 020H 005H 020H 04AH 024H 02AH 0C2H DB 00BH 07CH 01AH 040H 0E8H 040H 008H 040H 00CH 040H 008H 000H 000H 000H 000H 000H DB 000H 000H 03FH 0FCH 022H 000H 02DH 004H 033H 008H 004H 010H 018H 0A0H 00AH 0C0H DB 052H 080H 035H 0F8H 015H 004H 011H 004H 018H 004H 000H 038H 000H 000H 000H 000H DB 02H 00H 02H 00H 42H 00H 33H 0FEH 00H 04H 02H 08H 02H 10H 02H 00H DB 02H 00H 0FFH 0FFH 02H 00H 02H 00H 02H 00H 06H 00H 02H 00H 00H 00H DB 10H 10H 20H 10H 0C0H 11H 5FH 0D2H 75H 7CH 55H 50H 55H 50H 35H 50H DB 0D5H 50H 55H 50H 75H 7FH 5FH 0D0H 40H 10H 40H 30H 00H 10H 00H 00H DB 08H 20H 08H 0C0H 0BH 00H 0FFH 0FFH 09H 01H 08H 82H 00H 04H 3FH 0F8H DB 20H 00H 20H 00H 20H 00H 7FH 0FCH 20H 02H 00H 02H 00H 0EH 00H 00H DB 24H 08H 24H 10H 24H 60H 25H 80H 7FH 0FFH 0C5H 00H 44H 80H 00H 40H DB 24H 40H 12H 40H 00H 40H 0FFH 0FFH 00H 80H 01H 80H 00H 80H 00H 00H DB 02H 20H 0CH 20H 88H 20H 69H 20H 09H 20H 09H 22H 89H 21H 69H 7EH DB 09H 60H 09H 0A0H 19H 20H 28H 20H 0C8H 20H 0AH 60H 0CH 20H 00H 00H DB 00H 10H 00H 10H 00H 10H 0FFH 10H 11H 10H 11H 10H 11H 10H 11H 10H DB 11H 10H 11H 32H 11H 11H 11H 02H 33H 0FCH 11H 00H 00H 00H 00H 00H DB 08H 20H 08H 22H 08H 41H 0FFH 0FEH 08H 80H 08H 01H 11H 81H 11H 62H DB 11H 14H 0FFH 08H 11H 14H 11H 64H 31H 82H 10H 03H 00H 02H 00H 00H DB 04H 08H 04H 08H 04H 10H 04H 20H 04H 40H 04H 80H 05H 00H 0FFH 0FFH DB 05H 00H 44H 80H 24H 40H 34H 20H 04H 10H 0CH 18H 04H 10H 00H 00H DB 49H 40H 4AH 51H 4CH 6AH 7FH 0C4H 4CH 4AH 8AH 71H 88H 42H 3FH 84H DB 64H 98H 0A5H 0E0H 3EH 0BEH 24H 81H 24H 89H 7FH 81H 20H 07H 00H 00H DB 01H 00H 02H 00H 04H 00H 1FH 0FFH 0E2H 02H 12H 22H 12H 22H 12H 22H DB 12H 22H 0FFH 0FEH 12H 22H 12H 22H 32H 62H 16H 26H 02H 02H 00H 00H DB 01H 40H 02H 40H 0EH 40H 0F3H 0FEH 12H 44H 12H 48H 09H 00H 11H 28H DB 0F2H 0A8H 2AH 0A8H 25H 0FFH 2AH 0A8H 32H 0A8H 23H 28H 02H 00H 00H 00H 可靠性 由于无线LED信息发布系统使用环境的特殊性 必须保证系统工作相对稳定可 靠 本系统的可靠性主要体现在三个方面 一是上位机的可靠性 包括硬件系统 的可靠性 软件平台的可靠性 二是无线LED显示终端的可靠性 主要是指无线 LED显示终端能够稳定可靠地工作 硬件故

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论