基于at89c51的1632点阵led显示屏的设计本科学位论文Word下载.docx
《基于at89c51的1632点阵led显示屏的设计本科学位论文Word下载.docx》由会员分享,可在线阅读,更多相关《基于at89c51的1632点阵led显示屏的设计本科学位论文Word下载.docx(38页珍藏版)》请在冰豆网上搜索。
论文作者签名:
日期:
年 月 日
徐州工程学院学位论文版权协议书
本人完全了解徐州工程学院关于收集、保存、使用学位论文的规定,即:
本校学生在学习期间所完成的学位论文的知识产权归徐州工程学院所拥有。
徐州工程学院有权保留并向国家有关部门或机构送交学位论文的纸本复印件和电子文档拷贝,允许论文被查阅和借阅。
徐州工程学院可以公布学位论文的全部或部分内容,可以将本学位论文的全部或部分内容提交至各类数据库进行发布和检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。
导师签名:
日期:
年 月 日日期:
摘要
LED点阵显示屏是由多个独立的LED发光二极管封装而成,LED点阵显示屏可以显示汉字、数字、符号等,通常用来显示文字、时间、速度、系统状态等。
文章给出了一种基于AT89C51单片机的16×
32点阵LED显示屏的设计方案。
包括系统具体的硬件设计方案,软件流程图和c编语言程序等方面。
LED点阵显示屏是将要显示的汉字字模代码保存在某个存储空间,单片机通过读取字模并做相应的处理,然后以不同的显示方式显示在点阵屏上,主要适用于室内外汉字显示。
在负载范围内,只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。
关键词AT89C51;
LED;
74HC154;
74HC595
Abstract
TheismadeofanumberofindependentLEDlight-emittingdiodepackage.LEDdotmatrixcandisplayChinesecharacters,numbers,symbols.Itusuallyusedtodisplaytext,time,speed,systemstatusandsoon.
Thispapergivesandotmatrix16×
32LEDdisplaydesignbasedonAT89C51microcontroller.thissystemincludespecifichardwaredesign,softwareflowchart,ccodelanguageproceduresandsoon.LEDdotmatrixdisplayistoshowthecharacterfontcodestoredinastoragespace,MCUreadthefontcodesandmaketheappropriatetreatment,thenshowthefontcodesindifferentwaysonthedotmatrixdisplayscreen.Itismainlyusedsuitableforindoorandoutdoordisplay.Intheloadrange,thissystemcanbeexpandedthenumberofdot-matrixLEDdot-matrixLED.Sothisisalow-costgraphicsdisplayoptions.
KeywordsAT89C51LED74HC15474HC595
1绪论
随着LED技术的不断发展以及LED在低功耗、长寿命、环保等方面的优势,LED应用领域逐渐增多。
同时,许多国家在看到LED巨大的市场潜力后,纷纷出台各项鼓励措施大力推动LED在各领域中的应用。
目前,LED的应用已经从最初的指示灯应用转向更具发展潜力的显示屏,景观照明、背光源、汽车车灯、交通灯、照明等领域,LED应用正呈现出多样化发展趋势。
LED器件技术和性能不断提高,电子技术发展日新月异,这也为LED显示屏产品的技术深化和提高带来良好的基础。
同时LED显示在社会生活的各个领域得到了广泛的应用,因此,LED显示市场发展前景乐观。
深化技术内涵,丰富产品体系,产品多元化,突出主导产品的优势将是LED显示屏产业发展的重要趋势。
尤其是LED点阵显示的应用尤为广泛,随着信息产业的高速发展,LED显示作为信息传播的一种重要手成为现代信息化社会的一个闪亮标志。
发光二极管(LED)显示屏是上世纪八十年代后期在全球迅速发展起来的显示媒体。
它利用发光二极管构成的点阵模块或像素单元,组成大面积显示屏幕,以其可靠性高,使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,短短的十几年中,相关技术和产业都取得了长足的进步,已发展成为重要的现代信息发布媒体手段。
近年LED显示已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众场所如电信、邮政大厅、营业部、车站、机场、港口、体育场馆等信息的发布,政府机关政策,政令的发布,各类市场行情信息的发布和宣传等。
而且随着科学技术的发展LED点阵显示被应用到大、中、小屏幕显示器:
各种广告牌、体育记分牌、金融、交通指示牌等,分为全色、三色、单色显示屏。
随着社会信息化的进程,LED显示屏在信息显示领域的应用前景愈加广阔。
1.1LED与点阵LED显示屏
LED就是LightEmittingDiode(发光二极管)的缩写。
在某些半导体材料的PN结中,注入的少数载流子与多数载流子复合时会把多余的能量以光的形式释放出来,从而把电能直接转换为光能。
PN结加反向电压,少数载流子难以注入,故不发光。
这种利用注入式电致发光原理制作的二极管叫发光二极管,通称LED。
发光二极管是由P型和N型半导体组成的二极管。
在LED的P-N结附近,N型材料中多数载流子是电子,P型材料中多数载流子是空穴。
P-N结上未加电压时构成一定的势垒,当加正向偏压时,在外电场作用下,P区的空穴和N区的电子就向对方扩散运动,构成少数载流子的注入,从而在P-N结附近产生导带电子和价带空穴的复合,同时释放出相对应的能量hν(h为普朗克常数,ν为光子频率)而发光。
该能量相当于半导体材料的带隙能量Eg(Ev),其与发光波长λ(nm)的关系为λ=1239.6PEg。
由镓(Ga)与砷(AS)、磷(P)的化合物制成的二极管,当电子与空穴复合时能辐射出可见光,因而可以用来制成发光二极管,在电路及仪器中作为指示灯,或者组成文字或数字显示。
它是半导体二极管的一种,可以把电能转化成光能。
发光二极管与普通二极管一样是由一个PN结组成,也具有单向导电性。
当给发光二极管加上正向电压后,从P区注入到N区的空穴和由N区注入到P区的电子,在PN结附近数微米内分别与N区的电子和P区的空穴复合,产生自发辐射的荧光。
当电子和空穴复合时释放出的能量多少不同,释放出的能量越多,则发出的光的波长越短。
常用的是发红光、绿光或黄光的二极管。
发光二极管的反向击穿电压约5伏。
它的正向伏安特性曲线很陡,使用时必须串联限流电阻以控制通过管子的电流。
限流电阻R可用下式计算:
R=(E-UF)/IF
式中E为电源电压,UF为LED的正向压降,IF为LED的一般工作电流。
发光二极管的两根引线中较长的一根为正极,应按电源正极。
发光二极管的特点是:
工作电压很低(有的仅一点几伏);
工作电流很小(有的仅零点几毫安即可发光);
抗冲击和抗震性能好,可靠性高,寿命长;
通过调制通过的电流强弱可以方便地调制发光的强弱。
由于有这些特点,发光二极管在一些光电控制设备中用作光源,在许多电子设备中用作信号显示器。
LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
LED显示屏分为图文显示屏和视频显示屏,均由LED矩阵块组成。
图文显示屏可与计算机同步显示汉字、英文文本和图形;
视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
它的优点:
亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
1.2课题来源及研究意义
目前LED电子显示屏的显示向更高亮度、更高耐气候性、更高的发光均匀、更高的可靠性、全色化、多媒体方向发展,系统的运行,操作与维护也向集化、网络化、智能化方向发展。
从LED显示屏需求上,市场上不仅需要像大屏幕的这样大型的显示屏,也需要根据不同场地配置不同规格的小型显示屏以及相对简单的文字显示屏。
设计一个LED显示屏控制器,具有动态汉字显示的功能;
显示屏亮度以在正常光照条件下能看清汉字。
鉴此,本毕业设计设计与实现一个以单片机AT89C51为控制器的点阵LED显示屏控制系统,该系统采用单片机硬件以及软件程序结合的方式,以硬件电路作为驱动电路。
1.3论文主要工作
论文主要介绍了系统总体设计、系统硬件电路设计、系统软件设计这三个部分。
在各个章节,分别对其进行了较为详细的介绍。
第一章详细的介绍了发光二极管(LED)和点阵LED显示屏工作原理,课题的来源及研究意义,LED有亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定等诸多优点,应用也日益广泛。
第二章主要介绍系统基本组成及工作原理,选择了动态扫描的驱动显示方法;
对系统选用的主要元器件AT89C51、74HC154、74HC595进行了适当的介绍。
第三章介绍了系统硬件电路设计,先简单的叙述了8x8LED点整模块的工作原理和内部电路图。
然后讲述了驱动电路,分为行和列驱动电路,以及它们如何实现汉字的动态显示。
第四章详细叙述了系统软件设计,程序设计主要包括主程序、延时程序、发一个字节程序、显示程序。
对其中的主要程序,绘制了相对应的流程图,明了的显示了所需编写软件的工作流程。
还有对编写完成后的程序进行调试,在Keil下进行编译、连接,形成单片机可执行的二进制文件。
第五章简要的分析了仿真中出现的几种问题,然后对其原因讲解,一点一点排除出现的问题,最后得到了所想要的结果。
2系统总体设计
根据LED显示屏控制系统的应用以及显示设备驱动的具体要求,本章设计了LED文字显示屏的体系结构和工作流程。
2.1系统基本组成及工作原理
系统的大体结构图如如图2-1所示,图文显示屏的硬件模块基本结构可以分为屏体和控制器和驱动器三大部分:
2-1系统框图
屏体部分主要是8个8×
8的LED点阵组成的16×
32的LED点阵和行列驱动电路构成。
不论是图形还是文字,都是控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光。
根据屏幕所需的平面面积大小,选择一定数量的LED。
用点阵方式构成图形或文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,每个LED发光器件占据数据中的一位,通过对点阵上全部的LED进行控制,在需要该LED器件发光时,数据中相应的位填1,否则填0,这样依照所需显示的图形文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件,得到比较满意的显示效果。
由于文字的显示点阵格式比较规范,可以采用现行计算机通用的字库字模,如汉字的宋体、楷体和黑体等多种可供选择的方案;
其大小也可以有16×
16、24×
24、32×
32、48×
48等不同规格。
因为本次毕业设计使用的四个8×
8的LED点阵组成一个16×
16得LED点阵,然后通过级联,把两个16×
16的LED连在一起组成了16×
32的LED点整,分别显示汉字,所以仍然可以使用16×
16的字模。
字体选择了在16×
16规格下,显示的比较清晰、容易识别的宋体。
从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在的位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。
16x32的点阵共有512个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x32的点阵需要512/8=64个锁存器。
这个数字很庞大,因为我们仅仅是16x32的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。
具体就16x32的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;
再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;
以此类推,第16行之后,又重新燃亮第1行,反复轮回。
当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。
采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。
从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。
显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。
当列数很多时,并列传输的方案是不可取的。
采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。
但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。
这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。
对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一列数据。
为了达到重叠处理的目的,列数据的显示就需要具有所存功能。
经过上述分析,就可以归纳出列驱动器电路应具有的功能。
对于列数据准备来说,它应能实现串入并处的移位功能;
对于列数据显示来说,应具有并行锁存的功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
控制器部分主要是单片机及其外围电路。
由16行32列组成的16×
32图文显示屏其LED发光器件数量相当大,不宜使用静态显示驱动电路,而采用多行的同名列共用一套列驱动器。
控制电路负责有序的选通各行,在选通每一列之前还要把该列各行的数据准备好。
这样,这一行上的LED发光器件就可以根据列数据进行显示。
这种时序控制电路,一般都采用单片机实现。
图2-2系统逻辑结构
控制电路采用单片机,主要负责控制存储显示数据模块、安排控制信号的定时与顺序、控制驱动LED显示点阵的电路等。
驱动电路,则分为行驱动电路和列驱动电路,用来驱动LED显示点阵。
综上所述,系统逻辑结构如图2-2所示。
2.2系统的主要元器件介绍
2.2.1AT89C51简介
AT89C51是美国ATMEL公司生产的低电压,高性能CMOS8位单片机,片内含4Kbytes的可反复擦写的只读程序存储器(PEROM)和128bytes的随机存取数据存储器(ROM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器(CPU)和Flash存储单元。
功能强大AT89C51单片机可提供许多高性价比的应用场合,可灵活应用于各种控制领域。
2.2.1.1AT89C51主要性能参数
与MCS-51产品指令系统完全兼容
4K字节可重擦写Flash闪速存储器
1000次擦写周期
全静态操作:
0Hz---24MHz
三级加密程序存储器
128×
8字节内部RAM
32个可编程I/O口线
2个16位定时/计数器
6个中断源
可编程串行UART通道
低功率空闲和掉电模式
2.2.1.2AT89C51功能特性概述
AT89C51提供以下标准功能:
4K字节Flash闪速存储器,128字节内部RAM,32个I/0口线,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。
同时,AT89C51可将至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。
空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。
掉电方式保存RAM中的内容,但振荡器停止工作并禁止其他所有部件工作直到下一个硬件复位。
2.2.1.3AT89C51引脚功能说明
AT89C51单片机的的引脚见图2-3。
P0口:
P0口是一组8位漏极开路型双向I/O,也即地址/数据总线复用口。
作为输出口用时,每位能吸收电流的方式驱动8个TTL逻辑门电路,对端口写“1”可作为高阻抗输入端用
在访问外部数据存储器或程序存储器时,这组口线分时转换地址(低8位)和数据总线复用,在访问期间激活内部上拉电阻。
在Flash编程时,P0接收指令字节,而在程序校验时,输出指令字节,校验时,要求外接上拉电阻。
P1口:
P1口是一个带内部上拉电阻的8位双向I/O口,P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉倒高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
Flash编程和程序校验期间,P1接收低8位地址。
P2口:
P2口是一个带有内部上拉电阻的8位双向I/O口,P2的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口,作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
在访问外部程序存储器或16位地址的外部数据存储器(例如执行MOVE@DPTR指令)时。
P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(例如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区总R2寄存器的内容),在整个访问期间不改变。
Flash编程或校验时,P2亦接收高位地址和其他控制信号。
图2-3AT89C51引脚
P3口:
P3口是一组带有内部上拉电阻的8位双向I/O口,P3口输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对P3口写入“1”时,它们被内部上拉电阻拉高并可作为输入端口。
作输入端时,被外部拉低的P3口将用上拉电阻输出电流(IIL)。
P3口除了作为一般的I/O口线外,更重要的用途是它的第二功能,如表2-1所示:
表2-1P3口的第二功能
端口引脚
第二功能
P3.0
RXD(串行输入口)
P3.1
TXD(串行输出口)
P3.2
(外中断0)
P3,3
(外中断1)
P3.4
T0(定时/计数器0)
P3.5
T1(定时/计数器1)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
P3口还接收一些用于Flash闪速存储器编程和程序校验的控制信号。
RST:
复位输入。
当振荡器工作时,RST引脚出现两个机器周期以上高电平将单片机复位。
ALE/
:
当访问外部程序存储器或数据存储器时,ALE(地址锁存允许)输出脉冲用于锁存地址的低8位字节。
即使不访问外部存储器。
ALE仍一时钟振荡频率的1/6输出固定的正脉冲信号,因此它可对外输出时钟或用于定时目的。
但要注意的是:
每当访问外部数据存储器时将跳过一个ALE脉冲。
对Flash存储器编程期间,该引脚还用于输入编程脉冲(
)。
如有必要,可通过对特殊功能寄存器(SFR)区中的8EH单元的D0位置位,可禁止ALE操作。
该位置位后,只有一条MOVX和MOVC指令ALE才会被激活,此外,该引脚会被微弱拉高,单片机执行外部程序时,应设置ALE无效。
程序存储允许(
)输出是外部程序存储器的读选通信号,当AT89C51由外部程序存储器取指令(或数据)时,每个机器周期两次
有效,即输出两个脉冲,在此期间,当访问外部数据存储器,这两次有效的
信号不出现。
EA/VPP:
外部访问允许,欲使CPU仅访问外部程序存储器(地址为0000H--FFFFH),EA端必须保持低电平(接地)。
需要注意的是:
如果加密位LB1被编程,复位时内部会锁存EA端状态。
如EA端为高电平(接Vcc端),CPU则执行内部会锁存EA端状态。
Flash存储器编程时,该引脚加上+12V的编程允许电源Vpp,当然这必须是该器件是使用12V编程电压Vpp。
XTAL1:
振荡器反相放大器的及内部时钟发生器的输入端。
XTAL2:
振荡器3放大器的输出端。
2.2.274HC154简介
4线-16线译码器简要说明:
74H