基于单片机的LED点阵显示屏的设计.doc

上传人:仙人指路1688 文档编号:4148552 上传时间:2023-04-07 格式:DOC 页数:39 大小:397.50KB
返回 下载 相关 举报
基于单片机的LED点阵显示屏的设计.doc_第1页
第1页 / 共39页
基于单片机的LED点阵显示屏的设计.doc_第2页
第2页 / 共39页
基于单片机的LED点阵显示屏的设计.doc_第3页
第3页 / 共39页
基于单片机的LED点阵显示屏的设计.doc_第4页
第4页 / 共39页
基于单片机的LED点阵显示屏的设计.doc_第5页
第5页 / 共39页
点击查看更多>>
资源描述

《基于单片机的LED点阵显示屏的设计.doc》由会员分享,可在线阅读,更多相关《基于单片机的LED点阵显示屏的设计.doc(39页珍藏版)》请在三一办公上搜索。

1、河南工业职业技术学院毕业设计任务书 类别: 专 业: 班 级: 姓 名: 毕业设计题目:基于单片机的LED点阵显示屏的设计 指导教师姓名: 负责人签字: 2010 年 11月 11日摘 要 本设计是以单片机AT89S51为控制的LED点阵显示屏系统。LED点阵显示屏的基本工作原理是动态扫描。在行扫描工作方式下,每一片LED点阵片都有一组列驱动电路,列驱动电路中一片锁存器74LS373或移位寄存器,用来锁存待显示内容的字模数据。在行扫描工作方式下,同一排LED点阵片的同名行控制引脚是并接在一条线上的,共八条线,行驱动电路中也有一片锁存器74LS373或移位寄存器,用来锁存扫描信号。按LED点阵片

2、在屏幕上的排列顺序,单片机先对第1排的第一片LED点阵片的列驱动锁存器,写入从外部数据存储器读得的字模数据,接着对第2片、第3片直到这一排的最后一片都写完字模数据后,单片机再对这一排的行驱动锁存器写行扫描信号,于是第1排第1行与字模数据相关的发光二极管点亮。接着第2排第1行、第3排第1行直到最后一排第1行的点亮。单片机对LED显示屏第2行的扫描控制、第3行的扫描控制直到第8行的扫描控制,其过程与第1行的扫描控制过程相同。对全部8行的控制过程都完成后,LED显示屏也就完成了帧图像的完整显示。关键词:AT89S51; LED点阵显示Abstract The design is based on A

3、T89S51 microcontroller for the control of the lattice LEDs panel display system.The lattice LEDs panel display the basic working principle is a dynamic scan. Line scanning mode, each piece has a set of the lattice LEDs panel display tablets column driver circuit, a column driver circuit or shift reg

4、ister latch 74LS373 is used to latch the contents of the font data to be displayed. Line scanning mode, the same row of the lattice LEDs panel display tablets of the same name and the line control pin is connected to a line, a total of eight lines, the line driver circuit also has a latch or shift r

5、egister 74LS373 is used to lock memory scanning signal. The lattice LEDs panel display tablets by the order on the screen, the microcontroller first row of the first film 1 LEDs panel display driver chip latches the column, write external data memory read from the font data, and then on the first tw

6、o, Section 3 . . until the last piece of this row of font data are finished, the microcontroller then drives the line on this row write line scan signal latches, then ranked No. 1 in line 1 font data associated with light-emitting diodes lit. Then row 1 row 2, 3 row line 1 . . 1 until the last line

7、of a row of lights. Single Chip LED display on the scan control line 2, line 3 . . until the scan control of the scan control line 8, line 1 of its process and control process of scanning the same. 8 lines of all the control process are completed, LED display will be done with the full frame display

8、. Key words: AT89S51; lattice LEDs panel display目 录1 绪 论11.1 课题背景11.2 选题意义11.3 课题设计目的22 LED点阵显示屏系统需求分析32.1 系统硬件方案32.2 系统软件方案93 LED点阵显示屏系统设计123.1 硬件整体设计123.2 译码电路设计133.3 驱动电路设计143.4 通信系统硬件设计163.5 电源设计173.6 系统软件设计184 总结245 参考文献25附录261 绪 论1.1 课题背景 LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万几十万个半导体发光二极管像素点均匀

9、排列组成。利用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。在短短的十来年中,LED 点阵显示屏就已亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定的优点迅速成长胃=为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的的发光密度、更高的发光均匀性、可靠性、全色化发展方向。LED显示屏的应用涉及社会经济的许多领

10、域,主要包括:(1)证券交易、金融信息显示。(2)机场航班动态信息显示。(3)港口、车站旅客引导信息显示。(4)体育场馆信息显示。(5)道路交通信息显示。(6)调度指挥中心信息显示。(7)邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。(8)广告媒体新产品等。1.2 选题意义 该设计课题使我们能够掌握LED显示屏的基本原理和设计方法,对LED显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了51单片机的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展

11、迅速,作为主要平面显示媒介的LED显示屏的作用也越来越广泛,相关的从业人员也越来越紧缺。但同时应该清楚的认识到我国的LED技术虽然发展迅速,但和世界先进水平还有一定的差距。因此此课题不论是对自己的就业还是对我国LED显示技术的发展都有非常现实与积极的意义。1.3 课题设计目的本设计是由单片机控制的LED点阵显示屏系统。其采用AT89S51单片机为主控芯片,结合外围电路,通过软件程序组成LED点阵显示屏系统,其目的是:(1)本系统以单片机AT89S51为核心,通过该芯片控制串并转换器74LS164、锁存器74LS373和列驱动器ULN2803来驱动显示屏显示。(2)通过单片机控制:88的点阵发光

12、管模块,组成1616点阵,显示待定的中文、字符以及数字。(3)系统主要由单片机控制系统、通信电路、驱动显示电路、译码电路与电源等部分组成。2 LED点阵显示屏系统需求分析2.1 系统硬件方案大多数的LED显示屏都在户外,所以对硬件的质量要求非常的高。为方便检修和维护硬件电路设计时常常采用模块化的设计方法。硬件的设计采用模块化设计,既要满足模块本身功能又要能够和整个系统兼容。如图2-1所示,根据显示系统的功能特点确定系统硬件由显示屏部分,控制部分,通信系统及上位机四部分组成。上位机通过通信部分向控制部分发送控制指令和显示内容代码,控制部分执行显示指令并将显示代码处理后控制显示部分的显示内容和显示

13、方式。 图 2-1 系统硬件组成框图2.1.1 显示屏主控制器 控制部分是整个系统的核心部分,其功能为与上位机通信接受上位机发送的数据和控制指令处理过后控制显示内容。其常用的电子设计方法有单片机、DSP、及EDA技术。几种设计方法比较各有其特点:(1) 单片机单片机是集成了CPU,ROM,RAM,和I/O口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU)。单片机品种齐全,型号多样,CPU从8,16,32到64位,多采用RISC技术,片上I/O非常丰富,有的单片机集成有A/D,“看门狗”,PWM,显示驱动,函数发生器,键盘控制等。它们的价格也高低不等,这样极大地满

14、足了开发者的选择自由。除此之外单片机还具有低电压和低功耗的特点。随着超大规模集成电路的发展,NMOS工艺单片机被CMOS代替,并开始向HMOS过渡。供电电压由5V降到3V,2V甚至到1V,工作电流由mA降至uA,这在便携式产品中大有用武之地。AT89S51是一种低耗能、高性能CMOS 8位单片机,具有4K在系统可编程Flash 只读程序存储器。使用Atmel公司高密度非易失性存储器技术制造,兼容标准8051指令系统及引脚。片上Flash允许程序存储器在系统可编程,亦适于常规编程器。在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S51为众多嵌入式控制应用系统提供高灵活、超

15、有效的解决方案。AT89S51提供以下标准功能:4K字节Flash闪速存储器,128字节内部RAM,32个I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。同时,AT89S51可降至0HZ的静态逻辑操作,并支持两种软件可选的节电工作模式。空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。掉电方式保存RAM中的内容,但震荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。本设计采用AT89S51。(2)DSP芯片DSP又叫数字信号处理器。顾名思义,DSP主要用于数字信号处理领

16、域,非常适合高密度,重复运算及大数据容量的信号处理。现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,DSP具有修正的哈佛结构,多总线技术以及流水线结构。将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这使得速度有了较大的提高。DSP区别于一般微处理器的另一重要标志是硬件乘法器以及特殊指令,一般微处理器用软件实现乘法,逐条执行指令,速度慢。而DSP依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如TM320系列的FIRS,LMS,MACD指令等。(3) EDA EDA(即Electronic Design

17、Automation)即电子设计自动化,它是以计算机为工具,在EDA软件平台上,对用硬件描述语言HDL完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。设计者只需用HDL语言完成系统功能的描述,借助EDA工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实现。由于FPGA/CPLD可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,软件编写可以采用自顶向下的设计方案,而且可以多个人分工并行工作这样便缩短了开发周期和上市时间,有利于在激烈的市场竞争中抢占先机。

18、而且MCU和DSP都是通过串行执行指令来实现特定功能,不可避免低速,而FPGA/CPLD则实现硬件上的并行工作,在实施测控和高速应用领域前景广阔;另一方面,FPGA/CPLP器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。三种设计方式相比较各有优点切都能够实现控制功能,但单片机的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。现在市场上常用的单片机主要有MCS-51、AVR、ARM、PIC等。其中应用最广泛的单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势常作为单片机学习的教材。且51系列的I/O脚的设

19、置和使用非常简单,当该脚作输入脚使用时,只需将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作为输出脚使用时,则为高电平或低电平均可。所以在控制部分方案的选择中选定51系列单片机作为控制部分的核心器件。2.1.2 通信系统通信部分要满足的设计要求就是稳定、快速、简单易实现。因为通常情况下显示屏和上位机的距离不会很远,所以通信距离的要求不是很高。计算机数据通信主要采用并行通信和串行通信两种方式。(1) 并行通信并行通信时的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高、故不宜进行远距离通信。(2) 串行通信串行通信数据是一位一位顺序传送,只用很少几根

20、通信线,串行传送的速度低,但传送的距离长,因此串行适用于长距离而速度要求不高的场合。在串行发送时,数据是一位一位按顺序进行的,而计算机内部的数据是并行的。因此,当计算机向外发送数据时,必须将并行数据转换为串行数据再发送。反之,又必须将串行数据转换为并行数据输入计算机中。这种转换既可以用硬件实现也可以用软件实现。单由软件实现会增加CPU负担,降低其利用率,故目前常采用硬件实现。通用的通用异步接收/发送器,简称UART(Universal Asynchromous Receeiver/Trabsnitter)是完成这一功能的硬件电路。在单片机芯片中,UART已经集成在其中,作为其组成部分,构成一个

21、串行口。综上所述,题目设计已经选定了单片机为开发方式而单片机的UART已经集成在单片机内,所以通信系统选择串行通信为通信方式。2.1.3 LED点阵显示屏显示部分包括了一块至少可以显示一个汉字的现实屏,以及驱动该显示屏的驱动电路。由于单片机的I/O口有限要不能直接用I/O口来驱动LED显示屏,所以需要对单片机IO口进行扩展增加单片机并行输出的能力。 LED显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的LED显示屏就需要多个发光二极管。构成LED屏幕的方法有两种,一个由单个的发光二极管逐点连接起来,如图2-2所示:二是选用一些由单个发光二极管构成的LED点阵子模块构成大的LED点阵模块

22、。目前市场上普遍采用的点阵模块有88,1616几种;这两种屏幕构成方法各有缺点,单个发光二极管构成显示屏优点在于当单个的发光二极管出现问题时只需更换一个二极管即可,检修的成本较低,缺点在于连接线路复杂;而点阵模块构成的方法却正好与之相反,模块构成省略了大量的连线,不过当一个LED出现问题时同在一个模块的所有LED都必须被更换。这就加大了维修的成本。两种方法相比较,决定采取模块构成的方法来制作一个LED点阵显示屏。为了避免模块的缺点,选择点阵数较小的模块来减小出现这一问题的风险。所以构建一个1616的LED点阵屏选用四块88点阵模块。 图2-2 LED点阵图一个1616的LED显示屏行和列各有1

23、6支引脚,不能单靠51单片机的端口驱动所以必须要对单片机的端口个数进行扩展。经常采用的端口扩展方法是用串并转换芯片进行译码。常用的串并转换芯片有74LS154(4线-16线译码器)、74LS164(8位串并转换器)、74HC595等。51系列单片机端口低电平时,吸入电流可达20mA,具有一定的驱动能力:而为高电平时,输出电流仅数十uA甚至更小(电流实际上是由脚的上拉电流形成的),基本上没有驱动能力,所以单片机不能直接驱动LED显示屏显示。在单片机和显示屏之间还需要增加以功能放大为目的的驱动电路。 LED点阵屏显示方式主要由静态显示和动态扫描显示两种。对静态显示来说,每一个发光二极管都需要一套驱

24、动电路,一帧画面输入以后便可一劳永逸地显示,除非我们改变了显示内容,需要重新输出新的点阵数据,这种方式系统原理相对简单一些,但需要的译码驱动装量很多,阴线多而繁杂,不便于大屏幕的制造,成本高,其可靠性也较低。另一种动态扫描显示是把整个LED屏幕分成若干部分,每一幅画面的显示是显示完一部分后,又显示第二部分直到显示完最后一部分又重新开始显示第一部分,重复循环进行。在重复扫描速度足够快的情况下,我们看到的就是一幅稳定的画面。也就是说采用动态扫描显示需要不断进行画面的刷新。在这种方式下其显示驱动电路可重复利用,引线也大大减少,从而使硬件成本降低,且屏幕上的发光二极管轮流发光,使用时的耗电量大大降低。

25、大屏幕的制造、维护要容易许多,可靠性也增加了。两种显示方式的比较再结合51单片机IO数量有限的原因决定采用动态扫描的方式进行显示。动态扫描分为行扫描和列扫描两种方式区别在于选通端和数据输入端分别是行还是列。在该显示系统中扫描显示的工作原理如图2-3所示,先选通列然后再从行送入对应列的数据,这样从第1列到第16列循环往复,只要切换的速度足够的快利用人眼的延时特性就可以看见一幅稳定的画面。 图2-3 扫描显示程序原理图2.1.4 硬件设计方案最终方案如图2-4所示,以PC机作为上位机存储和处理显示内容用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据上位机传输来的内容和指令通过端口译

26、码扩展后驱动4块88LED点阵模块构成的1616的LED点阵显示屏。题目将以此方案为指导思想展开具体的硬件电路设计。图2-4 硬件设计方案2.2 系统软件方案软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,各种特效显示子程序,通信程序三个主要部分组成。具体结构如图2-5所示。 图2-5 软件功能结构框图 2.2.1 单片机编程语言现在主要运用的单片机编程语言为汇编语言和C语言。两种语言相比较各有优点。汇编语言(Assembly Language)是面向机器的程序设计语言,是一种功能很强的程序设计语言,也是利用计

27、算机所有硬件特性并能直接控制硬件的语言。其具有执行速度快,占内存空间少等优点,但在编写复杂程序是具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植。C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码。C语言结构是以括号而不是子和特殊符号的语言。C可以进行许多机器级函数控制而不用汇编语言。与汇编语言相比,有如下优点:对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数。这种方式可使程序结构化;将可变的选择与特殊操作组合在一起的能力,改

28、善了程序的可读性;编程及程序调试时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不作修改就可根据单片机的不同较快地移植过来。基于以上理由决定采用C语言为该显示系统的编程语言。2.2.2 系统软件编译器介绍C语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。因此在系统软件设计中,编译器必不可少。支持MCS-51用C语言编程的编译器只要有两种:Franklin C51编译器和KEIL C51编译

29、器。目前在单片机开发中普遍都是使用KEIL C51来进行编译。因此软件设计最终方案为采用C语言为程序语言,KELC为编译工具按照控制、通信、显示等几个功能模块来编写程序。2.2.3 上位机控制传输软件其中系统采用现在已经非常普遍的PC机作为上位机,这样对该显示系统的硬件要求便降低了,增加了系统的通用性。上位机的作用是存储并处理显示内容,然后通过通信系统传送到控制系统驱动显示。LED显示上位机的内容一般有实时显示和存储显示两种方法。实时显示及上位机屏幕上的内容同时显示在LED显示屏上,上位机上内容变化LED显示屏也跟着变化。存储显示是将显示内容处理过后存储在上位机中通过通信系统传输到显示屏显示。

30、两种显示方法相比较:实时显示屏幕能及时反应上位机内容的变化,显示的效果和内容的实时性好多用于新闻播报、实况转播用、但实时显示硬件开销大,对通信系统要求高,工艺复杂,成本高,存储显示虽实时性不高但硬件开销小,成本低廉。课题设计题目对显示的实时性要求较低且所设计的显示屏尺寸不大同时显示的内容不多,所以实时显示就没有必要。所以上位机选择存储显示的方法,控制LED显示屏的显示内容3 LED点阵显示屏系统设计3.1 硬件整体设计显示系统具体设计主要由上位机,通信系统,单片机系统,译码电路,显示驱动电路和1616的点阵屏六部分组成。具体工作流程为:上位PC机通过通信系统向单片机发送控制指令和显示代码内容,

31、单片机接收后执行控制指令处理显示代码将显示内容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路进行电压和电流的处理以达到LED显示屏的显示电流,电压要求进而使显示屏显示内容。根据硬件的功能结构图选取合适器件,器件不但要求能实现所要求的功能还要能兼容至整个系统之中。通过查阅资料和对比最终的硬件原理图如图3-1所示: 图3-1 硬件原理图 该系统所要实现的功能和要求有以下几点:(1) LED显示屏的面积必须满足至少显示一个汉字的标准。并且显示要清晰。(2) 驱动电路要能提供LED显示所需范围内的电压和电流要求。(3) 译码电路的高低电平的区分能力以及译码的输入输出频率必

32、须满足单片机以及驱动电路的要求。(4) 单片机要能接受上位机的指令和显示内容且能够处理后控制LED显示屏的显示,并且端口驱动能力要足以驱动译码电路。执行频率要能达到扫描显示的最低要求。(5) 单片机由ISP下载线下载程序和供电,可不设立专用供电电源。(6)由串口完成单片机与上位机的通信,通信速度和数据传输的可靠性要达到显示要求。3.2 译码电路设计译码电路的功能是为了解决单片机I/O端口不足。行译码所用器件为串并转换器74LS164和锁存器74LS373。具体电路如图3-2所示 图3-2 译码电路图 列译码采用的是芯片74LS164。如果不采用译码电路完全依靠单片机的端口输出来控制1616的L

33、ED点阵显示屏,需要32个端口。而采用了译码电路后仅仅需要79个端口便可实现控制显示。大大减少了I/O口的占用数目,为单片机扩展其他功能预留下来了空间。这就要求单片机的引脚输出的高低电平要在芯片的识别范围内,由于采用了列选通行传送显示代码的方法所以译码电路上也加上了74LS373锁存芯片。这就要求74LS164芯片的输出要满足锁存芯片的高低电平区分范围和频率要求。由于74LS164芯片不具有锁存功能,所以在74LS164进行八位数据的串并转换时,串行数据的第一位会从QA依次移位到QH,第二位数据会从QA依次移位到QG,依此类推在八位数据转换完成之前74LS164芯片的输出会出现一段时间的乱序输

34、出,这一结果会通过驱动电路表现在显示屏上。结果就是显示屏无法导通闪烁,不能显示所需内容。因此在串并转换完成前就需要74LS164的输出口不与驱动电路导通。所以选择锁存器74LS373来完成这一功能。74LS164的输出条件与74LS373的输入条件相匹配,理论上可以实现锁存器对译码器的数据锁存。 3.3 驱动电路设计3.3.1 行驱动电路设计行驱动采用三极管8550,8550为PNP型三极管。发射极e接5V电源,基极接译码信号输出端,集电极接输出驱动LED点阵屏。当译码器端口输出为低电平时,发射极与基极电势差为5V。基极中带负电的电子越过PN结扩散到发射区。发射极产生和电子扩散方向相反的电流,

35、由于基极电子大量扩散到发射极集电极电子扩散到基极中形成了电流Ic。当译码器端口输出高电平时发射极与基极之间的电势差为5VV0VB,由于发射极与基极之间电势差的减少基极电子向发射极扩散的电子数量减少,故集电极电流也随之减少。故8550在驱动电路中起到提供驱动电流和选通开关的作用。行驱动电路图如图3-3所示: 图3-3 行驱动电路图3.3.2 列驱动电路设计列驱动采用ULN2803。ULN2803是一种高电压大电流达林顿管阵列内部结构如图,该阵列中的八个NPN达林顿连接晶体管是低逻辑电平数字电路(如TTL,CMOS,或PMOS)和大电流高电压的灯,继电器,打印机锤和其他类似负载间的接口的理想器件。

36、广泛用于计算机,工业和消费类产品中。所有器件有集电极开路输出和用于顺便抑制的续流 位二极管。集电极输出功率可达50V600mA。ULN2803作为列驱动执行的是列选的工作,当选通的列输入高电平平时其对应的输出低电平。相对应的输出取反,并能提供较大的灌电流来吸收行驱动流出进过显示屏后的电流。具体电路如图3-4所示。图3-4 列驱动原理图3.4 通信系统硬件设计AT89S51单片机具有全双工UART通道,支持单片机进行数据的串行传输。除了单片机要与PC机制定通信协议,确定发送速率外还需要解决的问题就是信号电平问题。RS-232C标准规定了PC机发送数据总线TXD和接收数据总线RXD采用EIA电平,

37、即传送数字“1”时传输线上的电平在-3V-15V之间;传送数字“0”时,传输线上的电平在+3V+15V之间。但单片机串行口采用正逻辑TTL电平,即数字“1”时为+5V数字“0”时为-5V,所以单片机与计算机不能直接相连进行通信必须将RS-232C与TTL电平进行转换。在通用的电平转换芯片中MAX232系列的芯片以集成度高,单+5V电源工作,只需外接5个小电容即可完成RS-232C与TTL电平之间的转换而成为单片机系统中的常用芯片。在该显示系统中,MAX232为通信系统中最重要的硬件组成部分。串口通信系统电路如图3-5所示: 图3-5 串口通信系统电路图3.5 电源设计在系统中MAX232、74

38、LS164、74LS373、AT89S51都需要5V的供电电压,在系统开发过程中可以使用电脑USB供电。在实际的大屏幕LED显示屏设计中,用电脑USB供电明显不切实际。此时需要对民用的220V进行降压整流为5V直流电压为显示系统供电。电路图如图3-6所示。 图3-6 电源原理图如图所示,用220V转12V的变压器进行降压后再通过一个桥式整流电路将交流电整流为直流电。最后通过5V三端稳压模块LM7805得出稳定的5V输出。3.6 系统软件设计3.6.1 程序设计首先必须对单片机进行初始化,其中初始化的内容包括:中断优先级的设定,中断初始化,串行通信时通信方式的选择和波特率的设定,各IO口功能的设

39、定等,初始化完成后程序进入待机状态等待中断的发生,该程序中主要用到了两个外部中断源和串行中断。外部中断源由按键的电平变化触发,外部中断主要功能是选择LED点阵显示屏的控制方式是由按键控制还是上位机控制和显示状态是静态显示还是动态显示。串行中断包括发送中断和接收中断都是由软件触发。中断产生后由预先初始化时设定跳转执行中断子程序。中断程序设定了LED点阵显示屏所要显示的内容和显示的方式,最后执行的是各种显示程序。按照设定的方式和内容显示出所需要的内容。主程序的工作流程如图3-7所示:图3-7 主程序流程图3.6.2 显示程序的设计(1)点阵数据表达方式该显示系统的显示数据采取纵向取模方向正向的数据

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

41、3-9 静态显示程序流程图显示采用的是列扫描的显示方式,选通一列后按照列与数据元素的对应关系第i列对应的行数据为数组中的第i和第i+16个元素。将对应元素的由低至高位依次从端口输出具体做法为将元素向右逻辑移位后再与0x01相与,所得结果通过单片机端口输出到串行转换器的A端,锁存在锁存器里完成一列数据移位后再将其输出 图3-10 左右移/上下移程序流程图动态显示程序流程如图3-10所示,根据显示数据的存储原理通过改变实际LED列与数据逻辑列的方法来实现程序的左右移动。显示数据与列的对应关系:第i列对应的数据为数组中i和第2i个数据。所以当ULN2803选通时,而送入后一列的数据则相当于画面左移一

42、位,同理送入前一列数据相当于右移一位。如此循环则产生一幅稳定运动的画面。显示数组中,第1至16个元素的第8至第1位LED显示屏中的第1至第8行。同理第17至32个元素的第8至第1位LED显示屏中的第9至第16行。所以将元素数据进行逻辑位移便能产生上下移动的效果。3.6.3 通信程序的设计系统采用串行中断的方式进行通信。MCS-51单片机的五个中断源两种类型:一类是外部中断源;另一种是内部中断源,包括两个定时器/计数器(T0和T1)的溢出中断和串行口的接收和发送中断。MCS-51单片机设置了4个专用寄存器用于中断控制,分别为定时器控制寄存器(TCON),串行口中断控制器(SCON),中断允许控制

43、寄存器(IE),中断优先级控制寄存器(IP)。编程时通过设置其状态来管理中断系统。在编辑中断程序时首先是将控制寄存器(IE)初始化。其控制位分布如表。EA为中断允许总控制位,EA=1时CPU开发中断;EA=1时。CPU屏蔽所有中断。ES、ET、EX1、ET0、EX0为对应的串行口中断、定时器/计数器1中断、外部中断1中断、定时器/计数器0中断、外部中断0中断的中断允许位。对应位为1时允许其中断,对应位为0时,禁止其中断。中断允许寄存器格式如表3-1所示: 表3-1 中断允许寄存器格式 D7 D6 D5 D4 D3 D2 D1 D0 EA ES ET1 EX1 ET0 EX0所以初始化时设定中断

44、允许控制寄存器初值为0XFF,指令为IE=0XFF。程序设计时还要考虑到中断优先级的问题。因为不同的中断同时产生而CPU响应的顺序取决于内部查询顺序。设置串口工作方式1,波特率9600,计算可得到计数器初值的十六进制表示为0XFD。通信协议如表3-2所示: 表3-2 串口通信数据结构 数据结构 第1个字节第2至第33个字节第34个字节 内容 起始标志位S显示数据 控制指令 作用判断是否开始接收数据 LED的显示内容控制LED显示方式具体串口中断程序流程图如图3-11所示,在主程序中先进行了串行中断的初始化,初始化内容包括了串行工作方式选择,波特率的设定,计数初值的设定。程序开始进入中断等待,当

45、PC机向单片机发送数据时产生中断接收允许位RI置1,将SBUF(缓冲寄存器)中的值输入到暂存器中进行数据处理。首先判断数据是否设定的起始标志位S如果是则开始接收起始位后的个字节,不是则中断返回继续等待。接收到第34个字节后便将收到的数据发送回PC机进行验证比较。 图3-11 通信程序流程图所有软件编写完成后都必须经过编译才能被单片机识别使用。为了减小软件的修改和优化难度,先把各子程序写成一个可单独执行的完整程序,各子程序编译没有错误后再输入单片机进行验证,这两项都通过后再将所有的程序整合到一起形成一个完整的程序在进行编译和验证。详细程序见附录2。4 总结本课题目标是设计一个1616的点阵LED

46、显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足、可显示文字和字母、显示字体清晰无串扰。可以实现字体左边运动显示。完成了课题LED显示屏的整体设计制作,确定了系统上作流程,完成了系统软件控制功能,实现了原定课题目标。这次论文写作过程,由最初拿到题目的茫然无知,到收集材料,到认真学习了解设计知识,到后来的制作过程,再到最后的完成论文,实现目标,虽然过程挺艰辛曲折,但是论文还是做出来了,我感受到做论文是要真真正正用心去做一件事,是真正的自己学习和研究的过程,没有学习就不可能有研究的能力,没有自己的研究,就不会有所突破,那也就不叫论文了。本论文在王林生老师和专业代课老师的悉心指导和严格要求的指导下业已完成,从课题选择到具体构思和内容,无不凝聚着老师们的心血和汗水,在三年的专科学习和生活期间,也始终感受着各位老师精心指导和无私的关怀,我受益匪浅。在老师的严谨治学态度、渊博的知识、无私的奉献精神使我深受启迪。从尊敬的导师身上,我不仅学到了扎实、宽广的专业知识,也学到了做人的道理。在此我要向我的导师致以最衷心的感谢和深深的敬意。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号