4个16x16点阵LED电子显示屏.docx
- 文档编号:13223418
- 上传时间:2023-06-12
- 格式:DOCX
- 页数:21
- 大小:154.08KB
4个16x16点阵LED电子显示屏.docx
《4个16x16点阵LED电子显示屏.docx》由会员分享,可在线阅读,更多相关《4个16x16点阵LED电子显示屏.docx(21页珍藏版)》请在冰点文库上搜索。
4个16x16点阵LED电子显示屏
毕业设计论文
点阵LED电子显示屏的设计
系电子信息工程系
专业应用电子技术姓名刘凯
班级电子093学号0901023317
指导教师孙玲职称副教授
设计时间2011.9.22-2011.12.23
目录
第一章引言4
第二章系统方案设计5
第三章系统硬件电路的设计6
3.1单片机系统及其外围电路6
3.2行驱动电路6
3.3列驱动电路7
第四章系统程序的设计10
4.1显示驱动程序10
4.2系统主程序11
第五章调试及性能分析12
第六章控制源程序清单13
6.1单片机汇编源程序清单13
6.2单片机C源程序清单20
第七章结语28
参考文献29
摘要:
本设计以单片机AT89C52为核心,构成了4个中
论文详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。
关键词:
LED;点阵显示;AT89C52;74LS595
第一章引言
LED显示屏是利用发光二极管点阵模块或像素单元组成的平面式的显示屏,LED显示屏分数码显示屏、图文显示屏和视屏显示屏,都是由LED矩阵块组成。
由于它具有体积小、放光效率高、工作电压低、功耗小、寿命长、组态灵活、色彩丰富、耐冲击性和性能稳定等优点,因而受到广泛的重视而得到发展。
近年LED显示屏已广泛应用于室内、外需要进行服务内容和服务宗旨宣传的公众例如银行、邮电、店铺、商场、车站、交易市场、医院、体育场等多种场合。
目前,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,它可以用单片机控制实现显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型。
随着LED显示屏在广告传媒领域逐渐崭露头角,其控制系统也如雨后春笋,层出不穷。
由于它的控制系统均是基于嵌入式微处理器开发,所以单片机在其中也占有一席之地。
单片机的应用改变了控制系统传统的设计思想和方法。
以前采用硬件电路实现的大部分控制功能,正在用单片机通过软件方法来实现。
这种以软件结合硬件或取代硬件并能提高系统性能的控制技术称为微控制技术。
本文所要论述的是通过单片机来控制LED点阵显示,具体显示技术和原理将会在正文中得到详细论述。
第二章系统方案设计
从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。
显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。
当列数很多时,并列传输的方案是不可取的。
采用串行传输的方法,控制电路可以只用一根信号线,将列数据逐位地传往列驱动器,在硬件方面无疑是十分经济的。
但是,串行传输过程较长,数据按顺序逐位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进行显示。
这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。
对于串行传输方式来说,列数据准备时间可能相对要长一些,在行扫描周期确定的情况下,行显示的时间就会缩短,以致影响到LED的亮度效果。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法来解决。
即在显示本行各列数据的同时,传送下一行的列数据。
为了达到重叠处理的目的,列数据的显示就需要具有锁存功能。
经过上述分析,可以归纳出列驱动器电路应具有的主要功能;对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示时间。
图2.1为显示屏电路实现的结构框图。
图2.1显示屏电路框图
第三章系统硬件电路的设计
本设计硬件电路大致可分为单片机系统及外围电路,行驱动电路和列驱动电路3部分。
3.1单片机系统及其外围电路
单片机采用89C51或其兼容系列的芯片。
系统采用12MHz或更高频率的晶振,以获得较高的刷新频率,使显示更稳定。
单片机的串口与列驱动器相连,用来送显示数据。
P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信号。
P0和P2口空闲,在必要时,可以扩展系统的ROM和RAM。
16×16点阵显示屏的硬件原理图如图3.1所示。
3.2行驱动电路
单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。
一条行线上要带动16列×4的LED进行显示,按每一个LED器件5mA电流来计算,64个LED同时发光时,需要320mA电流,选用三极管8550作为驱动管可满足要求。
3.3列驱动电路
列驱动电路是由集成电路74LS595构成。
它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。
74LS595的外形及内部结构如图3.2所示。
它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。
引脚SER是串行数据的输入端。
引脚SRCLK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将ER的下一个数据输入最低位。
移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。
RCLK是输出锁存器的输入信号,其上升沿将移位寄存器的输出信号输入到输出锁存器。
引脚E是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高组态。
SRCLR信号是移位寄存器清0输入端,当其为低时移位寄存器的输出全部为0。
由于SRCLK和RCLK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。
芯片的输出端为O0~O7,最高位O7可作为多片74LS595级联应用时向上一级的级联输出。
但因O7受输出锁存器输入控制,所以还从输出锁存器前引出Q7,作为与移位寄存器完全同步的级联输出。
图3.14个16×16点阵显示屏硬件原理图
图3.274LS595外形及内部逻辑结构图
第四章软件设计
本设计的主要功能是向屏体提供显示数据,产生各种控制信号,使屏幕按设计的要求显示。
根据软件分层次设计的原理,可以把显示屏的软件系统分为两大层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。
显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。
显示驱动器程序由定时器T0中断程序实现。
系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。
从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑,本显示屏程序适宜采用C语言来编写。
4.1显示驱动程序
显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,16行扫描显示屏的刷新率计算公式如下:
刷频率=
×
溢出率=
×
(4-1)
其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。
然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。
为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。
图4.1为显示驱动程序流程图。
图4.1显示驱动程序流程图
4.2系统主程序
本设计系统主程序开始以后,首先是要对系统环境初始化,包括设置串口、定时器、中断和端口;然后以“卷帘出”效果显示图形;接着向上滚动显示,然后以“卷帘入”效果隐去图形。
由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。
图4.2是系统主程序流程图。
图4.2系统主程序流程图
第六章程序清单
;********************************
;*4字16×16点阵电子屏字符显示器*
;*AT89C5212MHz晶振*
;********************************
;显示字用查表法,不占内存,用4个16×16共阳LED点阵显示
;效果:
向上滚动显示字,每次4个,重复循环
;R2:
行扫描地址(00~0FH)。
;R3:
滚动显示时控制移动速度,也可控制静止显示的时间
:
**************中断入口程序********
ORG0000H
LJMPSTART
ORG0003H
RETI
ORG000BH
LJMPINTT0
ORG0013H
RETI
ORG001BH
RETI
ORG0023H
RETI
ORG002BH
RETI
;*************主程序****************
START:
MOV20H,#00H;清标志,00H为1帧扫描结束标志
MOVA,#0FFH;埠初始化
MOVP1,A
MOVP2,A
MOVP3.A
MOVP0,A
CLRP1,6;串行寄存器输入/输出端控制位
MOVTMOD,#01H;使用T0作16位定时器,行扫描用
MOVTH0,#0FCH;1ms初值(12MHz)
MOVTH0,#18H
MOVSCON,#00H;串口0方式传送显示位元元组
MOVIE,#82H;T0中断允许,总中断允许
MOVSP,#70H
LCALLDIS1;显示准备,黑屏,1.5s
MAIN:
MOVDPTR,#TAB
LCALLMOVDISP;逐排显示,每次4字)
MOVDPTR,#TAB
LCALLMOVDISP1;滚动显示,每排4字)
AJMPMAIN
;************4字逐排显示子程序*****************
;每次4字移入移出显示方式,入口时定义好DPTR值
MOVDISP:
MOVR1,#6;显示6排字,每排4字(R1=排数)
DISLOOP:
MOVR3,#100;每排显示时间为16ms×100=1.6s
DISMOV:
MOVR2,#00H;第0行开始
SETBTR0;开扫描(每次一帧)
WAITMOV:
JBC00H,DISMOV1;标志为1,扫描一帧结束(16ms为1帧,每行1ms)
AJMPWAITMOV
DISMOV1:
DJNZR3,DISMOV;显示字指针移一排(每排4字×32=128字)
MOVA,#128
ADDA,DPL
MOVDPL,A
MOVA,#0
ADDCA,DPH
MOVDPH,A
DECR1;R1为0,显示完
MOVA,R1
JZMOVOUT
AJMPDISLOOP
MOVOUT:
RET;移动显示结束
;*******************4字滚动显示子程序*********************
;每排4字向上移出显示方式,入口时定义好DPTR值
;
MOVDISP1:
MOVR1,#255;向上移动显示6排字,每排4字(R1=排数×16)
DISLOOP1:
MOVR3,#10;移动速度为16ms×10=0.16s
DISMOV2:
MOVR2,#00H;第0行开始
SETBTR0;开扫描(每次一帧)
WAITMOV1:
JBC00H,DISMOV3;标志为1扫描一帧结束(16ms为1帧,每行1ms)
AJMPWAITMOV1
DISMOV3:
DJNZR3,DISMOV2;1帧重复显示(控制移动速度)
INCDPTR;显示字指针移一行(2字节位置)
INCDPTR
DECR1;R1为0,显示完
MOVA,R1
JZMOVOUT1
AJMPDISLOOP1
MOVOUT1:
RET;移动显示结束
;*******************4字显示子程序**********************
;静止显示表中某4字
DIS1:
MOVR3,#5AH;静止显示时间控制
DIS11:
MOVR2.#00H;一帧扫描初始值(行地址00~0FH)
MOVDPTR,#TAB;取表首址
SETBTR0;开扫描(每次一帧)
WAIT11:
JBC00H,DIS111;标志为1,扫描一帧结束
AJMPWAIT11
DIS111:
DJNZR3,DIS11
RET
;**************扫描程序********************
;1ms传送一行,每行显示1ms,一次传送4字的某行共8字节
INTT0:
PUSHACC
MOVTH0,#0FCH;1ms初始值重装
MOVTH0,#18H
MOVA,#97;指向第4个字行右字节
ADDA,DPL
MOVDPL,A
MOVA,#0
ADDCA,DPH
MOVDPH,A
MOVA,#0
MOVCA,@A+DPTR;查表
MOVSBUF,A;串口0方式发送
WAIT:
JBCTI,GO;等待发送完毕
AJMPWAIT
GO:
MOVA,DPL;指向第4个字行左字节
SUBBA,#1
MOVDPL,A
MOVA,DPH
SUBBA,#0
MOVDPH,A
MOVA,#0
MOVCA,@A+DPTR
MOVSBUF,A
WAIT1:
JBCTI,GO1
AJMPWAIT1
GO1:
MOVR0,#03H
MLOOP:
MOVA,DPL;指向前3个字行右字节
SUBBA,#31
MOVDPL,A
MOVA,DPH
SUBBA,#0
MOVDPH,A
MOVA,#0
MOVCA,@A+DPTR;查表
MOVSBUF,A;串口0方式发送
WAIT2:
JBCTI,GO2;等待发送完毕
AJMPWAIT2
GO2:
MOVA,DPL;指向前3个字行左字节
SUBBA,#1
MOVDPL,A
MOVDPL,A
MOVA,DPH
SUBBA,#0
MOVDPH,A
MOVA,#0
MOVC@A+DPTR
MOVSBUF,A
WAIT3:
JBCTI,GO3
AJMPWAIT3
GO3:
DJNZR0,MLOOP;执行3次
SETBP1.7;关行显示,准备刷新
NOP;串口寄存器数据稳定
SETBP1.6;产生上升沿,行数据输入输出端
NOP
NOP
CLRP1.6;恢复低电平
MOVA,R2;修改显示行地址
ORLA,#0F0H;修改显示行地址
MOVR2,A;修改显示行地址
MOVA,P1;修改显示行地址
ORLA,#0FH;修改显示行地址
ANLA,R2;修改显示行地址
MOVP1,A;修改完成
CLRP1.7;开行显示
INCR2;下一行扫描地址值
INCDPTR
INCDPTR;下一行数据地址
MOVA,R2
ANLA,#0FH
JNZGO4
SETB00H;R2为10H,现为末行扫描,置1帧结束标志
MOVA,DPL;指针修正为原帧初值
SUBBA,#32
MOVDPL,A
MOVA,DPH
SUBBA,#0
MOVDPH,A
CLRTR0;一帧扫描完,关扫描
GO4:
POPACC
RETI;退出
;************扫描文字表*********
;共5排字,每排4个字,前后为黑屏
TAB:
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;黑屏
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;黑屏
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;黑屏
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH;黑屏
DB0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH
DB0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0H7H;——文字:
单——
DB0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH
DB0FEH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH;——文字:
片——
DB0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0EFH
DB0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EFH,077H,0C7H,077H,0CBH,0FFH;——文字:
机——
DB0ABH,077H,0AFH,077H,06EH,0F7H,0EFH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH,0FFH
DB0FFH,0FFH,0F0H,00FH,0F7H,0EFH,0F0H,00FH,0F7H,0EFH,0F0H,00FH,0FFH,0FFH,000H,001H;——文字:
是——
DB0FEH,0FFH,0F6H,0FFH,0F6H,007H,0F6H,0FFH,0EAH,0FFH,0DCH,0FFH,0BFH,001H,0FFH,0FFH;
DB0FFH,0FFH,0C0H,003H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH;——文字:
工——
DB0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,000H,001H,0FFH,0FFH,0FFH,0FFH
DB0FBH,0BFH,0FBH,0BFH,0FBH,0BFH,0FBH,0BBH,0BBH,0B9H,0DBH,0B3H,0DBH,0B7H,0EBH,0AFH;——文字:
业——
DB0E3H,0AFH,0EBH,09FH,0FBH,0BFH,0FBH,0BFH,0FBH,0BBH,000H,001H,0FFH,0FFH,0FFH,0FFH
DB0FEH,0FFH,0FEH,0FFH,0DEH,0F7H,0C0H,003H,0DEH,0F7H,0DEH,0F7H,0DEH,0F7H,0DEF,0F7H;——文字:
中——
DB0DEH,0F7H,0C0H,007H,0DEH,0F7H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH
DB0E0H,00FH,0EFH,0EFH,0E0H,00FH,0EFH0EFH,0E0H,00FH,0FFH,0FFH,000H,001H,0DDH,0FFH;——文字:
最——
DB0C1H,003H,0DDH,077H,0C1H,0AFH,0DCH,0DFH,0C1H,0AFH,01DH,071H,0FCH,0FBH,0FDH,0FFH
DB0F7H,0DFH,0F7H,0DFH,080H,003H,0F7H,0DFH,0F0H,01FH,0F7H,0DFH,0F0H,01FH,0F7H,0DFH;——文字:
基——
DB
000H,001H,0F7H,0DFH,0EEH,0E7H,0C0H,011H,03EH,0FBH,0FEH,0FFH,080H,003H,0FFH,0FFH
DB0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,000H,001H,0FCH,07FH,0FCH,0BFH,0FAH,0BFH,0FAH,0DFH;——文字:
本——
DB0F6H,0EFH,0EEH,0E7H,0D0H,011H,03EH,0FBH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FFH,0FFH
DB0EFH,07FH,0EFH,07FH,0DEH,07FH,083H,003H0BAH,0FBH,0BAH,0FBH,0B9H,0FBH,083H,07BH;——文字:
的——
DB0BBH,0BBH,0BBH,09BH,0BBH,0DBH,0BBH,0FBH,083H,0FBH,0BBH,0D7H,0BFH,0EFH,0FFH,0FFH
DB0FEH,0FFH,0FFH,07FH,0C0H,003H,0DFH,0FFH,0DDH,0FFH,0DEH,0F7H,0CFH,073H,0D7H,037H;——文字:
应——
DB0DBH,06FH,0DBF,06FH,0D9H,0DFH,0BBH,0DFH,0BFH,0BFH,0A0H,001H,07FH,0FFH,0FFH,0FFH
DB0FFH,0FFH,0E0H,003H,0EFH,07BH,0EFH,07BH,0EFH,07BH,0E0H,003H,0EFH,07BH,0EFH,07BH;——文字:
用——
DB0EFH,07BH,0E0H,003H,0EFH,07BH,0EFH,07BH,0DFH,07BH,0DFH,07BH,0BFH,06BH,07FH,077H
DB0FDH,0FFH,0FEH,0FFH,0FFH,07FH,000H,001H,0FDH,0FFH,0FDH,0FFH,0FCH,00FH,0FDH,0EFH;——文字:
方——
DB0FBH,0EFH,0
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 16 x16 点阵 LED 电子显示屏