1、 摘 要在大型商场、车站、码头、地铁站以及各类办事窗口等越来越多的场所需要用LED点阵显示图形和汉字。LED行业已成为一个快速发展的新兴产业,市场空间巨大,前景广阔。本文介绍了一款以单片机STC89C52控制器的LED点阵显示屏系统的设计。该系统可实现中英文字符的显示和动态特效显示。系统采用PC机作为上位机,上位机向单片机发送控制命令和上位机所存储的显示代码,STC89C52片机接收并处理PC机的控制命令以及显示代码,由显示驱动模块驱动4个1616分辨率的LED点阵显示屏的扫描显示,能左移显示“欢迎华南农业大学罗教授来校讲学”。PC机与单片机之间的通信采用ISP下载编程器来实现。除此之外,该系
2、统只占用了单片机少量的I /O口和内存,为系统留下了功能扩展的空间。关键字:STC89C52;LED点阵显示;串行通信AbstractNowadays, 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
3、 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 STC89C52. The system can display in both Chinese and English characters of the show and from top to bottom and move around
4、 the magic show. The PC sends control commands and displays code to micro controller, STC89C52 receives control commands from PC and shows the code. Driver module drives four 1616-resolution LED lattice LEDs panel displays scan showed and can shift to the left shows welcome to south China agricultur
5、al university Luo xx professor to give speeches. Communication between PC and the micro controller 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: STC89C52;
6、lattice LEDs panel display; serial communication设计说明单片机点阵LED电子显示屏设计是在指导老师给出的任务书并在其指导下完成的。设计任务主要是以52系列单片机为核心设计一个能显示4个1616点阵图文LED显示屏,能左移显示“欢迎华南农业大学罗教授来校讲学”。该单片机点阵LED电子显示屏设计有以下几点基本要求:(1)硬件电路的设计(包含元器件的选择)。(2)PCB设计与元件装配。针对上述要求,经过考虑,我们构思出具有自身特色的单片机点阵LED电子显示屏设计主要内容为:(1)单片机最小系统模块:整个控制系统都是依靠单片机完成。从功能和价位以及本题目
7、要求来看,我们选择STC89C52RC芯片作为本系统的控制核心,同时可以实现控制、显示、键盘等功能,电路设计和制作比较简单。(2)点阵显示模块:选择74HC595为驱动,74HC138为数据选择,结合单片机来进行数据显示,实现左移,上移功能。在做本设计的过程中,我们组查阅了很多的相关资料,其中主要的技术资料是各个芯片的资料,如:STC89C52RC单片机资料、74HC595芯片资料、74HC138芯片资料、74HC04芯片资料等。 关键词:单片机;显示;软件;点阵;模块目 录1 引言11.1 研究背景11.2 研究的目的与意义11.2.1 国外研究情况11.2.2 国内研究情况21.3 本课题
8、研究的主要内容和研究方案22 单片机点阵LED电子显示设计总体方案42.1 系统总体方案42.2 系统硬件方案选择42.2.1 上位机部分选择42.2.2 通信部分方案选择52.2.3 控制部分方案选择52.2.4 显示部分方案选择62.2.5 最终确定硬件设计方案72.3 系统软件方案选择82.3.1 单片机编程语言选择82.3.2 系统软件编译工具选择92.4 功能要求92.5 系统总结构93系统软件设计103.1 主程序设计103.2 特效显示程序的设计123.2.1 LED显示屏的显示方式123.2.2 左移显示的设计133.3 通信程序的设计144 系统调试164.1 系统硬件部分调
9、试方法164.1.1 短路与虚焊检测164.1.2 上电测试164.2 系统软件调试方法174.3 系统联合调试及结果175结论19参考文献20致谢21附录22 附录A 单片机和原理图22 附录B 设计源程序22V1引 言 LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。LED点阵显示屏以亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可
10、靠性、全色化方向发展1。1.1 研究背景在大型商场、码头、车站、地铁站以及各种办事窗口等越来越多的场所使用LED点阵显示图形和汉字。LED行业已成为一个发展快速新兴的产业,市场空间巨大,前景广阔。随着信息产业的高速发展,LED作为信息传播的一种重要手段,已广泛应用于室内外需要进行服务的内容和服务宗旨宣传的公共场所。1.2 研究的目的与意义该设计课题能够使我们掌握LED显示屏的基本显示原理和设计方法,对LED显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了51单片机的的软硬件开发工具的使用方法,为以后
11、从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅速,作为主要平面显示媒介的LED显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。但同时应该清楚的认识到我国的LED技术虽然发展迅速但和世界先进水平还有一定的差距。因此此课题不论是对自己的就业还是对我国LED显示技术的发展都有非常现实与积极的意义。1.2.1 国外研究情况 自20世纪80年代后期开始,随着LED制造技术的不断完善,在国外得到广泛的应用。在国外点阵屏显示技术研究已经相当成熟,完善。并且已经开始研究新的大屏幕显示技术,但就目前来看,LED点阵显示屏仍然市场前景依然广阔2。1.2.2 国内研究情况 与国外相比,国内L
12、ED点阵显示屏技术相比于国外仍旧落后。在我国改革开放之后,特别是进入90年代国民经济高速增长,都公共场合发布信息的需求日益强烈,LED显示屏的出现正好适应这一市场行势,因而在LED显示屏的设计制造技术与应用水平都得到迅速的提高。LED显示屏经历了从单色、双色的图文显示屏到图像显示屏的发展过程。但是是LED芯片的制造技术仍然没有被国内生产厂家掌握,致使中国只能从外国进口LED芯片。LED芯片的制造制约中国市场的发展3。1.3 本课题研究的主要内容和研究方案针对设计题目的特点,作者对论文的内容和结构将做如下安排:(1)初步方案的论证和选择 搜集题目的有关资料,并参照目前通用的设计思想和设计方法拟定
13、几套设计方案进行分析比较。最终选定了以PC机为上位机,单片机为核心控制器件,外加译码电路和驱动电路的设计方案。(2)方案实现以设计方案为指导思想选择合适的器件来实现这一思想,选择器件时要从功能和电气特性两方面来选择和论证。经过对比选择选定STC89C52单片机为核心控制器件,由串并转换器74HC138和锁存器74HC573为译码电路器件,74HC595为驱动电路器件。论文列出了详细的器件参数和在系统中的连接使用方法。 (3)软件编写 根据硬件特点和设计要求,软件选用C语言编写。程序按功能分为静态显示、动态显示、通信等几个功能上相对独立的模块。然后按照所划分的模块逐个编写和调试,最后将独立的模块
14、整合起来。(4)验证与测试调试分为硬件调试、软件调试和系统联合调试几步来进行。在硬件调试中发现有单片机端口驱动能力不足、驱动电路工作不稳定等问题。在软件调试中出现程序整合工作不协调等问题。通过分析,查找找出了问题原因并设法将其解决。(5)结论 设计完成后对设计中所遇到的问题、经验教训、以及自己的想法进行总结。2 单片机点阵LED电子显示设计总体方案 2.1 系统总体方案 本设计以STC89C52RC单片机为核心,通过74HC138芯片为列驱动,74HC595芯片为行驱动。以PC机作为上位机存储和处理显示内容用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据上位机传输来的内容和指令
15、通过端口译码扩展后驱动4块1616LED点阵模块构成的1664的LED点阵显示屏显示出来。2.2 系统硬件方案选择 大多数的LED显示屏都在户外,所以对硬件的质量要求非常的高。为方便检修和维护硬件电路设计时常常采用模块化的设计方法。硬件的设计采用模块化设计,既要满足模块本身功能又要能够和整个系统兼容。如图2-1所示,根据显示系统的功能特点确定系统硬件由显示屏部分,控制部分,通信系统及上位机四部分组成。上位机通过通信部分向控制部分发送控制指令和显示内容代码,控制部分执行显示指令并将显示代码处理后控制显示部分的显示内容和显示方式4。图2-1 系统硬件组成框图2.2.1 上位机部分选择其中系统采用现
16、在已经非常普遍的PC机作为上位机,这样对该显示系统的硬件要求便降低了,增加了系统的通用性。上位机的作用是存储并处理显示内容,然后通过通信系统传送到控制系统驱动显示。LED显示上位机的内容一般有实时显示和存储显示两种方法。实时显示及上位机屏幕上的内容同时显示在LED显示屏上,上位机上内容变化LED显示屏也跟着变化。存储显示是将显示内容处理过后存储在上位机中通过通信系统传输到显示屏显示。两种显示方法相比较:实时显示屏幕能及时反应上位机内容的变化,显示的效果和内容的实时性好多用于新闻播报、实况转播用,但实时显示硬件开销大,对通信系统要求高,工艺复杂,成本高;存储显示虽实时性不高但硬件开销小,成本低廉
17、。课题设计题目对显示的实时性要求较低且所设计的显示屏尺寸不大同时显示的内容不多,所以实时显示就没有必要。所以上位机选择存储显示的方法,控制LED显示屏的显示内容5。2.2.2 通信部分方案选择 通信部分要满足的设计要求就是稳定、快速、简单易实现。因为通常情况下显示屏和上位机的距离不会很远,所以通信距离的要求不是很高。ISP(In-System Programming)在系统编程,通过下载电缆直接对安装在用户目标板上的器件编程,给电子产品的设计和生产带来许多革命性的变化。目前,比较成熟的ISP下载器大多是基于串口或者并口通信的,但是也存在着以下问题:(1)用户PC机的主频、硬件和操作系统不同,可
18、能会造成控制信号错误;(2)不同的厂商提供不同的ISP下载器,互不兼容,给嵌入式开发带来不便;(3)限于串、并口的通信协议,ISP数据传输速率较低,影响嵌入式产品的开发。基于以上原因,本设计选择了一种将单片机和USB总线相结合,进行ISP下载的方法。2.2.3 控制部分方案选择控制部分是整个系统的核心部分,其功能为与上位机通信接收上位机发送的数据和控制指令处理过后控制显示部分显示内容。单片机是集成了CPU,ROM,RAM和I/ O口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU)。单片机品种齐全,型号多样CPU从8,16,32到64位,多采用RISC技术,片上I
19、/O非常丰富,有的单片机集成有A/ D,“看门狗”,PWM,显示驱动,函数发生器,键盘控制等。它们的价格也高低不等,这样极大地满足了开发者的选择自由。除此之外单片机还具有低电压和低功耗的特点。随着超大规模集成电路的发展,NMOS工艺单片机被CMOS代替,并开始向HMOS过渡。供电电压由5V 降到3V,2V甚至到1V,工作电流由mA降至A ,这在便携式产品中大有用武之地4。单片机的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。现在市场上常用的单片机主要有MCS-51、AVR、ARM、PIC等。其中应用最广泛的单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规范,加之生
20、产历史“悠久”,有先入为主的优势常作为单片机学习的教材。且51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。考虑到点阵的字库内存的问题,所以在控制部分方案的选择中选定52系列单片机作为控制部分的核心器件。2.2.4 显示部分方案选择显示部分包括了一块至少可以显示一个汉字的显示屏,以及驱动该显示屏的驱动电路。由于单片机的I/O口有限要不能直接用I/O口来驱动LED显示屏,所以需要对单片机I/O口进行扩展增加单片机并行输出的能力。LED显示屏是由一个一个的发光二极管点阵构成的,要构成大
21、屏幕的LED显示屏就需要多个发光二极管。构成LED屏幕的方法有两种,一是由单个的发光二极管逐点连接起来,如图2-2所示;二是选用一些由单个发光二极管构成的LED点阵子模块构成大的LED点阵模块。目前市场上普遍采用的点阵模块有88、1616几种;这两种屏幕构成方法各有有缺点,单个发光二极管构成显示屏优点在于当单个的发光二极管出现问题时只需更换一个二极管即可,检修的成本较低,缺点在于连接线路复杂;而点阵模块构成的方法却正好与之相反,模块构成省约了大量的连线,不过当一个LED出现问题时同在一个模块的所有LED都必须被更换。这就加大了维修的成本。两种方法相比较,决定采取模块构成的方法来制作一个LED点
22、阵显示屏。为了避免模块的缺点,选择点阵数较小的模块来减小出现这一问题的风险。所以构建一个1616的LED点阵屏选用四块88点阵模块在这基础上搭建1664的LED点阵6。 图2-2 LED点阵图一个1616的LED显示屏行和列各有16支引脚,不能单靠52单片机的端口驱动所以必须要对单片机的端口个数进行扩展。经常采用的端口扩展方法是用串并转换芯片进行译码。常用的串并转换芯片有74LS154(4线-16线译码器)、74HC138(8位串并转换器)、74HC595等。52系列单片机端口低电平时,吸入电流可达20mA,具有一定的驱动能力;而为高电平时,输出电流仅数十甚至更小(电流实际上是由脚的上拉电流形
23、成的),基本上没有驱动能力,所以单片机不能直接驱动LED显示屏显示。在单片机和显示屏之间还需要增加以功能放大位目的的驱动电路7。2.2.5 最终确定硬件设计方案最终方案如图2-3所示,以PC机作为上位机存储和处理显示内容用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据上位机传输来的内容和指令通过端口译码扩展后驱动16块88LED点阵模块构成的1664的LED点阵显示屏。题目将以此方案为指导思想展开具体的硬件电路设计8。图2-3硬件设计方案2.3 系统软件方案选择软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。软件的编写需要借助软件编辑器和编译软件,编译完成后还需
24、要下载到单片机中执行。编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件。最后还要选择一款与所选单片机的下载器或下载软件来把编写的程序下载到单片机中执行。2.3.1 单片机编程语言选择现在主要运用的单片机编程语言为汇编语言和C语言。两种语言相比较各有优点。汇编语言(Assembly Language)是面向机器的程序设计语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。其具有执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植9。C语言是一种源于编写UNIX操作系统的语言
25、,它是一种结构化语言,可产生压缩代码。C语言结构是以括号 而不是子和特殊符号的语言。C可以进行许多机器级函数控制而不用汇编语言。与汇编相比,有如下优点:对单片机的指令系统不要求了解,仅要求对52的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数。这种方式可使程序结构化;将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;编程及程序调试时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。C语言作为一种非常方便的语言而得到广泛的支持,
26、C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来10。基于以上理由决定采用C语言为该显示系统的编程语言。2.3.2 系统软件编译工具选择C语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。因此在系统软件设计中,编译器必不可少。支持MCS51用C语言编程的编译器主要有两种:Franklin C51编译器和KEILC51编译器。目前在单片机开发中普遍都是使用KEIL C51来进行编译。因此软件设计最终方案为采用C语言为程序语言,KEIL为编译工具按照控制、通信、显示等几个功能模块来编写程序。2.4 功能要求 本方案设计一个电子显示屏,具体
27、要求满足以下条件: (1)要求采用52单片机作为微控制器。 (2)通过四个1616的点阵LED进行文字显示。 (3)在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无串扰。 (4)文字显示具有每排字有滚动和逐排等显示方式。2.5 系统总结构该系统的组成结构如图2-5所示。图2-5 系统组成结构3系统软件设计设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,各种特效显示子程序,通信程序三个主要部分组成。具体结构如图3-1所示。图3-1 软件功能结构框图3.1 主程序设计系统软件采用C语言编写,按照模块化的设计思路设计。首先分析程序所要实现的功能,程序要实现静态显示,动态显
28、示两大功能。其通信程序接收上位机数据,交给主程序处理再通过控制程序选择不同的显示程序进行显示11。 主程序的工作流程如图3-2所示:图3-2 主程序流程图程序开始时首先必须对单片机进行初始化,其中初始化的内容包括:中断优先级的设定,中断初始化,串行通信时通信方式的选择和波特率的设定,各I/O口功能的设定等。初始化完成后程序进入待机状态等待中断的发生,该程序中主要用到了两个外部中断源和串行中断。外部中断源由按键的电平变化触发,外部中断主要功能是选择LED点阵显示屏的控制方式是由按键控制还是上位机控制和显示状态是静态显示还是动态显示。串行中断包括发送中断和接收中断都是由软件触发。中断产生后由预先初
29、始化时设定跳转执行中断子程序。中断程序设定了LED点阵显示屏所要显示的内容和显示的方式,最后执行的是各种显示程序。按照设定的方式和内容显示出所需要的内容12。3.2 特效显示程序的设计3.2.1 LED显示屏的显示方式 LED点阵屏显示方式主要由静态显示和动态扫描显示两种。 对静态显示来说,每一个发光二极管都需要一套驱动电路,一帧画面输入以后便可一劳永逸地显示,除非我们改变了显示内容,需要重新输出新的点阵数据这种方式系统原理相对简单一些,但所需的译码驱动装量很多,引线多而繁杂,不便于大屏幕的制造,成本高,其可靠性也较低13。另一种动态扫描显示是把整个LED屏幕分成若干部分,每一幅画面的显示是显
30、示完一部分后,又显示第二部分直到显示完最后一部分又重新开始显示第一部分,重复循环进行。在重复扫描速度足够快的情况下,我们看到的就是一幅稳定的画面。也就是说采用动态扫描显示需要不断进行画面的刷新。在这种方式下其显示驱动电路可重复利用,引线也大大减少,从而使硬件成本降低,且屏幕上的发光二极管轮流发光,使用时的耗电量大大降低。大屏幕的制造、维护要容易许多,可靠性也增加了14。两种显示方式的比较再结合52单片机I/O口数量有限的原因决定采用动态扫描的方式进行显示。动态扫描分为行扫描和列扫描两种方式区别在于选通端和数据输入端分别是行还是列。在该显示系统中扫描显示的工作原理如图3-3所示,先选通列然后再从
31、行送入对应列的数据,这样从第1列到第16列循环往复,只要切换的速度足够的快利用人眼的延时特性就可以看见一幅稳定的画面15。 图3-3 扫描显示程序原理图3.2.2 左移显示的设计 显示程序分为静态显示程序、左移显示2种显示方式。其中左移动程序调用了静态显示程序为子程序。 显示采用的是列扫描的显示方式,选通一列后按照列与数据元素的对应关系第i列对应的行数据为数组中的第i和第i+16个元素。将对应元素的由低至高位依次从端口输出具体做法为将元素向右逻辑移位后再与0X01相与,所得结果通过单片机端口输出到串并转换器的A端,锁存在锁存器里完成一列数据移位后再将其输出。如此依次循环选通各列来显示所需画面1
32、6。动态显示程序流程如图3-4所示,根据显示数据的存储原理通过改变实际LED列与数据逻辑列的方法来实现程序的左右移动。显示数据与列的对应关系为:第i列对应的数据为数组中i和第2i个数据。显示数组中,第1至16个元素的第8至第1位LED显示屏中的第1至第8行。同理第17至32个元素的第8至第1位LED显示屏中的第9至第16行。所以将元素数据进行逻辑位移便能产生左移动的效果17。开始读入显示数组显示显示数组元素逻辑左移一位移位次数为16次NY图3-4 左移程序流程图3.3 通信程序的设计通信部分主要由USB接口和单片机控制模块组成,完成对PC机通信和对目标芯片ISP编程。软件面向用户设计,由用户选
33、择要下载的、已经编译成Hex文件格式的代码文件,然后向目标芯片下载程序代码,同时可以检测目标芯片型号、擦除目标芯片、从目标芯片读出程序代码等。整体框架如图3-5所示。数据传输USB总线USB供电USB供电 数据传输ISP接口单片机STC89C52USB 接 口USB接 口芯片图3-5 通信系统框图4 系统调试软件硬件完成后开始进行调试。调试可分为硬件调试,软件调试和系统联合调试。4.1 系统硬件部分调试方法硬件调试主要是调试各部分的焊接是否合格和各芯片的输出输入电压是否符合设计要求,最后测试各硬件部分能否完成设计功能。因此把硬件调试按照以下四部分分步来进行:(1)测试所有焊点是否有短路和虚焊的
34、现象存在;(2)通电测试所有硬件芯片的输入输出电压是否在设计要求的范围内;(3)测试ISP下栽线的功能是否能够实现;(4)测试串口系统的通信功能是否能够实现。由于最重要的显示系统功能的测试需要软件配合所以在硬件调试部分只测试单片机复位电平,功能部分测试放在系统联合调试部分来完成。4.1.1 短路与虚焊检测检测工具为万用表,使用万用表的短路报警功能,逐个测试相临的两个焊点检测是否短路。按照电路图检测需要连接的两点是否短路来检测是否已经连接上,以此来检测虚焊的情况。检测和修改完成后为下一步通电检测排除了短路的危险和由于虚焊引起检测结果不真实的麻烦。4.1.2 上电测试由于系统测试时是采用USB电源
35、为系统电源,所以电源输入都为5V。显示系统中单片机、译码器,锁存器,驱动电路的电源电压均要求为5V所以可同时直接接入。上电后首先观察电路是否有过热,异味,冒烟的现象出现。经过观察,没有这些现象出现。然后测试各器件的电源,接地及一些电平应该固定的端口的电压。测试的结果为:各器件电源端在4.3V4.8V之间满足器件的电源电压要求,单片机端口在未接负载时端口电压为4.5V。4.2 系统软件调试方法由于已经进行了硬件调试,所以软件调试主要是软件编译和将各功能块程序分别写入以验证其功能的可实现性。在进行功能调试前必须用KEIL C对所有程序进行编译,编译成功生产可执行的.hex后方可进行功能测试。4.3
36、 系统联合调试及结果经过硬件调试和软件调试,排除了硬件的连接问题。其余功能的软件便可以在此基础上调试验证其功能的正确性。联合调试的具体方法如下:(1)编写一个逐点扫描的显示程序,再结合硬件电路运行。这样做的目的在于检测各器件是否能够正常运行和显示屏的各个LED灯是否有损坏。结果显示显示屏中只有边角出有一个LED灯被烧坏,其他器件逻辑功能运行正常。(2)将静态显示子程序与各种动态显示程序结合硬件电路进行调试。系统运行时显示如图4-1所示,显示图像比较清晰,各动态显示效果也能够实现。但显示存在两个问题。一是发光点的下方会出现一个很微弱的亮点,影响了整体的显示效果。二是同一列的LED灯被点亮的数量与
37、其亮度出反比,即如果同一列的灯都被点亮则亮度比只点亮几个时要暗一点。4.4 调试结果分析对调试中出现的问题进行了分析,得出以下原因和修改办法。(1)硬件的工作表现出不稳定,主要是表现在LED显示屏的驱动电路部分和单片机系统部分。具体表现为单片机接负载后电压被拉低值1.7V左右,无法满足译码电路的输入要求。显示时会有一些行驱动的输出不够设计指标,导致所驱动的那一行在显示屏上表现为选定的点不能够很好区分,图像出现模糊。分析造成这一现象的原因为,焊接时三极管9012遭到了高温损坏以致工作不稳定和焊接的电路不够牢靠,还有就是9012的e端所接电压过高。修改办法为将单片机输出端口外接74HC04芯片,替
38、换三极管。(2)虚点的产生与软件有关。修改办法是将软件中的延时时间调至恰当值。经过调试和修改,系统实现了题目所要求的中英文显示,动态显示及上位机通信与控制的要求。最终实物图如图4-3所示: 图4-3实物图5 结 论经过一段时间的工作,终于完成了基于51单片机的LED显示系统的设计,项目所要求的功能全部达到。通过这次设计收获颇多,不仅是所作题目涉及到的软硬件知识还有更为重要的实际经验和过程中所发现的问题。接手题目之后从互联网上对LED进行了详细的资料收集,从技术和产业的两方面对LED进行了了解。通过了解我认识到LED是一门当今应用非常广泛的技术,整个产业每年都会有巨大的产值而且技术还在不断发展和
39、创新20。从设计之初就确定了参照大屏幕显示屏的实现方法和实际情况设计一款小屏幕的LED点阵显示屏。在查阅了大量的大屏幕显示屏资料后确定了题目的设计方案。整个设计采用STC89C52做核心控制器,74HC138和74HC573组成译码电路,74HC595做成列驱动。在实现这一设计的过程中所遇到的问题和困难给我留下了宝贵的经验和深刻教训。这些经验和教训是:(1)设计之前应该进行大量的资料收集和分析,确定一个清晰的设计思路;(2)器件选择时要详细阅读器件使用手册,不但要考虑器件的功能实现还要考虑器件在整个系统中的兼容性;(3)硬件的系统的建立必须合理和稳定,实物建立之前最好进行仿真这样才能为软件提供
40、一个可靠的试验平台;(4)软件的编写不但要实现功能还要不断的优化、简练、易读。随着课题的进行,对LED的了解也越来越深入。认为LED技术也会进一步发展,LED应用将会更加广泛。可以设想利用LED的高稳定性和低能耗,再与无线通信技术相结合在沙漠深处或者人迹罕至的雪山之颠树立一块依靠太阳能充电,通过无线传输方式更改显示内容的信息板为登山者提供指示和天气信息,为沙漠迷路的人指引方向。设计结束了,但学习还在继续。我相信通过此次设计所得到的知识、心得、经验乃至感受都会让我在以后的日子里受益匪浅。参考文献1 关积珍.LED.显示屏发展状况及趋势J.世界电子元器件.2000:(02):277-301.2 关
41、积珍,陆家和.我国LED显示屏技术和产业发展及展望J.现代显示.2004:(02):34-37.3 Paul M.Embree,Bruce Kimble.C language algorithms for digitalM.1991:56-60.4 缪思恩.LED大屏幕显示电路设计J.电子技术应用.1996:(08):56-77.5 Dave Jackson.关于DSP芯片的问与答J.今日电子.1998:(12):1-7.6 卢弥坚.主从分布式LED大屏幕显示系统J.电脑与信息技术.1997:(04):6-13.7 高胜东,梁采,张宏富.一种LED大屏幕显示系统J.成都气象学院学报.1998:
42、(03),108-120.8 张全福.汇编语言程序设计实验教学改革与探索J.教学研究.2005:(06):3-5.9 文哲雄.用单片机控制LED显示屏D.佛山:佛山科学技术学院,1995.10 彭宁,只佩华.单片机对LED大屏幕显示的控制系统J.河北大学学报(自然科学版).1993:13(3):86-89.11 陈玉华,王铭霞.LED大屏幕显示电路的设计J.大连海事大学学报.1997:(03):55-56.12 李元生. LED光柱专用驱动器J.家庭电子.2005:(04):1-7.13 王亭,李瑞涛,宋召清.在Windows下PC机和单片机的串行通信J.微型机与应用.2000:(1):25-
43、27.14 李桂平.LED屏幕显示器的设计J.零陵师范学院学报.2002:(9):367-380.15 David F Rogers.Computer graphics algorithmM.Beijing:LChina Machine Press,2002:97-99.16ATMEL.8-bit Microcontroller With 8K Bytes Flash AT89C52.M.1999:34-54.17 Robert C.Hutchison.programming using the C languageM.1988:210-214.28致 谢在论文完成之际,我首先要对我的指导老师
44、和帮助过我的所有同学及提供给我实验条件的老师,我的好搭档同学表示最真挚的谢意。在整个论文的选题、理论研究、需求分析和系统设计的过程中,他们给了我不少启发,并对论文的设计方案提出了许多至关重要的建议,在实验过程中帮我解决了不少的难题,再次表示由衷的感谢。在论文写作期间曾经遇到过很多的阻力,但是在大家的帮助与两人的努力下下总算是顺利地度过了,现在一切都好了。我还要感谢全班同学,感谢他们大学四年所做的所有令人感动的、幽默的、滑稽的、荒诞的事情。我所在的实验室的同学,我也要感谢你们。虽然大家来自不同专业相处时间也不长,但大家共同的爱好相同的目标使得大家互相扶持共同努力。附 录附录A 单片机和原理图 单
45、片机和原理如图 A所示:图A 单片机和原理图 附录B 设计源程序:#include #include #define uint unsigned int#define uchar unsigned char#define NOP() _nop_()sbit EN_port = P13; /138使能端sbit DA_in_port = P12; /595串口输入端sbit CLK_port = P11; /595时钟sbit Latch_port = P10;/595显示端#define ABCD_port P1 /HC138 ABCD端口定义/sbit D_port = P17; /sbit C_port = P16; /sbit B_port = P15; /sbit A_port = P14;uchar disp_han; /目前显示的行数uchar move1; /对于上移移动的次数uint word; /字模计数器uchar move;/列指针uchar line;/行指针uchar speed=5;/设定移动速度uchar buf12;/缓存数组uchar code disp0= /左移字库0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0xff,0