LED汉字点阵显示系统.docx
《LED汉字点阵显示系统.docx》由会员分享,可在线阅读,更多相关《LED汉字点阵显示系统.docx(24页珍藏版)》请在冰豆网上搜索。
![LED汉字点阵显示系统.docx](https://file1.bdocx.com/fileroot1/2023-2/21/dd0b97d3-7399-4031-bf8b-a929361bea66/dd0b97d3-7399-4031-bf8b-a929361bea661.gif)
LED汉字点阵显示系统
电子技术综合设计课程设计方案
LED汉字点阵显示系统
课题任务:
采用80C51单片机和LED点阵显示模块设计实现组合点阵信息显示。
具有显示内容自动更新的功能以完成对任意存储的信息内容进行完整的显示。
方案比较与选择:
方案一:
1、采用80C51单片机为核心器件,组成一个点阵式汉字电子显示屏;
2、显示屏由一块16×16LED点阵显示器组成,可一次动态显示,实现静止、移入移出等多种显示方式可显示四个或更多的汉字;
3、通过编程能够随时对汉字进行修改、调整。
方案二:
1、采用80C51单片机为核心器件,组成一个电针式汉字电子显示屏;
2、显示屏由4个16×16点阵LED电子显示器组成,可动态显示,使文字能够实现静止、移入移出等多种显示方式
3、通过80C51单片机控制一个行驱动器74LS154和八个列驱动器74HC595来驱动显示屏显示
4、通过编程能够随时对汉字进行修改、调整。
方案三:
1、采用80C51单片机为核心器件,组成一个电针式汉字电子显示屏;
2、显示屏由4个16×16点阵LED电子显示器组成,可动态显示,使文字能够实现静止、移入移出等多种显示方式
3、通过80C51单片机控制一个行驱动器74LS154和八个列驱动器74HC595来驱动显示屏显示
4、通过串口通信,从外部pc输入要显示的文字,从而实现文字的动态该更新。
以上方案都是以前一个方案为基础,层层提高,最终实现方案三的实物及软件模拟。
方案实现:
∙设计思路:
1)、选择四片74LS273作为16×16点阵LED显示器的数据锁
器。
2)、1#,2#锁存器分别控制上8行和下8行,3#,4#锁存器分别控制左8列和右8列。
3)、P0口作为I/O口,输出行数据和控制信号。
4)、P2口作为I/O口,与“写”控制信号配合,输出列控制信号。
5)、通过编程依次显示汉字“欢迎光临”。
二、硬件设计框图:
根据设计要求与设计思路,硬件电路设计框图如图11-1所示。
硬件电路由六部分组成:
时钟电路、复位电路、单片机、点阵显示器阳极驱动电路、阴极驱动电路和16×16点阵显示器。
图11-1硬件电路设计框图
三、16×16点阵LED显示器汉字显示工作原理:
16×16点阵LED显示器有两种接线方式,即共阴极接法和共阳极接法。
共阳极接法原理图如图11-2a所示,图中只画出了4×4点阵的二极管。
每一行发光二级管的阳极接在一起,有一个引出端r,每一列发光二级管的阴极接在一起,有一个引出端c。
当给发光二级管阳极引出端r1加高电平,阴极引出端c1加低电平时,左上角的二极管点亮。
因此,对行和列的电平进行扫描控制时,可以实现显示不同汉字的目的。
图11-2a
四、点阵LED的显示与单片机的接口:
16×16点阵LED引脚如图11-2b所示。
当采用单片机进行控制时,连接16×16点阵LED显示器需要接入四片74LS273锁存器、单片机、锁存器与LED显示器的链接如图11-3所示。
在编控程序时,将16×16点阵LED显示器分为上下两部分,上部分8行16列和下部分8行16列。
1#、2#锁存器分别控制上8行和下8行,3#、4#锁存器分别控制左8列和右8列。
每一列由两个字节组成,数据分成两次送入,然后扫描一列,显示一个字需要扫描16次。
图11-3单片机、锁存器与LED显示器连接
五、程序设计:
1、“欢迎光临”四字的编码表如下:
TAB1:
DB00H,00H,00H,10H,34H,08H,44H,04H;“欢”字编码数据
DB84H,03H,7CH,04H,06H,28H,28H,10H
DB0FH,0CH,89H,03H,0F8H,03H,08H,0CH
DB28H,18H,1CH,30H,08H,20H,00H,00H
TAB2:
DB00H,00H,40H,10H,40H,30H,0E6H,1FH;“迎”字编码数据
DB06H,18H,00H,10H,00H,24H,0FEH,23H
DB02H,21H,81H,20H,0FFH,3FH,02H,21H
DB02H,23H,0FFH,21H,02H,20H,00H,00H
TAB3:
DB00H,00H,40H,00H,44H,20H,48H,20H;“光”子编码数据
DB50H,10H,0E0H,0FH,40H,00H,0FFH,1FH
DB60H,20H,50H,20H,48H,20H,46H,20H
DB60H,20H,40H,10H,00H,00H,00H,00H
TAB4:
DB0F0H,03H,00H,40H,00H,20H,0FFH,1FH;“临”字编码数据
DB00H,00H,00H,00H,40H,3FH,31H,21H
DB1FH,21H,14H,21H,24H,3FH,64H,21H
DB44H,21H,46H,21H,04H,3FH,00H,00H
2、主程序:
ORG0100H
MAIN:
MOVR6,#40H;设置“欢”字显示的延长时间常数
HUANZ:
LCALLHSUB;调“欢”字显示子程序
DJNZR6,HUANZ;判断延时时间到否
MOVR7,#40H;设置“迎”字显示的延长时间常数
YINGZ:
LCALLYSUB;调“迎”字显示子程序
DJNZR7,YINGZ;判断延时时间到否
MOVR6,#40H;设置“光”字显示的延长时间常数
GUANGZ:
LCALLGSUB;调“光”字显示子程序
DJNZR6,GUANGZ;判断延时时间到否
MOVR7,#40H;设置“临”字显示的延长时间常数
LIN:
LCALLLSUB;调“临”字显示子程序
DJNZR7,LIN;判断延时时间到否
AJMPMAIN;程序循环
一、“欢”字显示子程序:
HSUB:
MOVR5,#00H;“欢“字显示子程序开始,显示S数据计数器值初置
MOVR1,#OFEH;前8列计数显示,选中的一列
HSUB0:
MOVDPTR,#0DFFH;DFFFH为3#锁存器的地址
MOVA,R1
MOVX@DPTR,A
MOVDPTR,#0EFFFH;EFFFFH为4#锁存器的地址
MOVA,#0FFH
MOVX@DPTR,A;将第一列的点阵数据的上半部分送给LED
MOVDPTR,TAB1
MOVA,R5
MOVCA,@A+DPTR
MOVDPTR,#7FFFH;7FFFH为1#锁存器的地址
MOVX@DPTR,A
INCR5
MOVA,R5
MOVDPTR,TAB1;将第一列的点阵数据的上半部分送给LED
MOVCA,@A+DPTR
MOVDPTR,#0BFFFH;0BFFF为2#锁存器的地址
MOVX@DPTR,A
LCALLDY1MS;调用延时一秒子程序
MOVA,R1;准备选中下一列
RLA
MOVR1,A
INCR5
CJNER5,#10H,HSUB0;判断前八列显示完否,如果没完继续显示
MOVR1,#0FEH;后八列数据显示
HSUB1:
MOVDPTR,#0EFFFH
MOVA,R1
MOVX@DPTR,A
MOVDPTR,#0DFFFH
MOVA,#0FFH
MOVX@DPTR,A
MOVDPTR,TAB1
MOVA,R5
MOVCA,@A+DPTR
MOVDPTR,#7FFFH
MOVX@DPTR,A
INCR5
MOVA,R5
MOVDPTR,TAB1
MOVCA,@A+DPTR
MOVDPTR,#0BFFFH
MOVX@DPTR,A
LCALLDY1MS
MOVA,R1
RLA
MOVR1,A
INCR5
CJNER5,#20H,HSUB1
RET
二、迎字的显示程序
YSUB:
MOVR5,#00H
MOVR1,#0FEH
YSUB0:
MOVDPTR,#0DFFFH;
MOVA,R1
MOVX@DPTR,A
MOVDPTR,#0EFFFH
MOVA,#0FFH
MOVX@DPTR,A
MOVDPTR,TAB2
MOVA,R5
MOVCA,@A+DPTR
MOVDPTR,#7FFFH
MOVX@DPTR,A
INCR5
MOVA,R5
MOVDPTR,TAB2
MOVCA,@A+DPTR
MOVDPTR,#0BFFFH
MOVX@DPTR,A
LCALLDY1MS
MOVA,R1
RLA
MOVR1,A
INCR5
CJNER5,#10H,YSUB0
MOVR1,#0FEH
YSUB1:
MOVDPTR,#0EFFFH
MOVA,R1
MOVX@DPTR,A
MOVDPTR,#0DFFFH
MOVA,#0FFH
MOVX@DPTR,A
MOVDPTR,TAB2
MOVA,R5
MOVCA,@A+DPTR
MOVDPTR,#7FFFH
MOVX@DPTR,A
INCR5
MOVA,R5
MOVDPTR,TAB2
MOVCA,@A+DPTR
MOVDPTR,#0BFFFH
MOVX@DPTR,A
LCALLDY1MS
MOVA,R1
RLA
MOVR1,A
INCR5
CJNER5,#20H,YSUB1
RET
三、光字的显示程序
GSUB:
MOVR5,#00H
MOVR1,#0FEH
GSUB0:
MOVDPTR,#0DFFFH
MOVA,R1
MOVX@DPTR,A
MOVDPTR,#0EFFFH
MOVA,#0FFH
MOVX@DPTR,A
MOVDPTR,TAB3
MOVA,R5
MOVCA,@A+DPTR
MOVDPTR,#7FFFH
MOVX@DPTR,A
INCR5
MOVA,R5
MOVDPTR,TAB3
MOVCA,@A+DPTR
MOVDPTR,#0BFFFH
MOVX@DPTR,A
LCALLDY1MS
MOVA,R1
RLA
MOVR1,A
INCR5
CJNER5,#10H,GSUB0
MOVR1,#0FEH
GSUB1:
MOVDPTR,#0EFFFH
MOVA,R1
MOVX@DPTR,A
MOVDPTR,#0DFFFH
MOVA,#0FFH
MOVX@DPTR,A
MOVDPTR,TAB3
MOVA,R5
MOVCA,@A+DPTR
MOVDPTR,#7FFFH
MOVX@DPTR,A
INCR5
MOVA,R5
MOVDPTR,TAB3
MOVCA,@A+DPTR
MOVDPTR,#0BFFFH
MOVX@DPTR,A
LCALLDY1MS
MOVA,R1
RLA
MOVR1,A
INCR5
CJNER5,#20H,GSUB1
RET
四、临字的显示程序
LSUB:
MOVR5,#00H
MOVR1,#0FEH
LSUB0:
MOVDPTR,#0DFFFH
MOVA,R1
MOVX@DPTR,A
MOVDPTR,#0EFFFH
MOVA,#0FFH
MOVX@DPTR,A
MOVDPTR,TAB4
MOVA,R5
MOVCA,@A+DPTR
MOVDPTR,#7FFFH
MOVX@DPTR,A
INCR5
MOVA,R5
MOVDPTR,TAB4
MOVCA,@A+DPTR
MOVDPTR,#0BFFFH
MOVX@DPTR,A
LCALLDY1MS
MOVA,R1
RLA
MOVR1,A
INCR5
CJNER5,#10H,LSUB0
MOVR1,#0FEH
LSUB1:
MOVDPTR,#0EFFH
MOVA,R1
MOVX@DPTR,A
MOVDPTR,#0DFFFH
MOVA,#0FFH
MOVX@DPTR,A
MOVDPTR,TAB4
MOVA,R5
MOVCA,@A+DPTR
MOVDPTR,#7FFFH
MOVX@DPTR,A
INCR5
MOVA,R5
MOVDPTR,TAB4
MOVCA,@A+DPTR
MOVDPTR,#0BFFFH
MOVX@DPTR,A
LCALLDY1MS
MOVA,R1
RLA
MOVR1,A
INCR5
CJNER5,#20H,LSUB1
RET
DY1MS:
MOVR3,#0AH
LOOP:
MOVR4,#0FAH
DJNZR4,$
DJNZR3,LOOP
RET
TAB1:
DB00H,00H,00H,10H,34H,08H,44H,04H;"欢"字编码数据
DB84H,03H,7CH,04H,06H,28H,28H,10H
DB0FH,0CH,89H,03H,0F8H,03H,08H,0CH
DB28H,18H,1CH,30H,08H,20H,00H,00H
TAB2:
DB00H,00H,40H,10H,40H,30H,0E6H,1FH;"迎"字编码数据
DB06H,18H,00H,10H,00H,24H,0FEH,23H
DB02H,21H,81H,20H,0FFH,3FH,02H,21H
DB02H,23H,0FFH,21H,02H,20H,00H,00H
TAB3:
DB00H,00H,40H,00H,44H,20H,48H,20H;"光"子编码数据
DB50H,10H,0E0H,0FH,40H,00H,0FFH,1FH
DB60H,20H,50H,20H,48H,20H,46H,20H
DB60H,20H,40H,10H,00H,00H,00H,00H
TAB4:
DB0F0H,03H,00H,40H,00H,20H,0FFH,1FH;"临"字编码数据
DB00H,00H,00H,00H,40H,3FH,31H,21H
DB1FH,21H,14H,21H,24H,3FH,64H,21H
DB44H,21H,46H,21H,04H,3FH,00H,00H
六、测试方案:
采用Proteus软件对方案进行系统设计仿真从而模拟测试运行结果。
七、元器件清单:
在本次设计中,用到的元件清单如下表1-3
表1-3
元件名称
数量(个)
8×8LED显示屏
4
AT89S51单片机
1
74LS273数据锁存器
4
晶振12MHZ
1
电容30pf
3
电解电容22µf
1
电阻1K
1
电源5V
1
74LS08与门芯片
1
方案二:
一、设计思路:
本方案是4个16×16点阵LED电子显示屏的设计。
整机以AT89C51单片机为核心,通过单片机片控制一个行驱动器74LS154和八个列驱动器74HC595来驱动显示屏显示。
该电子显示屏可以显示各种文字,全屏能显示4个汉字,采用16块8x8点阵LED显示模块来组成4个16x16点阵显示模式。
显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。
二、硬件设计框图:
采用重叠处理的方法。
即在显示本行各列数据的同时,传送下一列数据。
为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。
经过上述分析,就可以归纳出列驱动器电路应具有的功能。
对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示。
图2-2为显示屏电路实现的结构框图。
根据设计要求与设计思路,图12-1为显示屏电路实现的结构框图。
图12-1.电路框图
三、原理电路图:
图12-24个16×16点阵显示屏硬件原理图
四、元件清单:
在本次设计中,用到的元件清单如下表2-3
表2-3
元件名称
数量(个)
8×8LED显示屏
16
MSC51单片机
1
74LS154线译码器
1
74LS595集成电路
8
74HC245驱动芯片
1
74HC00与非门
1
五、程序流程图:
图12-3.显示驱动程序流程图
图12-4.系统主程序流程图
方案三:
一、硬件系统设计
本系统采用AT89C51单片机作控制器,整个电路主要由单片机控制及其接口电路、驱动显示电路、电源电路等部分组成。
为了简化显示屏电路,降低成本,本系统在单片机部分不加字库存储器。
而在PC机上编辑汉字和字符显示信息,并将其转换为相应的点阵显示数据,然后通过串口(采用RS-232通信标准)送给单片机存储并进行显示处理。
图13-1所示为其硬件系统原理图。
图13-1硬件系统原理图
1、单片机控制电路
本系统由AT89C51构成单片机最小应用系统.同时配有11.0592MHz晶振和按键复位电路等。
系统外扩的一片Flash存储器29F040为数据存储器,可用来存储由PC机串口送来的点阵信息(通过软件将图像或文字转换成与LED显示屏的像素相对应的点阵信息)。
该Flash存储器是一种非易失性存储器,它在供电电源关闭后仍能保持片内信息。
由于29F040的容量为512KB(该芯片内部由8个64Kbyte的读写块组成,可分块进行读、写和擦除等操作),而AT89C51只能管理64KB的数据空间,所以,需将29F040分成8页,每页64KB。
其页码可由单片机的P3.2~P3.4来选择。
另外,采用MAX232可完成RS232与TTL电平的转换,以便使PC机与单片机交换信息。
二、16x64点阵显示器的设计
图13-2是一种8x8的LED点阵单色行共阳模块的内部结构图,其单点工作电压Uf为1.8V,正向电流IF为8~10mA。
当某一行线为高电平而某一列线为低时,其行列交叉的点就被点亮;而当其某一列线为高时,其行列交叉的点为暗;当某一行线为低电平时,无论列线如何,对应这一行
图13-2行共阳8x8点阵显示器内部结构
用四个8x8点阵显示可构成16x16点阵显示器,其连接方法如图3所示。
图中,将(A)和(B)的8列、(C)和(D)的8列分别对应相连,同时将(A)和(C)的8行、(B)和(D)的8行分别对应相连。
即可形成一个16行(每一行有16个LED)、16列(每一列也有16个LED)的16x16点阵显示器,可将这256个点称为一页,这样,显示字符时。
只要对一页中对应的亮灭进行控制即可。
图13-316x16点阵显示器连接图
如果需要,也可以把4个16x16点阵显示器相连从而构成16x64的点阵显示器。
三、LED点阵显示器的扫描驱动
LED显示屏驱动电路的设计应与所用控制系统相配合。
驱动通常分为动态扫描型及静态锁存型驱动二大类。
本文以动态扫描型驱动电路的设计为例来进行分析。
动态扫描型驱动方式是指显示屏上的16行发光二极管共用一组列驱动寄存器,然后通过行驱动管的分时工作,来使每行LED的点亮时间占总时间的1/16。
只要每行的刷新速率大于50Hz,利用人眼的视觉暂留效应,人们就可以看到一幅完整的文字或画面。
AT89S51单片机有四个I/O口(P0、P1、P2、P3),每个I/O口有8位,如果都采用并行输出,显然不能满足要求,因此,本设计中的行扫描驱动采用并口输出,而场扫描驱动采用串口输出。
行扫描驱动:
由于16x64点阵显示器有16行,为充分利用单片机的接口,本电路中加入了一个4-16线译码器74LS154,其输入是一个16进制码,解码输出为低态扫描信号,它们的管脚示意图如图4所示。
把74LS154的G1和G2引脚接地,然后以A、B、C、D四脚为输入端。
就会形成16种不同的输入状态,分别为0000~1111,然后使每种状态只控制一路输出,即会有16路输出。
图13-474LS154和74HC595管脚示意图
如果一行64点全部点亮,则通过74LS154的电流将达640mA,而实际上,74LS154译码器提供不了足够的吸收电流来同时驱动64个LED同时点亮,因此,应在74LS154每一路输出端与16x64点阵显示器对应的每一行之间用一个三极管来将电流信号放大,本文选用的是达林顿三极管TIP127。
这样,74LS154某一输出脚为低电平时,对应的三极管发射极为高电平,从而使点阵显示器的对应行也为高电平。
场扫描驱动:
本系统场扫描驱动电路的设计可用串入并出的通用集成电路74HC595来作为数据锁存。
74HC595是一个八位串行输入三态并行输出的移位寄存器,其管脚见图4所示,其中SI是串行数据的输入端,RCK是存储寄存器的输入时钟,SCK是移位寄存器的输入时钟,Q'H是串人数据的输出,G是对输人数据的输出使能控制,QA~QH为串入数据的并行输出。
从SI口输入的数据可在移位寄存器的SCK脚上升沿的作用下输入到74HC595中。
并在RCK脚的上升沿作用下将输入的数据锁存在74HC595中,这样,当G为低电平时,数据便可并行输出。
为了避免与PC机串口输入的数据相互干扰,也可使用模拟串口P1.4~P1.7来分别输出串行数据、移位时钟SCK、存储信号RCK和并行输出的使能信号G。
为了消除电源电压的波动及行扫描管压降(第一行点亮的点数不同,将引起管压降的变化,从而影响通过LED管的电流)的变化对LED显示屏亮度的影响,设计时可采用列恒流驱动电路,可选用三极管8550和外围元件构成列恒流驱动电路,并通过调整100kΩ可调电阻使三极管处于放大状态,同时将集电极电流调整为10mA,从而使点亮对应点阵时通过LED的电流不变
扫描显示工作过程:
将8片74HC595进行级连,可共用一个移位时钟SCK及数据锁存信号RCK。
这样,当第一行需要显示的数据经过8x8=64个SCK时钟后便可将