基于51单片机的LED点阵显示屏毕业论文_第1页
基于51单片机的LED点阵显示屏毕业论文_第2页
基于51单片机的LED点阵显示屏毕业论文_第3页
基于51单片机的LED点阵显示屏毕业论文_第4页
基于51单片机的LED点阵显示屏毕业论文_第5页
已阅读5页,还剩44页未读 继续免费阅读

下载本文档

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

文档简介

1、 . . . 大学毕业论文基于51单片机的LED点阵显示屏系统设计学 院 信息电子技术专 业 通信工程班 级 07级1班学 籍 号 0709064113姓 名 金荣指导教师 王 全佳 木 斯 大 学2011年6月15日44 / 49摘 要摘要:本文介绍了一款以单片机AT89S51为控制器的LED点阵显示屏系统的设计。该系统选用四块8×8点阵模块构建一个16×16的LED点阵屏,可实现中英文字符的显示与其动态特效显示。选定AT89S51单片机为核心控制器件,由串并转换器和锁存器为译码电路器件,三极管和驱动继电器为驱动电路器件,通过级连的方式来扩大显示屏幕的尺寸以达到增加显示容

2、的目的。AT89S51单片机处理控制命令以与显示代码,将显示容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路模块驱动LED点阵显示屏的扫描显示。整个设计采用AT89S51做核心控制器,74LS164和74LS373组成译码电路,三极管8550和ULN2803做行和列驱动。关键字:AT89S51;LED点阵显示屏;串并转换器;锁存器;驱动电路AbstractAbstract: This paper introduces a design of the LED lattice display system base on MCU AT89S51. This syste

3、m chooses four 8 x 8 bitmap module to construct a 16 x 16 of LED dot matrix screen.The system can display in both Chinese and English characters of the show and from top to bottom and move around the magic show. Selected for the core control device AT89S51, the string and converter and latches to de

4、code circuits, transistor and drive relays for driving circuit devices, through the ways to expand level even display screen size in order to achieve the purpose of increasing display content.AT89S51 processing control commands and display code will display content through the I/O port serial output

5、 and control of decode logic complete and transfer parallel output, finally by display driver circuit module driver destem scanning display. The whole design USES AT89S51 do core controller, 74LS164 and 74LS373 composition decode circuit, triode 8550 and ULN2803 do rows and columns driver.Key words:

6、AT89S51;lattice LEDs panel display;String and converter;LatchesDriving circuit目 录摘 要1Abstract2目 录I第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 硬件设计方案82.2 系统软件方案82.2.1 单片机编程语言92.2.2 系统软件编译器介绍9第3章 系统硬件设计103.1 硬件整体设计概述与功能分析103

7、.2 控制单元设计113.2.1 AT89S51简介113.2.2 控制系统设计123.3 译码电路设计133.3.1 串并转换器74LS164133.3.2 锁存器74L373143.4 驱动电路设计153.4.1 行驱动电路设计153.4.2 列驱动电路设计163.5 通信系统硬件设计163.6 电源设计173.7 级连大屏幕LED显示屏18第4章 系统软件设计194.1 程序设计194.2 显示程序的设计204.2.1 LED显示屏的显示方式204.2.2 点阵数据表达方式214.2.3 显示程序的设计224.3 通信程序的设计24结 论26致 27参考文献28附录 1: 硬件原理图30

8、附录 2: 原器件清单31附录 3: 系统PCB图33附录 4: 程序清单34附录 5: 外文参考资料翻译44第1章 绪论1.1 课题背景1.1.1 选题背景LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万到几十万个半导体发光二极管像素点均匀排列组成。利用不同的材料可以制造不同色彩的LED像素点。目前应用最广的是红色、绿色、黄色。而蓝色和纯绿色LED的开发已经达到了实用阶段。LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点1。在短短的十来年中,LED点阵显示屏就以亮度高、工作电压低、功

9、耗小、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。LED显示屏的应用涉与社会经济的许多领域,主要包括证券交易、金融信息显示、机场航班动态信息显示、港口、车站旅客引导信息显示、体育场馆信息显示、道路交通信息显示、调度指挥中心信息显示、邮政、电信、商场购物中心等服务领域的业务宣传与信息显示、广告媒体新产品等。1.1.2 研究现状与发展趋势(1)我国LED产业发展现状经历了多年的发展,我国LED产业已从购买芯片、外延片生产应用产

10、品,逐步发展到自主生产外延片和芯片的阶段,并且已具备一定技术和产业基础。初步形成从外延片生产、芯片制备到器件封装、集成应用等比较完整的产业链。我国上游产业的现状,一是参与单位多,主要单位有中科院半导体所、中科院物理所、电子工业集团第十三电子研究所、大学、清华大学、大学和一些企业;但是这些参与单位都想建立自己产能,起始阶段产能都不大,整个产业看起来资源分散,没有规模;而且科研院所都想建立自己的产能,在技术输出上排外,而实际上各科研单位某一时间突破的可能仅是产业技术链的某一环节,整体上产业化条件还不具备,这样虽然每年看起来各个方面的技术都在突破,但产业化效率非常低。二是与国际先进水平比较,整体上一

11、般芯片的亮度、发光效率、抗静电能力、抗漏电能力以与品质控制水平与国际厂家仍有差距。三是能满足市场需要且规模化生产的企业少,封装所需芯片尤其高档芯片主要靠进口。值得一提的是,经过多年的发展,我国LED显示屏厂商已经具有了很强的实力,虽然拥有DAK、L ighthouse、Darco等知名显示屏厂商的竞争,但国LED显示屏厂商还是占据了国市场的大部分份额,国已经涌现了一批如三思、利亚德、青松等优秀企业,国显示屏市场吸收了很大一部分芯片产能,对促进国上中游发展壮大起了重要作用。国生产的显示屏、景观照明灯具等LED应用产品已经出口到美国、欧盟等国家和地区。(2) LED显示屏的发展前景从LED产业全球

12、分工来看,在LED上游外延片、芯片生产上,美国、日本、欧盟仍拥有巨大的技术优势,中国已经成为全球重要的LED生产基地。目前全球形成了以日、美、德为产业龙头,中国、国紧跟其后,中国大陆、马来西亚等国家和地区积极跟进的梯队分布。虽然中国在LED外延片、芯片的生产技术上距离国际先进水平还有一定的差距,但是国庞大的应用需求给LED下游厂商带来巨大的发展机会,这为我国LED产业的发展提供了良好的机遇。现代信息社会中,作为人一机信息视觉传播媒体的显示产品和技术得到迅速发展,进入二十一世纪的显示技术是平板显示的时代,LED显示屏作为平板显示的主导产品之一无疑会有更大的发展,并有可能成为二十一世纪平板显示的代

13、表性主流产品。高亮度、全彩化蓝色与纯绿色LED产品自出现以来,成本逐年快速降低,已具备成熟的商业化条件。基础材料的产业化。使LED全彩色显示产品成本下降,应用加快。LED产品性能的提高,使全彩色显示屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环境条件要求,同时,由于全彩色显示屏价格性能比的优势,预计在未来几年的发展中,全彩色LED显示屏在户外广告媒体中会越来越多地代替传统的灯箱、霓红灯、磁翻板等产品,体育场馆的显示方面全彩色LED屏更会成为主流产品。全彩色LED显示屏的广泛应用会是LED显示屏产业发展的一个新的增长点。未来LED显示屏会向着标准化、规化,产品结构多样化的

14、方向发展2。(3) 选题意义该设计课题使我们能够掌握LED显示屏的基本显示原理和设计方法,对LED显示屏这个行业有了较为深刻的了解和认识。并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。并且通过该设计课题掌握了51单片机的的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。目前我国的信息行业发展迅速,作为主要平面显示媒介的LED显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。但同时应该清楚的认识到我国的LED技术虽然发展迅速但和世界先进水平还有一定的差距。因此此课题不论是对自己的就业还是对我国LED显示技术的发展都有非常现实与积极的意

15、义。1.2 论文主要容针对设计题目的特点,作者对论文的容和结构将做如下安排:(1) 初步方案的论证和选择搜集题目的有关资料,并参照目前通用的设计思想和设计方法拟定几套设计方案进行分析比较。最终选定了以单片机为核心控制器件,外加译码电路和驱动电路的设计方案。(2)方案实现以设计方案为指导思想选择合适的器件来实现这一思想,选择器件时要从功能和电气特性两方面来选择和论证。经过对比选择选定AT89S51单片机为核心控制器件,由串并转换器74LS164和锁存器74LS373为译码电路器件,三极管8550和ULN2803为驱动电路器件。论文列出了详细的器件参数和在系统中的连接使用方法。(3)软件编写 根据

16、硬件特点和设计要求,软件选用C语言编写。程序按功能分为静态显示、动态显示、通信等几个功能上相对独立的模块。然后按照所划分的模块逐个编写和调试,最后将独立的模块整合起来。(4)结论设计完成后对设计中所遇到的问题、经验教训、以与自己的想法进行总结。第2章 方案论证与选择2.1 系统硬件方案大多数的LED显示屏都在户外,所以对硬件的质量要求非常的高。为方便检修和维护硬件电路设计时常常采用模块化的设计方法。硬件的设计采用模块化设计,既要满足模块本身功能又要能够和整个系统兼容。如图2-1所示,根据显示系统的功能特点确定系统硬件由显示屏部分,控制部分,通信系统三部分组成。单片机通过通信部分发送控制指令和显

17、示容代码,执行显示指令并将显示代码处理后控制显示部分的显示容和显示方式3。通信部分控制部分显示部分图2-1 系统硬件组成框图2.1.1 显示屏主控制器控制部分是整个系统的核心部分,其功能为发送数据和控制指令处理后控制显示部分显示容。其常用的电子设计方法有单片机、DSP、与EDA技术。几种设计方法比较各有其特点:(1)单片机单片机是集成了CPU,ROM,RAM和I/ O口的微型计算机。它有很强的接口性能,非常适合于工业控制,因此又叫微控制器(MCU)。单片机品种齐全,型号多样 CPU 从8,16,32到64位,多采用RISC 技术,片上I/O非常丰富,有的单片机集成有A/ D,“ 看门狗”,PW

18、M,显示驱动,函数发生器,键盘控制等。它们的价格也高低不等,这样极满足了开发者的选择自由。除此之外单片机还具有低电压和低功耗的特点。随着超大规模集成电路的发展,NMOS工艺单片机被CMOS代替,并开始向HMOS 过渡。供电电压由5V 降到3V,2V甚至到1V,工作电流由mA降至A ,这在便携式产品有用武之地4。(2)DSP 芯片DSP 又叫数字信号处理器。顾名思义,DSP主要用于数字信号处理领域,非常适合高密度,重复运算与大数据容量的信号处理。现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,DSP具有修正的哈佛结构,多总线技术以与流水线结构。将程序

19、与数据存储器分开,使用多总线,取指令和取数据同时进行,以与流水线技术,这使得速度有了较大的提高。DSP区别于一般微处理器的另一重要标志是硬件乘法器以与特殊指令,一般微处理器用软件实现乘法,逐条执行指令,速度慢。而DSP 依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如TM320 系列的FIRS ,LMS,MACD指令等5。(3)EDAEDA(即Electronic Design Automation) 即电子设计自动化,它是以计算机为工具,在EDA 软件平台上,对用硬件描述语言HDL 完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合与优化、逻辑布局布线、逻辑仿真,直

20、至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。设计者只需用HDL 语言完成系统功能的描述,借助EDA工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实现。由于FPGA/CPLD可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,软件编写可以采用自顶向下的设计方案,而且可以多个人分工并行工作这样便缩短了开发周期和上市时间,有利于在激烈的市场竞争中抢占先机。而且MCU和DSP都是通过串行执行指令来实现特定功能,不可避免低速,而FPGA/CPLD则可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,FPGA/CPLP器件在功能开发上

21、是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。三种设计方式相比较各有优点且都能够实现控制功能,但单片机的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。现在市场上常用的单片机主要有MCS-51、AVR、ARM、PIC等。其中应用最广泛的单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规,加之生产历史“悠久”,有先入为主的优势常作为单片机学习的教材。且51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。当该脚作输出脚使用时,则为高电平或低电平均可。所以在控制部分方案的选择中选定51系列单片机作为控

22、制部分的核心器件。2.1.2 通信系统通信部分要满足的设计要求就是稳定、快速、简单易实现。计算机数据通信主要采用并行通信和串行通信两种方式。(1)并行通信并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。(2)串行通信串行通信数据是一位一位顺序传送,只用很少几根通信线,串行传送的速度低,但传送的距离长,因此串行适用于长距离而速度要求不高的场合。在串行发送时,数据是一位一位按顺序进行的,而计算机部的数据是并行的。因此,当计算机向外发送数据时,必须将并行数据转换为串行数据再发送。反之,又必须将串行数据转换为并行数据输入计算机中

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

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

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

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

27、电路设计。串行通信单片机译码电路显示驱动电路16×16LED显示屏图2-3 硬件设计方案2.2 系统软件方案软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,各种特效显示子程序,通信程序三个主要部分组成。具体结构如图2-4所示。静态显示程序主程序控制程序特效显示程序通信程序图2-4 软件功能结构框图软件的编写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中执行。编写软件之前得首先选择一种合适的语言以与配套的编辑器和编译软件。最后还要选择一款与所选单片机的下载器或下载软件来把编写的程序下载到单

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

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

30、器介绍C语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。因此在系统软件设计中,编译器必不可少。支持MCS51用C语言编程的编译器主要有两种:Franklin C51编译器和KEILC51编译器。目前在单片机开发中普遍都是使用KEIL C51来进行编译。第3章 系统硬件设计3.1 硬件整体设计概述与功能分析显示系统具体设计主要由通信系统,单片机系统,译码电路,显示驱动电路和16×16的点阵屏五部分组成。具体工作流程为:单片机通过通信系统发送控制指令和显示代码容,执行控制指令处理显示代码将显示容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱

31、动电路进行电压和电流的处理以达到LED显示屏的显示电流,电压要求进而使显示屏显示容11。根据硬件的功能结构图选取合适器件,器件不但要求能实现所要求的功能还要能兼容至整个系统之中。通过查阅资料和对比最终的硬件原理图如图3-1所示。AT89S51电源74LS16474LS16474LS164ULN2803ULN280337374LS37374LS37374LS1648550三极管LED点阵模块阳极4块8*8点阵模块构成16*16LED点阵屏LED点阵模块阴极MAX232图3-1 硬件原理图该系统所要实现的功能和要求有以下几点:(1)LED显示屏的面积必须满足至少显示一个汉字的标准。并且显示要清晰。

32、(2)驱动电路要能提供LED显示所需围的电压和电流要求。(3)译码电路的高低电平的区分能力以与译码的输入输出频率必须满足单片机以与驱动电路的要求。(4)单片机要能够控制LED显示屏的显示,并且端口驱动能力要足以驱动译码电路。执行频率要能达到扫描显示的最低要求。(5)单片机由ISP下载线下载程序和供电,可不设立专用供电电源。3.2 控制单元设计控制单元是整个显示系统的核心,该系统中采用51系列单片机为核心器件,用来发送控制指令和显示容,并且直接输出数据通过译码电路控制LED显示屏的显示容和显示状态。在51系列单片机中选定一款合适的机型来作为控制单元的主控芯片。根据题目的要求该芯片必须要具有的就是

33、方便的编程能力,因为在软件设计时方便的程序下载对程序的验证和编写非常有用。还有就是为了提高LED显示屏的扫描速度,单片机的执行速度要尽可能的快。根据这两点要求,选择美国ATMEL公司生产的AT89S51为控制单元的主控芯片。3.2.1 AT89S51简介AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统与引脚。它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程与通用8位微处理器于单片芯片中,ATMEL公司的功能强大,

34、低价位AT89S51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。AT989S51具有以下特点:·与MCS-51产品指令系统完全兼容·4k字节在系统编程(ISP)Flash闪速存储器·1000次擦写周期·4.05.5V的工作电压围·全静态工作模式:0Hz33MHz·三级程序加密锁·128×8字节部RAM·32个可编程I/O口线·2个16位定时/计数器·6个中断源·全双工串行UART通道·低功耗空闲和掉电模式·中断可从空闲模唤醒系统·

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

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

37、出;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端控制锁存器的工作状态。端口3.0,EA/VPP:外部访问允许。欲使CPU仅访问外部程序存储器(地址为0000HFFFFH),EA端必须保持低电平(接地)。因为没有扩展外部程序存储器所以将EA置为高电平。图3-2 控制部分电路图AT89S5

38、1单片机的P1在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,P2口在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。所以P1和P2口留为外部数据存储器和程序存储器的扩展用,以备部存储器和程序存储器不够用时使用12。3.3 译码电路设计译码电路的功能是为了解决单片机I/O端口不足。行译码所用器件为串并转换器74LS164和锁存器74LS373。具体电路如图3-3所示3.3.1 串并转换器74LS164列译码采用的是芯片74LS164。如果不采用译码电路完全依靠单片机的端口输出来控制16×16的LED点阵屏显示,需要32个端

39、口。而采用了译码电路后仅仅需要79个端口便可实现控制显示。大大减少了I/O口的占用数目,为单片机扩展其他功能预留下来了空间。74LS164为一个8位数据的串并转换器。当清除端(CLEAR)为低电平时,输出端(QAQH)均为低电平。串行数据输入端(A,B)可控制数据。当A、B任意一个为低电平,则禁止新数据输入,在时钟端(CLOCK)脉冲上升沿作用下Q0为低电平。当A、B有一个为高电平,则另一个就允许输入数据,并在CLOCK上升沿作用下决定Q0的状态。参数最小值标准值最大值单位高电平输入电压2V低电平输入电压0.8V高电平输出电压2.43.2-V低电平输出电压0.20.4V时钟频率025MHZ表3

40、-1 74LS164工作参数这就要求单片机的引脚输出的高低电平要在芯片的识别围,由于采用了列选通行传送显示代码的方法所以行译码电路上也加上了74L373锁存芯片。这就要求74LS164芯片的输出要满足锁存芯片的高低电平区分围和频率要求。 图3-3 行译码电路图3.3.2 锁存器74L373由于74LS164芯片不具有锁存功能,所以在74LS164进行八位数据的串并转换时,串行数据的第一位会从QA依次移位到QH,第二位数据会从QA依次移位到QG,依次类推在八位数据转换完成之前74LS164芯片的输出会出现一段时间的乱序输出,这一结果会通过驱动电路表现在显示屏上。结果就是显示屏无序导通闪烁,不能显

41、示所需容。因此在串并转换完成前就需要74LS164的输出口不与驱动电路导通。所以选择锁存器74LS373来完成这一功能。74LS373为八D锁存器(3S,锁存允许输入有回环特性)。373为三态输出的八D透明锁存器,共有54/74S373和54/74LS373两种线路结构形式当三态允许控制端OE为低电平时,O0O7为正常逻辑状态,可用来驱动负载或总线。当OE为高电平时,O0O7呈高阻态,即不驱动总线,也不为总线的负载,但锁存器部的逻辑操作不受影响。当锁存允许端LE为高电平时,O随数据D而变。当LE为低电平时,O被锁存在已建立的数据电平。参数最小值额定值最大值单位电源电压4.7555.25V输入高

42、电平电压2V输入低电平电压0.8V输出高电平电压2.6mA输出低电平电压24mA表3-2 74LS373工作参数表由表与表比较可以看出,74LS164的输出条件与74LS373的输入条件相匹配,理论上可以实现锁存器对译码器的数据锁存。3.4 驱动电路设计3.4.1 行驱动电路设计发光二极管,LED(Light Emitting Diodes),即是在在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。PN结加反向电压,少数载流子难以注入,故不发光。这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。8550为PN

43、P型三极管,发射极e接5V电源,基极接译码信号输出端,集电极接输出驱动LED点阵屏。当译码器端口输出为低电平时,发射极与基极电势差为5V基极中带负电的电子越过PN结扩散到发射区。发射极产生和电子扩散方向相反的电流,由于基极电子大量扩散到发射极集电极电子扩散到基极中形成了电流。当译码器端口输出高电平时发射极与基极之间的电势差为5V,由于发射极与基极之间电势差的减少基极电子向发射极扩散的电子数量减少故集电极电流也随之减少。故8550在驱动电路中起到提供驱动电流和选通开关的作用。3.4.2 列驱动电路设计列驱动采用ULN2803。ULN2803是一种高电压大电流达林顿管阵列部结构如图,该阵列中的八个

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

45、片机与计算机不能直接相连进行通信必须将RS-232C与TTL电平进行转换14。在通用的电平转换芯片中MAX232系列的芯片以集成度高,单5V电源工作,只需外接5个小电容即可完成RS-232C与TTL电平之间的转换而成为单片机系统中的常用芯片。在该显示系统中,MAX232为通信系统中最重要的硬件组成部分15。电路如图3-5所示:图3-5 串口通信系统电路图3.6 电源设计在系统中MAX232、74LS164、74LS373、AT89S51都需要5V的供电电压,在系统开发过程中可以使用电脑USB供电。在实际的大屏幕LED显示屏设计中,用电脑USB供电明显不切实际。此时需要对民用的220V进行降压整

46、流为5V直流电压为显示系统供电。电路图如图3-6所示。图3-6 电源原理图如图所示,用220V转12V的变压器进行降压后再通过一个桥式整流电路将交流电整流为直流电。最后通过5V三端稳压模块LM7805得出稳定的5V输出。3.7 级连大屏幕LED显示屏要实现LED的大屏幕显示主要采用部译码器级连和多个单片机系统级连的方法。译码器级连如图3-7所示将第1个74LS164的Q7端接第2个74LS164的A端,将第2个74LS164的Q7端接第3个74LS164的A端,如此炮制当N块74LS164相级连时就变为一个串行输入7×N口输出的串并转换器。这种级连的优点在于一块单片机可以同时控制更多

47、的LED点阵显示屏,且74LS164的价格低廉整体成本得到了降低。但是这种级连方法也存在一定的缺点,51系列的单片机的晶振频率不高74LS164级连过多会增加一次扫描的时间从而导致显示出现闪烁。从端口输出的显示数据的显示也要作出相应的改变。图3-7 74LSL64级连构建大屏幕LED显示屏的另一种方法是将以较小的LED显示系统做为模块进行级连。由独立的LED显示系统组成一个大的LED显示系统。其中各子显示系统之间在功能和控制上都是相互独立的,将一幅大屏幕画面拆分为几块小画面再分别送入到各子系统中,各子系统同步显示便可以得到一幅大的画面。使用这种级连的办法可以避免51单片机晶振频率低的弱点,更容

48、易实现大屏幕的显示。但这种方法仍然存在难点,一是各独立的子系统的通信和协调性要求更高了,如果要实现显示容的实时性必须需要不断更新显示容则增加了通信数据量,逐个的单片机传送数据也会影响整个画面的更新速度;二是成本提高了。在实际应用常采用部扩展和外部级连联合使用的方法来构建大屏幕LED显示屏幕。即增加单个显示系统显示屏幕大小的同时又将单个的显示系统级连。详细硬件原理图见附录1。第4章 系统软件设计4.1 程序设计系统软件采用C语言编写,按照模块化的设计思路设计。首先分析程序所要实现的功能,程序要实现串口通信,静态显示,动态显示三大功能。其功能结构如图2-4所示。通信程序接收数据,交给主程序处理再通

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

50、断包括发送中断和接收中断都是由软件触发。中断产生后由预先初始化时设定跳转执行中断子程序。中断程序设定了LED点阵显示屏所要显示的容和显示的方式,最后执行的是各种显示程序。按照设定的方式和容显示出所需要的容。4.2 显示程序的设计4.2.1 LED显示屏的显示方式LED点阵屏显示方式主要由静态显示和动态扫描显示两种。对静态显示来说,每一个发光二极管都需要一套驱动电路,一帧画面输入以后便可一劳永逸地显示,除非我们改变了显示容,需要重新输出新的点阵数据这种方式系统原理相对简单一些,但所需的译码驱动装量很多,引线多而繁杂,不便于大屏幕的制造,成本高,其可靠性也较低另一种动态扫描显示是把整个LED屏幕分

51、成若干部分,每一幅画面的显示是显示完一部分后,又显示第二部分直到显示完最后一部分又重新开始显示第一部分,重复循环进行在重复扫描速度足够快的情况下,我们看到的就是一幅稳定的画面也就是说采用动态扫描显示需要不断进行画面的刷新在这种方式下其显示驱动电路可重复利用,引线也大大减少,从而使硬件成本降低,且屏幕上的发光二极管轮流发光,使用时的耗电量大大降低大屏幕的制造、维护要容易许多,可靠性也增加了两种显示方式的比较再结合51单片机IO口数量有限的原因决定采用动态扫描的方式进行显示。动态扫描分为行扫描和列扫描两种方式区别在于选通端和数据输入端分别是行还是列。在该显示系统中扫描显示的工作原理如图4-2所示,

52、先选通列然后再从行送入对应列的数据,这样从第1列到第16列循环往复,只要切换的速度足够的快利用人眼的延时特性就可以看见一幅稳定的画面。从数据中读取第1列对应的行数据从数据中读取第16列对应的行数据从数据中读取第2列对应的行数据选通第1列选通第2列选通第16列16*16LED16*16LED16*16LED选通LED第1列选通LED第2列选通LED第16列按数据导通相应行按数据导通相应行按数据导通相应行读取所需要显示的数据至显示寄存器图4-2 扫描显示程序原理图4.2.2 点阵数据表达方式该显示系统的显示数据采取纵向取模方向正向的数据存储方式如图4-3, 图4-3 点阵数据原理图 即数据是纵向的

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

54、4LS164的CLOCK端置低,锁存器禁止输出对应行数组元素与0X01相与,相与结果写入单片机端口输出右移次数是否为8?锁存器允许输出Y图4-4 静态显示程序流程图显示采用的是列扫描的显示方式,选通一列后按照列与数据元素的对应关系第i列对应的行数据为数组中的第i和第i+16个元素。将对应元素的由低至高位依次从端口输出具体做法为将元素向右逻辑移位后再与0X01相与,所得结果通过单片机端口输出到串并转换器的A端,锁存在锁存器里完成一列数据移位后再将其输出。如此依次循环选通各列来显示所需画面17。开始读入显示数组显示显示数组元素在数组中的位置左/右移一位移动次数是否是16YN开始读入显示数组显示显示

55、数组元素在数组中的位置前/后移一位移动次数是否是16NY图4-5 左右移/上下移程序流程图动态显示程序流程如图4-5所示,根据显示数据的存储原理通过改变实际LED列与数据逻辑列的方法来实现程序的左右移动。显示数据与列的对应关系为:第i列对应的数据为数组中i和第2×i个数据。所以当ULN2803选通时,而送入后一列的数据则相当于画面左移移位,同理送入前一列数据相当于右移一位。如此循环则产生一幅稳定运动的画面。 显示数组中,第1至16个元素的第8至第1位LED显示屏中的第1至第8行。同理第17至32个元素的第8至第1位LED显示屏中的第9至第16行。所以将元素数据进行逻辑位移便能产生上下移动的效果18。4.3 通信程序的设计系统采用串行中断的方式进行通信。MCS-51单片机的五个中断源两种类型:一类是外部中断源;另一类是部中断源,包括两个定时器/计数器(T0和T1)的溢出中断和串行口的接收和发送中断。MCS-51单片机设置了4个专用寄存器用于中断控制,分别为定时器控制寄存器(TCON),串行口中断控制器(SCON),中断允许控制寄存器(IE),中断优先级控制寄存器(IP)。编程时通过设置其状态来管理中断系统。在编辑中断程序时首先是将中断控制寄存器(IE)初始化。其控制位分布如表。EA为中断允许总控制位,EA=1时CPU开发中断

温馨提示

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

评论

0/150

提交评论