基于单片机控制动态扫描文字显示系统的设计毕业设计.docx
《基于单片机控制动态扫描文字显示系统的设计毕业设计.docx》由会员分享,可在线阅读,更多相关《基于单片机控制动态扫描文字显示系统的设计毕业设计.docx(45页珍藏版)》请在冰点文库上搜索。
基于单片机控制动态扫描文字显示系统的设计毕业设计
毕业设计
基于单片机控制动态扫描文字显示系统的设计
摘要:
随着社会文化的不断发展,LED显示系统扮演着越来越重要的宣传角色,不论是汽车站,火车站,股市交易市场,还是学校都离不开它,然而传统的霓虹灯广告牌不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的霓虹灯广告亟待改进
本文介绍了基于AT89S52单片机控制的8x32LED点阵动态扫描文字显示的设计过程。
首先本文对LED点阵模块显示器原理做了介绍,同时分析了动态扫描文字显示系统的工作原理,然后对AT89S52单片机做了简要介绍。
经过分析,设计出能实现动态扫描文字显示系统的硬件原理图和软件流程图。
最后利用Proteus仿真软件对该系统进行仿真,达到了预期效果。
关键词:
单片机;点阵;LED显示屏;Proteus
ADesignofDynamicScanningTextDisplaySystem
Abstract:
Withthecontinuousdevelopmentofsocialculture,LEDdisplaysystemsplayanincreasinglyimportantroleinadvocacy,whetherbus,trainstations,stockmarket,ortheschoolcannotdowithoutit,butthetraditionalneonsigns,whetherinDisplay,orcanmodifythenatureofthepowercannotmeetthecurrentneedsofthecommunitytobedesiredconventionalneon.
Thispaperintroducesthedesignprocedureofadynamicscanningtextdisplaysystemof8x32LEDdotmatrixbasedonAT89S52MCUcontrol.FirstlythispaperintroducestheLEDdotmatrixmodules,andanalysistheworkingprincipleofthedynamicscanningtextdisplaysystem.AndthenthispaperbrieflyintroducesAT89S52MCU.Afteranalysis,thispapergiveoutthedynamicscanningtextdisplaysystem’shardwareandsoftware.Finally,usingtheProteussimulationsoftwaretosimulateforthesystem,andachievedthedesiredeffect.
Keyword:
MCU,dotmatrix,LED,Proteus
1引言
1.1国内外研究状况
现代信息显示技术的发展,形成了CRT、LCD、PDP、LED、EL、DLP等系列的信息显示产品。
纵观各类显示产品的发展,14英寸以下是LCD占主导地位,14英寸-32英寸是以CRT为主导,40英寸-70英寸甚至100英寸将是PDP的市场,100英寸以上,无论是室内还是室外,LED显示屏以绝对的优势成为主流产品[1]。
我国经济发展迅猛,对信息传播有越来越高的要求.可以相信,LED电子显示屏以其色彩鲜亮夺目、大的显示信息量、寿命长、耗电量小、重量轻、空间尺寸小、稳定性高、易于操作、安装和维护等特点,将在社会经济发展中扮演越来越重要的角色[2]。
LED显示屏可以显示变化的数字、文字、图形图像;其不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点[3]。
从应用角度上看,LED的主要市场在于照明、显示和背光源。
与照明与背光源相比,LED显示方面的应用市场已经基本成熟,国内外研究状况与水平大致相似,目前由于LED显示屏造价昂贵,主要应用于比较高档的场所,主要集中在城市的繁华场所,作为多媒体广告的一部分。
但双色LED显示屏主要应用于交通、高速公路,银行、证券交易等金融场所[4]。
对于安装在户外的LED广告牌,首页需要注意的就是结构的设计。
安装结构应该考虑到:
抗风、抗震、承载等主要因素;其次是屏体的形状、结构、外装饰设计应该和所依附的建筑或环境相协调;再者,就是考虑当地的环境因素,比如空气湿度、空气盐碱含量等[5]。
LED显示屏采用了低电压扫描驱动,具有视角大、可视距离远、防水、规格品种多等优点,可以满足不同应用场景的需求,其应用涉及社会经济的许多领域,主要有以下几个方面:
1、道路交通信息显示。
LED显示是道路交通诱导系统主要发布载体,显示手段传统上以LED和CRT为主,近年来发展迅速,系统与客运自动化系统联网,表现出优良的智能化水平;道路交通诱导系统正在迅速兴起,处于发展和完善过程中,由于道路交通的环境特点,LED显示成为主要的信息显示手段[6]。
2、广告媒体新产品。
除单一大型户内、户外显示屏作为广告媒体外,国内城市出现了集群LED显示屏广告系统;商业大厦LED显示屏广告发布系统也已在全国中大城市主要地方得到采用并正在推广[7]。
3、证券交易、金融信息显示。
这一领域的LED显示屏占到前几年国内LED显示屏需求量的50%以上,目前仍为LED显示屏的主要需求行业,全国上万家证券、金融营业机构广泛使用了LED显示屏。
4、邮政、电信、商场购物中心等服务领域的业务宣传及信息显示。
遍布全国的服务领域均有国产LED显示屏在信息显示方面发挥作用。
5、机场航班、汽车站动态信息显示与港口车站旅客引导信息显示[8]。
6、展览和租赁。
在许多展览会,LED显示大屏幕作为展览组织者提供的重要服务内容之一向参展商提供有偿服务,国外还有一些较大的LED大屏幕的专业性租赁公司,也有规模较大的制造商提供租赁服务[9]。
7、学校和医院。
在高等院校应用LED显示屏作为现代化教育工具,用做学校信息宣传工具;在医院主要用来宣传药品价格和健康知识。
LED广告牌广泛涉及了计算机及电子技术中的电源技术、单片机技术、数据通讯技术、显示技术、存储技术、系统软件技术、接口及驱动等技术。
易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
它的控制系统均是基于嵌入式微处理器开发,所以单片机在其中也占有一席之地[10]。
1.2本课题的主要内容、要求及说明书安排
1.2.1主要内容、要求
研究基于单片机控制动态扫描文字显示系统的工作原理,选用合适的单片机控制LED点阵模块显示器,运用动态扫描的原理和特点,设计相应的硬件电路,并配合相应的软件编程,使用Proteus仿真软件和伟福仿真软件,实现动态扫描文字显示。
工作内容:
(1)掌握LED文字显示系统的工作原理;
(2)掌握一种单片机应用,如AT89S52;
(3)掌握Keil程序设计软件;
(4)掌握Proteus仿真软件。
工作要求:
(1)设计相应的硬件电路;
(2)编写相应的软件程序;
(3)使用Proteus仿真软件,实现动态扫描文字显示;
1.2.2说明书安排
本文详细介绍了一种8x32的点阵LED文字显示屏系统的设计。
共分为五章,内容安排如下:
第一章:
介绍了研究背景及利用到的主要技术。
第二章:
概括介绍了系统结构和工作原理,同时具体介绍了系统的硬件设计,详细介绍了整个系统的各个模块的电路设计、器件选型及理由。
第三章:
具体介绍了单片机程序的设计。
第四章:
具体介绍了如何利用Proteus进行系统仿真。
第五章:
总结了本次毕业设计取得的成果和心得
2系统结构及硬件电路设计
2.1系统的结构框图及工作原理
图2.1系统结构框图
本系统采用单片机AT89S52为LED显示屏的控制核心,系统主要由四个模块:
电源模块、AT89S52最小系统、LED驱动模块、LED点阵显示模块构成:
1、电源模块作为整个系统的各个模块提供稳定的电源。
2、AT89S52最小系统作为控制系统,控制着整个系统的功能实现。
3、LED驱动模块为LED点阵显示模块提供驱动和以及与单片机的控制接口。
4、LED点阵显示模块用来显示文字效果。
2.2电源管理模块
本系统中芯片的工作电压有5V。
可以利用外部9V电池然后利用7805进行电压调整获得5V稳定电压值。
7805为3端正稳压电路,提供固定的输出电压,应用范围广。
内含过流、过热和过载保护电路。
带散热片时,输出电流可达1A。
虽然是固定稳压电路,但使用外接元件,可获得不同的电压和电流。
其主要特点如下:
●输出电流可达1A
●输出电压有:
5V
●过热保护
●短路保护
●输出晶体管SOA保护
●其TO-220封装结构如图2.2所示图2.27805封装结构图
图2.35V电源模块图
在图2.3中,D1为电源指示灯,用以指示电源正常工作。
图中C1电源滤波电容,稳定电源电压,亦为抗冲击电容,防止上电时产生的冲击电压过大而影响后续电路。
C2为去耦电容,防止干扰信号返回电源影响其正常。
2.3单片机模块
2.3.1单片机技术简介
单片机简称单片微型计算机,是典型的嵌入式微控制器(MicrocontrollerUnit),常用英文字母的缩写MCU表示单片机,它最早是被用在工业控制领域。
单片机是一种集成电路芯片,是采用超大规模集成电路技术把具有数据处理能力的中央处理器CPU、随机存储器RAM、只读存储器ROM、多种I/O口和中断系统、定时器/计时器等功能(可能还包括显示驱动电路、脉宽调制电路、模拟多路转换器、A/D转换器等电路)集成到一块硅片上构成的一个小而完善的计算机系统,使得计算机系统更小,更容易集成进复杂的而对体积要求严格的控制设备当中。
INTEL的Z80是最早按照这种思想设计出的处理器,从此以后,单片机和专用处理器的发展便分道扬镳[11]。
单片机是靠程序运行的,并且可以修改。
通过不同的程序实现不同的功能,尤其是特殊的独特的一些功能,这是别的器件需要费很大力气才能做到的,有些则是花大力气也很难做到的。
一个不是很复杂的功能要是用美国50年代开发的74系列,或者60年代的CD4000系列这些纯硬件来搞定的话,电路一定是一块大PCB板,但是如果要是用美国70年代成功投放市场的系列单片机,结果就会有天壤之别,因为单片机的只要通过编写程序就可以可以实现高智能,高效率,以及高可靠性[12]。
单片机的应用:
目前单片机渗透到我们生活的各个领域,几乎很难找到哪个领域没有单片机的踪迹。
导弹的导航装置,飞机上各种仪表的控制,计算机的网络通讯与数据传输,工业自动化过程的实时控制和数据处理,广泛使用的各种智能IC卡,民用豪华轿车的安全保障系统,录像机、摄像机、全自动洗衣机的控制,以及程控玩具、电子宠物等等,这些都离不开单片机。
更不用说自动控制领域的机器人、智能仪表、医疗器械以及各种智能机械了。
因此,单片机的学习、开发与应用将造就一批计算机应用与智能化控制的科学家、工程师[13]。
单片机广泛应用于仪器仪表、家用电器、医用设备、航空航天、专用设备的智能化管理及过程控制等领域。
2.3.2AT89S52单片机最小系统
本设计的的单片机采用Atmel公司的AT89S52。
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案[14]。
AT89S52具有以下标准功能:
8k字节Flash,256字节RAM,32位I/O口线,看门狗定时器,2个数据指针,三个16位定时器/计数器,一个6向量2级中断结构,全双工串行口,片内晶振及时钟电路。
另外,AT89S52可降至0Hz静态逻辑操作,支持2种软件可选择节电模式。
空闲模式下,CPU停止工作,允许RAM、定时器/计数器、串口、中断继续工作。
掉电保护方式下,RAM内容被保存,振荡器被冻结,单片机一切工作停止,直到下一个中断或硬件复位为止[15]。
AT89S52最小系统包括晶体振荡电路、复位开关和电源部分。
电源部分有电源模块提供稳定的电压。
图2.4为AT89S52的最小系统原理图。
图2.4AT89S52单片机最小系统
如图2.4所示C4、C5、X1组成晶体振荡电路连接到单片机的XTAL1、XTAL2引脚上。
C3、R11和按键开关组成复位电路连接到单片机的RST引脚上。
2.4LED点阵显示模块
经测试Proteus的MultiplexedLEDDisplayModel为如图2.5所示的结构。
图2.5是一种8x8的LED点阵单色行共阴模块的内部结构图。
一般情况下LED点阵其单点工作电压Uf为1.8V,正向电流露为8~10mA。
当某一列线为高电平而某一行线为低时,其行列交叉的点就被点亮;而当其某一列线为低时,其行列交叉的点为暗;当某一行线为高电平时,无论列线如何,对应这一行的点全部为暗。
图2.5列共阴8x8点阵显示模块内部结构图
用四个8x8点阵显示可构成8x32点阵显示模块,其连接方法如图2.6所示。
四个模块的行选线连接在一起形成8行,每行32列的显示模块
图2.68x32点阵显示模块
2.4.1LED点阵显示屏研究背景
LED点阵显示屏是利用发光二极管点阵模块或像素单元组成的平面式显示屏幕,是一种简单的汉字显示器。
它具有发光效率高、价廉、易于控制、使用寿命长、组态灵活、色彩丰富以及对室内外环境适应能力强等优点,可广泛应用于如车站、码头、银行、学校、火车、公共汽车显示等各种公共场合的信息发布和广告宣传。
LED显示屏经历了从单色,双色图文显示屏到现在的全彩色视频显示屏的发展过程,自20世纪八十年代开始,LED显示屏的应用领域已经遍布交通、电信、教育、证券、广告宣传等各方面[16]。
2.4.2LED点阵显示屏概述
LED显示屏(LEDDisplay):
又叫电子显示屏或者飘字屏幕。
是由LED点阵组成,通过红色或绿色灯珠的亮灭来显示文字、图片、动画、视频,内容可以随时更换,各部分组件都是模块化结构的显示器件。
通常由显示模块、控制系统及电源系统组成。
显示模块由LED灯组成的点阵构成,负责发光显示;控制系统通过控制相应区域的亮灭,可以让屏幕显示文字、图片、视频等内容,恒舞动卡主要是播放动画的;电源系统负责将输入电压电流转为显示屏需要的电压电流[17]。
LED显示屏可以显示变化的数字、文字、图形图像;不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。
LED之所以受到广泛重视而得到迅速发展,是与它本身所具有的优点分不开的。
这些优点概括起来是:
亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。
LED的发展前景极为广阔,目前正朝着更高亮度、更高耐气候性、更高的发光密度、更高的发光均匀性,可靠性、全色化方向发展[18]。
LED显示屏性能超群:
1、发光亮度强在可视距离内阳光直射屏幕表面时,显示内容清晰可见.
2、超级灰度控制具有1024-4096级灰度控制,显示颜色16.7M以上,色彩清晰逼真,立体感强.
3、静态扫描技术采用静态锁存扫描方式,大功率驱动,充分保证发光亮度.
4、自动亮度调节具有自动亮度调节功能,可在不同亮度环境下获得最佳播放效果.
5、全天候工作完全适应户外各种恶劣性环境,防腐,防水,防潮,防雷,抗震整体性能强、性价比高、显示性能好,像素筒可采用P10mm、P16mm等多种规格.
6、先进的数字化视频处理,技术分布式扫描,模块化设计/恒流静态驱动,亮度自动调节,超高亮纯色象素。
7、影像画面清晰、无抖动和重影,杜绝失真。
8、视频、动画、图表、文字、图片等各种信息显示、联网显示、远程控制.LED的色彩与工艺
2.5LED点阵驱动模块
2.5.1LED显示屏控制技术
显示屏的控制系统包括输入接口电路、信号控制、转换和数字化处理电路及输出接口电路等,涉及的具体技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测及远程控制技术等[19]。
1、串行传输与并行传输技术
LED显示屏的数据传输方式主要有串行和并行两种。
日前普遍采用串行控制技术,显示屏每个单元内部的不同驱动电路和各级联单元之间,每个时钟仅传送一位数据。
采用这种方式的驱动IC种类较多,不同显示单元之间的联线较少,可减少显示单元的数据传输驱动元件,从而提高整个系统的可靠性和性价比,具体工程实现也较为容易[20]。
2、动态扫描与静态锁存技术
LED显示屏控制系统实现显示信息的刷新技术有动态扫描和静态锁存两种方式。
一般室内显示屏多采用动态扫描技术,即一行发光二极管共用一行驱动寄存器,根据共用一行驱动寄存器的发光二极管像素数目,分为1/4,1/16扫描等。
室外显示屏基本上采用静态锁存技术,即每一个发光一极管都对应有一个驱动寄存器,无需时分工作,从而保证了每一个发光一极管的亮度占空比为100%。
动态扫描法可以大大减少控制器的I/O口,因此应用较广[21]。
由上所述,本设计中LED显示屏驱动电路的设计应与所用控制系统相配合。
驱动可采用静态锁存型驱动及动态扫描型二大方案。
方案一:
采用静态锁存方式,将每一个LED发光管的一端接至单片机的一个I/O口,另一端通过电阻接电源。
这种方法可以直接驱动LED,原理简单,驱动能力强,LED的亮度也可以通过限流电阻调节,非常方便,但此种方法太浪费单片机的I/O口,只适合于较小的系统。
方案二:
采用动态扫描方式,通过三极管驱动并联在一起的LED发光管的一端(共阴或共2端),LED发光管的另一脚接通用I/O口,控制其亮灭。
该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。
比较以上两种方案,本系统设计中采用方案二——动态扫描型驱动电路。
动态扫描型驱动方式是指显示屏上的8行发光二极管共用一组列驱动寄存器,然后通过行驱动管的分时工作.来使每行LED的点亮时间占总时间的1/16。
只要每行的刷新速率大于50Hz,利用人眼的视觉暂留效应。
人们就可以看到一幅完整的文字或画面。
AT89S52单片机有四个I/O口(P0、P1、P2、P3)。
每个I/O口有8位,如果都采用并行输出,显然不能满足要求。
因此,本设计中的行扫描驱动采用并口输出,而场扫描驱动采用串口输出。
即利用了所谓的串行传输与并行传输技术.
2.5.2行扫描驱动
由于8x32点阵显示器有8行,为充分利用单片机的接口。
本系统使用AT89S52的P1口作为行选择输出。
同一个时刻只有一个端口位有效,这样有8个不同的端口位就会形成8种不同的输出状态,然后使每种状态只控制一路输出,即会有8路输出[22]。
如果一行32点全部点亮。
则通过P1口的电流将达320mA,而实际上,P1端口提供不了足够的吸收电流来同时驱动32个LED同时点亮,因此,P1端口的每一路输出端与8x32点阵显示器对应的每一行之间用一个三极管来将电流信号放大。
本系统选用的是最大耐压为100V,最大连续电流为5A的达林顿三极管TIP122。
由上述介绍,行扫描驱动电路原理图如图2.7所示。
这样,P1端口某一输出引脚为高电平时,对应的三极管导通,从而使LED点阵显示器的对应行也为低电平。
图2.7中R1为限流电阻,R10是为了保证在P1端口输出低电平,三极管截止时能够保证集电极有效地高电平[23]。
图2.7行扫描驱动
2.5.3列扫描驱动
本系统列扫描驱动电路的设计可用串入并出的通用集成电路74HC595来作为数据锁存[24]。
74HC595是一个八位串行输入三态并行输出的移位寄存器,其管脚见图2.8所示,其中SI是串行数据的输入端,RCK是存储寄存器的输入时钟,SCK是移位寄存器的输入时钟,Q7H是串入数据的输出,G是对输入数据的输出使能控制,QA~QH为串入数据的并行输出,其个引脚详细描述如表2.1所示。
图2.874HC595引脚结构图
表2.174HC595引脚功能说明
从SI口输入的数据可在移位寄存器的SCK脚上升沿的作用下输入到74HC595中.并在RCK脚的上升沿作用下将输入的数据锁存在74HC595中,这样,当G为低电平时,数据便可并行输出。
本系统使用P2端口模拟串口来分别输出串行数据、移位时钟SCK、存储信号RCK和并行输出的使能信号G。
表2.274HC595最大限定范围
由表2.2所示的最大限定范围中得知74HC595的输出断电流最大为35mA,足够满足单个LED的驱动显示,同时输出端电压也满足功能要求。
由此可以把74HC595的输出直接连接到点阵LED显示模块的列线上[25]。
在Proteus中74HC595串行数据引脚为DS、移位时钟SH_CP,存储信号ST_CP,并行输出的使能信号/OE,复位信号/MR。
如图2.9所示为列显示驱动的原理图,数据从P2.1输出,经过U1的DS引脚进入然后经过8个SH_CP脉冲从U1的Q7’输出到U4的DS,数据以同样的方式进入到后面的3个74HC595中。
最后驱动一个ST_CP脉冲把输入的数据锁存在74HC595中,从Q0~Q7输出到点阵LED显示模块的列线上。
图2.9列扫描驱动原理图
2.5.4扫描显示工作过程
将4片74HC595进行级连,共用一个移位时钟SH_CP及数据锁存信号ST_CP。
这样,当第一行需要显示的数据经过4x8=32个SH_CP时钟后便可将其全部移入74HC595中。
此时还将产生一个数据锁存信号RCK将数据锁存在74HC595中。
并在使能信号/OE的作用下.使串入数据并行输出。
从而使与各输出位对应的列选线驱动处于高电平或截止状态;同时由行扫描控制电路产生信号使第一行扫描管导通,相当于第一行LED的负端都接地,显然,第一行LED管的亮灭就取决于74HC595中的锁存信号;此外,在第一行LED管点亮的同时,再在74HC595中移入第二行需要显示的数据,随后将其锁存,同时由行扫描控制电路将第一行扫描管关闭而接通第二行,使第二行LED管点亮,以此类推,当第八行扫描过后再回到第一行,这样,只要扫描速度足够高,就可形成一幅完整的文字或图像[26]。
3软件设计
3.1Keil技术简介
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻[27]。
单片机开发中除必要的硬件外,同样离不开软件,我们写的汇编语言源程序要变为CPU可以执行的机器码有两种方法,一种是手工汇编,另一种是机器汇编,目前已极少使用手工汇编的方法了。
机器汇编是通过汇编软件将源程序变为机器码,用于MCS-51单片机的汇编软件有早期的A51,随着单片机开发技术的不断发展,从普遍使用汇编语言到逐渐使用高级语言开发,单片机的开发软件也在不断发展,