单片机控制LED点阵显示器.docx
- 文档编号:9188230
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:54
- 大小:696.21KB
单片机控制LED点阵显示器.docx
《单片机控制LED点阵显示器.docx》由会员分享,可在线阅读,更多相关《单片机控制LED点阵显示器.docx(54页珍藏版)》请在冰豆网上搜索。
单片机控制LED点阵显示器
1引言
自单片机出现至今,单片机技术已走过了近20年的发展路程。
纵观20年来单片机发展历程可以看出,单片机技术的发展以微处理器(MPU)技术及超大规模集成电路技术的发展为先导,以广泛的应用领域拉动,表现出较微处理器更具个性的发展趋势。
单片机自问世以来,性能不断提高和完善,其资源又能满足很多应用场合的需要,加之单片机具有集成度高、功能强、速度快、体积小、功耗低、使用方便、价格低廉等特点,因此,在工业控制、智能仪器仪表、数据采集和处理、通信系统、高级计算器、家用电器等领域的应用日益广泛,并且正在逐步取代现有的多片微机应用系统。
单片机的潜力越来越被人们所重视。
特别是当前用CMOS工艺制成的各种单片机,由于功耗低,使用的温度范围大,抗干扰能力强、能满足一些特殊要求的应用场合,更加扩大了单片机的应用范围,也进一步促使单片机性能的发展。
而现在单片机在农业上也有了很多的应用。
综上所述,我们可以把单片机的发展历史划分为四阶段:
第一阶段(1976~1978年):
低性能单片机的探索阶段。
以Intel公司的MCS-48为代表,采用了单片结构,即在一块芯片内含有8位CPU、定时/计数器、并行I/O口、RAM和ROM等。
主要用于工业领域。
第二阶段(1978~1982年):
高性能单片机阶段,这一类单片机带有串行I/O口,8位数据线、16位地址线可以寻址的范围达到64K字节、控制总线、较丰富的指令系统等。
这类单片机的应用范围较广,并在不断的改进和发展。
第三阶段(1982~1990年):
16位单片机阶段。
16位单片机除CPU为16位外,片内RAM和ROM容量进一步增大,实时处理能力更强,体现了微控制器的特征。
例如Intel公司的MCS-96主振频率为12M,片内RAM为232字节,ROM为8K字节,中断处理能力为8级,片内带有10位A/D转换器和高速输入/输出部件等。
第四阶段(1990年~):
微控制器的全面发展阶段,各公司的产品在尽量兼容的同时,向高速、强运算能力、寻址范围大以及小型廉价方面发展。
LED就是lightemittingdiode,发光二极管的英文缩写,简称LED。
它是一种通过控制半导体发光二极管的显示方式,其大概的样子就是由很多个通常是红色的发光二极管组成,靠灯的亮灭来显示字符。
用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕
LED电子显示屏是随着计算机及相关的微电子、光电子技术的迅猛发展而形成的一种新型信息显示媒体。
它利用发光二极管构成的点阵模块或像素单元组成可变面积的显示屏幕,以可靠性高、使用寿命长、环境适应能力强、性能价格比高、使用成本低等特点,在短短的十来年中,迅速成长为平板显示的主流产品,在信息显示领域得到了广泛的应用。
LED显示屏主要包括发光二极管构成的阵列、驱动电路、控制系统及传输接口和相应的应用软件等,其中驱动电路设计的好坏,对LED显示屏的显示效果、制作成本及系统的运行性能起着很重要的作用。
所以,设计一种既能满足控制驱动的要求,同时使用器件少、成本低的控制驱动电路是很有必要的。
本文就常规型驱动电路的设计作些分析设计出电路图。
LED显示屏驱动电路的设计,与所用控制系统相配合.通常分为动态扫描型驱动及静态锁存型驱动二大类。
以下就动态扫描型驱动电路的设计为例为进行分析:
动态扫描型驱动方式是指显示屏上的“4行、8行、16行”等发光二极管共用一组列驱动寄存器。
通过行驱动管的分时工作,使得每行LED的点亮时间占总时间的1/x,只要每行的刷新速率大于50Hs,利用人眼的视觉暂留效应、人们就可以看到一幅完整的文字或画面。
常规型驱动电路的设计一般是用串入并出的通用集成电路芯片如74HC595或MCNu94等作为列数据锁存,以小功率NPN三极管如8050为列驱动,而以PNP三极管如TIP127等作为行扫描管。
2单片机简介
2.1单片机的发展历史及其分类
电子计算机的发展经历了从电子管、晶体管、集成电路到大规模集成电路共四个阶段,即通常所说的第一代、第二代、第三代和第四代计算机。
现在广泛使用的微型计算机是大规模集成电路技术发展的产物,因此它属于第四代计算机,而单片机则是微型计算机的一个分支。
从1971年微型计算机问世以来,由于实际应用的需要,微型计算机向着两个不同的方向发展:
一个是向着高速度、大容量、高性能的高档微机方向发展;而另一个则是向稳定可靠、体积小和价格廉的单片机方向发展。
但两者在原理和技术上是紧密联系的。
单片机因将其主要组成部分集成在一个芯片上而得名,具体说就是把中央处理器、随机存储器、只读存储器、中断系统、定时器/计数器以及I/O口电路等主要微型机部件,集成在一块芯片上。
虽然单片机只是一块芯片,但从功能和组成上,它已具有了计算机的属性,为此它称为单片微型机。
单片机有很多的特点,主要表现在:
体积小、功耗低、价格廉、控制功能强、应用现场环境恶劣等等。
MCS-51是一个单片机系列产品,具有多种芯片型号。
具体说,按其内部资源配置的不同,MCS-51可分为两个子系列和4种类型,如表2-1所示:
表2-1MCS-51系列单片机分类
资源配置
子系列
片内ROM形式
片内
ROM
容量
片内
RAM
容量
定时器
/计数器
中
断
源
无
ROM
EPROM
E2PROM
51子系列
8031
8051
8751
8951
4KB
128B
2×16
5
52子系列
8032
8052
8752
8952
8KB
256B
3×16
6
按资源配置数量,MCS-51系列分为51和52两个子系列,其中51子系列是基本型,而52子系列则是增强型,以芯片型号的最末位数字的“1”和“2”作标志。
52作为增强型子系列,由于资源数量的增加,使其芯片的功能也有所增强。
例如片内ROM容量从4KB增加到8KB,片内RAM单元数从128字节增加到256字节,定时器/计数器的数目从2个增加到3个,中断源从5个增加到6个等。
单片机内部程序存储器(ROM)的配置共有:
不含有内部程序存储器(写为“无”或“ROMless”)、掩模型只读存储器(写为“ROM”或“MaskROM”)、紫外线擦除可编程只读存储器(写为“EPROM”或“OtpROM”)、电擦除可编程存储器(写为“E2PROM”或“FlashROM”)4种类型,所对应的(51子系列)芯片名称依次为:
80631、8051、8751和8951。
到目前为止,尽管计算机科学和技术得到了充分的发展,但计算机的体系结构仍然没能突破有计算机的开拓者、数字家约翰.冯.诺曼最先提出来的经典体系结构框架,即一台计算机是由运算器、控制器、存储器、输入设备以及输出设备共五个基本部分组成的。
微型机是这样,单片机也不例外。
图2-1MCS-52单片机系统结构框图
因此我们要从计算机五个基本组成部分的观点来理解单片机的系统结构,所不同的只是单片机是把那些作为控制应用所必需的内容,包括运算器、控制器、少量的存储器、最基本的输入/输出口电路、串行口电路、中断和定时电路等都集成在一个尺寸有限的芯片上。
2.2单片机的结构特点
1.片内的RAM采用寄存器结构形式,这样可以提高存取的速度;
2.在存储器结构上,严格的将程序存储器ROM和数据存储器RAM在空间上分开;
3.它的引出管脚一般都设计成多功能的;
4.增加了一个全双工的串行接口,以扩充I/O口和外接同步输入和输出设备;
5.有21个特殊功能寄存器;
6.有丰富的指令系统,内部设置了可以位寻址的位地址空间。
2.3MCS-52单片机芯片内部逻辑结构
1.中央处理器(CPU)中央处理器简称CPU,是单片机的核心,完成运算和控制操作。
按其功能,中央处理器包括运算器和控制器两部分电路。
2.运算器电路
运算电路时单片机的运算部件,用于实现算术和逻辑运算。
运算电路以ALU为核心,基本的算术和逻辑运算均在其中进行,包括加、减、乘、除、增量、减量、十进制调整、比较等算术运算,与、或、、异或等逻辑运算,左、右、移位和半字节交换等操作。
运算和操作结果的状态由状态寄存器(PSW)保存。
3.控制器电路
控制电路时单片机的指挥控制部件,保证单片机各部分能自动而协调地工作。
单片机执行指令是在控制电路的控制下进行的。
首先从程序存储器中读出指令,送指令寄存器保存,然后送指令译码器进行译码,译码结果送定时控制逻辑电路,由定时控制逻辑产生各种定时信号和控制信号,再送到系统的各个部件去进行相应的操作。
这就是执行一条指令的全过程,执行程序就是不断重复这一过程。
4.内部数据存储器
内部数据存储器包括RAM(256x8)和RAM地址寄存器等。
80C52芯片中共有256个RAM单元。
5.内部程序存储器
内部程序存储器包括ROM(8Kx8)和程序地址寄存器等。
80C52共有8KB掩膜ROM,用于存放程序和原始数据。
因此称之为程序存储器,简称“内部ROM”。
6.定时器/计数器
出于控制应用的需要,80C52共有三个16位的定时器/计数器,以实现定时或计数功能,并以其定时或计数结果对单片机进行控制。
7.并行I/O口
MCS-52共有4个8位的I/O口(P0、P1、、P2、P3),以实现数据的并行输入输出。
8.串行口
MCS-52单片机有一个全双公的串行口,以实现单片机和其它数据设备之间的串行数据传送。
该串行口功能较强,即可作为全双工异步通信收发器使用,也可作为同步移位器使用。
9.中断控制系统
MCS-52单片机的中断功能较强,以满足控制应用需要。
80C52共有6个中断源,全部中断分为高级和低级共两个优先级别。
10.时钟电路
MCS-52芯片的内部有时钟电路,但石英晶体和微调电容需外接,时钟电路为单片机产生时钟脉冲序列,典型的晶振频率为12MHZ。
11.位处理器
单片机主要用于控制,需要有较强的位处理功能,因此位处理器是它的必要组成部分,在一些书中常把位处理器称为布尔处理器。
位处理器以状态寄存器中的进位标志位C为累加器,可进行置位、复位、取反、等于“0”转移、等于“1”转移且清“0”以及C可寻址位之间的传送、逻辑与、逻辑或等位操作。
位处理操作也是通过运算器实现的。
必须特别指出,位处理器是单片机的重要内容,因为它是单片机实现控制功能的保证。
12.总线
上述这些部件都是通过总线连接起来,才能构成一个完整的单片机系统。
总线结构减少了单片机的连线和引脚,提高了集成度和可靠性。
从上述内容可以看出,虽然MCS-52只是一个芯片,但“麻雀虽小五脏俱全”,作为计算机应该具有的基本部件在单片机中几乎都包括,因此,实际上它已经是一个简单的微型计算机系统了,应当按计算机系统的概念来理解单片机。
3硬件系统设计
3.1将要实现的功能要求
设计一个室内用32×16点阵LED图文显示屏,要求在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形或文字应稳定、清晰无串扰。
图形或文字显示有静止、移入移出等显示方式。
3.2方案论证
从理论上说,不论图形还是文字,只要控制组成这些图形或文字的各个点所在位置相对应的LED期间发光,就可以得到我们想要的显示结果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。
32×16的点阵共有512个发光二极管,显然单片机没有这么多端口,按8位的锁存器来计算,32×16的点阵需要512/8=64个锁存器。
这个数字很庞大,因为我们仅仅是32×16的点阵,在实际应用中的显示屏往往要大得多,在锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套列驱动器。
具体就32×16点阵来说,把所有同1行的发光二极管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;.......第32行之后,又重新燃亮第1行。
反复轮回。
当这样的轮回速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形了。
采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。
显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。
显示时要把一行中个列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。
从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。
显然,采用并行方式时,从控制电路到列驱动器的线路数量很大,相应的硬件数目很多。
当列数很多时,并行传输的方案是很不可取的。
采用串行输出的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。
但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。
这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两个部分。
对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显的时间就太少了,以致影响到LED的亮度。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一行的列数据。
为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。
经过上述分析,可以归纳出列驱动器电路应具备的主要功能,对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
图3-1为显示屏电路实现的结构框图。
列驱动器
单片机
电源
LED显示点阵
行驱动器
图3-1显示屏电路框图
3.3系统硬件电路的设计
硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。
单片机采用89S52或其兼容系列的芯片,采用24MHZ或更高频率的晶振,以获得较高的刷新频率,使显示更稳定。
单片机的串口与列驱动器相连,用来送显示数据。
P1口与行驱动器相连,送出行选信号;P3口则用来发送控制信号。
P0和P2口空着,在有必要时可以扩展系统的ROM和RAM。
32×16点阵显示屏的硬件原理图如图3-2所示:
图3-232×16点阵显示屏的硬件原理图
单片机P1口输出的行号经74LS154译码后产生32条行选通信号线,再经过驱动器驱动对应的行线。
一条行线上要带动16列的LED进行显示,按每一LED期间20mA电流计算,16个LED同时发光,需要320mA电流,选用三极管8550作为驱动管可满足要求。
3.4主要芯片介绍
3.4.1正向驱动器74LS245及其应用
74LS245是正向驱动器,他具有8位同步数据通信总线,其功能为:
1.输入缓冲及抗噪声干扰。
2.2方式同步数据总线通信。
3.输入两极高速终止效果。
4.ESD大于3500V。
图3-374LS245
它具备两种工作方式,我们可以通过控制他DIR及E管脚的逻辑电平从而控制其工作方式如表3-1所示:
表3-1
真值表
INPUT
OUPUT
E
DIR
L
L
总线B流向总线A
L
H
总线A流向总线B
H
×
隔离状态
H:
代表高电平
L:
代表低电平
×:
代表忽略
工作方式一:
管脚E为低电平而管脚DIR为高电平时,数据输出方向是由A口流向B口。
工作方式二:
管脚E和管脚DIR均为高电平时,数据输出方向是由B口流向A口。
在本电路中选取了其工作方式一,也就是将数据从A口经放大在B口输出。
从表3可知74LS245的工作电压为4.5-5.5V,正常工作温度为-55-125度。
本文选用74LS245来替代三极管放大作用,在功能相同的情况下一方面节省了线路版空间,使元件更加整齐。
另一方面,使电路的焊接工作带来很大便利。
表3-2
符号
参数
最小
典型
最大
单位
VCC
支持电压
54
4.5
5
5.5
V
74
4.75
5
5.25
TA
元件运行温度范围
54
-55
25
125
度
74
0
25
70
IOH
最大输出电流
54.74
-3
mA
54
-12
74
-15
IOL
最小输出电流
54
12
mA
74
24
3.4.24-16线译码器
功能:
1.74154进行高速缓存和解码处理的译码器。
2.将4位编码转变为彼此互斥的16位编码。
3.通过不同输入控制16位编码数据输出的分配实现其复用功能。
4.输入半导体单一化系统设计。
5.高电压,低阻抗输出。
6.完全适用于绝大多数的TTL及MSI电路。
图3-474LS154管脚图
通过对其管脚图及真值表进行观察不难看出,G1,G2为74LS154的片选端,也就是说当G1和G2同为低电平时74154,可以正常工作。
除此之外的另外3种情况74154的16位输出均为高电平。
74154的情况下,当A,B,C,D输入都为低电平时,其16位输出中0脚的输出为低电平其他各脚均为高电平,当A为低电平,B,C,D分别为高电平时,1管脚输出为低电平而其他管脚均为高电平……按此规律如图3-4所示,当A,B,C,D输入都为高电平时,其16位输出中的15脚输出为低电平其他各脚均为高电平。
利用它的扩展功能,能够解决89C51在本电路中口线不足的难题。
74LS154是本电路的重要元器件之一。
表3-374LS154真值表
输入
输出
G1
G2
D
C
B
A
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
L
L
L
L
L
L
L
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
L
L
L
L
H
H
L
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
L
L
L
H
L
H
H
L
H
H
H
H
H
H
H
H
H
H
H
H
H
L
L
L
L
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
H
L
L
L
H
L
L
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
L
L
L
H
L
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
H
L
L
L
H
H
L
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
H
L
L
L
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
H
H
H
H
L
L
H
L
L
L
H
H
H
H
H
H
H
H
L
H
H
H
H
H
H
H
L
L
H
L
L
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
H
H
L
L
H
L
H
L
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
H
L
L
H
L
H
H
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
H
L
L
H
H
L
L
H
H
H
H
H
H
H
H
H
H
H
H
L
H
H
H
L
L
H
H
L
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
H
H
L
L
H
H
H
L
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
H
L
L
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
L
H
×
×
×
×
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
L
×
×
×
×
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
×
×
×
×
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
H
3.4.332×16LED数码显示屏
32×16LED数码显示屏是由8块8×8LED数码管分两排拼凑而成,数码管为共阳极,是由64个发光二极管组合而成,以4×4的内部结构图为例,如图3-5所示:
图3-54×4的LED内部结构图
当0.1.2.3四列中其中任何一列选通(为低电平)那么那一列所在的四行A.B.C.D如有高电平输入,它所对应的二极管就会导通。
所以按照这种原理,就可以用单片机的P1口经过两个74LS154扩展出32位低电平选通端,再通过单片机的P3口输出高低电平将发光二极管导通,通过逐列扫描法拼凑出想要实现的字符。
一般地,发红光的LED每段流过5MA的平均电流,就可以有较满意的亮度,7MA电流会更亮些,10MA以上也不会再亮多少。
但长期运行于10MA以上会缩短其寿命。
最大电流平均值不得超过30MA。
LED显示器允许的反向最大值为5V,此时的反向电流一般小于10UA。
小尺寸的LED显示器每段只有一个发光二极管,其正向压降约为1.5V。
一般最大不大于2V。
大尺寸的LED显示器每段可能由数个发光二极管串联,每段压降也要增大。
3.4.4系统核心单片机部分---AT89S52
单片机AT89S52有内部RAM,可以作为各种数据区使用,内部闪电存储器存放LED电子显示屏的控制程序。
AT89系列单片机是ATMEL公司生产的。
这是当前最新的一种电擦写8位单片机,与MCS-51系列完全兼容,有超强的加密功能,可完全替代87C51/52和8751/52。
它物美价廉,深受用户欢迎。
与87C51相比,AT89系列的优越性在于,其片内闪电存储器的编程与擦除完全用电实现;数据不易挥发,可保存10年;编程/擦除速度快,全4K字节编程只需时3s,擦除时间约用10ms;AT89系列了实现在线编程;也可借助电话线进行远距离编程。
AT89S52是一种低功耗、高性能内含8K字节闪电存储器(FlashMemory)的16位CMOS微控制器。
这种器件系以ATMEL高密度不挥发存储技术制造,与工业标准MCS-51指令系统和引脚完全兼容。
片内闪电存储器的程序代码或数据可在线写入,亦可通过常规的编程器编程。
例如,MP-100这样一种经济型的编程器,它支持通用EPROM等各种存储器、PAL、GAL以及INTEL、ATMEL和PHILIPS等各公司的全系列52单片机的编程。
ME5103和ME5105仿真器支持AT89系列所有器件的调试、仿真和编程。
A
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 单片机 控制 LED 点阵 显示器
![提示](https://static.bdocx.com/images/bang_tan.gif)