




已阅读5页,还剩35页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
毕毕 业业 设设 计(论计(论 文)文) 设计设计(论文论文)题目:题目: LED 显示系统设计 学生姓名: 贲林林 指导教师: 徐志国 二级学院: 信息技术学院 专 业: 通信工程 班 级: 通信工程(1)班 学 号: 0805110736 提交日期: 2012 年 4 月 20 日 答辩日期: 年 月 日 目录 I 目 录 摘 要 III Abstract IV 第 1 章 绪 论 .1 1.1 现实意义 1 1.2 选题目的1 1.3 论文主要内容1 第 2 章 方案论证与选择 .3 2.1 系统硬件方案选择.3 2.1.1 上位机部分选择 .3 2.1.2 通信部分方案选择 3 2.1.3 控制部分方案选择 .4 2.1.4 显示部分方案选择 .4 2.1.5 最终确定硬件设计方案 .5 2.2 系统软件方案选择.6 2.2.1 单片机编程语言选择 .6 2.2.2 系统软件编译工具选择 .6 第 3 章 系统硬件设计 .8 3.1 硬件整体设计概述及功能分析.8 3.2 控制单元设计.8 3.2.1 控制系统设计 .8 3.2.2 AT89S51 简介9 3.3 行驱动单元设计10 3.3.1 行驱动系统设计 .10 3.3.2 串并转换器 74HC138.11 3.4. 列驱动单元设计13 3.4.1 列驱动系统设计 .13 3.5 单片机 ISP 下载编程器14 第 4 章 系统软件设计 .16 4.1 主程序设计16 目录 II 4.2 特效显示程序的设计17 4.2.1 LED 显示屏的显示方式.17 4.2.2 左移显示的设计 18 4.3 通信程序的设计19 第 5 章 系统调试 21 5.1 系统硬件部分调试方法21 5.1.1 短路与虚焊检测 21 5.1.2 上电测试 21 5.2 系统软件调试方法21 5.3 系统联合调试及结果22 5.4 调试结果分析23 第 6 章 结 论 .24 参考文献 25 附录 1: 硬件原理图 26 附录 2: 设计程序 27 附录 3: 系统 PCB 图 33 致 谢 .34 摘要 III LEDLED 显示系统设计显示系统设计 摘 要 在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用 LED 点阵显示图形和汉字。LED 行业已成为一个快速发展的新兴产业,市场空间巨大,前景广 阔。本文介绍了一款以单片机 AT89S51 为控制器的 LED 点阵显示屏系统的设计。该系统 可实现中英文字符的显示和动态特效显示。系统采用 PC 机作为上位机,上位机向单片机 发送控制命令和上位机所存储的显示代码,AT89S51 单片机接收并处理 PC 机的控制命令 以及显示代码,由显示驱动模块驱动一个 1616 分辨率的 LED 点阵显示屏的扫描显示。 PC 机与单片机之间的通信采用 ISP 下载编程器来实现。除此之外,该系统只占用了单片 机少量的 I /O 口和内存,为系统留下了功能扩展的空间。 关键字关键字:AT89S51;LED 点阵显示;串行通信 金陵科技学院学士学位论文Abstract IV The design of LED display system Abstract Nowadays, more and more places need to use LED dot matrix to display Chinese characters and graphics, such as the large shopping malls, railway stations, docks, subway stations , various kinds of service window and so on . LED industry has become a new and rapidly developing industry with a huge market space and foreground capacious.This paper introduces a design of the LED lattice display system base on MCU AT89S51. The system can display in both Chinese and English characters of the show and from top to bottom and move around the magic show. The PC sends control commands and displays code to microcontroller, AT89S51 receives control commands from PC and shows the code. Driver module drives a 1616-resolution LED lattice LEDs panel display scan showed. Communication between PC and the microcontroller using ISP download programmer standards. In addition, the system will take up only a small amount of the MCU I/O and memory,so that the system has functional space for expansion. Key words: AT89S51, lattice LEDs panel display, serial communication 金陵科技学院学士学位论文第 1 章 绪论 1 第 1 章 绪 论 1.1 现实意义 LED 显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用 于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。 LED 点阵显示屏以亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳 定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED 的发 展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光 均匀性、可靠性、全色化方向发展。LED 显示屏的应用涉及社会经济的许多领域,主要包 括:(1)证券交易、金融信息显示。 (2)机场航班动态信息显示。 (3)港口、车站旅客 引导信息显示。 (4)体育场馆信息显示。 (5)道路交通信息显示。 (6)调度指挥中心信 息显示。 (7)邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。 (8)广告 媒体新产品等。 1.2 选题目的 该设计课题能够使我们掌握 LED 显示屏的基本显示原理和设计方法,对 LED 显示屏 这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践, 使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了 51 单片机的的软 硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。目前我国 的信息行业发展迅速,作为主要平面显示媒介的 LED 显示屏的作用也越练越广泛,相关 的从业人员也会越来越紧缺。但同时应该清楚的认识到我国的 LED 技术虽然发展迅速但 和世界先进水平还有一定的差距。因此此课题不论是对自己的就业还是对我国 LED 显示 技术的发展都有非常现实与积极的意义。 1.3 论文主要内容 针对设计题目的特点,作者对论文的内容和结构将做如下安排: (1)初步方案的论证和选择 搜集题目的有关资料,并参照目前通用的设计思想和设计方法拟定几套设计方案进 行分析比较。最终选定了以 PC 机为上位机,单片机为核心控制器件,外加译码电路和驱 动电路的设计方案。 (2)方案实现 以设计方案为指导思想选择合适的器件来实现这一思想,选择器件时要从功能和电 气特性两方面来选择和论证。经过对比选择选定 AT89S51 单片机为核心控制器件,由串 并转换器 74HC138 和锁存器 74HC573 为译码电路器件,74HC595 为驱动电路器件。论文列 出了详细的器件参数和在系统中的连接使用方法。 金陵科技学院学士学位论文第 1 章 绪论 2 (3)软件编写 根据硬件特点和设计要求,软件选用 C 语言编写。程序按功能分为静态显示、动态 显示、通信等几个功能上相对独立的模块。然后按照所划分的模块逐个编写和调试,最 后将独立的模块整合起来。 (4)验证与测试 调试分为硬件调试、软件调试和系统联合调试几步来进行。在硬件调试中发现有单 片机端口驱动能力不足、驱动电路工作不稳定等问题。在软件调试中出现程序整合工作 不协调等问题。通过分析,查找找出了问题原因并设法将其解决。 (5)结论 设计完成后对设计中所遇到的问题、经验教训、以及自己的想法进行总结。 第 2 章 方案论证与选择 3 第 2 章 方案论证与选择 2.1 系统硬件方案选择 大多数的 LED 显示屏都在户外,所以对硬件的质量要求非常的高。为方便检修和维 护硬件电路设计时常常采用模块化的设计方法。硬件的设计采用模块化设计,既要满足 模块本身功能又要能够和整个系统兼容。如图 2-1 所示,根据显示系统的功能特点确定系 统硬件由显示屏部分,控制部分,通信系统及上位机四部分组成。上位机通过通信部分 向控制部分发送控制指令和显示内容代码,控制部分执行显示指令并将显示代码处理后 控制显示部分的显示内容和显示方式3。 图 2-1 系统硬件组成框图 2.1.1 上位机部分选择 其中系统采用现在已经非常普遍的 PC 机作为上位机,这样对该显示系统的硬件要求 便降低了,增加了系统的通用性。上位机的作用是存储并处理显示内容,然后通过通信 系统传送到控制系统驱动显示。 LED 显示上位机的内容一般有实时显示和存储显示两种方法。实时显示及上位机屏幕 上的内容同时显示在 LED 显示屏上,上位机上内容变化 LED 显示屏也跟着变化。存储显 示是将显示内容处理过后存储在上位机中通过通信系统传输到显示屏显示9。两种显示 方法相比较:实时显示屏幕能及时反应上位机内容的变化,显示的效果和内容的实时性 好多用于新闻播报、实况转播用,但实时显示硬件开销大,对通信系统要求高,工艺复 杂,成本高;存储显示虽实时性不高但硬件开销小,成本低廉。课题设计题目对显示的 实时性要求较低且所设计的显示屏尺寸不大同时显示的内容不多,所以实时显示就没有 必要。所以上位机选择存储显示的方法,控制 LED 显示屏的显示内容。 2.1.2 通信部分方案选择 通信部分要满足的设计要求就是稳定、快速、简单易实现。因为通常情况下显示屏 和上位机的距离不会很远,所以通信距离的要求不是很高。 ISP(In-System Programming)在系统编程,通过下载电缆直接对安装在用户目标 板上的器件编程,给电子产品的设计和生产带来许多革命性的变化。目前,比较成熟的 ISP 下载器大多是基于串口或者并口通信的,但是也存在着以下问题: 第 2 章 方案论证与选择 4 (1)用户 PC 机的主频、硬件和操作系统不同,可能会造成控制信号错误; (2)不同的厂商提供不同的 ISP 下载器,互不兼容,给嵌入式开发带来不便; (3)限于串、并口的通信协议,ISP 数据传输速率较低,影响嵌入式产品的开发。 基于以上原因,本设计选择了一种将单片机和 USB 总线相结合,进行 ISP 下载的方法。 2.1.3 控制部分方案选择 控制部分是整个系统的核心部分,其功能为与上位机通信接收上位机发送的数据和 控制指令处理过后控制显示部分显示内容。 单片机是集成了 CPU,ROM,RAM 和 I/ O 口的微型计算机。它有很强的接口性能,非 常适合于工业控制,因此又叫微控制器(MCU)。单片机品种齐全,型号多样 CPU 从 8,16,32 到 64 位,多采用 RISC 技术,片上 I/O 非常丰富,有的单片机集成有 A/ D, “ 看门狗” ,PWM,显示驱动,函数发生器,键盘控制等。它们的价格也高低不等,这样极 大地满足了开发者的选择自由。除此之外单片机还具有低电压和低功耗的特点。随着超 大规模集成电路的发展,NMOS 工艺单片机被 CMOS 代替,并开始向 HMOS 过渡。供电电压 由 5V 降到 3V,2V 甚至到 1V,工作电流由 mA 降至 A ,这在便携式产品中大有用武之 地4。 单片机的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。现在 市场上常用的单片机主要有 MCS-51、AVR、ARM、PIC 等。其中应用最广泛的单片机首推 Intel 的 51 系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久” ,有先 入为主的优势常作为单片机学习的教材。且 51 系列的 I/O 脚的设置和使用非常简单,当 该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各 I/O 口均置高电平) 。当该 脚作输出脚使用时,则为高电平或低电平均可。所以在控制部分方案的选择中选定 51 系 列单片机作为控制部分的核心器件。 2.1.4 显示部分方案选择 显示部分包括了一块至少可以显示一个汉字的显示屏,以及驱动该显示屏的驱动电 路。由于单片机的 I/O 口有限要不能直接用 I/O 口来驱动 LED 显示屏,所以需要对单片 机 IO 口进行扩展增加单片机并行输出的能力。 LED 显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的 LED 显示屏就需 要多个发光二极管。构成 LED 屏幕的方法有两种,一是由单个的发光二极管逐点连接起 来,如图 2-2 所示;二是选用一些由单个发光二极管构成的 LED 点阵子模块构成大的 LED 点阵模块。目前市场上普遍采用的点阵模块有 88、1616 几种;这两种屏幕构成方法 各有有缺点,单个发光二极管构成显示屏优点在于当单个的发光二极管出现问题时只需 更换一个二极管即可,检修的成本较低,缺点在于连接线路复杂;而点阵模块构成的方 法却正好与之相反,模块构成省约了大量的连线,不过当一个 LED 出现问题时同在一个 模块的所有 LED 都必须被更换。这就加大了维修的成本。 第 2 章 方案论证与选择 5 两种方法相比较,决定采取模块构成的方法来制作一个 LED 点阵显示屏。为了避免 模块的缺点,选择点阵数较小的模块来减小出现这一问题的风险。所以构建一个 1616 的 LED 点阵屏选用四块 88 点阵模块。 图 2-2 LED 点阵图 一个 1616 的 LED 显示屏行和列各有 16 支引脚,不能单靠 51 单片机的端口驱动所 以必须要对单片机的端口个数进行扩展。经常采用的端口扩展方法是用串并转换芯片进 行译码。常用的串并转换芯片有 74LS154(4 线-16 线译码器) 、74HC138(8 位串并转换 器) 、74HC595 等。51 系列单片机端口低电平时,吸入电流可达,具有一定的驱 动能力;而为高电平时,输出电流仅数十 甚至更小(电流实际上是由脚的上拉电流 形成的) ,基本上没有驱动能力,所以单片机不能直接驱动 LED 显示屏显示。在单片机和 显示屏之间还需要增加以功能放大位目的的驱动电路7。 2.1.5 最终确定硬件设计方案 最终方案如图 2-3 所示,以 PC 机作为上位机存储和处理显示内容用串行通信的方式 将显示内容和控制指令传输到单片机系统,单片机根据上位机传输来的内容和指令通过 端口译码扩展后驱动 4 块 88LED 点阵模块构成的 1616 的 LED 点阵显示屏。题目将以 此方案为指导思想展开具体的硬件电路设计。 第 2 章 方案论证与选择 6 16 16LED PC 图 2-3 硬件设计方案 2.2 系统软件方案选择 软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。软件的编 写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中执行。编写软件 之前得首先选择一种合适的语言以及配套的编辑器和编译软件。最后还要选择一款与所 选单片机的下载器或下载软件来把编写的程序下载到单片机中执行。 2.2.1 单片机编程语言选择 现在主要运用的单片机编程语言为汇编语言和 C 语言。两种语言相比较各有优点。 汇编语言(Assembly Language)是面向机器的程序设计语言,是一种功能很强的程序 设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。其具有执行速度快, 占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的 机型,不能通用,也不能在不同机型之间移植8。 C 语言是一种源于编写 UNIX 操作系统的语言,它是一种结构化语言,可产生压缩代 码。C 语言结构是以括号 而不是子和特殊符号的语言。C 可以进行许多机器级函数控 制而不用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要 求对 51 的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可 由编译器管理;程序有规范的结构,可分为不同的函数。这种方式可使程序结构化;将 可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;编程及程序调试时间 显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力; 已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。C 语言作为一种非 常方便的语言而得到广泛的支持,C 语言程序本身并不依赖于机器硬件系统,基本上不做 修改就可根据单片机的不同较快地移植过来。 基于以上理由决定采用 C 语言为该显示系统的编程语言。 2.2.2 系统软件编译工具选择 C 语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。 因此在系统软件设计中,编译器必不可少。支持 MCS51 用 C 语言编程的编译器主要有 两种:Franklin C51 编译器和 KEILC51 编译器。目前在单片机开发中普遍都是使用 KEIL C51 来进行编译。 第 2 章 方案论证与选择 7 因此软件设计最终方案为采用 C 语言为程序语言,KELC 为编译工具按照控制、通信、 显示等几个功能模块来编写程序。 金陵科技学院学士学位论文第 3 章 系统硬件设计 8 第 3 章 系统硬件设计 3.1 硬件整体设计概述及功能分析 显示系统具体设计主要由上位机,通信系统,单片机系统,译码电路,显示驱动电 路和 1616 的点阵屏六部分组成。具体工作流程为:上位 PC 机通过通信系统向单片机 发送控制指令和显示代码内容,单片机接收后执行控制指令处理显示代码将显示内容通 过 I/O 口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路进行 电压和电流的处理以达到 LED 显示屏的显示电流,电压要求进而使显示屏显示内容11。 根据硬件的功能结构图选取合适器件,器件不但要求能实现所要求的功能还要能兼 容至整个系统之中。通过查阅资料和对比最终的硬件原理图如图 3-1 所示。 复位电路 时钟电路 AT89S51 单片机 行驱动 列驱动 16*16LED 点阵屏 图 3-1 硬件原理图 该系统所要实现的功能和要求有以下几点: (1)LED 显示屏的面积必须满足至少显示一个汉字的标准。并且显示要清晰。 (2)驱动电路要能提供 LED 显示所需范围内的电压和电流要求。 (3)译码电路的高低电平的区分能力以及译码的输入输出频率必须满足单片机以及 驱动电路的要求。 (4)单片机要能接收上位机的指令和显示内容且能够处理后控制 LED 显示屏的显示, 并且端口驱动能力要足以驱动译码电路。执行频率要能达到扫描显示的最低要求。 (5)单片机由 ISP 下载线下载程序和供电,可不设立专用供电电源。 (6)由串口完成单片机与上位机的通信,通信速度和数据传输的可靠性要达到显示 要求。 3.2 控制单元设计 3.2.1 控制系统设计 控制电路设计中采用的是单片机系统,该系统必须要是工作在一个最小系统(指单 片机的可以的最小配置系统) 。AT89S51 的最小系统包括了外界时钟电路和复位电路,选 定一定数量的 IO 口作为控制口控制外部的各种器件和数据的输出。根据功能选择一定的 单片机端口添加外围的器件,具体电路如图 3-2 所示。 金陵科技学院学士学位论文第 3 章 系统硬件设计 9 在该系统中,P0 各口主要用作 LED 显示数据的行控制输出。具体接法为: P0.4,P0.5,P0.6 分别接 74HC138 的 A 端,B 端,C 端向 74HC138 送入串行数据经过其转换 后并行输出;P0.3,P0.7 接 138 芯片的使能控制端,当为低电平使允许输出; P0.0,P0.1,P0.2 接 595 的 SH_CP 端,ST_CP 端,DS 端控件系统的列输入,欲使 CPU 仅访问 外部程序存储器(地址为 0000HFFFFH) ,EA 端必须保持低电平(接地) 。因为没有扩展 外部程序存储器所以将 EA 置为高电平。 图 3-2 控制部分电路图 3.2.2 AT89S51 简介 AT89S51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含 4k bytes 的可系统编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性 存储技术生产,兼容标准 8051 指令系统及引脚。它集 Flash 程序存储器既可在线编程 (ISP)也可用传统方法进行编程及通用 8 位微处理器于单片芯片中,ATMEL 公司的功能 强大,低价位 AT89S51 单片机可提供许多高性价比的应用场合,可灵活应用于各种控制 领域。 AT989S51 具有以下特点: 与 MCS-51 产品指令系统完全兼容 金陵科技学院学士学位论文第 3 章 系统硬件设计 10 4k 字节在系统编程(ISP)Flash 闪速存储器 1000 次擦写周期 4.05.5V 的工作电压范围 全静态工作模式:0Hz33MHz 三级程序加密锁 1288 字节内部 RAM 32 个可编程 I/O 口线 2 个 16 位定时/计数器 6 个中断源 全双工串行 UART 通道 低功耗空闲和掉电模式 中断可从空闲模唤醒系统 看门狗(WDT)及双数据指针 掉电标识和快速编程特性 灵活的在系统编程(ISP 字节或页写模式) AT89S51 提供以下标准功能:4k 字节 Flash 闪速存储器,128 字节内部 RAM,32 个 I/O 口线,看门狗(WDT) ,两个数据指针,两个 16 位定时/计数器,一个 5 向量两级中断 结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51 可降至 0Hz 的静 态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但 振荡器停止工作并禁止其它所有部件工作直到下一个硬件复位。 3.3 行驱动单元设计 3.3.1 行驱动系统设计 译码电路的功能是为了解决单片机 I/O 端口不足。行译码所用器件为串并转换器 74HC138 和锁存器 74HC573。两个 138 级联成 4 线-16 线译码器,三级管 Q1-Q16 接显示屏 H1-H8 解决了显示屏供电不足的问题。锁存器 573 的的 Q3,Q7 分别接 138 的 G2B,G2A 使 能端,实现对 138 的使能控制,达到锁存功能,Q4,Q5,Q6 分别接 138 的 A,B,C 端,A,B,C 为 138 译码器的三个地址输入。具体电路如图 3-3 所示 金陵科技学院学士学位论文第 3 章 系统硬件设计 11 图 3-3 行驱动电路图 3.3.2 串并转换器 74HC138 行译码采用的是芯片 74HC138。如果不采用译码电路完全依靠单片机的端口输出来控 制 1616 的 LED 点阵屏显示,需要 32 个端口。而采用了译码电路后仅仅需要 79 个端 口便可实现控制显示。大大减少了 I/O 口的占用数目,为单片机扩展其他功能预留下来 金陵科技学院学士学位论文第 3 章 系统硬件设计 12 了空间。 74HC138 译码器可接受 3 位二进制加权地址输入(A0,A1 和 A2) ,并当使能时,提供 8 个互斥的低有效输出(Y0 至 Y7) 。74HC138 特有 3 个使能输入端:两个低有效(E1 和 E2)和一个高有效(E3) 。除非 E1 和 E2 置低且 E3 置高,否则 74HC138 将保持所有输出 为高。 表 3-1 74HC138 集成译码器功能表 3.3.3 锁存器 74HC573 由于 74HC138 芯片不具有锁存功能,所以在 74HC138 进行八位数据的串并转换时, 串行数据的第一位会从 QA 依次移位到 QH,第二位数据会从 QA 依次移位到 QG,依次类推 在八位数据转换完成之前 74HC138 芯片的输出会出现一段时间的乱序输出,这一结果会 通过驱动电路表现在显示屏上。结果就是显示屏无序导通闪烁,不能显示所需内容。因 此在串并转换完成前就需要 74HC138 的输出口不与驱动电路导通。所以选择锁存器 74HC573 来完成这一功能。 74HC573 为八 D 锁存器(3S,锁存允许输入有回环特性)。573 为三态输出的八 D 透明 锁存器,共有 54/74S373 和 54/74HC573 两种线路结构形式当三态允许控制端 OE 为低电平 金陵科技学院学士学位论文第 3 章 系统硬件设计 13 时,O0O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0O7 呈高阻 态,即不驱动总线,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允 许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。 表 3-2 74HC573 工作参数表 参数最小值额定值最大值单位 电源电压 4.7555.25V 输入高电 平电压 2V 输入低电 平电压 0.8V 输出高电 平电压 2.6 mA 输出低电 平电压 24mA 由表与表比较可以看出,74HC138 的输出条件与 74HC573 的输入条件相匹配,理论上 可以实现锁存器对译码器的数据锁存。 3.4. 列驱动单元设计 3.4.1 列驱动系统设计 列驱动电路由 74HC595 构成,它具有一个 8 位串入并出的移位寄存器和一个 8 位输 出锁存器,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各 列数据的同时,传送下一行的列数据,达到重叠处理的目的。数据在 SH_CP 的上升沿输 入,在 ST_CP 的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器 总是比存储寄存器早一个脉冲。移位寄存器有一个串行移位输入(DS) ,和一个串行输出 (Q7),和一个异步的低电平复位,存储寄存器有一个并行 8 位的,具备三态的总线输出, 当使能 OE 时(为低电平) ,存储寄存器的数据输出到总线。 工作顺序:单片机先送 1 个 8 位数据到第一个 595 的内部移位寄存器-然后数据会送到 内部的输出寄存器-输出,当 MR(10 引脚)为高电平,OE(13 引脚)为低电平时,数据 在 SHCP 上升沿进入移位寄存器,在 STCP 上升沿输出到并行端口。具体电路如图 3-4 所 示 金陵科技学院学士学位论文第 3 章 系统硬件设计 14 图 3-4 列驱动原理图 3.5 单片机 ISP 下载编程器 单片机系统传统的编程方式是将单片机先从电路板上取下,放入专用的编程器进行 编程,再放人电路板进行调试。其缺点是频繁的拔插器件容易损坏器件的引脚;如果频 繁的调试程序,必须重复拔插,大大降低了开发效率。ISP 技术是未来发展的方向,其优 势是无需编程器就可进行单片机的实验和开发,单片机器件可直接焊接到电路板上,调 试结束即为成品,免去调试时由于频繁插入取出对器件和电路板造成的损坏和带来的不 便。 ISP 可降低研发成本;缩短从设计、制造到现场调试的时间,简化生产流程,大大 提高工作效率;在试验新品或学生试验等常需用不同的程序调试器件的场合中,在线编 程技术尤为重要。 设计 AT89S51 单片机开发板,采用 ISP 下载线实现在 Keil C 软件开发环境下调试的 汇编语言程序机器码能即时下载到 AT89S51 单片机片内 Flash 中,并可在线修改。 在系统可编程 ISP(In-System Programmable),指电路板上的空白器件可编程写入最 终用户代码,而无需从电路板取下器件,已编程的器件也可用 ISP 方式擦除或再编程。 ISP 的提出改变了传统硬件系统开发的流程,大大方便了开发者,加快了开发速度,将单 片机和 USB 总线相结合,进行 ISP 下载。如图 3-5 所示 金陵科技学院学士学位论文第 3 章 系统硬件设计 15 图 3-5 ISP 下载电路 金陵科技学院学士学位论文第 4 章 系统软件设计 16 第 4 章 系统软件设计 设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,各种 特效显示子程序,通信程序三个主要部分组成。具体结构如图 4-1 所示。 图 4-1 软件功能结构框图 4.1 主程序设计 系统软件采用 C 语言编写,按照模块化的设计思路设计。首先分析程序所要实现的 功能,程序要实现静态显示,动态显示两大功能。其通信程序接收上位机数据,交给主 程序处理再通过控制程序选择不同的显示程序进行显示。 主程序的工作流程如图 4-2 所示: 金陵科技学院学士学位论文第 4 章 系统软件设计 17 系统初始化 从显示数组读取 数据到显示寄存 器 读取显示控制 命令选择显示 方式 调用相应显示程序 RI=1? 起始位? 接收显示数据及控制命令 将显示数据移入显示数组将 控制命令赋值给控制字符 N N Y Y 开 始 中断开始 中 断 返 回 图 4-2 主程序流程图 程序开始时首先必须对单片机进行初始化,其中初始化的内容包括:中断优先级的 设定,中断初始化,串行通信时通信方式的选择和波特率的设定,各 IO 口功能的设定等。 初始化完成后程序进入待机状态等待中断的发生,该程序中主要用到了两个外部中断源 和串行中断。外部中断源由按键的电平变化触发,外部中断主要功能是选择 LED 点阵显 示屏的控制方式是由按键控制还是上位机控制和显示状态是静态显示还是动态显示。串 行中断包括发送中断和接收中断都是由软件触发。中断产生后由预先初始化时设定跳转 执行中断子程序。中断程序设定了 LED 点阵显示屏所要显示的内容和显示的方式,最后 执行的是各种显示程序。按照设定的方式和内容显示出所需要的内容。 4.2 特效显示程序的设计 4.2.1 LED 显示屏的显示方式 LED 点阵屏显示方式主要由静态显示和动态扫描显示两种。 对静态显示来说,每一个发光二极管都需要一套驱动电路,一帧画面输入以后便可 一劳永逸地显示,除非我们改变了显示内容,需要重新输出新的点阵数据这种方式系 金陵科技学院学士学位论文第 4 章 系统软件设计 18 统原理相对简单一些,但所需的译码驱动装量很多,引线多而繁杂,不便于大屏幕的制 造,成本高,其可靠性也较低 另一种动态扫描显示是把整个 LED 屏幕分成若干部分,每一幅画面的显示是显示完 一部分后,又显示第二部分直到显示完最后一部分又重新开始显示第一部分,重复 循环进行在重复扫描速度足够快的情况下,我们看到的就是一幅稳定的画面也就是 说采用动态扫描显示需要不断进行画面的刷新在这种方式下其显示驱动电路可重复利 用,引线也大大减少,从而使硬件成本降低,且屏幕上的发光二极管轮流发光,使用时 的耗电量大大降低大屏幕的制造、维护要容易许多,可靠性也增加了 两种显示方式的比较再结合 51 单片机 IO 口数量有限的原因决定采用动态扫描的方 式进行显示。 动态扫描分为行扫描和列扫描两种方式区别在于选通端和数据输入端分别是行还是 列。在该显示系统中扫描显示的工作原理如图 4-2 所示,先选通列然后再从行送入对应 列的数据,这样从第 1 列到第 16 列循环往复,只要切换的速度足够的快利用人眼的延时 特性就可以看见一幅稳定的画面。 1 2 1 16 2 16 16 16LED16 16LED16 16LED LED 16 LED 1 LED 2 图 4-3 扫描显示程序原理图 4.2.2 左移显示的设计 显示程序分为静态显示程序、左移显示 2 种种显示方式。其中左移动程序调用了静 态显示程序为子程序。 显示采用的是列扫描的显示方式,选通一列后按照列与数据元素的对应关系第 i 列 对应的行数据为数组中的第 i 和第 i+16 个元素。将对应元素的由低至高位依次从端口输 出具体做法为将元素向右逻辑移位后再与 0X01 相与,所得结果通过单片机端口输出到串 金陵科技学院学士学位论文第 4 章 系统软件设计 19 并转换器的 A 端,锁存在锁存器里完成一列数据移位后再将其输出。如此依次循环选通 各列来显示所需画面17。 开始 读入显示数组 显示 显示数组元素逻辑左移一位 移位次 数是否 为 16 N Y 图 4-4 左移程序流程图 动态显示程序流程如图 4-4 所示,根据显示数据的存储原理通过改变实际 LED 列与 数据逻辑列的方法来实现程序的左右移动。显示数据与列的对应关系为:第 i 列对应的 数据为数组中 i 和第 2i 个数据。显示数组中,第 1 至 16 个元素的第 8 至第 1 位 LED 显示屏中的第 1 至第 8 行。同理第 17 至 32 个元素的第 8 至第 1 位 LED 显示屏中的第 9 至第 16 行。所以将元素数据进行逻辑位移便能产生左移动的效果18。 4.3 通信程序的设计 通信部分主要由 USB 接口和单片机控制模块组成,完成对 PC 机通信和对目标芯片 ISP 编程。软件面向用户设计,由用户选择要下载的、已经编译成 Hex 文件格式的代码文 件,然后向目标芯片下载程序代码,同时可以检测目标芯片型号、擦除目标芯片、从目 标芯片读出程序代码等。整体框架如图 4-5 所示。详细程序见附录 2。 金陵科技学院学士学位论文第 4 章 系统软件设计 20 图 4-5 通信系统框图 数据传输 USB 总线 USB 供电 USB 供电 数据传输 ISP 接口 单片机 AT89S51 USB 接 口 USB 接口芯 片 金陵科技学院学士学位论文第 5 章 系统调试 21 第 5 章 系统调试 软件硬件完成后开始进行调试。调试可分为硬件调试,软件调试和系统联合调试。 5.1 系统硬件部分调试方法 硬件调试主要是调试各部分的焊接是否合格和各芯片的输出输入电压是否符合设计 要求,最后测试各硬件部分能否完成设计功能。因此把硬件调试按照以下四部分分步来 进行: (1)测试所有焊点是否有短路和虚焊的现象存在; (2)通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内; (3)测试 ISP 下栽线的功能是否能够实现; (4)测试串口系统的通信功能是否能够实现。 由于最重要的显示系统功能的测试需要软件配合所以在硬件调试部分只测试单片机 复位电平,功能部分测试放在系统联合调试部分来完成。 5.1.1 短路与虚焊检测 检测工具为万用表,使用万用表的短路报警功能,逐个测试相临的两个焊点检测是 否短路。按照电路图检测需要连接的两点是否短路来检测是否已经连接上,以此来检测 虚焊的情况。检测和修改完成后为下一步通电检测排除了短路的危险和由于虚焊引起检 测结果不真实的麻烦。 5.1.2 上电测试 由于系统测试时是采用 USB 电源为系统电源,所以电源输入都为 5V。显示系统中单 片机、译码器,锁存器,驱动电路的电源电压均要求为 5V 所以可同时直接接入。 上电后首先观察电路是否有过热,异味,冒烟的现象出现。经过观察,没有这些现 象出现。然后测试各器件的电源,接地及一些电平应该固定的端口的电压。测试的结果 为:各器件电源端在 4.3V4.8V 之间满足器件的电源电压要求,单片机端口在未接负载 时端口电压为 4.5V。 5.2 系统软件调试方法 由于已经进行了硬件调试,所以软件调试主要是软件编译和将各功能块程序分别写 入以验证其功能的可实现性。在进行功能调试前必须用 KEIL C 对所有程序进行编译,编 译成功生产可执行的.hex 后方可进行功能测试。 其中测试串口程序的功能是否完善不但要连接单片机系统还要借助串口调试工具。 串口调试工具选用的是串口调试助手,其功能是按照设定的串口、波特率向单片机发送 数据和接收单片机向 PC 机发送的数据。并且能把发送和接收的数据内容显示在状态栏内。 金陵科技学院学士学位论文第 5 章 系统调试 22 因此只要设定 PC 机向单片机发送的内容和单片机向 PC 机发送的内容就可以通过串口调 试助手验证串口通信是否准确,是否满足功能要求。 串口程序的设计为:设定波特率位 9600,以 0XAA 为起始标志位,单片机接收自起始 标志位后的 32 位十六进制数再发送会 PC 机。测试程序时设定波特率为 9600,选择串口 1,无校验,8 位数据。PC 机向单片机发送的内容为 aa 11223344556677889900aabbccddeeff11223344556677889900aabbccddeeff。PC 机收到的 数据为 11 22 33 44 55 66 77 88 99 00 AA BB CC DD EE FF 11 22 33 44 55 66 77 88 99 00 AA BB CC DD EE FF。测试表明串口程序和串口电路实现了设计目的。再进行 数次不同数据的发送,接收到的数据也验证了设计要求的实现。 图 5-2 串口调试图 串口程序测试成功后为显示程序提供了准确的显示内容。余下得各种显示程序和中 断程序都编译成功后只有联合硬件才能验证其功能的可行性。 5.3 系统联合调试及结果 经过硬件调试和软件调试,排除了硬件的连接问题和验证了串口功能的可实现性。 其余功能的软件便可以在此基础上调试验证其功能的正确性。联合调试的具体方法如下: (1)编写一个逐点扫描的显示程序,再结合硬件电路运行。这样做的目的在于检测 各器件是否能够正常运行和显示屏的各个 LED 灯是否有损坏。结果显示显示屏中只有边 角出有一个 LED 灯被烧坏,其他器件逻辑功能运行正常。 (2)将静态显示子程序与各种动态显示程序结合硬件电路进行调试。系统运行时显 金陵科技学院学士学位论文第 5 章 系统调试 23 示如图 5-1 所示,显示图像比较清晰,各动态显示效果也能够实现。但显示存在两个问 题。一是发光点的下方会出现一个很微弱的亮点,影响了整体的显示效果。二是同一列 的 LED 灯被点亮的数量与其亮度出反比,即如果同一列的灯都被点亮则亮度比只点亮几 个时要暗一点。 (3)将串口通信,显示,硬件联合调试。按照设定的通信协议,先由 PC 机向单片 机发送起始控制字 s,接着再发送 32 比特的显示数据,最后发送控制显示方式的显示控 制字。再发送不同的显示数据和显示控制字,观察各种显示方式的运行情况和各种显示 方式之间的切换情况。结果是显示屏执行显示控制指令,显示所发送的内容。 5.4 调试结果分析 对调试中出现的问题进行了分析,得出以下原因和修改办法。 (1)硬件的工作表现出不稳定,主要是表现在 LED 显示屏的驱动电路部分和单片机 系统部分。具体表现为单片机接负载后电压被拉低值 1.7V 左右,无法满足译码电路的输 入要求。显示时会有一些行驱动的输出不够设计指标 ,导致所驱动的那一行在显示屏上 表现为选定的点不能够很好区分,图像出现模糊。分析造成这一现象的原因为,焊接时 三极管 8550 遭到了高温损坏以致工作不稳定和焊接的电路不够牢靠,还有就是 8550 的 e 端所接电压过高。修改办法为将单片机输出端口外接 5K 的上拉电阻,替换损坏三极管。 (2)虚点的产生与软件和三极管电压有关。修改办法是将软件中的延时时间调至恰 当值。 经过调试和修改,系统实现了题目所要求的中英文显示,动态显示及上位机通信与 控制的要求。最终实物图如图 5-3 所示 图 5-3 实物图 金陵科技学院学士学位论文第 6 章 结论 24 第 6 章 结 论 经过一段时间的工作,终于完成了基于 51 单片机的 LED 显示系统的设计,项目所要 求的功能全部达到。通过这次设计收获颇多,不仅是所作题目涉及到的软硬件知识还有 更为重要的实际经验和过程中所发现的问题。 接手题目之后从互联网上对 LED 进行了详细的资料收集,从技术和产业的两方面对 LED 进行了了解。通过了解我认识到 LED 是一门当今应用非常广泛的技术,整个产业每年 都会有巨大的产值而且技术还在不断发展和创新20。 从设计之初就确定了参照大屏幕显示屏的实现方法和实际情况设计一款小屏幕的 LED 点阵显示屏。在查阅了大量的大屏幕显示屏资料后确定了题目的设计方案。整个设计采 用 AT89S51 做核心控制器,74HC138 和 74HC573 组成译码电路,74HC595 做成列驱动。在 实现这一设计的过程中所遇到的问题和困难给我留下了宝贵的经验和深刻教训。这些经 验和教训是: (1)设计之前应该进行大量的资料收集和分析,确定一个清晰的设计思路; (2)器件选择时要详细阅读器件使用手册,不但要考虑器件的功能实现还要考虑器 件在整个系统中的兼容性; (3)硬件的系统的建立必须合理和稳定,实物建立之前最好进行仿真这样才能为软 件提供一个可靠的试验平台; (4)软件的编写不但要实现功能还要不断的优化、简练、易读。 随着课题的进行,对 LED 的了解也越来越深入。认为 LED 技术也会进一步发展,LED 应用将会更加广泛。可以设想利用 LE
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 超实 用:山西药业面试题库系列指南
- 小儿肠梗阻X线诊断课件
- 小儿真菌性疾病课件
- 军品服装代加工合同范本
- 内科护理(中级)模拟试题及完整答案详解【网校专用】
- 与茶农承包茶园合同范本
- 别墅安装电梯安全协议书
- 乡村基地代运营合同范本
- 买卖房产解除合同协议书
- 小儿手术护理课件
- 《变电运行培训》课件
- 固体矿产钻探工真题模拟汇编(共634题)
- 第34届全国中学生物理竞赛决赛试题及答案
- 智慧消防项目申报书
- 高级职称评定工作总结(3篇)
- 干部人事档案管理业务知识培训课件
- 软件项目开发需求规格说明书(标准模板)
- GB/T 9797-2022金属及其他无机覆盖层镍、镍+铬、铜+镍和铜+镍+铬电镀层
- GB/T 32288-2015电力变压器用电工钢铁心
- FZ/T 01008-2008涂层织物耐热空气老化性的测定
- 精神科病历书写精神科病历书写及范例
评论
0/150
提交评论