基于51单片机的LED点阵显示屏系统的设计与实现.docx
《基于51单片机的LED点阵显示屏系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《基于51单片机的LED点阵显示屏系统的设计与实现.docx(56页珍藏版)》请在冰豆网上搜索。
基于51单片机的LED点阵显示屏系统的设计与实现
****大学
毕业设计(论文)
题目名称:
基于51单片机的LED点阵显示屏系统
的设计与实现
年级:
***■本科
学生学号:
***
学生姓名:
******指导教师:
***
学生单位:
信息工程学院技术职称:
助教
学生专业:
通信工程教师单位:
信息工程学院
****大学教务处制
基于51单片机的LED点阵显示屏系统的设计与实现
摘要:
本文介绍了一款以单片机AT89S51为控制器的LED点阵显示屏系统的设计。
该系统可实现中英文字符的显示和动态特效显示。
并且可以通过级连的方式来扩大显示屏幕的尺寸以达到增加显示内容的目的。
系统采用PC机作为上位机,上位机向单片机发送控制命令和上位机所存储的显示代码,AT89S51单片机接收并处理PC机的控制命令以及显示代码,由显示驱动模块驱动一个16×16分辨率的LED点阵显示屏的扫描显示。
PC机与单片机之间的通信采用RS—232C通信标准来实现。
所选用的AT89S51单片机具有价格低廉程序写入方便的特点使得整个系统方便维护和检修。
除此之外,该系统只占用了单片机少量的I/O口和内存,为系统留下了功能扩展的空间。
关键字:
AT89S51;LED点阵显示;串行通信
DesigenandRealizationoftheLatticeScreenofLEDBasedonMCS-51
Abstract:
ThispaperintroducesadesignoftheLEDlatticedisplaysystembaseonMCUAT89S51.ThesystemcandisplayinbothChineseandEnglishcharactersoftheshowandfromtoptobottomandmovearoundthemagicshow.Andcanbecascadedtoexpandthescreensizetoachieveincreasedcontentpurposes.ThePCsendscontrolcommandsanddisplayscodetomicrocontroller,AT89S51receivescontrolcommandsfromPCandshowsthecode,Drivermoduledrivesa16×16-resolutionLEDlatticeLED’spaneldisplayscanshowed.CommunicationbetweenPCandthemicrocontrollerusingRS-232Ccommunicationsstandards.thecharacteristicsthatAT89S51microcontrollerischeapandcouldbecodedconvenientlymakesthewholesystemConvenienttoMaintenanceandRepair.Inaddition,thesystemwilltakeuponlyasmallamountoftheMCUI/Oandmemory,sothatthesystemhasfunctionalspaceforexpansion.
Keywords:
AT89S51,latticeLED’spaneldisplay,serialcommunication
第1章绪论
1.1课题背景
1.1.1选题背景
LED显示屏是八十年代后期在全球迅速发展起来的新型信息显示媒体,显示屏由几万……几十万个半导体发光二极管像素点均匀排列组成。
利用不同的材料可以制造不同色彩的LED像素点。
目前应用最广的是红色、绿色、黄色。
而蓝色和纯绿色LED的开发已经达到了实用阶段。
LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点[1]。
在短短的十来年中,LED点阵显示屏就以亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定的优点迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。
LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性、可靠性、全色化方向发展。
LED显示屏的应用涉及社会经济的许多领域,主要包括:
(1)证券交易、金融信息显示。
(2)机场航班动态信息显示。
(3)港口、车站旅客引导信息显示。
(4)体育场馆信息显示。
(5)道路交通信息显示。
(6)调度指挥中心信息显示。
(7)邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。
(8)广告媒体新产品等。
1.1.2研究现状及发展趋势
(1)我国LED产业发展现状
我国的LED显示屏产业经过几年的发展,基本形成了一批具有一定规模的骨干企业。
据不完全统计,至1998年底,年度销售总额在1000万元以上的企业有20多家,其销售总额达6亿元左右,占行业市场总额的85%以上。
全国从事LED显示屏的各类企业有100余家,从业人员近6000人,行业年度销售总额近8亿元人民币,1996年、1997年的增长速度均保持40%左右,1998年略有回落。
在国内市场上,国产LED显示屏的市场占有率近100%,国外同类产品基本没有市场,四十三届世乒赛主会场天津体育中心、京九铁路、北京西客站、首都机场、浦东机场等,均由国内代表企业中标。
技术水平相对领先,我国LED显示屏产业在规模发展的同时,产品技术推陈出新,一直保持比较先进的水平。
90年代初即具备了成熟的16级灰度256色视频控制技术及无线遥控等国际先进水平技术,近年在全彩色LED显示屏、256级灰度视频控制技术、集群无经线控制、多级群控技术等方面均有国内先进、达到国际水平的技术和产品出现;LED显示屏控制专用大规模集成电路也已由国内企业开发生产并得到应用。
LED显示屏产业培养形成了一批LED显示屏科技队伍,在全国LED显示屏行业的从业人数6000人中,科技人员有2800多人,将近50%。
LED显示屏产业正成为我国电子信息产业的重要组成部分,也是平板显示领域唯一立足国内形成的民族高科技产业。
(2)LED显示屏的发展趋势
现代信息社会中,作为人一机信息视觉传播媒体的显示产品和技术得到迅速发展,进入二十一世纪的显示技术将是平板显示的时代,LED显示屏作为平板显示的主导产品之一无疑会有更大的发展,并有可能成为二十一世纪平板显示的代表性主流产品。
高亮度、全彩化蓝色及纯绿色LED产品自出现以来,成本逐年快速降低,已具备成熟的商业化条件。
基础材料的产业化。
使LED全彩色显示产品成本下降,应用加快。
LED产品性能的提高,使全彩色显示屏的亮度、色彩、白平衡均达到比较理想的效果,完全可以满足户外全天候的环境条件要求,同时,由于全彩色显示屏价格性能比的优势,预计在未来几年的发展中,全彩色LED显示屏在户外广告媒体中会越来越多地代替传统的灯箱、霓红灯、磁翻板等产品,体育场馆的显示方面全彩色LED屏更会成为主流产品。
全彩色LED显示屏的广泛应用会是LED显示屏产业发展的一个新的增长点。
未来LED显示屏会向着标准化、规范化,产品结构多样化的方向发展[2]。
(3)选题意义
该设计课题使我们能够掌握LED显示屏的基本显示原理和设计方法,对LED显示屏这个行业有了较为深刻的了解和认识。
并且对大学期间所学习的一些理论进行了实践,使我们对所学过的理论知识有了新的认识。
并且通过该设计课题掌握了51单片机的的软硬件开发工具的使用方法,为以后从事相关行业的工作积累了实际工作经验。
目前我国的信息行业发展迅速,作为主要平面显示媒介的LED显示屏的作用也越练越广泛,相关的从业人员也会越来越紧缺。
但同时应该清楚的认识到我国的LED技术虽然发展迅速但和世界先进水平还有一定的差距。
因此此课题不论是对自己的就业还是对我国LED显示技术的发展都有非常现实与积极的意义。
1.2论文主要内容
针对设计题目的特点,作者对论文的内容和结构将做如下安排:
(1)初步方案的论证和选择
搜集题目的有关资料,并参照目前通用的设计思想和设计方法拟定几套设计方案进行分析比较。
最终选定了以PC机为上位机,单片机为核心控制器件,外加译码电路和驱动电路的设计方案。
(2)方案实现
以设计方案为指导思想选择合适的器件来实现这一思想,选择器件时要从功能和电气特性两方面来选择和论证。
经过对比选择选定AT89S51单片机为核心控制器件,由串并转换器74LS164和锁存器74LS373为译码电路器件,三极管8550和ULN2803为驱动电路器件。
论文列出了详细的器件参数和在系统中的连接使用方法。
(3)软件编写
根据硬件特点和设计要求,软件选用C语言编写。
程序按功能分为静态显示、动态显示、通信等几个功能上相对独立的模块。
然后按照所划分的模块逐个编写和调试,最后将独立的模块整合起来。
(4)验证与测试
调试分为硬件调试、软件调试和系统联合调试几步来进行。
在硬件调试中发现有单片机端口驱动能力不足、驱动电路工作不稳定等问题。
在软件调试中出现程序整合工作不协调等问题。
通过分析,查找找出了问题原因并设法将其解决。
(5)结论
设计完成后对设计中所遇到的问题、经验教训、以及自己的想法进行总结。
第2章方案论证与选择
2.1系统硬件方案
大多数的LED显示屏都在户外,所以对硬件的质量要求非常的高。
为方便检修和维护硬件电路设计时常常采用模块化的设计方法。
硬件的设计采用模块化设计,既要满足模块本身功能又要能够和整个系统兼容。
如图2-1所示,根据显示系统的功能特点确定系统硬件由显示屏部分,控制部分,通信系统及上位机四部分组成。
上位机通过通信部分向控制部分发送控制指令和显示内容代码,控制部分执行显示指令并将显示代码处理后控制显示部分的显示内容和显示方式[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,“看门狗”,PWM,显示驱动,函数发生器,键盘控制等。
它们的价格也高低不等,这样极大地满足了开发者的选择自由。
除此之外单片机还具有低电压和低功耗的特点。
随着超大规模集成电路的发展,NMOS工艺单片机被CMOS代替,并开始向HMOS过渡。
供电电压由5V降到3V,2V甚至到1V,工作电流由mA降至μA,这在便携式产品中大有用武之地[4]。
(2)DSP芯片
DSP又叫数字信号处理器。
顾名思义,DSP主要用于数字信号处理领域,非常适合高密度,重复运算及大数据容量的信号处理。
现在已经广泛应用于通信、便携式计算机和便携式仪表、雷达、图像、航空、家用电器、医疗设备等领域,DSP具有修正的哈佛结构,多总线技术以及流水线结构。
将程序与数据存储器分开,使用多总线,取指令和取数据同时进行,以及流水线技术,这使得速度有了较大的提高。
DSP区别于一般微处理器的另一重要标志是硬件乘法器以及特殊指令,一般微处理器用软件实现乘法,逐条执行指令,速度慢。
而DSP依靠硬件乘法器单周期完成乘法运算,而且还具有专门的信号处理指令,如TM320系列的FIRS,LMS,MACD指令等[5]。
(3)EDA
EDA(即ElectronicDesignAutomation)即电子设计自动化,它是以计算机为工具,在EDA软件平台上,对用硬件描述语言HDL完成的设计文件自动地逻辑编译、逻辑化简、逻辑分割、逻辑综合及优化、逻辑布局布线、逻辑仿真,直至对于特定目标芯片进行适配编译、逻辑影射和编程下载等。
设计者只需用HDL语言完成系统功能的描述,借助EDA工具就可得到设计结果,将编译后的代码下载到目标芯片就可在硬件上实现。
由于FPGA/CPLD可以通过软件编程对该硬件的结构和工作方式进行重构,修改软件程序就相当于改变了硬件,软件编写可以采用自顶向下的设计方案,而且可以多个人分工并行工作这样便缩短了开发周期和上市时间,有利于在激烈的市场竞争中抢占先机。
而且MCU和DSP都是通过串行执行指令来实现特定功能,不可避免低速,而FPGA/CPLD则可实现硬件上的并行工作,在实时测控和高速应用领域前景广阔;另一方面,FPGA/CPLP器件在功能开发上是软件实现的,但物理机制却和纯硬件电路一样,十分可靠。
三种设计方式相比较各有优点且都能够实现控制功能,但单片机的技术门槛较低开发成本也较低非常适合初学者进行学习和锻炼使用。
现在市场上常用的单片机主要有MCS-51、AVR、ARM、PIC等。
其中应用最广泛的单片机首推Intel的51系列,由于产品硬件结构合理,指令系统规范,加之生产历史“悠久”,有先入为主的优势常作为单片机学习的教材。
且51系列的I/O脚的设置和使用非常简单,当该脚作输入脚使用时,只须将该脚设置为高电平(复位时,各I/O口均置高电平)。
当该脚作输出脚使用时,则为高电平或低电平均可。
所以在控制部分方案的选择中选定51系列单片机作为控制部分的核心器件。
2.1.2通信系统
通信部分要满足的设计要求就是稳定、快速、简单易实现。
因为通常情况下显示屏和上位机的距离不会很远,所以通信距离的要求不是很高。
计算机数据通信主要采用并行通信和串行通信两种方式。
(1)并行通信
并行通信时数据的各个位同时传送,可以字或字节为单位并行进行。
并行通信速度快,但用的通信线多、成本高,故不宜进行远距离通信。
(2)串行通信
串行通信数据是一位一位顺序传送,只用很少几根通信线,串行传送的速度低,但传送的距离长,因此串行适用于长距离而速度要求不高的场合。
在串行发送时,数据是一位一位按顺序进行的,而计算机内部的数据是并行的。
因此,当计算机向外发送数据时,必须将并行数据转换为串行数据再发送。
反之,又必须将串行数据转换为并行数据输入计算机中。
这种转换即可以用硬件实现也可以用软件实现。
单由软件实现会增加CPU负担,降低其利用率,故目前常采用硬件实现。
通用的通用异步接收/发送器,简称UART(UniversalAsynchromousReceeiver/Trabsnitter)是完成这一功能的硬件电路。
在单片机芯片中,UART已经集成在其中,作为其组成部分,构成一个串行口[6]。
综上所述,题目设计已经选定了单片机为开发方式而单片机的UART已经集成在单片机内,所以通信系统选择串行通信为通信方式。
2.1.3LED点阵显示屏
显示部分包括了一块至少可以显示一个汉字的显示屏,以及驱动该显示屏的驱动电路。
由于单片机的I/O口有限要不能直接用I/O口来驱动LED显示屏,所以需要对单片机IO口进行扩展增加单片机并行输出的能力。
LED显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的LED显示屏就需要多个发光二极管。
构成LED屏幕的方法有两种,一是由单个的发光二极管逐点连接起来,如图2-2所示;二是选用一些由单个发光二极管构成的LED点阵子模块构成大的LED点阵模块。
目前市场上普遍采用的点阵模块有8×8、16×16几种;这两种屏幕构成方法各有有缺点,单个发光二极管构成显示屏优点在于当单个的发光二极管出现问题时只需更换一个二极管即可,检修的成本较低,缺点在于连接线路复杂;而点阵模块构成的方法却正好与之相反,模块构成省约了大量的连线,不过当一个LED出现问题时同在一个模块的所有LED都必须被更换。
这就加大了维修的成本。
两种方法相比较,决定采取模块构成的方法来制作一个LED点阵显示屏。
为了避免模块的缺点,选择点阵数较小的模块来减小出现这一问题的风险。
所以构建一个16×16的LED点阵屏选用四块8×8点阵模块。
图2-2LED点阵图
一个16×16的LED显示屏行和列各有16支引脚,不能单靠51单片机的端口驱动所以必须要对单片机的端口个数进行扩展。
经常采用的端口扩展方法是用串并转换芯片进行译码。
常用的串并转换芯片有74LS154(4线-16线译码器)、74LS164(8位串并转换器)、74HC595等。
51系列单片机端口低电平时,吸入电流可达20mA,具有一定的驱动能力;而为高电平时,输出电流仅数十μA甚至更小(电流实际上是由脚的上拉电流形成的),基本上没有驱动能力,所以单片机不能直接驱动LED显示屏显示。
在单片机和显示屏之间还需要增加以功能放大位目的的驱动电路[7]。
2.1.4硬件设计方案
最终方案如图2-3所示,以PC机作为上位机存储和处理显示内容用串行通信的方式将显示内容和控制指令传输到单片机系统,单片机根据上位机传输来的内容和指令通过端口译码扩展后驱动4块8×8LED点阵模块构成的16×16的LED点阵显示屏。
题目将以此方案为指导思想展开具体的硬件电路设计。
图2-3硬件设计方案
2.2系统软件方案
软件的设计除了满足设计功能外还必须要满足易读写,方便下载和编译。
设计目标和硬件总体结构确定的情况下,软件可以分为主程序,显示子程序,各种特效显示子程序,通信程序三个主要部分组成。
具体结构如图2-4所示。
图2-4软件功能结构框图
软件的编写需要借助软件编辑器和编译软件,编译完成后还需要下载到单片机中执行。
编写软件之前得首先选择一种合适的语言以及配套的编辑器和编译软件。
最后还要选择一款与所选单片机的下载器或下载软件来把编写的程序下载到单片机中执行。
2.2.1单片机编程语言
现在主要运用的单片机编程语言为汇编语言和C语言。
两种语言相比较各有优点。
汇编语言(AssemblyLanguage)是面向机器的程序设计语言,是一种功能很强的程序设计语言,也是利用计算机所有硬件特性并能直接控制硬件的语言。
其具有执行速度快,占内存空间少等优点,但在编写复杂程序时具有明显的局限性,汇编语言依赖于具体的机型,不能通用,也不能在不同机型之间移植[8]。
C语言是一种源于编写UNIX操作系统的语言,它是一种结构化语言,可产生压缩代码。
C语言结构是以括号{}而不是子和特殊符号的语言。
C可以进行许多机器级函数控制而不用汇编语言。
与汇编相比,有如下优点:
对单片机的指令系统不要求了解,仅要求对51的存储器结构有初步了解;寄存器分配、不同存储器的寻址及数据类型等细节可由编译器管理;程序有规范的结构,可分为不同的函数。
这种方式可使程序结构化;将可变的选择与特殊操作组合在一起的能力,改善了程序的可读性;编程及程序调试时间显著缩短,从而提高效率;提供的库包含许多标准子程序,具有较强的数据处理能力;已编好程序可容易的植入新程序,因为它具有方便的模块化编程技术。
C语言作为一种非常方便的语言而得到广泛的支持,C语言程序本身并不依赖于机器硬件系统,基本上不做修改就可根据单片机的不同较快地移植过来。
基于以上理由决定采用C语言为该显示系统的编程语言。
2.2.2系统软件编译器介绍
C语言编写的程序并不能被单片机直接执行还需要编译为单片机可执行的机器语言。
因此在系统软件设计中,编译器必不可少。
支持MCS-51用C语言编程的编译器主要有两种:
FranklinC51编译器和KEILC51编译器。
目前在单片机开发中普遍都是使用KEILC51来进行编译。
因此软件设计最终方案为采用C语言为程序语言,KELC为编译工具按照控制、通信、显示等几个功能模块来编写程序。
2.2.3上位机控制传输软件
其中系统采用现在已经非常普遍的PC机作为上位机,这样对该显示系统的硬件要求便降低了,增加了系统的通用性。
上位机的作用是存储并处理显示内容,然后通过通信系统传送到控制系统驱动显示。
LED显示上位机的内容一般有实时显示和存储显示两种方法。
实时显示及上位机屏幕上的内容同时显示在LED显示屏上,上位机上内容变化LED显示屏也跟着变化。
存储显示是将显示内容处理过后存储在上位机中通过通信系统传输到显示屏显示[9]。
两种显示方法相比较:
实时显示屏幕能及时反应上位机内容的变化,显示的效果和内容的实时性好多用于新闻播报、实况转播用,但实时显示硬件开销大,对通信系统要求高,工艺复杂,成本高;存储显示虽实时性不高但硬件开销小,成本低廉。
课题设计题目对显示的实时性要求较低且所设计的显示屏尺寸不大同时显示的内容不多,所以实时显示就没有必要。
所以上位机选择存储显示的方法,控制LED显示屏的显示内容[10]。
第3章系统硬件设计
3.1硬件整体设计概述及功能分析
显示系统具体设计主要由上位机,通信系统,单片机系统,译码电路,显示驱动电路和16×16的点阵屏六部分组成。
具体工作流程为:
上位PC机通过通信系统向单片机发送控制指令和显示代码内容,单片机接收后执行控制指令处理显示代码将显示内容通过I/O口串行输出并且控制译码电路完成串并转换并行输出,最后由显示驱动电路进行电压和电流的处理以达到LED显示屏的显示电流,电压要求进而使显示屏显示内容[11]。
根据硬件的功能结构图选取合适器件,器件不但要求能实现所要求的功能还要能兼容至整个系统之中。
通过查阅资料和对比最终的硬件原理图如图3-1所示。
图3-1硬件原理图
该系统所要实现的功能和要求有以下几点:
(1)LED显示屏的面积必须满足至少显示一个汉字的标准。
并且显示要清晰。
(2)驱动电路要能提供LED显示所需范围内的电压和电流要求。
(3)译码电路的高低电平的区分能力以及译码的输入输出频率必须满足单片机以及驱动电路的要求。
(4)单片机要能接收上位机的指令和显示内容且能够处理后控制LED显示屏的显示,并且端口驱动能力要足以驱动译码电路。
执行频率要能达到扫描显示的最低要求。
(5)单片机由ISP下载线下载程序和供电,可不设立专用供电电源。
(6)由串口完成单片机与上位机的通信,通信速度和数据传输的可靠性要达到显示要求。
3.2控制单元设计
控制单元是整个显示系统的核心,该系统中采用51系列单片机为核心器件,用来和上位机通信处理上位机发送的控制指令和显示内容。
并且直接输出数据通过译码电路控制LED显示屏的显示内容和显示状态。
在51系列单片机中选定一款合适的机型来作为控制单元的主控芯片。
根据题目的要求该芯片必须要具有的就是方便的编程能力,因为在软件设计时方便的程序下载对程序的验证和编写非常有用。
还有就是为了提高LED显示屏的扫描速度,单片机的执行速度要尽可能的快。
根据这两点要求,选择美国ATMEL公司生产的AT89S51为控制单元的主控芯片。
3.2.1AT89S51简介
AT89S51是美国ATMEL公司生产的低功耗,高性能CMOS8位单片机,片内含4kbytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。
它集Flash程序存储器既可在线编程(ISP)也可用传统方法进行编程及通用8位微处理器于单片芯片中,ATMEL公司的功能强大,低价位AT89S51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。
AT989S51具有以下特点:
·与MCS-51产品指令系统完全兼容
·4k字节在系统编程(ISP)Flash闪