1616点阵LED字符显示器设计.docx
《1616点阵LED字符显示器设计.docx》由会员分享,可在线阅读,更多相关《1616点阵LED字符显示器设计.docx(31页珍藏版)》请在冰豆网上搜索。
![1616点阵LED字符显示器设计.docx](https://file1.bdocx.com/fileroot1/2023-3/19/eb93a906-318d-49d6-b7a8-4132f095654f/eb93a906-318d-49d6-b7a8-4132f095654f1.gif)
1616点阵LED字符显示器设计
引言
LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。
图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。
LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。
在实际应用中的显示屏由于成本和可靠性的因素常采用一种称为动态扫描的显示方法。
本文设计的是一个室内用16x16的点阵LED图文显示屏,图形或文字显示有逐字显示、向上滚动、向左滚动等显示方式。
它的优点:
亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。
第一章设计要求与方案论证
1.1设计要求
设计一个16×16点阵LED字符显示器,要求如下:
显示器采用AT89S52单片机作控制器,12MHz晶振,16×16点阵共阳LED显示器。
16×16点阵LED字符显示器能显示“电气自动化”五个文字。
显示方式可由S1、S2和S3选择,S1为逐字显示,S2为向上滚动显示,和S3为向左滚动显示。
1.2系统基本方案的选择和论证
1.2.1核心电路的选择
方案一:
采用89C51单片机
采用89C51作为硬件核心,内部具有4KBFlashROM存储空间,能运用于3V的超低压工作,而且与MCS-51系列单片机完全兼容,但是运用于电路设计中时由于不具有ISP在线编程技术,当在对电路进行调试时,由于程序的过错修正或对程序的新增功能需要烧入程序时,对芯片的多次插拔会对芯片造成必定的损坏。
方案二:
采用8051单片机:
8051单片机最早由Intel公司推出,内部具有4KBROM存储空间。
其后多家公司购买了8051的内核,使得以8051为内核的MCU系列单片机在世界上产量最大,应用也最广泛。
有人推测8051可能最终形成事实上的标准MCU芯片。
LG公司生产的GMS90系列单片机,与IntelMCS-51系列、Atmel89C51/52,89C2051等单片机兼容,CMOS技术,高达40MHZ的时钟频率。
应用于:
多功能电话,智能传感器,电度表,工业控制,防盗报警装置,各种计费器,各种IC卡装置、DVD、VCD、CD-ROM。
方案三:
采用AT89S52单片机
AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K在系统可编程Flash存储器。
使用Atmel公司高密度非易失性存储器技术制造,与工业80C51产品指令和引脚完全兼容。
片上Flash允许程序存储器在系统可编程,亦适于常规编程器。
在单芯片上,拥有灵巧的8位CPU和在系统可编程Flash,使得AT89S52为众多嵌入式控制应用系统提供高灵活、超有效的解决方案。
该芯片且具备在线编程可擦除技术,当在对电路停止调试时,因为顺序的过错修正或对步伐的新删功能需要烧进程序时,没有需要对芯片屡次拔插,所以不会对芯片形成破坏。
本次设计选择采用AT89S52单片机作为主控制系统。
1.2.2显示模块选择方案和论证
方案一:
使用液晶屏显示
液晶显示屏(LCD)具有轻薄短小、低耗电量、无辐射危险,平面直角显示以及影像稳定不闪烁等优势,可视面积大,画面效果好,分辨率高,抗干扰能力强的特点。
但由于只需要显示时间和转向、相数这样的数字,信息量比较少,且由于液晶是以点阵的模式显示各种符号,需要利用控制芯片创建字符库,编程工作量大,控制器的资源占用较多,其成本也偏高。
在使用时,不能有静电干扰,否则易烧坏液晶显示芯片,不易维护。
方案二:
使用传统的数码管显示
数码管具有低能耗、低损耗、低压、寿命长、耐老化、防晒、防潮、防火、防高(低)温,对外界环境要求低,易于维护,同时其精度高,称量快,精确可靠,操作简单。
数码显示是采用BCD编码显示数字,程序编译容易,资源占用较少。
但实际应用时必须增加译码驱动器进行驱动,增加了硬件电路的复杂性。
方案三:
LED显示
LED显示屏可以显示变化的数字、文字、图形图像。
它不仅可以用于室内环境还可以用于室外环境,具有投影仪、电视墙、液晶显示屏无法比拟的优点。
LED本身优点有:
亮度高、工作电压低、功耗小、小型化、寿命长、耐冲击和性能稳定。
它的显示方式有静态、横向滚动、垂直滚动和翻页显示等。
单块模块控制驱动12块(最多可控制24块)8X8点阵,共16X48点阵(或32X48点阵),是单块MAX7219(或PS7219、HD7279、ZLG7289及8279等类似LED显示驱动模块)的12倍(或24倍)!
可采用“级联”的方式组成任意点阵大显示屏。
显示效果好,功耗小。
根据以上的论述,本次设计采用方案三。
1.2.3LED驱动模块选择方案和论证
由于单片机或CPU的数据/地址/控制总线端口都有一定的负载能力,如果负载超过其负载能力,一般应加驱动器。
1、行驱动模块
行驱动模块采用译码器,在中规模集成电路中译码器有几种型号,使用最广的通常是74LS138,其是一个3输入8输出的译码器。
但对于16*16点阵来说,它需要16个输出,所以如果用138译码器,必须要2个芯片。
为了设计过程中制作方便,本次设计采用74LS154,其是一个4输入16输出的译码器,而且功能和138译码器一样。
2、列驱动模块
方案一:
采用74HC595
74HC595是硅结构的CMOS器件,兼容低电压TTL电路,遵守JEDEC标准。
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
其特点具有8位串行输入、/8位串行或并行输出和存储状态寄存器三种状态,其输出寄存器(三态输出:
就是具有高电平、低电平和高阻抗三种输出状态的门电路。
)可以直接清除100MHz的移位频率。
其输出能力为并行输出,总线驱动;串行输出;是一个标准中等规模集成电路。
方案二:
采用74AC573
74AC573是八进制3态非反转透明锁存器,输入是和标准CMOS输出兼容的;加上拉电阻,他们能和LS/ALSTTL输出兼容。
当锁存使能端LE为高时,这些器件的锁存对于数据是透明的(也就是说输出同步)。
当锁存使能变低时,符合建立时间和保持时间的数据会被锁存。
方案三:
采用74HC245
为了保护脆弱的主控芯片,通常在主控芯片的并行接口与外部受控设备的并行接口间添加缓冲器。
74HC245是方向可控的八路缓冲器,主要用于实现数据总线的双向异步通信。
当主控芯片与受控设备之间需要实现双向异步通信时,自然就得选用双向的八路缓冲器了,245就是面向这种需求的。
常见于同并口液晶屏、并口打印机、并口传感器或通讯模块等设备的接口上。
根据以上的论述,本次设计行驱动采用78LS154译码器,列驱动采用方案一74HC595。
第二章系统的硬件设计
2.1硬件系统的总体设计
根据设计要求与设计方案,硬件电路的设计框图如图2-1所示。
硬件电路结构由8个部分组成:
时钟电路、复位电路、按键接口电路、电源电路、点阵显示行线驱动电路、点阵显示列线驱动电路和16×16点阵显示器。
图2-1硬件电路的设计框图
2.2单片机AT89S52的分析
由于AT89S52片内有8K的Flash程序存储器,并且I∕O口可直接驱动
点阵显示器,所以由它组成小系统硬件非常简单。
2.2.1性能说明
·与MCS-51兼容
·8K字节可编程闪烁存储器
寿命:
1000写/擦循环
数据保留时间:
10年
·全静态工作:
0Hz-24Hz
·三级程序存储器锁定
·256*8位内部RAM
·32可编程I/O线
·两个16位定时器/计数器
·一个数据指针DPTR图2-2AT89S52引脚图
·8个中断源
·可编程全双工串行通道
·低功耗的闲置和掉电模式
·片内振荡器和时钟电路
2.2.2管脚说明
AT89S52的管脚如图2-2所示,下列重点介绍其管脚功能。
●Vcc:
供电电压。
Vss:
接地。
●P0口:
P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。
当
P1口的管脚第一次写1时,被定义为高阻输入。
P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。
在FIASH编程时,P0口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。
●P1口:
P1口是一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。
P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。
在FLASH编程和校验时,P1口作为第八位地址接收。
●P2口:
P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。
并因此作为输入时,P2口的管脚被外部拉低,将输出电流。
这是由于内部上拉的缘故。
P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。
在给出地址“1”时,它利用内部上拉优势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。
P2口在FLASH编程和校验时接收高八位地址信号和控制信号。
●P3口:
P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。
当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。
作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。
●P3口也可作为AT89C51的一些特殊功能口,如下所示:
P3.0RXD(串行输入口)
P3.1TXD(串行输出口)
P3.2
(外部中断0)
P3.3
(外部中断1)
P3.4T0(定时器0外部输入)
P3.5T1(定时器1外部输入)
P3.6
(外部数据存储器写选通)
P3.7
(外部数据存储器读选通)
P3口同时为闪烁编程和编程校验接收一些控制信号。
●RST:
复位输入。
当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。
●ALE/PROG:
当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。
在FLASH编程期间,此引脚用于输入编程脉冲。
在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。
因此它可用作对外部输出的脉冲或用于定时目的。
然而要注意的是:
每当用作外部数据存储器时,将跳过一个ALE脉冲。
如想禁止ALE的输出可在SFR8EH地址上置0。
此时,ALE只有在执行MOVX,MOVC指令是ALE才起作用。
另外,该引脚被略微拉高。
如果微处理器在外部执行状态ALE禁止,置位无效。
●
:
外部程序存储器的选通信号。
在由外部程序存储器取指期间,每个机器周期两次
有效。
但在访问外部数据存储器时,这两次有效的
信号将不出现。
●
/VPP:
当
保持低电平时,则在此期间外部程序存储器(0000H~FFFFH),不管是否有内部程序存储器。
注意加密方式1时,
将内部锁定为RESET;当
端保持高电平时,此间内部程序存储器。
在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。
●XTAL1:
反向振荡放大器的输入及内部时钟工作电路的输入。
XTAL2:
来自反向振荡器的输出。
2.2.3单片机最小系统设计
1、各部分具体电路
(1)单片机的时钟电路
AT89S52单片机内部的振荡电路是一个高增益反向放大器,引线XTAL1和XTAL2分别是放大器的输入端和输出端。
单片机内部虽然有振荡电路,但要形成时钟,外部还需附加电路。
AT89S52的时钟产生方式有两种:
内部时钟电方式和外部时钟方式。
由于外部时钟方式用于多片单片机组成的系统中,所以此处选用内部时钟方式。
内部时钟方式:
利用其内部的振荡电路在XTAL1和XTAL2引线上外接定时元件,内部振荡电路产生自激振荡。
最常用的是在XTAL1和XTAL2之间接晶体振荡器与电路构成稳定的自激振荡器,如图2-3电路所示为单片机最常用的时钟振荡电路的接法,其中晶振可选用振荡频率为12MHz的石英晶体,电容器一般选择30pF左右。
图2-3使用片内振荡电路的时钟电路图2-4AT89S52的上电复位电路
(2)单片机的复位电路
AT89S52单片机在启动运行时或者出现死机时需要复位,使CPU以及其他功能部件处于一个确定的初始状态,并从这个状态开始工作。
单片机有多种复位方式,常用的复位操作有上电复位和手动复位方式。
本设计采用最简单的上电复位方式,电路如图2-4所示。
上电复位是通过外部复位电路的电容充电来实现的,复位电路产生的复位信号(高电平有效)由RST引脚送入到内部的复位电路,对AT89S52单片机进行复位,复位信号要持续两个机器周期(24个时钟周期)以上,才能使AT89S52单片机可靠复位。
当上电时,C1相当于短路,有时碰到干扰时会造成错误复位,可在复位端加个去耦电容,可以取得很好的效果。
2、AT89S52的最小应用系统
AT89S52是片内有程序存储器的单片机,要构成最小应用系统时只要将单片机接上外部的晶体或时钟电路和复位电路即可,如图2-5所示。
这样构成的最小系统简单可靠,其特点是没有外部扩展,有可供用户使用的大量的I∕O线。
图2-5AT89S52单片机构成的最小系统
2.374LS154简介
74LS154是4线-16线译码器/解调器,引脚如图2-6所示。
2.3.174LS154特点
·将4个二进制编码输入译成16个独立的输出之一。
·将数据从一个输入线分配到16个输出的任意一个而实现解调功能。
·输入箝位二极管简化了系统设计。
·与大部分TTL和DTL电路完全兼容。
2.3.274LS154主要管脚及功能
·A、B、C、D译码地址输入端(低电平有效)
·Y0~Y15:
输出端(低电平有效)图2-674LS154的引脚图
·G1、G2选通端(低电平有效)
2.3.374LS154功能简介
74LS154为4线-16线译码器,当选通端(G1、G2)均为低电平时,可将地址端(ABCD)的二进制编码在一个对应的输出端,以低电平译出。
如果将G1和G2中的一个作为数据输入端,由ABCD对输出寻址,74LS154还可作1线-16线数据分配器。
表2-174LS154真值表
信号输入
输出
低电平有效
DCBA
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LL
LH
HL
HH
LLLL
LLLH
LLHL
LLHH
LHLL
LHLH
LHHL
LHHH
HLLL
HLLH
HLHL
HLHH
HHLL
HHLH
HHHL
HHHH
XXXX
XXXX
XXXX
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
-
-
-
说明:
H—高电平L—低电平X—任意*—其他输出端为高电平
2.3.474LS154的主要电气参数
·电源电压:
7V
·输入电压:
5.5V
·工作环境温度:
74154:
0~70℃
·贮存温度:
-65~150℃
2.474HC595简介
74HC595是一个8位串行输入/输出或者并行输出移位寄存器,具有高阻关断状态,引脚如图2-7所示。
2.4.174HC595特点
8位串行输入/8位串行或并行输出存储状态寄存器,三种状态。
输出寄存器(三态输出:
就是具有高电平、低电平和高阻抗三种输出状态的门电路。
)可以直接清除100MHz的移位频率。
2.4.274HC595主要管脚及功能
·QA—QH三态输出管脚
·Q7串行数据输出管脚
·SCLR移位寄存器清零端
·SCK数据输入时钟线
·RCK输出存储器锁存时钟线
·OE输出使能
·SER数据线
2.4.374HC595功能简介图2-774HC595引脚图
74HC595是CMOS器件,兼容低电压TTL电路。
具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SCK的上升沿输入到移位寄存器中,在RCK的上升沿输入到存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(SER),和一个串行输出(Q7),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE为0时(为低电平),存储寄存器的数据输出到总线。
2.5具体电路及功能分析
2.3.1电源电路
电源电路采用普通的三端集成稳压电源CW7805,为整个系统提供+5V的电压。
电路图如图2-8所示。
图2-8稳压输出5V的电源电路
CW7805是一个输出正5V的三端稳压集成电路芯片,三端分别是输入端、公共端和输出端,输出+5V。
电路中,C4、C6分别为输入端和输出端滤波电容。
C5是减小输入电压的脉动和防止过电压,C7是消弱电路的高频干扰,具有消振作用。
2.3.2按键接口控制电路
本设计采用轻触开关S1、S2和S3分别控制字符的显示方式,S1:
控制字符逐字显示,S2:
控制字符向上显示,S3:
控制字符向左显示。
电路接线如图2-9所示。
图2-9按键接口控制电路
2.3.3显示器接口设计
1、8×8点阵LED显示器的组成原理及控制方式
图2-108×8点阵LED显示器组成原理图图2-118×8点阵LED引脚的排列图
本次设计中采用8×8点阵LED显示器,简称LED点阵板或LED矩阵板。
它是以发光二极管为像素,按照行与列的顺序排列起来,用集成工艺制成的显示器件。
有单色和双色之分,这种显示器有共阳极接法和共阴极接法两种,设计中用到的是共阳极的显示器。
共阳极接法的原理图如图2-10所示,图中画出了8×8点阵的二极管。
每一行发光二极管的阳极接在一起,有一个引出端r,每一列发光二极管的阴极接在一起,有一个引出端c。
当给发光二极管阳极引出端r1加高电平,阴极引出端c1加低电平时,左上角的二极管被点亮。
因此,对于行和列的电平进行扫描控制时,可以达到显示不同汉字的目的。
例如“电气自动化”的显示可以按照从左到右,先下后上的顺序写出编码。
然后写入单片机的数据存储单元中。
本设计实际采用MLG-132088数码点阵。
该数码点阵是共阳的,其引脚图和内部引脚图见图2-11。
其连接方式如图2-12,要使点阵上Aa二极管点亮,则A为高电平,a为低电平。
我们通过改变限流电阻的阻值的大小来改变显示字符的亮度。
(a)8*8点阵LED引脚图(b)8*8点阵LED内部结构
图2-128*8LED点阵图
设计采用逐行扫描方式,行驱动信号送扫描,列驱动信号送数据。
硬件电路图如图所示。
行驱动信号接A~H,列驱动信号接a~h。
当行驱动信号的扫描字为80H,列驱动信号的数据为7FH时,此时第一号Aa发光二极管点亮。
其余依此类推。
因第一排至第八排发光二极管的阳极是连接在一起的,因此,该点阵为共阳点阵。
当然也可以理解成共阴连接方式。
2、16×16点阵LED显示器
采用四个8×8点阵LED串并联的连接方法,电路图如图2-13所示。
行两个8×8点阵LED的行线连接在一起,作为行线L0~L15,列两个8×8点阵LED的列线连接在一起,作为列线R00~R15。
图2-1316*16LED点阵连接图
3、驱动电路的设计
显示器驱动是一个非常重要的问题,如果驱动能力差,显示器亮度就低,而驱动器长期在超负荷下运行则很容易损坏。
单片机的串口与列驱动器相连,用来显示数据。
P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信号。
P0口和P2口空着,在有必要的时候可以扩展系统的ROM和RAM。
(1)行驱动电路
行驱动电路电路图如图2-14所示。
单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。
一条行线上要带动16列的LED进行显示,按每一LED器件20mA电流计算,16个LED同时发光时,需要320mA电流,选用三极管8550作为驱动管可满足要求。
三极管8550的连接方式详细如图2-15所示。
图2-1416*16LED点阵行驱动电路图
图2-158550连接电路图
(2)列驱动电路
列驱动电路如图2-16所示。
列驱动电路由集成电路74HC595构成。
74HC595的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。
引脚SER是串行数据的输入端。
引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SER的下一个数据打入最低位。
本设计的基本原理是移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。
RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。
引脚E是输出三态门的开放信号,只有当其为低电平时锁存器的输出才开放,否则为高组态。
SCLR信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。
由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。
芯片的输出端为O1~O7,最高位Q7可作为多片74HC595级联应用时,向上一级的级联输出。
但因为Q7受输出锁存器的打入控制,所以还从输出锁存器前引出Q7,作为与移位寄存器完全同步的级联输出。
图2-1616*16LED点阵列驱动电路图
第三章系统的软件设计
3.1软件总体设计及功能描述
3.1.1总体设计思想
显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。
根据软件分层次设计的原理,我们可把显示屏的软件系统分成两大层:
第一层是底层的显示驱动程序,第二层是上层的系统应用程序。
显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示屏的扫描显示工作。
显示驱动程序由定时器T0中断程序实现。
系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。
3.1.2字符编码
图3-1“电气自动化”的点阵图
16*16点阵可以看成是从上至下32个字节。
每个字节8位,见图3-1。
图中显示为黑色的灯亮,因为该点阵为共阳点阵,因此若该灯亮,则该位为“0”;该灯不亮,则该位为“1”。
16*16点阵可以通过字模软件提起编码,本设计采用晓奇字模软件。
3.2程序设计
本设计系统采用了结构化、模块化,并且利用键扫描程序代替程序中的1ms延时程序,既为了按键的快速响应,又可以提高动态显示的扫描频率,从而减少了文字显示时的闪烁现象。
3.2.1显示驱动程序
显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:
刷频率(帧频)=1/