LED阵列汉字显示屏设计.docx
- 文档编号:11000135
- 上传时间:2023-02-24
- 格式:DOCX
- 页数:21
- 大小:342.01KB
LED阵列汉字显示屏设计.docx
《LED阵列汉字显示屏设计.docx》由会员分享,可在线阅读,更多相关《LED阵列汉字显示屏设计.docx(21页珍藏版)》请在冰豆网上搜索。
LED阵列汉字显示屏设计
LED阵列汉字显示屏设计
1、CDIO设计目的
⑴了解LED显示屏的工作原理,理解LED阵列汉字显示屏的工作原理及电路组成,理解AT89C51、74HC154、74HC595实现LED阵列汉字显示屏原理及实现方法,掌握Proteus设计及仿真LED阵列汉字显示屏。
⑵重点学习并掌握51系列单片机内部结构及各引脚功能,熟练记忆其内部常用特殊功能寄存器的各位含义及功能,为编程打下坚实的基础。
⑶通过调研了解单片机的具体工作流程,并且用Keil软件编写程序去实现,用Proteus软件去仿真调试。
⑷增强对单片机的认识,掌握分析处理问题的方法,进行调试、计算等基本技能的训练,达到具有一定程度的实际工作能力。
2、LED阵列汉字显示屏设计
2.1LED点阵显示屏
LED显示屏是由一个一个的发光二极管点阵构成的,要构成大屏幕的LED显示屏就需要多个发光二极管。
构成LED屏幕的方法有两种,一是由单个的发光二极管逐点连接起来;二是选用一些由单个发光二极管构成的LED点阵子模块构成大的LED点阵模块。
此次设计构建一个16×16的LED点阵屏选用四块8×8点阵模块。
16×16LED点阵屏如图1所示。
图1LED点阵图
一个16×16的LED显示屏行和列各有16支引脚,不能单靠51单片机的端口驱动所以必须要对单片机的端口个数进行扩展。
经常采用的端口扩展方法是用串并转换芯片进行译码。
常用的串并转换芯片有74HC154(4线-16线译码器)、74LS164(8位串并转换器)、74HC595等。
51系列单片机端口低电平时,吸入电流可达20mA,具有一定的驱动能力;而为高电平时,输出电流仅数十μA甚至更小(电流实际上是由脚的上拉电流形成的),基本上没有驱动能力,所以单片机不能直接驱动LED显示屏显示。
在单片机和显示屏之间还需要增加以功能放大位目的的驱动电路。
2.2芯片介绍
2.2.180C51系列单片机简介
80C51单片机系列源于MCS-51系列。
把所有厂家以8051为基核推出的各种型号80C51兼容型单片机统称为80C51系列。
8051是MCS-51系列中最基础的单片机型号,其供应状态有8051(MaskROM)、8751(EPROM)、8031(ROMless)。
⒈80C51单片机内部基本结构
80C51是经典的单片机系列,具有典型的单片机结构体系,由CPU系统、CPU外围单元、基本功能单元等组成,各组成部分通过内部单一总线相连。
其基本结构如图2所示。
图280C51单片机内部结构
⑴CPU系统(核心)
组成:
包括CPU、时钟系统、总线控制逻辑。
⑵CPU外围单元
功能:
与CPU运行直接相关的单元电路,与CPU构成单片机的最小系统。
组成:
包括程序存储器ROM、数据存储器RAM、输入/输出(I/O)口、操作管理寄存器SFR(特殊功能寄存器)。
⑶基本功能单元
功能:
满足单片机测控功能要求的基本计算机外围电路,用来完善和扩大计算机的功能。
组成:
包括定时/计数器、中断系统、串行通信接口等。
①80C51有两个16位定时/计数器(T0和T1)。
作用:
可以作为内部定时器或外部脉冲计数器使用。
作内部定时器时,是靠对时钟振荡器的12分频脉冲计数方式实现定时的;做为计数器时,外部脉冲通过引脚T0(P3.4)、T1(P3.5)输入。
②中断系统:
有5个中断源,即两个外部中断源、两个定时/计数器T0、T1溢出中断源和一个串行通信发送/接收完毕的中断源。
五个中断源有高级、低级两种优先状态。
两个外部中断源由引脚(P3.2)、(P3.3)输入。
③一个带有移位寄存器工作方式的通用异步收发器UART:
既可用作串行通信,还可以用于移位寄存器方式的串行外围扩展。
其接口分别为RXD(P3.0)、TXD(P3.1)。
⒉引脚功能
80C51单片机采用40引脚双列直插封装(DIP)形式(采用CHMO工艺制造),也有用44引脚的方型封装结构(QFP),其中4条(标有NC)的引脚是不连线的,其引脚图如图3所示。
图380C51单片机引脚图
各引脚名称及功能:
⑴电源引脚:
Vcc和Vss
Vcc(40脚):
接+5V电源;Vss(20脚):
接地。
⑵时钟电路引脚:
XTAL1和XTAL2
XTAL1(19脚):
片内反相放大器的输入端。
接外部石英晶体和微调电容的一端。
若使用外部时钟时,对于HMOS单片机,该引脚必须接地;对于CHMOS单片机,该引脚作为驱动端。
XTAL2(18脚):
片内反相放大器的输出端。
接外部石英晶体和微调电容的另一端。
振荡电路的频率是晶体振荡频率。
若使用外部时钟时,对于HMOS单片机,该引脚输入外部时钟脉冲;对于CHMOS单片机,此引脚应悬浮。
⑶控制信号引脚:
ALE/PROG、EA/Vpp、PSEN和RST/Vpd
①ALE:
(30脚):
地址锁存允许信号端/EPROM编程输入端。
②PSEN(29脚):
程序存储允许输出端。
片外程序存储器的读选通信号,低电平有效。
③EA/Vpp(31脚):
内部/外部ROM地址选择信号/固化编程电压输入端。
EA:
为高电平,CPU访问ROM有两种情况,当PC中的值小于0FFFH时,执行片内ROM指令;当PC中的值超过0FFFH时,将自动转向执行片外ROM指令。
为低电平时,CPU只执行片外ROM指令。
对80C31BH单片机,必须接低电平。
Vpp:
用于87C51BH编程时输入编程电压。
④RST/Vpd(9脚):
复位信号输入端/备用电源正端输入。
RST:
高电平有效,其复位信号都是靠外部电路实现。
在此输入端保持两个机器周期的高电平后,就可以完成复位操作。
⑷I/O(输入/输出)引脚:
P0、P1、P2、P3
说明:
P0~P3是4个寄存器,也称为4个端口,是80C51单片机与外界联系的4个8位双向并行I/O口。
P0口(P0.0~P0.7)(32~39脚):
一个8位的准双向I/O口。
在访问片外存储器时,它分时作为8位地址线和8位双向数据线;不作总线使用时,可作普通I/O口;其每位的负载能力为8个LSTTL。
P1口(P1.0~P1.7)(1~8脚):
一个带内部上拉电阻的8位准双向I/O口。
P1的输出缓冲级可驱动(吸收或输出电流)4个TTL逻辑门电路。
对端口写“1”,通过内部的上拉电阻把端口拉到高电平,此时可作输入口。
作输入口使用时,因为内部存在上拉电阻,某个引脚被外部信号拉低时会输出一个电流(IIL)。
P2口(P2.0~P2.7)(21~28脚):
一个带内部上拉电阻的8位准双向I/O口。
在访问片外存储器时,它作为高8位地址线;不作总线使用时,也可做普通I/O口。
其每位的负载能力为4个LSTTL。
在访问外部程序存储器或16位地址的外部数据存储器时,P2口送出高8位地址数据。
在访问8位地址的外部数据存储器(如执行MOVX@RI指令)时,P2口线上的内容(也即特殊功能寄存器(SFR)区中R2寄存器的内容),在整个访问期间不改变。
P3口(P3.0~P3.7)(10~17脚):
一个带内部上拉电阻的8位准双向I/O口;P3口除了作为一般准双向口使用外,每脚还具有第二功能(见表1);其每位的负载能力为4个LSTTL。
表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
片外数据存储器读选通控制输出
⒊定时/计数器
51系列单片机内部设有两个可编程的16位定时/计数器T0、T1。
它们均可用作定时控制、延时以及对外部事件计数。
⑴定时/计数器结构与工作原理
两个16位定时/计数器:
T0和T1。
分别由两个8位专用寄存器组成,即T0由TH0和TL0构成,T1由TH1和TL1构成,地址分别为8AH~8DH。
这些寄存器是用于存放定时或计数初值,它们都是以加“1”方式计数,每个定时/计数器都可以由软件设置成定时工作方式或计数工作方式。
TMOD主要用于选定定时器的工作方式,TCON主要用于控制定时器的启动与停止。
其逻辑结构图如图4所示。
图480C51定时/计数器逻辑结构图
①定时器
当工作在定时方式时,计数输入信号来自内部振荡器信号,在每个机器周期内定时器的计数器作一次“+1”运算,所以,可视为计算机器周期的计数器。
因一个机器周期等于12个振荡脉冲,所以定时器的计数频率Fcount=(1/12)*fosc。
如晶振为12MHz,则计数周期为:
若定时器的计数器“+1”产生溢出,则标志定时间到。
定时/计数器被设定为某种工作方式后,它就会按设定的工作方式独立运行,直到加1计数器计满溢出,才向CPU申请中断。
②计数器
当工作在计数方式时,外部输入信号来自引脚T0(P3.4)或T1(P3.5)。
外部输入信号的下降沿将触发计数,计数器在每个机器周期的S5P2期间采样外部输入信号,若一个机器周期采样值为1,下一个机器周期采样值为0,则计数器加1,故识别一个从1到0的跳变需2个机器周期。
对外部输入信号最高的计数速率是(1/24)*fosc。
对外部计数脉冲的要求:
外部输入信号的高电平与低电平保持时间均需大于一个机器周期。
若计数产生溢出,表明计数终止。
⑵定时/计数器工作方式及控制
定时/计数器在其工作之前必须将控制字写入工作方式寄存器和控制寄存器。
①工作方式寄存器TMOD
功能:
用于控制T0和T1的工作方式,格式如表2所示。
表2TMOD格式
TMOD
D7
D6
D5
D4
D3
D2
D1
D0
(89H)
GATE
C/T
M1
M0
GATE
C/T
M1
MO
定时器1
定时器0
各位含义:
M0、M1:
工作方式控制位,可构成下表的4种工作方式,见表3。
表3M0、M1工作方式控制位选择
M1M0
工作方式
功能描述
00
方式0
13位计数器
01
方式1
16位计数器
10
方式2
自动再装入8位计数器
11
方式3
T0:
分成两个8位计数;
T1:
停止计数
C/T:
功能选择位。
C/T=0为定时器方式,C/T=1为计数器方式。
GATE:
选通控制位。
当GATE=0时,只用软件对TR0(或TR1)置1即可启动定时器开始工作。
当GATE=1时,只有在INT0(或INT1)引脚为1,且用软件对TR0(或TR1)置1才能启动定时器工作。
TMOD不能位寻址,只能用字节方式设置工作方式。
复位时,TMOD所有位均为0。
②控制寄存器TCON
作用:
控制定时器的启动、停止以及标志定时器的溢出和中断情况,TCON的格式如表4所示。
表4TCON格式
TCON
8FH
8EH
8DH
8CH
8BH
8AH
89H
88H
(88H)
TF1
TR1
TF0
TR0
IE1
IT1
IE0
IT0
各位含义:
TF1:
T1溢出标志,T1溢出时由硬件置1,并申请中断,CPU响应中断后,又由硬件清0。
TF1也可由软件清0。
TF0:
T0溢出标志,功能与TF1相同。
TR1:
T1运行控制位,可由软件置1或清0来启动或停止。
TR0:
T0运行控制位,功能与TR1相同。
IE1:
外部中断1请求标志。
IE0:
外部中断0请求标志。
IT1:
外部中断1触发方式选择位。
IT0:
外部中断0触发方式选择位。
复位时,TCON所有位均为0。
TCON是可以位寻址的,因此可用位操作指令清溢出或启动定时器工作。
⒊定时/计数器的4种工作方式
每个定时/计数器有4种工作方式,在方式0、1和2,T0和T1的工作方式相同,在方式3,两个定时器的方式不同。
⑴工作方式0
功能:
一个13位的定时/计数器。
逻辑结构图如图5所示。
图5工作方式0逻辑结构图
说明:
以T0为例。
在这种方式下,16位寄存器(TH0和TL0)只用13位。
其中:
TL0的高3位未用,低5位也是整个13位的低5位,TH0占高8位。
当TL0的低5位溢出时,向TH0进位,而TH0溢出时,向中断标志TF0进位(称硬件置位TF0),并申请中断。
确认T0是否完成操作可通过查询TF0是否置位,或是否产生定时器0中断。
工作原理:
当C/T=0时,多路开关接通内部振荡器,T0对机器周期加1计数,其定时时间为:
t=(213-T0初值)×机器周期
当C/T=1时,多路开关与引脚T0(P3.4)相连,外部计数脉冲由引脚T0输入,当外部输入信号电平发生由“1”到“0”跳变时,计数器加1,这时T0成为外部事件计数器。
当GATE=0时,INT0被封锁,且仅由TR0便可控制T0的开启与关闭。
当GATE=1时,T0的开启与关闭取决于INT0和TR0相与的结果,即只有当INT0=1和TR0=1时,T0才被开启。
⑵工作方式1
功能:
一个16位的定时/计数器。
逻辑结构图如图6所示。
图6工作方式1逻辑结构图
工作原理:
几乎与方式0完全相同,惟一的差别是:
在方式1中,定时器是以16位二进制数参与操作,且定时时间为:
t=(216-T0初值)×机器周期
⑶工作方式2
功能:
能重置初值的8位定时/计数器。
逻辑结构图如图7所示。
图7工作方式2逻辑结构图
工作原理:
方式2可在计数器计满时自动装入初值。
它把16位的计数器拆成两个8位计数器,TL0用作8位计数器,TH0用来保存初值,每当TL0计满溢出时,可自动将TH0的初值再装入TL0中。
工作方式2的定时时间为:
t=(28-TH0初值)×机器周期
省去用户软件中重装初值的程序,精确的定时。
⑷工作方式3
功能:
只适用于T0。
T1不能工作在方式3,T1方式3时相当于TR1=0,停止计数(此时T1可用来作串行口波特率产生器)。
逻辑结构图如图8所示。
图8工作方式3逻辑结构图
T0在方式3下被拆成两个独立的8位计数器TL0和TH0。
其中TL0用原T0的控制位、引脚和中断源:
C/T、GATE、TR0、TF0和T0(P3.4)引脚、INT0(P3.2)引脚。
而TH0只能作为定时器使用,它占用了T1的TR1和TF1,即占用了T1的中断标志和运行控制位。
2.2.274HC595
电路采用带输出锁存器的8位串入并出移位寄存器74HC595作为列驱动器,目的是为了解决列扫描过程中列数据准备与列显示之间的矛盾问题。
74HC595由一个8位串入并出的移位寄存器和一个8位输出锁存器组成,两者的控制是各自独立的,即数据的准备和数据的输出可以同时进行。
74HC595芯片是一种串入并出的芯片,在电子显示屏制作当中有广泛的应用。
595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
数据在SH_CP的上升沿输入,在ST_CP的上升沿进入的存储寄存器中去。
如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。
移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。
⒈引脚说明
引脚如图9所示。
图974HC595引脚图
其中,各引脚功能如下:
⑴Q0~Q7:
并行数据输出
⑵Q7’:
串行数据输出
⑶MR:
主复位(低电平)
⑷SH_CP:
移位寄存器时钟输入
⑸ST_CP:
存储寄存器时钟输入
⑹OE:
输出有效(低电平)
⑺DS:
串行数据输入
⑻VCC:
电源
⑼GND:
地
⒉功能表
74HC595功能表如表5所示,其中:
H=高电平状态L=低电平状态
↑=上升沿↓=下降沿
Z=高阻NC=无变化×=无效
当MR为高电平,OE为低电平时,数据在SHCP上升沿进入移位寄存器,在ST_CP上升沿输出到并行端口。
表574HC595功能表
输入
输出
功能
SH_CP
ST_CP
OE
MR
DS
Q7’
Qn
×
×
L
↓
×
L
NC
MR为低电平时仅仅影响移位寄存器
×
↑
L
L
×
L
L
空移位寄存器到输出寄存器
×
×
H
L
×
L
Z
清空移位寄存器,并行输出为高阻状态
↑
×
L
H
H
Q6
NC
逻辑高电平移入移位寄存器状态0,包含所有的移位寄存器状态移入
×
↑
L
H
×
NC
Qn’
移位寄存器的内容到达保持寄存器并从并口输出
↑
↑
L
H
×
Q6’
Qn’
移位寄存器内容移入,先前的移位寄存器的内容到达保持寄存器并出
2.2.374HC154
74HC154是一款高速CMOS器件,74HC154引脚兼容低功耗肖特基TTL(LSTTL)系列。
74HC154译码器可接受4位高有效二进制地址输入,并提供16个互斥的低有效输出。
74HC154的两个输入使能门电路可用于译码器选通,以消除输出端上的通常译码“假信号”,也可用于译码器扩展。
该使能门电路包含两个“逻辑与”输入,必须置为低以便使能输出端。
任选一个使能输入端作为数据输入,74HC154可充当一个4-16的多路分配器。
当其余的使能输入端置低时,地址输出将会跟随应用的状态。
74HC1544线-16线译码器/解调器具有如下特点:
⑴将4个二进制编码输入译成16个彼独立的输出之一。
⑵将数据从一个输入线分配到16个输出的任意一个而实现解调功能。
⑶输入箝位二极管简化了系统设计。
⑷与大部分TTL和DTL电路完全兼容。
⒈引脚说明
引脚图如图10所示。
图1074HC154引脚图
其中,各引脚表示如下:
⑴1~17:
输出端
⑵18、19:
使能输入端、低电平有效
⑶20~23地址输入端
74HC154这种单片4线-16线译码器/解调器非常适合用于高性能存储器的译码器。
当两个选通输入G1和G2为低时,它可将4个二进制编码的输入译成16个互相独立的输出之一。
实现解调功能的办法是:
用4个输入线写出输出线的地址,使得在一个选通输入为低时数据通过另一个选通输入。
当任何一个选通输入是高时,所有输出都为高。
其真值表如表6所示。
表674HC154真值表
输入
选定输出
G1
G2
D
C
B
A
L
L
L
L
L
L
Y0
L
L
L
L
L
H
Y1
L
L
L
L
H
L
Y2
L
L
L
L
H
H
Y3
L
L
L
H
L
L
Y4
L
L
L
H
L
H
Y5
L
L
L
H
H
L
Y6
L
L
L
H
H
H
Y7
L
L
H
L
L
L
Y8
L
L
H
L
L
H
Y9
L
L
H
L
H
L
Y10
L
L
H
L
H
H
Y11
L
L
H
H
L
L
Y12
L
L
H
H
L
H
Y13
L
L
H
H
H
L
Y14
L
L
H
H
H
H
Y15
X
H
X
X
X
X
无
H
X
X
X
X
X
无
2.3程序流程图
主程序流程图如图11所示。
图11主程序流程图
2.4调试环境
本设计使用仿真软件Proteus和KeilC进行联合调试。
原理图在Proteus提供的模板中选择恰当的元器件进行设计绘图,完成电路的搭建,发现设计中的错误及时改正。
所有c语言源程序都在KeilC下编写,对仿真软件进行相应的设置后,KeilC和Proteus能进行通信,即在KeilC中全速运行程序时,Proteus中的单片机系统也会自动运行。
在进行系统软件的连续调试之前要先进行软件的初调,就是要使各个子程序模块运行正确,程序的运行流程正确。
软件调试主要分以下几个步骤进行:
⒈功能子程序的调试:
主要是查看每个子程序是否正确,这样方便查错。
⒉程序流程的调试:
主要是查看程序运行的步骤是否正确,在某时刻程序运行所处的位置是否正确,是否能正确运行各个中断服务程序。
2.5仿真电路
控制电路设计中采用的是单片机系统,该系统必须要是工作在一个最小系统(指单片机的可以的最小配置系统)。
AT89C51的最小系统包括了外界时钟电路和复位电路,选定一定数量的IO口作为控制口控制外部的各种器件和数据的输出。
根据功能选择一定的单片机端口添加外围的器件,具体电路如图12所示。
图12仿真电路
3、设计总结
经过一段时间的工作,终于完成了基于51单片机的LED显示系统的设计,项目所要求的功能全部达到。
通过这次设计收获颇多,不仅是所作题目涉及到的软硬件知识还有更为重要的实际经验和过程中所发现的问题。
接手题目之后从互联网上对LED进行了详细的资料收集,从技术和产业的两方面对LED进行了了解。
通过了解我认识到LED是一门当今应用非常广泛的技术,整个产业每年都会有巨大的产值而且技术还在不断发展和创新。
从设计之初就确定了参照大屏幕显示屏的实现方法和实际情况设计一款小屏幕的LED点阵显示屏。
在查阅了大量的大屏幕显示屏资料后确定了题目的设计方案。
整个设计采用AT89C51做核心控制器,结合74HC595和74HC154实现LED阵列汉字显示屏设计。
在实现这一设计的过程中所遇到的问题和困难给我留下了宝贵的经验和深刻教训。
这些经验和教训是:
⑴设计之前应该进行大量的资料收集和分析,确定一个清晰的设计思路。
⑵器件选择时要详细阅读器件使用手册,不但要考虑器件的功能实现还要考虑器件在整个系统中的兼容性。
⑶硬件的系统的建立必须合理和稳定,实物建立之前最好进行仿真这样才能为软件提供一个可靠的试验平台。
⑷软件的编写不但要实现功能还要不断的优化、简练、易读。
设计结束了,但学习还在继续。
我相信通过此次设计所得到的知识、心得、经验乃至感受都会让我在以后的日子里受益匪浅。
通过这次课设,对以前学过的知识进行了巩固,加深了理解,提高了应用的能力,而且提高了我们的发现、分析、解决问题的能力,更懂得了求知的重要性。
经历了从最初的设计到最后调试成功的过程,提高了对专业的认识及兴趣,对于我们工科来说,对以后就业有及其重大的影响。
4、参考文献
[1]夏继强.单片机实验与实践教程.北京:
北京航空航天大学出版社,2001.
[2]彭伟.单片机C语言程序设计100例.北京:
电子工业出版社,2009.
[3]于永.51单片机C语言常用模块与综合系统设计.北京:
电子工业出版社,2007.
[4]谭浩强.C语言程序设计.北京:
清华大学出版社,2005.
[5]于永.51单片机C语言常用模块与综合系统设计.北京:
电子工业出版社,2007.
[6]关积珍.LED.显示屏发展状况及趋势[J].世界电子元器件,2000.
[7]关积珍,陆家和.我国LED显示屏技术和产业发展及展望.现代显示,2004.
课程设计
评语
课程设计
成绩
指导教师
(签字)
年月日
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- LED 阵列 汉字 显示屏 设计