1616点阵LED电子显示屏的方案设计书.docx

上传人:b****3 文档编号:2967663 上传时间:2022-11-16 格式:DOCX 页数:23 大小:65.09KB
下载 相关 举报
1616点阵LED电子显示屏的方案设计书.docx_第1页
第1页 / 共23页
1616点阵LED电子显示屏的方案设计书.docx_第2页
第2页 / 共23页
1616点阵LED电子显示屏的方案设计书.docx_第3页
第3页 / 共23页
1616点阵LED电子显示屏的方案设计书.docx_第4页
第4页 / 共23页
1616点阵LED电子显示屏的方案设计书.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

1616点阵LED电子显示屏的方案设计书.docx

《1616点阵LED电子显示屏的方案设计书.docx》由会员分享,可在线阅读,更多相关《1616点阵LED电子显示屏的方案设计书.docx(23页珍藏版)》请在冰豆网上搜索。

1616点阵LED电子显示屏的方案设计书.docx

1616点阵LED电子显示屏的方案设计书

作者:

PanHongliang

封面

仅供个人学习

 

三、16X16点阵LED电子显示屏的设计

1.功能要求

设计一个室内用16X16点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、淸晰无串扰。

图形或文字显示有静止、移入移出等显示方式。

2.方案论证

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

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

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

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

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

具体就16X16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送岀对应第1行发光管亮火的数据并锁存,然后选通第1行使其燃亮一立的时间,然后熄火:

再送岀第2行的数据并锁存,然后选通第2行使英燃亮相同的时间,然后熄火,……第16行之后,又重新燃亮第1行,反复轮回。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

对于列数据准备来说;它应能实现串入并出的移位功能:

对于列数据显示来说,应具有并行锁存的功能。

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

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

3.系统硬件电路的设计

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

(1)单片机系统及外围电路

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

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

P1口低4位与行驱动器相连,送岀行选信号:

P1.5〜P1.7口则用来发送控制信号。

P1和P2口空着,在有必要时可以扩展系统的ROM和RAM.16X16点阵显示屏的硬件原理图如图3-2所示。

(2)列驱动电路

列驱动电路由集成电路74HC595构成。

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

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

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

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

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

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

引脚E是输岀三态门的开放信号,只有当英为低时锁存器的输岀才开放,否则为髙阻态。

SCLR信号是移位寄存器的淸。

输入端,当苴为低时移位寄存器的输出全部为0。

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

芯片的输岀端为Q0〜Q7,最高位Q7可作为多片74HC595级联应用时,向上一级的级联输岀。

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

(3)行驱动电路

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

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

4.系统程序的设计

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

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

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

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

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

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

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

(1)显示驱动程序

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

刷新率(帧频)

英中.处为晶振频率,A)为迫时器T0初值(工作在16位立时器模式)。

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

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

图3-3为显示驱动程序(显示屏扫描函数)流程图。

(2)系统主程序

系统主程序开始以后,首先是对系统环境初始化,包括设置串口、泄时器、中断和端口:

然后以“卷帘出”效果显示一个图形(⑧),停留约3s:

接着向上滚动显示''我爱单片

机⑥”5个汉字及1个图形,停留约3s;再向左跑马显示“我爱单片机⑧”这5个汉字及1个图形,然后以'‘卷帘入”效果隐去图形(⑧)。

由于单片机没有停机指令,所以可以设苣系统程序不断地循环执行上述显示效果。

图3-4是系统主程序的流程图。

5.调试及性能分析

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

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

显示屏刷新率由泄时器TO的溢出率和单片机的晶振频率决泄,表3-1给岀了实验调试时采用的频率及其对应的怎时器TO初值。

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

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

表3J显示屏刷新率(帧频)与TO初值关系表(24MHz晶振)

刷新率/Hz

25

50

62.5

75

85

100

120

TO初值

0xEC78

0xF63C

OxF83O

OxF97E

0xFA42

OxFBIE

OxFBEE

显示效果处理程序的内容及方法非常广泛,英调试过程在此不作具体讨论,读者可对照源程序自行分析。

这个方案设计的16X16点阵LED图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏:

显示屏各点亮度均匀、充足;显示图形或文字稳左、淸晰无串扰:

可用静止、移入移出等多种显示方式显示图形或文字。

6.控制源程序淸单

以下是16X16点阵LED电子显示屏的源程序,分别采用C语言及汇编语言编写。

C程序在KeiltuVision2V2.30(C51.exeV7.O)环境下调试通过。

16X16点阵LED显示屏程序

#include

#defineBLKN2

sbitG=0x97o

sbitRCLK=0x96o

sbitSCLR=0x95ovoiddelay(unsignedini)。

unsignedchardispram[32]。

♦/

严列锁存器数引

/*P1.7为显示允许控制信号端口时

/*Pi.6为输出锁存器时钟信号端引

/*P1.5为移位寄存器清0端W

厂延时函数*/

〃显示缓存勺

主函数voidmain(void)

♦/

voidmain(void){

unsignedcharcodeBmp[][32|={/*字模表时

{0xF9.0xB7.0xC7,OxAE0xF7,0xB7.0xF7,0xB7.0xF7?

OxBF.0x00,OxOL0xF7,OxBEOxF7,0xB7,OxFL0xD7.0xC7.OxCF.0x37,OxDEOxF7.OxAE0xF6.0x6D.0xF7,OxF5.0xD7.0xF9.OxEF.OxFD}/*^*/.

{OxFF.0x07.OxCO.0x6EOxED.OxEE0xF6.OxDEOxCO.0x01,OxDD.OxFD.OxBD.OxFF.OxCO.OxO3・OxFB.

OxFEOxF8.OxOEOxF3.OxDE0xF4.OxBF.OxEEOx3E0x9C.OxCE0x73.OxFLOxCEOxFB)/*爱臥

{0xF7.OxDF.0xF9.OxCEOxFB.OxBEOxCO.0x07.OxDE.OxF7・OxCO.0x07.OxDE.0xF7.OxDE.0xF7.0xC0.0x07.OxDE,0xF7.0xFE.OxFF.0x00.OxOLOxFE.OxFF,OxFE.OxFEOxFE.OxFEOxFE.OxFF}/*单

{OxFF.OxBEOxEEOxBEOxEEOxBEOxEEOxBB.OxEO.0x01,OxEF.OxFEOxEEOxFEOxEEOxFF.OxEO.OxOF.OxEEOxEEOxEEOxEEOxEEOxEEOxDEOxEEOxDEOxEEOxBEOxEEOx7EOxEF)/*片忆

{OxEF.OxFF.OxEE0x07.OxEE0x77.0x01,0x77.OxEEOx力.OxEE0x77.OxC7.0x77.OxCB.0x77.0xAB,0x77,OxAE0

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

当前位置:首页 > 小学教育 > 其它课程

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1