基于51单片机的LED点阵显示屏PROUTES_第1页
基于51单片机的LED点阵显示屏PROUTES_第2页
基于51单片机的LED点阵显示屏PROUTES_第3页
基于51单片机的LED点阵显示屏PROUTES_第4页
基于51单片机的LED点阵显示屏PROUTES_第5页
已阅读5页,还剩42页未读 继续免费阅读

下载本文档

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

文档简介

1、*大学毕业设计(论文)题目名称:题目名称:基于 51 单片机的 LED 点阵显示屏系统的设计与实本科生毕业论文 I基于 51 单片机的 LED 点阵显示屏系统的设计与实现摘要:本文介绍了一款以单片机 AT89S51 为控制器的 LED 点阵显示屏系统的设计。该系统可实现中英文字符的显示和动态特效显示。并且可以通过级连的方式来扩大显示屏幕的尺寸以达到增加显示内容的目的。系统采用 PC 机作为上位机,上位机向单片机发送控制命令和上位机所存储的显示代码,AT89S51 单片机接收并处理 PC机的控制命令以及显示代码,由显示驱动模块驱动一个 1616 分辨率的 LED 点阵显示屏的扫描显示。PC 机与

2、单片机之间的通信采用 RS232C 通信标准来实现。所选用的 AT89S51 单片机具有价格低廉程序写入方便的特点使得整个系统方便维护和检修。除此之外,该系统只占用了单片机少量的 I /O 口和内存,为系统留下了功能扩展的空间。关键字关键字:AT89S51;LED 点阵显示;串行通信本科生毕业论文 II第 1 章 绪 论11.1 课题背景11.1.1 选题背景11.1.2 研究现状及发展趋势11.2 论文主要内容3第 2 章 方案论证与选择42.1 系统硬件方案42.1.1 显示屏主控制器42.1.2 通信系统62.1.3 LED 点阵显示屏62.1.4 硬件设计方案72.2 系统软件方案82

3、.2.1 单片机编程语言82.2.2 系统软件编译器介绍92.2.3 上位机控制传输软件9第 3 章 系统硬件设计113.1 硬件整体设计概述及功能分析113.2 控制单元设计123.2.1 AT89S51 简介123.2.2 控制系统设计133.3 译码电路设计153.3.1 串并转换器 74LS164153.3.2 锁存器 74L373 163.4 驱动电路设计173.4.1 行驱动电路设计173.4.2 列驱动电路设计183.5 通信系统硬件设计18本科生毕业论文 III3.6 电源设计193.7 级连大屏幕 LED 显示屏 20第 4 章 系统软件设计224.1 程序设计224.2 显

4、示程序的设计234.2.1 LED 显示屏的显示方式234.2.2 点阵数据表达方式244.2.3 显示程序的设计254.3 通信程序的设计27第 5 章 系统调试295.1 系统硬件部分调试方法295.1.1 短路与虚焊检测305.1.2 上电测试305.1.3 串口调试305.2 系统软件调试方法315.3 系统联合调试及结果325.4 调试结果分析32结论34致谢35参考文献36附录 1 系统硬件原理图37附录 2 设计程序38附录 3 系统 PCB 图46本科生毕业论文 1第 2 章 方案论证与选择2.1 系统硬件方案大多数的 LED 显示屏都在户外,所以对硬件的质量要求非常的高。为方

5、便检修和维护硬件电路设计时常常采用模块化的设计方法。硬件的设计采用模块化设计,既要满足模块本身功能又要能够和整个系统兼容。如图 2-1 所示,根据显示系统的功能特点确定系统硬件由显示屏部分,控制部分,通信系统及上位机四部分组成。上位机通过通信部分向控制部分发送控制指令和显示内容代码,控制部分执行显示指令并将显示代码处理后控制显示部分的显示内容和显示方式3。 图图 2-1 系统硬件组成框图系统硬件组成框图2.1.1 显示屏主控制器控制部分是整个系统的核心部分,其功能为与上位机通信接收上位机发送的数据和控制指令处理过后控制显示部分显示内容。其常用的电子设计方法有单片机、DSP、及 EDA 技术。几

6、种设计方法比较各有其特点:(1)单片机单片机是集成了 CPU,ROM,RAM 和 I/ O 口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU)。单片机品种齐全,型号多样 CPU 从 8,16,32 到 64 位,多采用 RISC 技术,片上 I/O 非常丰富,有的单片机集成有 A/ D, “ 看门狗”,PWM,显示驱动,函数发生器,键盘控制等。它们的价格也高低不等,这样极大地满足了开发者的选择自由。除此之外单片机还具有低电压和低功耗的特点。随着超大规模集成电路的发展,NMOS 工艺单片机被 CMOS 代替,并开始向 HMOS 过渡。供电电压由 5V 降到 3V,

7、2V 甚至到 1V,工作电流由 mA降至 A ,这在便携式产品中大有用武之地4。(2)DSP 芯片DSP 又叫数字信号处理器。顾名思义,DSP 主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。现在已经广泛应用于通信、便携本科生毕业论文 2式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,DSP 具有修正的哈佛结构,多总线技术以及流水线结构。将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这使得速度有了较大的提高。DSP 区别于一般微处理器的另一重要标志是硬件乘法器以及特殊指令,一般微处理器用软件实现乘法,逐条执行指令,速度慢

8、。而 DSP 依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如 TM320 系列的 FIRS ,LMS,MACD 指令等5。(3)EDAEDA(即 Electronic Design Automation) 即电子设计自动化,它是以计算机为工具,在 EDA 软件平台上,对用硬件描述语言 HDL 完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。设计者只需用 HDL 语言完成系统功能的描述,借助 EDA 工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实现。由于 FPG

9、A/CPLD 可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,软件编写可以采用自顶向下的设计方案,而且可以多个人分工并行工作这样便缩短了开发周期和上市时间,有利于在激烈的市场竞争中抢占先机。而且 MCU 和 DSP 都是通过串行执行指令来实现特定功能,不可避免低速,而 FPGA/CPLD 则可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,FPGA/CPLP 器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。三种设计方式相比较各有优点且都能够实现控制功能,但单片机的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用

10、。现在市场上常用的单片机主要有 MCS-51、AVR、ARM、PIC 等。其中应用最广泛的单片机首推 Intel 的 51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势常作为单片机学习的教材。且 51 系列的 I/O 脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各 I/O 口均置高电平) 。当该脚作输出脚使用时,则为高电平或低电平均可。所以在控制部分方案的选择中选定 51 系列单片机作为控制部分的核心器件。2.1.2 通信系统 通信部分要满足的设计要求就是稳定、快速、简单易实现。因为通常情况下显本科生毕业论文 3示屏和上位机的

11、距离不会很远,所以通信距离的要求不是很高。计算机数据通信主要采用并行通信和串行通信两种方式。(1)并行通信并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。(2)串行通信串行通信数据是一位一位顺序传送,只用很少几根通信线,串行传送的速度低,但传送的距离长,因此串行适用于长距离而速度要求不高的场合。在串行发送时,数据是一位一位按顺序进行的,而计算机内部的数据是并行的。因此,当计算机向外发送数据时,必须将并行数据转换为串行数据再发送。反之,又必须将串行数据转换为并行数据输入计算机中。这种转换即可以用硬件实现也可以用软件实现。单

12、由软件实现会增加 CPU 负担,降低其利用率,故目前常采用硬件实现。通用的通用异步接收/发送器,简称 UART(Universal Asynchromous Receeiver/Trabsnitter)是完成这一功能的硬件电路。在单片机芯片中,UART 已经集成在其中,作为其组成部分,构成一个串行口6。 综上所述,题目设计已经选定了单片机为开发方式而单片机的 UART 已经集成在单片机内,所以通信系统选择串行通信为通信方式。2.1.3 LED 点阵显示屏显示部分包括了一块至少可以显示一个汉字的显示屏,以及驱动该显示屏的驱动电路。由于单片机的 I/O 口有限要不能直接用 I/O 口来驱动 LED

13、 显示屏,所以需要对单片机 IO 口进行扩展增加单片机并行输出的能力。LED 显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的 LED 显示屏就需要多个发光二极管。构成 LED 屏幕的方法有两种,一是由单个的发光二极管逐点连接起来,如图 2-2 所示;二是选用一些由单个发光二极管构成的 LED 点阵子模块构成大的 LED 点阵模块。目前市场上普遍采用的点阵模块有 88、1616 几种;这两种屏幕构成方法各有有缺点,单个发光二极管构成显示屏优点在于当单个的发光二极管出现问题时只需更换一个二极管即可,检修的成本较低,缺点在于连接线路复杂;而点阵模块构成的方法却正好与之相反,模块构成省约了大

14、量的连线,不过当一个 LED 出现问题时同在一个模块的所有 LED 都必须被更换。这就加大了维修的成本。本科生毕业论文 4两种方法相比较,决定采取模块构成的方法来制作一个 LED 点阵显示屏。为了避免模块的缺点,选择点阵数较小的模块来减小出现这一问题的风险。所以构建一个 1616 的 LED 点阵屏选用四块 88 点阵模块。图图 2-2 LED 点阵图点阵图一个 1616 的 LED 显示屏行和列各有 16 支引脚,不能单靠 51 单片机的端口驱动所以必须要对单片机的端口个数进行扩展。经常采用的端口扩展方法是用串并转换芯片进行译码。常用的串并转换芯片有 74LS154(4 线-16 线译码器)

15、 、74LS164(8 位串并转换器) 、74HC595 等。51 系列单片机端口低电平时,吸入电流可达,具有一定的驱动能力;而为高电平时,输出电流仅数十 甚至更小(电流实际上是由脚的上拉电流形成的) ,基本上没有驱动能力,所以单片机不能直接驱动 LED 显示屏显示。在单片机和显示屏之间还需要增加以功能放大位目的的驱动电路7。2.1.4 硬件设计方案最终方案如图 2-3 所示,以 PC 机作为上位机存储和处理显示内容用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据上位机传输来的内容和指令通过端口译码扩展后驱动 4 块 88LED 点阵模块构成的 1616 的 LED 点阵显示屏

16、。题目将以此方案为指导思想展开具体的硬件电路设计。本科生毕业论文 516 16LED PC图图 2-3 硬件设计方案硬件设计方案2.2 系统软件方案软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,各种特效显示子程序,通信程序三个主要部分组成。具体结构如图 2-4 所示。 图图 2-4 软件功能结构框图软件功能结构框图软件的编写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中执行。编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件。最后还要选择一款与所选单片机的下载器或下载软件来把编写的程

17、序下载到单片机中执行。2.2.1 单片机编程语言现在主要运用的单片机编程语言为汇编语言和 C 语言。两种语言相比较各有优点。汇编语言(Assembly Language)是面向机器的程序设计语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。其具有执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语本科生毕业论文 6言依赖于具体的机型,不能通用,也不能在不同机型之间移植8。C 语言是一种源于编写 UNIX 操作系统的语言,它是一种结构化语言,可产生压缩代码。C 语言结构是以括号 而不是子和特殊符号的语言。C 可以进行许多机器级函数控制而不

18、用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对 51 的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数。这种方式可使程序结构化;将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;编程及程序调试时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。C 语言作为一种非常方便的语言而得到广泛的支持,C 语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来。基于以上理由决定采用

19、 C 语言为该显示系统的编程语言。2.2.2 系统软件编译器介绍C 语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。因此在系统软件设计中,编译器必不可少。支持 MCS51 用 C 语言编程的编译器主要有两种:Franklin C51 编译器和 KEILC51 编译器。目前在单片机开发中普遍都是使用 KEIL C51 来进行编译。因此软件设计最终方案为采用 C 语言为程序语言,KELC 为编译工具按照控制、通信、显示等几个功能模块来编写程序。2.2.3 上位机控制传输软件其中系统采用现在已经非常普遍的 PC 机作为上位机,这样对该显示系统的硬件要求便降低了,增加了系统的通

20、用性。上位机的作用是存储并处理显示内容,然后通过通信系统传送到控制系统驱动显示。LED 显示上位机的内容一般有实时显示和存储显示两种方法。实时显示及上位机屏幕上的内容同时显示在 LED 显示屏上,上位机上内容变化 LED 显示屏也跟着变化。存储显示是将显示内容处理过后存储在上位机中通过通信系统传输到显示屏显示9。两种显示方法相比较:实时显示屏幕能及时反应上位机内容的变化,显示的效果和内容的实时性好多用于新闻播报、实况转播用,但实时显示硬件开销大,本科生毕业论文 7对通信系统要求高,工艺复杂,成本高;存储显示虽实时性不高但硬件开销小,成本低廉。课题设计题目对显示的实时性要求较低且所设计的显示屏尺

21、寸不大同时显示的内容不多,所以实时显示就没有必要。所以上位机选择存储显示的方法,控制LED 显示屏的显示内容10。本科生毕业论文 8第 3 章 系统硬件设计 3.1 硬件整体设计概述及功能分析 显示系统具体设计主要由上位机,通信系统,单片机系统,译码电路,显示驱动电路和 1616 的点阵屏六部分组成。具体工作流程为:上位 PC 机通过通信系统向单片机发送控制指令和显示代码内容,单片机接收后执行控制指令处理显示代码将显示内容通过 I/O 口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路进行电压和电流的处理以达到 LED 显示屏的显示电流,电压要求进而使显示屏显示内容11。根据硬

22、件的功能结构图选取合适器件,器件不但要求能实现所要求的功能还要能兼容至整个系统之中。通过查阅资料和对比最终的硬件原理图如图 3-1 所示。 74LS373PC74LS164AT89S51ULN2803MAX23274LS16474LS16474LS164ULN280374LS37348 8 16 16LEDLEDLED8550图图 3-1 硬件原理图硬件原理图 该系统所要实现的功能和要求有以下几点:(1)LED 显示屏的面积必须满足至少显示一个汉字的标准。并且显示要清晰。(2)驱动电路要能提供 LED 显示所需范围内的电压和电流要求。(3)译码电路的高低电平的区分能力以及译码的输入输出频率必须

23、满足单片机以及驱动电路的要求。(4)单片机要能接收上位机的指令和显示内容且能够处理后控制 LED 显示屏的显本科生毕业论文 9示,并且端口驱动能力要足以驱动译码电路。执行频率要能达到扫描显示的最低要求。(5)单片机由 ISP 下载线下载程序和供电,可不设立专用供电电源。(6)由串口完成单片机与上位机的通信,通信速度和数据传输的可靠性要达到显示要求。3.2 控制单元设计控制单元是整个显示系统的核心,该系统中采用 51 系列单片机为核心器件,用来和上位机通信处理上位机发送的控制指令和显示内容。并且直接输出数据通过译码电路控制 LED 显示屏的显示内容和显示状态。在 51 系列单片机中选定一款合适的

24、机型来作为控制单元的主控芯片。根据题目的要求该芯片必须要具有的就是方便的编程能力,因为在软件设计时方便的程序下载对程序的验证和编写非常有用。还有就是为了提高 LED 显示屏的扫描速度,单片机的执行速度要尽可能的快。根据这两点要求,选择美国 ATMEL 公司生产的AT89S51 为控制单元的主控芯片。3.2.1 AT89S51 简介AT89S51 是美国 ATMEL 公司生产的低功耗,高性能 CMOS8 位单片机,片内含 4k bytes 的可系统编程的 Flash 只读程序存储器,器件采用 ATMEL 公司的高密度、非易失性存储技术生产,兼容标准 8051 指令系统及引脚。它集 Flash 程

25、序存储器既可在线编程(ISP)也可用传统方法进行编程及通用 8 位微处理器于单片芯片中,ATMEL 公司的功能强大,低价位 AT89S51 单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT989S51 具有以下特点:与 MCS-51 产品指令系统完全兼容4k 字节在系统编程(ISP)Flash 闪速存储器1000 次擦写周期4.05.5V 的工作电压范围全静态工作模式:0Hz33MHz三级程序加密锁1288 字节内部 RAM本科生毕业论文 1032 个可编程 I/O 口线2 个 16 位定时/计数器6 个中断源全双工串行 UART 通道低功耗空闲和掉电模式中断可从空闲模唤醒系

26、统看门狗(WDT)及双数据指针掉电标识和快速编程特性灵活的在系统编程(ISP 字节或页写模式) AT89S51 提供以下标准功能:4k 字节 Flash 闪速存储器,128 字节内部RAM,32 个 I/O 口线,看门狗(WDT) ,两个数据指针,两个 16 位定时/计数器,一个 5 向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51 可降至 0Hz 的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止 CPU 的工作,但允许 RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存 RAM 中的内容,但振荡器停止工作并禁止其它所有部件工作直到

27、下一个硬件复位。3.2.2 控制系统设计控制电路设计中采用的是单片机系统,该系统必须要是工作在一个最小系统(指单片机的可以的最小配置系统) 。AT89S51 的最小系统包括了外界时钟电路和复位电路,选定一定数量的 IO 口作为控制口控制外部的各种器件和数据的输出。根据功能选择一定的单片机端口添加外围的器件,具体电路如图 3-2 所示。在该系统中,P1 各口主要用作 LED 显示数据的控制输出。由于端口的驱动能力有限所以该端口外接了 5K 的上拉电阻来提高驱动能力。其中 P1.5P1.6P1.7 还复用为 ISP 下载功能口。具体接法为:P1.0,P1.1,P1.4,P1.5 分别接四块 74L

28、S164的 A 端,向 74LS164 送入串行数据经过其转换后并行输出;P1.2 和 P1.6 分别接列和行的 74LS164 的 CLOCK 端,产生移位脉冲是串行数据并行输出;P1.3 和 P1.7 接列和行的 CLEAR 端,在一组数据完成串并转换后清除 164 芯片中的内容转换新的数据;其中 P1.5P1.6P1.7 还复用为 ISP 下载功能口。P2.0 接 164 芯片的使能控制端,当为高电平使允许输出;P2.2 和 P2.3 接锁存器 74LS373 的 OE 和 LE 端控制锁存器的工作状态。本科生毕业论文 11 端口 30,EA/VPP:外部访问允许。欲使 CPU 仅访问外

29、部程序存储器(地址为 0000HFFFFH) ,EA 端必须保持低电平(接地) 。因为没有扩展外部程序存储器所以将 EA 置为高电平。图图 3-2 控制部分电路图控制部分电路图由于 P3 口是特殊功能口,在该系统中基本是采用其第二功能。其第二功能和实际运用如表 3-1 所示:表表 3-1 AT89S51P3 口第二功能的应用口第二功能的应用端口第二功能实际作用P3.0RXD(串行输入口)与上位机通信的数据输入口P3.1TXD(串行输出口)与上位机通信的数据输出口P3.2外部中断 0做按键中断,控制显示状态P3.3外部中断 1做按键中断,控制运行模式AT89S51 单片机的 P1 在访问外部数据

30、存储器或程序存储器时,这组口线分本科生毕业论文 12时转换地址(低 8 位)和数据总线复用,P2 口在访问外部程序存储器或 16 位地址的外部数据存储器时,P2 口送出高 8 位地址数据。所以 P1 和 P2 口留为外部数据存储器和程序存储器的扩展用,以备内部存储器和程序存储器不够用的情况时使用12。3.3 译码电路设计 译码电路的功能是为了解决单片机 I/O 端口不足。行译码所用器件为串并转换器 74LS164 和锁存器 74LS373。具体电路如图 3-3 所示图图 3-3 行译码电路图行译码电路图3.3.1 串并转换器 74LS164列译码采用的是芯片 74LS164。如果不采用译码电路

31、完全依靠单片机的端口输出来控制 1616 的 LED 点阵屏显示,需要 32 个端口。而采用了译码电路后仅仅需要 79 个端口便可实现控制显示。大大减少了 I/O 口的占用数目,为单片机扩展其他功能预留下来了空间。74LS164 为一个 8 位数据的串并转换器。当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。串行数据输入端(A,B)可控制数据。当 A、B 任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下 Q0为低电平。当 A、B 有一个为高电平,则另一个就允许输入数据,并在 CLOCK 上升沿作用下决定 Q0 的状态。本科生毕业论文 13表表 3-1

32、74LS164 工作参数工作参数参数最小值标准值最大值单位高电平输入电压2V低电平输入电压0.8V高电平输出电压2.43.2-V低电平输出电压0.20.4V时钟频率025MHZ这就要求单片机的引脚输出的高低电平要在芯片的识别范围内,由于采用了列选通行传送显示代码的方法所以行译码电路上也加上了 74L373 锁存芯片。这就要求74LS164 芯片的输出要满足锁存芯片的高低电平区分范围和频率要求。 3.3.2 锁存器 74L373由于 74LS164 芯片不具有锁存功能,所以在 74LS164 进行八位数据的串并转换时,串行数据的第一位会从 QA 依次移位到 QH,第二位数据会从 QA 依次移位到

33、QG,依次类推在八位数据转换完成之前 74LS164 芯片的输出会出现一段时间的乱序输出,这一结果会通过驱动电路表现在显示屏上。结果就是显示屏无序导通闪烁,不能显示所需内容。因此在串并转换完成前就需要 74LS164 的输出口不与驱动电路导通。所以选择锁存器 74LS373 来完成这一功能。74LS373 为八 D 锁存器(3S,锁存允许输入有回环特性)。373 为三态输出的八 D透明锁存器,共有 54/74S373 和 54/74LS373 两种线路结构形式当三态允许控制端 OE为低电平时,O0O7 为正常逻辑状态,可用来驱动负载或总线。当 OE 为高电平时,O0O7 呈高阻态,即不驱动总线

34、,也不为总线的负载,但锁存器内部的逻辑操作不受影响。当锁存允许端 LE 为高电平时,O 随数据 D 而变。当 LE 为低电平时,O 被锁存在已建立的数据电平。表表 3-2 74LS373 工作参数表工作参数表参数最小值额定值最大值单位电源电压4.7555.25V输入高电平电压2V输入低电平电压0.8V输出高电平电压2.6mA输出低电平电压24mA本科生毕业论文 14由表与表比较可以看出,74LS164 的输出条件与 74LS373 的输入条件相匹配,理论上可以实现锁存器对译码器的数据锁存。3.4 驱动电路设计3.4.1 行驱动电路设计发光二极管,LED(Light Emitting Diode

35、s),即是在在某些半导体材料的 PN 结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN 结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称 LED。 行驱动采用PNP 三极管 8550 接法如图 3-4 示:1K5VLED 图图 3-4 行驱动器件行驱动器件 8550 的接法的接法8550 为 PNP 型三极管,内部结构如图 3-5 示。发射极 e 接 5V 电源,基极接译码信号输出端,集电极接输出驱动 LED 点阵屏。当译码器端口输出为低电平时,发射极与基极电势差为 5V基极中带负电的电

36、子越过 PN 结扩散到发射区。发射极0v产生和电子扩散方向相反的电流,由于基极电子大量扩散到发射极集电极电子扩散到基极中形成了电流。当译码器端口输出高电平时发射极与基极之间的电势差为cI5V,由于发射极与基极之间电势差的减少基极电子向发射极扩散的电子数0VBV量减少故集电极电流也随之减少。故 8550 在驱动电路中起到提供驱动电流和选通开关的作用。PNP5V LEDeI0v0v图图 3-5 8550 内部结构图内部结构图本科生毕业论文 153.4.2 列驱动电路设计列驱动采用 ULN2803。ULN2803 是一种高电压大电流达林顿管阵列内部结构如图,该阵列中的八个 NPN 达林顿连接晶体管是

37、低逻辑电平数字电路(如TTL,CMOS 或 PMOS)和大电流高电压的灯,继电器,打印机锤和其他类似负载间的接口的理想器件。广泛用于计算机,工业和消费类产品中。所有器件有集电极开路输出和用于瞬变抑制的续流箝位二极管。集电极输出功率可达 50V600mA13。ULN2803 作为列驱动执行的是列选的工作,当选通的列输入高电平时其对应的输输出低电平。相对应的输出取反,并能提供较大的灌电流来吸收行驱动流出进过显示屏后的电流。具体电路如图 3-7 所示。图图 3-7 列驱动原理图列驱动原理图3.5 通信系统硬件设计AT89S51 单片机具有全双工串行 UART 通道,支持单片机进行数据的串行传输。除了

38、单片机要与 PC 机制定通信协议,确定发送速率外还需要解决的问题就是信号电平问题。RS-232C 标准规定了 PC 机发送数据总线 TXD 和接收数据总线 RXD 采用 EIA 电平,即传送数字“1”时传输线上的电平在315V 之间;传送数字“0”时,传输线上的电平在315 之间。但单片机串行口采用正逻辑 TTL 电平,即数字“1”时为5V 数字“0”时为-5V,所以单片机与计算机不能直接相连进行通信必须将RS-232C 与 TTL 电平进行转换14。在通用的电平转换芯片中 MAX232 系列的芯片以集成度高,单5V 电源工作,只需外接 5 个小电容即可完成 RS-232C 与 TTL 电平之

39、间的转换而成为单片机系本科生毕业论文 16统中的常用芯片。在该显示系统中,MAX232 为通信系统中最重要的硬件组成部分15。电路如图 3-8 所示:C1+1VDD2C1-3C2+4C2-5VEE6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC165MAX232ACPE12345678911101D Connector 9C1104C2104C3104C4104VCCP3.1 TXP3.0 RXVCC图图 3-8 串口通信系统电路图串口通信系统电路图3.6 电源设计在系统中 MAX232、74LS164、74LS373、AT8

40、9S51 都需要 5V 的供电电压,在系统开发过程中可以使用电脑 USB 供电。在实际的大屏幕 LED 显示屏设计中,用电脑 USB 供电明显不切实际。此时需要对民用的 220V 进行降压整流为 5V 直流电压为显示系统供电。电路图如图 3-9 所示。图图 3-9 电源原理图电源原理图本科生毕业论文 17如图所示,用 220V 转 12V 的变压器进行降压后再通过一个桥式整流电路将交流电整流为直流电。最后通过 5V 三端稳压模块 LM7805 得出稳定的 5V 输出。3.7 级连大屏幕 LED 显示屏 要实现 LED 的大屏幕显示主要采用内部译码器级连和多个单片机系统级连的方法。译码器级连如图

41、 3-10 所示 将第 1 个 74LS164 的 Q7 端接第 2 个 74LS164 的 A 端,将第 2 个 74LS164 的Q7 端接第 3 个 74LS164 的 A 端,如此炮制当 N 块 74LS164 相级连时就变为一个串行输入 7N 口输出的串并转换器。这种级连的优点在于一块单片机可以同时控制更多的 LED 点阵显示屏,且 74LS164 的价格低廉整体成本得到了降低。但是这种级连方法也存在一定的缺点,51 系列的单片机的晶振频率不高 74LS164 级连过多会增加一次扫描的时间从而导致显示出现闪烁。从端口输出的显示数据的显示也要作出相应的改变。图图 3-10 74LSL6

42、4 级连级连构建大屏幕 LED 显示屏的另一种方法是将以较小的 LED 显示系统做为模块进行级连。如图 3-11 所示,由独立的 LED 显示系统组成一个大的 LED 显示系统。其中各子显示系统之间在功能和控制上都是相互独立的,将一幅大屏幕画面拆分为几块小画面再分别送入到各子系统中,各子系统同步显示便可以得到一幅大的画面。使用这种级连的办法可以避免 51 单片机晶振频率低的弱点,更容易实现大屏幕的显示。但这种方法仍然存在难点,一是各独立的子系统的通信和协调性要求更高了,如果要实现显示内容的实时性必须需要上位机不断更新显示内容则增加了上位机的通信数据量,逐个的单片机传送数据也会影响整个画面的更新

43、速度;二是成本提高本科生毕业论文 18了。LEDLEDLED 图图 3-11 由子系统构建大屏幕由子系统构建大屏幕 LED 显示屏显示屏在实际应用中通常采用内部扩展和外部级连联合使用的方法来构建大屏幕 LED显示屏幕。即增加单个显示系统显示屏幕大小的同时又将单个的显示系统级连。详细硬件原理图见附录 1。本科生毕业论文 19第 4 章 系统软件设计4.1 程序设计系统软件采用 C 语言编写,按照模块化的设计思路设计。首先分析程序所要实现的功能,程序要实现串口通信,静态显示,动态显示三大功能。其功能结构如图2-4 所示。通信程序接收上位机数据,交给主程序处理再通过控制程序选择不同的显示程序进行显示

44、。 主程序的工作流程如图 4-1 所示:图图 4-1 主程序流程图主程序流程图程序开始时首先必须对单片机进行初始化,其中初始化的内容包括:中断优先级的设定,中断初始化,串行通信时通信方式的选择和波特率的设定,各 IO 口功能系统初始化从显示数组读取数据到显示寄存器读取显示控制命令选择显示方式调用相应显示程序RI=1?起始位?接收显示数据及控制命令将显示数据移入显示数组将控制命令赋值给控制字符NNYY开 始中断开始中 断 返 回本科生毕业论文 20的设定等。初始化完成后程序进入待机状态等待中断的发生,该程序中主要用到了两个外部中断源和串行中断。外部中断源由按键的电平变化触发,外部中断主要功能是选

45、择 LED 点阵显示屏的控制方式是由按键控制还是上位机控制和显示状态是静态显示还是动态显示。串行中断包括发送中断和接收中断都是由软件触发。中断产生后由预先初始化时设定跳转执行中断子程序。中断程序设定了 LED 点阵显示屏所要显示的内容和显示的方式,最后执行的是各种显示程序。按照设定的方式和内容显示出所需要的内容。4.2 显示程序的设计4.2.1 LED 显示屏的显示方式 LED 点阵屏显示方式主要由静态显示和动态扫描显示两种。 对静态显示来说,每一个发光二极管都需要一套驱动电路,一帧画面输入以后便可一劳永逸地显示,除非我们改变了显示内容,需要重新输出新的点阵数据这种方式系统原理相对简单一些,但

46、所需的译码驱动装量很多,引线多而繁杂,不便于大屏幕的制造,成本高,其可靠性也较低另一种动态扫描显示是把整个 LED 屏幕分成若干部分,每一幅画面的显示是显示完一部分后,又显示第二部分直到显示完最后一部分又重新开始显示第一部分,重复循环进行在重复扫描速度足够快的情况下,我们看到的就是一幅稳定的画面也就是说采用动态扫描显示需要不断进行画面的刷新在这种方式下其显示驱动电路可重复利用,引线也大大减少,从而使硬件成本降低,且屏幕上的发光二极管轮流发光,使用时的耗电量大大降低大屏幕的制造、维护要容易许多,可靠性也增加了两种显示方式的比较再结合 51 单片机 IO 口数量有限的原因决定采用动态扫描的方式进行

47、显示。动态扫描分为行扫描和列扫描两种方式区别在于选通端和数据输入端分别是行还是列。在该显示系统中扫描显示的工作原理如图 4-2 所示,先选通列然后再从行送入对应列的数据,这样从第 1 列到第 16 列循环往复,只要切换的速度足够的快利用人眼的延时特性就可以看见一幅稳定的画面。本科生毕业论文 21 1 2 1 16 2 16 16 16LED16 16LED16 16LED LED16 LED1 LED2 图图 4-2 扫描显示程序原理图扫描显示程序原理图4.2.2 点阵数据表达方式该显示系统的显示数据采取纵向取模方向正向的数据存储方式如图 4-3, 图图 4-3 点阵数据原理图点阵数据原理图

48、即数据是纵向的,一个像素对应一个位。8 个像素对应一个字节,字节的位顺本科生毕业论文 22序是上高下低,比如从上到下 8 个点的状态是“*-*-”(*为黑点,-为白点),则转换的字模数据是 0 x82(B1000_0010)。如图(4-3)所示,一幅 1616 的点阵画面点阵数据按照 B1B2B3B31B32 存储。所以一幅画面的数据量为 32 字节。画面显示时选通的第 i 列对应的数组元素为第 i 和 i+16 个元素16。4.2.3 显示程序的设计 显示程序分为静态显示程序、左移显示、右移显示、上移显示、下移显示五种种显示方式。其中上下左右移动程序都调用了静态显示程序为子程序。静态显示程序

49、流程图如图 4-4 所示: 图图 4-4 静态显示程序流程图静态显示程序流程图显示采用的是列扫描的显示方式,选通一列后按照列与数据元素的对应关系第读取显示数据依次选通列,行 74LS164 的CLOCK 端置低,锁存器禁止输出对应行数组元素与 0X01 相与,相与结果写入单片机端口输出数组元素右移一位,对应74LS164 CLOCK 端置高右移次数是否为 8?锁存器允许输出初 始 化NY开 始本科生毕业论文 23i 列对应的行数据为数组中的第 i 和第 i+16 个元素。将对应元素的由低至高位依次从端口输出具体做法为将元素向右逻辑移位后再与 0X01 相与,所得结果通过单片机端口输出到串并转换

50、器的 A 端,锁存在锁存器里完成一列数据移位后再将其输出。如此依次循环选通各列来显示所需画面17。 / NY -/ 16 NY 16图图 4-5 左右移左右移/上下移程序流程图上下移程序流程图 动态显示程序流程如图 4-5 所示,根据显示数据的存储原理通过改变实际 LED列与数据逻辑列的方法来实现程序的左右移动。显示数据与列的对应关系为:第 i列对应的数据为数组中 i 和第 2i 个数据。所以当 ULN2803 选通时,而送入后一列的数据则相当于画面左移移位,同理送入前一列数据相当于右移一位。如此循环则产生一幅稳定运动的画面。 显示数组中,第 1 至 16 个元素的第 8 至第 1 位 LED

51、 显示屏中的第 1 至第 8 行。同理第 17 至 32 个元素的第 8 至第 1 位 LED 显示屏中的第 9 至第 16 行。所以将元素数据进行逻辑位移便能产生上下移动的效果18。4.3 通信程序的设计系统采用串行中断的方式进行通信。MCS-51 单片机的五个中断源两种类型:一类是外部中断源;另一类是内部中断源,包括两个定时器/计数器(T0 和 T1)的溢出中断和串行口的接收和发送中断。MCS-51 单片机设置了 4 个专用寄存器用于本科生毕业论文 24中断控制,分别为定时器控制寄存器(TCON) ,串行口中断控制器(SCON) ,中断允许控制寄存器(IE) ,中断优先级控制寄存器(IP)

52、 。编程时通过设置其状态来管理中断系统。在编辑中断程序时首先是将中断控制寄存器(IE)初始化。其控制位分布如表。EA 为中断允许总控制位,EA=1 时 CPU 开发中断;EA1 时。CPU 屏蔽所有中断。ES、ET、EX1、ET0、EX0 为对应的串行口中断、定时器/计数器 1 中断、外部中断1 中断、定时器/计数器 0 中断、外部中断 0 中断的中断允许位。对应位为 1 时允许其中断,对应位为 0 时,禁止其中断。表表 4-1 中断允许寄存器格式中断允许寄存器格式 所以初始化时设定中断允许寄存器初值为 0XFF,指令为 IE=0XFF。程序设计时还要考虑到中断优先级的问题。因为不同的中断同时

53、产生而 CPU 响应的顺序取决于内部查询顺序。设置串口工作方式 1,波特率 9600,计算可得计数器初值的十六进制表示为0XFD。通信协议如表 4-2 所示:表表 4-2 串口通信数据结构串口通信数据结构数据结构第 1 个字节第 2 至第 33 个字节第 34 个字节内容起始标志位S显示数据控制指令作用判断是否开始接收数据LED 的显示内容控制 LED 显示方式具体串口中断程序流程图如图 4-6 所示,在主程序中先进行了串行中断的初始化,初始化内容包括了串行工作方式选择,波特率的设定,计数初值的设定。程序开始进入中断等待,当 PC 机向单片机发送数据时产生中断接收允许位 RI 置 1,将SBU

54、F(缓冲寄存器)中的值输入到暂存器中进行数据处理。首先判断数据是否设定的起始标志位S如果是则开始接收起始位后的 33 个字节,不是则中断返回继续等待。接收到第 34 个字节后便将收到的数据发送回 PC 机进行验证比较。 D7D6D5D4D3D2D1D0EAESET1EX1ET0EX0RI=1?接收串口数据起始位S接收起始位后 33 位数据接收到第 34 位?将第 2 位起的 32位数据发回 PC 机NNNYYY中断开始中断返回本科生毕业论文 25图图 4-6 通信程序流程图通信程序流程图所有软件编写完成后都必须经过编译才能被单片机识别使用。为了减小软件的修改和优化难度,先把各子程序写为一个可单

55、独执行的完整程序。各子程序编译没有错误后再输入单片机进行验证,这两项都通过后再将所有的程序整合到一起形成一个完整的程序再进行编译和验证。详细程序见附录 2。本科生毕业论文 26第 5 章 系统调试硬件制作和软件编写过后,得出实物如图 5-1 所示。实物完成后必须对其进行调试,检查设计功能是否实现了。软件硬件完成后开始进行调试。调试可分为硬件调试,软件调试和系统联合调试。图图 5-1 实物图实物图5.1 系统硬件部分调试方法硬件调试主要是调试各部分的焊接是否合格和各芯片的输出输入电压是否符合设计要求,最后测试各硬件部分能否完成设计功能。因此把硬件调试按照以下四部分分步来进行:(1)测试所有焊点是

56、否有短路和虚焊的现象存在;(2)通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内;(3)测试 ISP 下栽线的功能是否能够实现;(4)测试串口系统的通信功能是否能够实现。由于最重要的显示系统功能的测试需要软件配合所以在硬件调试部分只测试单片机复位电平,功能部分测试放在系统联合调试部分来完成。 本科生毕业论文 275.1.1 短路与虚焊检测 检测工具为万用表,使用万用表的短路报警功能,逐个测试相临的两个焊点检测是否短路。按照电路图检测需要连接的两点是否短路来检测是否已经连接上,以此来检测虚焊的情况。检测和修改完成后为下一步通电检测排除了短路的危险和由于虚焊引起检测结果不真实的麻烦。5.1

57、.2 上电测试由于系统测试时是采用 USB 电源为系统电源,所以电源输入都为 5V。显示系统中单片机、译码器,锁存器,驱动电路的电源电压均要求为 5V 所以可同时直接接入。上电后首先观察电路是否有过热,异味,冒烟的现象出现。经过观察,没有这些现象出现。然后测试各器件的电源,接地及一些电平应该固定的端口的电压。测试的结果为:各器件电源端在 4.3V4.8V 之间满足器件的电源电压要求,单片机端口在未接负载时端口电压为 4.5V。5.1.3 串口调试串口部分的作用为单片机与 PC 机之间通信,要检查硬件是否正常工作可以采用将 MAX232 芯片的单片机端输出口与输入口直接相连的办法来测试。具体电路

58、图如图 5-2 所示,将 MAX232 的第 10 端和第 9 端直接短接。功能上表示将单片机的输出口与输入口直接相连,单片机收到数据的同时就将数据发送回 PC 机。如果发送的数据能够被接收则证明串口通信部分的硬件是正常的。【19】将串口与电脑 COM1相接,通过串口调试助手发送不同位数的数据再在把发送的数据与接收数据相比较。C1+1VDD2C1-3C2+4C2-5VEE6T2OUT7R2IN8R2OUT9T2IN10T1IN11R1OUT12R1IN13T1OUT14GND15VCC165MAX232ACPE12345678911101D Connector 9C1104C2104C3104

59、C4104VCCP3.1 TXP3.0 RXVCC图图 5-2 串口硬件调试串口硬件调试本科生毕业论文 285.2 系统软件调试方法由于已经进行了硬件调试,所以软件调试主要是软件编译和将各功能块程序分别写入以验证其功能的可实现性。在进行功能调试前必须用 KEIL C 对所有程序进行编译,编译成功生产可执行的.hex 后方可进行功能测试。其中测试串口程序的功能是否完善不但要连接单片机系统还要借助串口调试工具。串口调试工具选用的是串口调试助手,其功能是按照设定的串口、波特率向单片机发送数据和接收单片机向 PC 机发送的数据。并且能把发送和接收的数据内容显示在状态栏内。因此只要设定 PC 机向单片机

60、发送的内容和单片机向 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

温馨提示

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

评论

0/150

提交评论