点阵 led 多功能系统设计与制作单片机设计本科论文.docx

上传人:b****2 文档编号:1714030 上传时间:2023-05-01 格式:DOCX 页数:30 大小:268.45KB
下载 相关 举报
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第1页
第1页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第2页
第2页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第3页
第3页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第4页
第4页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第5页
第5页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第6页
第6页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第7页
第7页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第8页
第8页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第9页
第9页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第10页
第10页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第11页
第11页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第12页
第12页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第13页
第13页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第14页
第14页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第15页
第15页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第16页
第16页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第17页
第17页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第18页
第18页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第19页
第19页 / 共30页
点阵 led 多功能系统设计与制作单片机设计本科论文.docx_第20页
第20页 / 共30页
亲,该文档总共30页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

点阵 led 多功能系统设计与制作单片机设计本科论文.docx

《点阵 led 多功能系统设计与制作单片机设计本科论文.docx》由会员分享,可在线阅读,更多相关《点阵 led 多功能系统设计与制作单片机设计本科论文.docx(30页珍藏版)》请在冰点文库上搜索。

点阵 led 多功能系统设计与制作单片机设计本科论文.docx

点阵led多功能系统设计与制作单片机设计本科论文

西安航空职业技术学院

毕业设计(论文)

论文题目:

点阵LED多功能系统设计与制作

所属系部:

电子工程系

指导老师:

洪云飞职称:

讲师

学生姓名:

刘欣灵班级、学号:

10201234

专业:

应用电子技术

 

西安航空职业技术学院制

2012年12月2日

 

重庆XX学院

毕业设计(论文)任务书

题目:

点阵LED多功能系统设计与制作

任务与要求:

采用51单片机作为微控制器.通过1个16x16的点阵LED进行文字显示学号和姓名.在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无串扰.文字显示具有每排字有滚动和逐排等显示方式.

时间:

年月日至年月日共周

所属系部:

机电工程系

学生姓名:

XXX学号:

XXXXXXXX

专业:

机电一体化

指导单位或教研室:

指导教师:

XXXX职称:

教师

 

重庆XX学院制

年月日

 

毕业设计(论文)进度计划表

日期

工作内容

执行情况

指导教师

签字

教师对进度计划实施情况总评

 

                 签名

                      年月日

本表作评定学生平时成绩的依据之一

点阵LED多功能系统设计与制作

【摘要】

本论文阐述了基于单片机STC89C51的16

16点阵LED电子显示屏的设计。

分别阐述了显示屏显示的基本原理,硬件设计、控制方法及其程序的实现。

经过调试和分析,设计的结果能够实现对汉字的静态和动态显示,动态显示的内容有多种方式,同时又可通过上位机更新显示的内容。

本文给出了一种基于AT89C52单片机的16*16点阵的设计方案,包括系统具体的硬件设计方案,软件流程图和部分汇编语言程序等方面。

在负载范围内,只需通过简单的级联就可以对显示屏进行扩展,是一种成本低廉的图文显示方案。

可广泛应用于各种公共场合,如车站、码头、银行、学校、火车、公共汽车显示等。

关键字:

STC89C51;16

16点阵;LED;显示屏

Abstract:

ThispaperbasedonsinglechipSTC89C5116andlatticeLEDelectronicdisplaydesign.Aredescribedrespectively,andthescreenshowsthebasicprinciple,hardwaredesign,controlmethodsandtherealizationoftheprogram.Throughtestingandanalysis,theresultsofthedesigncanrealizethestaticanddynamiccharacters,accordingtothecontentofthedynamicdisplayavarietyofways,andatthesametime,butalsothroughtheuppermachineupdatedisplaycontent.ThispaperpresentsamethodbasedonthemicrocontrollerofAT89C5216*16latticedesignscheme,includingthesystemofconcretehardwaredesign,softwareflowchartandpartofassemblylanguageprogram,etc.Intheloadrange,onlythroughthesimplecascadecanbeextendedtoscreen,isakindofcheapgraphicdisplayscheme.Canbewidelyusedinallkindsofpublicplaces,suchasrailwaystations,docks,Banks,schools,train,busdisplay,etc.

Keywords:

STC89C51;16*16lattice;screen

 

目录

1功能要求和论证的方案-1-

1.1方案论证...........................................................-1-

1.1.1动态扫描简介-1-

1.1.2串行传输的方式.................................................-2-

1.3显示模块论证........................................................-3-

1.4数据传输论证........................................................-3-

2显示原理及显示方式-4-

2.1静态显示方式.......................................................-4-

2.2动态显示方式.......................................................-4-

2.3点阵显示原理.......................................................-4-

3系统硬件部分设计-5-

3.1单片机系统及外围电路-5-

3.2列驱动电路-5-

3.3行驱动电路-7-

3.4单片机最小系统电路................................................-9-

3.5电源电路-10-

4系统软件部分设计-10-

4.1系统主程序设计....................................................-10-

4.2显示驱动程序......................................................-11-

5系统调试及性能、程序分析-12-

5.1调试及性能分析....................................................-12-

5.2程序介绍及流程....................................................-12-

5.2.1定义端口.....................................................-12-

5.2.2汉字子模.....................................................-13-

5.3开中断............................................................-15-

5.3.1延时程序......................................................-16-

5.3.2主程序........................................................-17-

5.3.3控制点亮程序..................................................-19-

6制作成果和调试结果-21-

6.1制作成果........................................................-21-

6.2调试结果........................................................-22-

结束语-23-

参考文献-24-

 

1功能要求和论证的方案

要求采用51单片机作为微控制器.通过1个16x16的点阵LED进行文字显示学号和姓名.在目测条件下LED显示屏各点亮度均匀、充足、稳定、清晰无串扰.文字显示具有每排字有滚动和逐排等显示方式.

1.1方案论证

从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。

16×16的点阵共有256个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,16×16的点阵需要256/8=32个锁存器。

这个数字很庞大,因为我们仅仅是16×16的点阵,在实际应用中的显示屏往往要大的多,这样在锁存器上花的成本将是一个很庞大的数字。

因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。

1.1.1动态扫描简介

动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。

具体就16×16的点阵来说,我们把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第一行使其燃亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其燃亮相同的时间,然后熄灭;……第十六行之后又重新燃亮第一行,这样反复轮回。

当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,我们就能看到显示屏上稳定的图形了。

采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。

显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。

显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。

从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。

显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。

当列数很多时,并行传输的方案是不可取的。

1.1.2串行传输的方式

采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。

但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。

这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。

对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以至影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。

即在显示本行各列数据的同时,传送下一行的列数据。

为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。

经过上述分析,可以归纳出列驱动器电路应具备的主要功能。

对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。

这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。

图1-1为显示屏电路实现的结构框图。

图1-1

1.3显示模块论证

(1)点亮LED数码管的方式有静态和动态2种方法。

本文以8段LED作为示例来论证方案

(2)这种模块由64个发光LED芯片以8×8的形式构成一个正方形模块,然后用2列8针引脚将内部电路接口引出,供驱动电路使用。

(3)行对应的给LED的阳极,先给第一行以高电平,如果送给16列的代码为EFFF,则第一行的第4个LED被点亮,再给第二行以高电平,如果送给16列的代码为EF07,则第二行的第4、9、10、11、12、13个被点亮,接着给第三行以高电平,同时给列以驱动代码,这样不断地进行行行的扫描,只要速度够快,由于人的视觉暂留作用,就不会感觉到明显的闪烁感。

1.4数据传输论证

采用动态显示方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。

显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。

显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。

从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。

显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。

当列数很多时,并列传输的方案是不可取的。

采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。

但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。

这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。

对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。

解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。

即在显示本行各列数据的同时,传送下一列数据。

为了达到重叠处理的目的,列数据的显示就需要具有所存功能。

经过上述分析,就可以归纳出列驱动器电路应具有的功能。

对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。

这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。

2显示原理及显示方式

下面重点介绍点阵LED数码灯的原理和方式

2.1静态显示方式

静态显示方式,即8段LED数码管在显示某一个数码时,加在数码管上的段码保持不变,直至换显其他数码为止。

这样数码管的每一段均应由一条输出线来控制,每显示以为数码需要8根输出线,当N位显示则需N×8根输出控制线。

占用较多I/O资源。

2.2动态显示方式

为解决静态显示占用较多I/O资源的问题,在多位显示时通常采用动态显示方式,动态显示是将所有数码管的段码线对应并联在一起,由一个8位的输出口控制,每位数码管的公共端分别出一位I/O线控制。

显示不同数码时,由位线控制各位轮流显示。

位线控制某位选通时,该位应显示数码的段码同时加在段码线上,即每一时刻仅仅有一位数码管是被点亮的,当轮流显示的速度较快(每秒24次以上),由于人眼的视觉暂留现象,看起来就像所有位同时显示一样,这时,我们就能看到稳定的图像了

2.3点阵显示原理

点阵显示器实际上就是LED显示器,构成显示器的所有LED都依矩阵形式排列。

从内部结构看,点亮LED的方法就是要让该LED所对应的Y线、X线加上高、低电平,使LED处于正向偏置状态。

使用多行扫描的方式,可以实现很多动态效果,点阵显示器常采用扫描法,扫描方式包括:

行扫描和列扫描。

行扫描就是控制点阵显示器的行线依次输出有效驱动电平,当每行行线状态有效时,分别输出对应的行扫描码之列线驱动该行LED点亮。

列扫描控制列线依次输出有效驱动电平,当第n列有效时,输出列扫描至行线,驱动该列LED点亮。

行扫描和列扫描都要求点阵显示器依次驱动一行或一列(8个LED)。

具体就8x8的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第8行之后,又重新燃亮第1行,反复轮回。

当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。

3系统硬件部分设计

硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。

3.1单片机系统及外围电路

单片机采用89C51或其兼容系列的芯片,采用24M或更高频率的晶振,以获得较高的刷新频率,使显示更稳定。

单片机的串口与列驱动器相连,用来送显示数据。

P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信号。

P0和P2口空着,在有必要时可以扩展系统的ROM和RAM。

3.2列驱动电路

列驱动电路由集成电路74HC595构成,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。

74HC595的外形及内部结构如图2所示。

它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。

引脚SI是串行数据的输入端。

引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。

移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。

RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器。

引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高阻态。

SCLR信号是移位寄存器的清零输入端,当其为低时移位寄存器的输出全部为零。

由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。

芯片的输出端为QA~QH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。

但因QH受输出锁存器打入控制,所以还从输出锁存器前引出了QH’,作为与移位寄存器完全同步的级联输出。

图3-1列驱动及控制

3.3行驱动电路

单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。

一条行线上要带动16列的LED进行显示,按每一LED器件20mA电流计算,16个LED同时发光时,需要320mA电流,选用三极管8550作为驱动管可满足要求。

图3-2行控制及驱动

3.4单片机最小系统电路

复位是单片机的初始化操作。

其主要功能是把PC初始化为0000H,使单片机从0000H单元开始执行程序。

除了进入系统的正常初始化之外,当由于程序运行出错或操作错误使系统处于死锁状态时,为摆脱困境,也需按复位键重新启动。

RST引脚是复位信号的输入端。

复位信号是高电平有效,其有效时间应持续24个振荡周期(即二个机器周期)以上。

若使用颇率为6MHz的晶振,则复位信号持续时间应超过4us才能完成复位操作。

图3-3复位信号的电路逻辑图

整个复位电路包括芯片内、外两部分。

外部电路产生的复位信号(RST)送至施密特触发器,再由片内复位电路在每个机器周期的S5P2时刻对施密特触发器的输出进行采样,然后才得到内部复位操作所需要的信号。

复位操作有上电自动复位相按键手动复位两种方式。

上电自动复位是通过外部复位电路的电容充电来实现的,其电路如图4(a)所示。

这佯,只要电源Vcc的上升时间不超过1ms,就可以实现自动上电复位,即接通电源就成了系统的复位初始化。

按键手动复位有电平方式和脉冲方式两种。

其中,按键电平复位是通过使复位端经电阻与Vcc电源接通而实现的,其电路如图4(b)所示;而按键脉冲复位则是利用RC微分电路产生的正脉冲来实现的,其电路如图4(c)所示:

(a)上电复位(b)按键电平复位(c)按键脉冲复位

图3-4复位电路

上述电路图中的电阻、电容参数适用于6MHz晶振,能保证复位信号高电平持续时间大于2个机器周期。

3.5电源电路

图3-5电源电路

4系统软件部分设计

这部分重点介绍主程序和显示驱动程序的设计和要求。

4.1系统主程序设计

系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;接着自左到右以“滚动”效果显示班级姓名,停留约0.5s;,由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。

LED显示屏硬件电路只要硬件质量可靠,引脚焊接正确,一般无需调试即可正常工作。

软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。

显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定,。

从理论上来说,24Hz以上的刷新频率就能看到稳定的连续的显示,刷新率越高,显示越稳定,同时刷新频率越高,显示驱动程序占用的CPU时间越多。

试验证明,在目测条件下刷新频率40Hz一下的画面看起来闪烁较严重,刷新频率50Hz以上的已基本察觉不出画面的闪烁,刷新频率达到85Hz以上时再增加画面闪烁没有明显的改善

显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。

根据软件分层次设计的原理,我们可把显示屏的软件系统分成两大层:

第一层是底层的显示驱动程序,第二层是上层的系统应用程序。

显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。

显示驱动程序由定时器T0中断程序实现。

系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。

从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑,显示屏程序适宜采用C语言编写。

4.2显示驱动程序

显示驱动程序在进入中断后首先要对定时器T0重新赋初值以保证显示屏刷新率的稳定,1/16扫描的显示屏的刷新率(帧频)的计算公式如下:

其中fosc为晶振频率,t0为定时器T0初值(工作在16位定时器模式)。

然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。

为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。

5系统调试及性能、程序分析

最后程序是否能正常的工作,LED灯是否能正常的显示出来,都要看调试是否得当,下面就主要介绍系统的调试及性能,程序的分析。

5.1调试及性能分析

LED显示屏硬件电路只要器件质量可靠,管脚焊接正确,一般无需调试即可正常工作。

软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。

显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定,下表给出了实验调试时采用的频率及其对应的定时器T0初值。

显示屏刷新率(帧频)与T0初值关系表(24M晶振)

刷新率(Hz)

25

50

62.5

75

85

100

120

T0初值

0xec78

0xf63c

0xf830

0xf97e

0xfa42

0xfb1e

0xfbee

5.2程序介绍及流程

/

*头文件*/

#include

#include

#defineuintunsignedint

#defineucharunsignedchar

#defineNOP()_nop_()

5.2.1定义端口

sbitEN_port=P1^3;

sbitDA_in_port=P1

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

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2