为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

16x16的点阵LED图文显示屏设计报告

2019-04-19 30页 doc 117KB 24阅读

用户头像

is_180829

暂无简介

举报
16x16的点阵LED图文显示屏设计报告目  录 1.    引 言    1 1.1.    设计意义    1 1.2.    系统功能要求    1 1.3.    本组成员所做的工作    1 2.    方案设计    1 3.    硬件设计    1 4.    软件设计    1 5.    系统调试    2 6.    设计总结    2 7.    附 录A;源程序    2 8.    附 录B;作品实物图片    2 9.    参考文献    2 16×16点阵LED室内电子显示屏的设计 摘要:LED显示屏作为一种新型的显示器件,是由多个...
16x16的点阵LED图文显示屏设计报告
目  录 1.    引 言    1 1.1.    意义    1 1.2.    系统功能要求    1 1.3.    本组成员所做的工作    1 2.    方案设计    1 3.    硬件设计    1 4.    软件设计    1 5.    系统调试    2 6.    设计总结    2 7.    附 录A;源程序    2 8.    附 录B;作品实物图片    2 9.    参考文献    2 16×16点阵LED室内电子显示屏的设计 摘要:LED显示屏作为一种新型的显示器件,是由多个发光二极管按矩阵形式排列封装而成,通常用来显示时间、图文等信息。本设计是基于ATS52单片机的16x16显示屏,其中包含了硬件、软件、调试等方案的设计。此外、该设计只需简单的级联就能实现显示屏的拓展,但级联时要注意不要超过驱动负载范围。 关键词:Ats52;LED;单片机 1引 言 1.1. 设计意义 LED显示屏是一种通过控制半导体发光二极管的显示方式,用来显示文字、图形、图像、动画、行情、视频、录像信号等各种信息的显示屏幕。图文显示屏可与计算机同步显示汉字、英文文本和图形;视频显示屏采用微型计算机进行控制,图文、图像并茂,以实时、同步、清晰的信息传播方式播放各种信息,还可显示二维、三维动画、录像、电视、VCD节目以及现场实况。LED显示屏显示画面色彩鲜艳,立体感强,静如油画,动如电影,广泛应用于车站、码头、机场、商场、医院、宾馆、银行、证券市场、建筑市场、拍卖行、工业企业管理和其它公共场所。 它的优点:亮度高、工作电压低、功耗小、微型化、易与集成电路匹配、驱动简单、寿命长、耐冲击、性能稳定。 1.2. 系统功能要求 设计一个能显示16X16点阵图文LED显示屏,要求能显示图文或文字,显示图文或文字应稳定、清晰,图文或文字显示,以卷帘形式向上滚动显示。 1.3. 本组成员所做的工作 方案原理论证:汪航,李如发,杜绍飞 焊接:汪航 调试:李如发 设计:杜绍飞 2方案设计 2.1 总体设计 2.2 设计论证 图文显示一般有静态和动态显示两种方案,静态方案虽然设计简单,但其使用的管脚太多,如本设计中16x16的点阵共有256个发光二极管,显然单片机没有这么多的端口,如果我采用锁存器来扩展端口,按8位的锁存器来计算,16x16的点阵需要256/8=32个锁存器。这个数字很庞大,因为我们仅仅是16x16的点阵,在实际应用中的显示屏往往要大得多,这样在锁存器上花的成本将是一个很庞大的数字。因此在实际应用中的显示屏几乎都不采用这种设计,而采用另外一种称为动态扫描的显示方法。 动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行(比如16行)的同名列共用一套驱动器。具体就16x16的点阵来说,把所有同1行的发光管的阳极连在一起,把所有同1列的发光管的阴极连在一起(共阳极的接法),先送出对应第一行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定时间,然后熄灭;再送出第二行的数据并锁存,然后选通第2行使其燃亮相同的时间,然后熄灭;以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能够看到显示屏上稳定的图形了。 采用扫描方式进行显示时,每一行有一个行驱动器,各行的同名列共用一个驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问。从控制电路到列驱动器的数据传输可以采用并列方式或串行方式。显然,采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并列传输的方案是不可取的。 采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,在硬件方面无疑是十分经济的。但是,串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都以传输到位之后,这一行的各列才能并行地进行显示。这样,对于一行的显示过程就可以分解成列数据准备(传输)和列数据显示两部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下留给行显示的时间就太少了,以致影响到LED的亮度。 解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一列数据。为了达到重叠处理的目的,列数据的显示就需要具有所存功能。经过上述分析,就可以归纳出列驱动器电路应具有的功能。对于列数据准备来说,它应能实现串入并处的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示 3硬件设计 3.1 电源、单片机系统及其管脚 ◆ 电源部分 说明:此部分为为电源部分。若电源为家用电源,则需经过降压,整流滤波,稳压等步骤得到一个稳定的5V电压,此电压可作为主电路的电压源。电路中二极管为电源指示灯。 ◆ 单片机系统及其管脚 常用的时钟电路设计有两种方式,一种是内部时钟方式,一种是外部时钟方式。本实验采用内部时钟方式,将XTAL1与XTAL2之间跨接一个石英晶振和微调电容,从而构成一个稳定的自激震荡器。电容值取30pF左右,其大小将影响震荡频率的高低、振荡器的稳定性和起振的快速性。为减少线间的寄生电容,晶振和电容应尽能安装得与单片机靠近,保证晶振稳定可靠的工作。 另一部分是复位部分。上电自动复位电路是最简单的复位电路,只需要一个1K左右电阻、一个22pF左右的电容及12MHZ的晶振。有时还需要按键手动复位,此时只要在电容上并联一个按键即可。 单片机信号输出采用串行输出,因此在下一模块的移位寄存器要与该部分的串行口P3.0(RXD)及P3.1(TXD)相连 其图形如下图 图一 单片机接线图 图二 单片机管脚图 3.2点阵及其驱动部分 点阵显示用是动的态扫描来实现的。在采用扫描方式显示时,由于每行要带动十六个二极管,每行电流较大。若每个二极管安5mA计算,十六个二极管就得80mA电流,超出单片机管脚的承受范围,因此每行都加有一个驱动器,本设计的行驱动用的是十六个pnp型三极管。三极管的发射极接5V电压,集电极接点阵的行线,而其基级本应接单片机,但该接线方式占用为了16个单片机管脚,为了节省单片机管脚,用了一片74LS154译码器,这样就只需要3个管脚了。74LS154的管脚图及其说明如图三。点阵及其驱动部分总体接线图如图五(未画完整) 各行的同名列共用一个列驱动,数据通常存储在单片机的存储器中,按8位一个字节的形式存放。由于列线过多,故多采用串行传输。由于每次要传输16位,而且数据要逐位输给驱动器,只有当一行中各列数据都已传输到位后,这一行的各列才能进行并行显示,耗时较长。为了满足以上要求,驱动选择74LS595移位寄存器。74HC595是硅结构的CMOS器件,。74HC595是有8位移位寄存器和一个存储器,三态输出功能。 移位寄存器和存储器是分别的时钟。 数据在SCHcp的上升沿输入,在STcp的上升沿进入的存储寄存器中去。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲。 移位寄存器有一个串行移位输入(Ds),和一个串行输出(Q7’),和一个异步的低电平复位,存储寄存器有一个并行8位的,具备三态的总线输出,当使能OE时(为低电平),存储寄存器的数据输出到总线。其特点:8位串行输入 /8位串行或并行输出 存储状态寄存器,三种状态; 输出寄存器可以直接清除 100MHz的移位频率。输出能力: 并行输出,总线驱动;串行输出;中等规模集成电路 。              74LS595的管脚图及其说明如图四。 对3个输入信号进行译码。得到8个输出状态。 G1,G2A,G2B,为数据允许输出端,G2A,G2B低电平有效。G1高电平有效。A,B,C为译码信号输出端,Y0~Y7为译码输出端,低电平有效 图三 74LS154管脚图 管脚及其说明: QA--QH: 八位并行输出端。 QH': 级联输出端。SI: 串行数据输入端。 74595的控制端说明: /SCLR(10脚): 低点平时将移位寄存器的数据清零。 SCK(11脚):上升沿时数据寄存器的数据移位。QA-->QB-->QC-->...-->QH;下降沿移位寄存器数据不变。(脉冲宽度:5V时,大于几十纳秒就行了) RCK(12脚):上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。(5V时,大于几十纳秒就行了),更新显示数据。 /G(13脚): 高电平时禁止输出(高阻态)。如果单片机的引脚不紧张,用一个引脚控制它,可以方便地产生闪烁和熄灭效果。比通过数据端移位控制要省时省力。 图四: 74LS595管脚图 图五  点阵及其驱动 4软件设计 本软件要求实现如下要求:汉字要稳定、明亮并且文字要以一定速度上升滚动显示。 显示屏软件模块:初始化程序、主程序、多字滚动、显示程序、扫描程序。显示程序的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。软件设计中,显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动器程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。 4.1显示驱动程序 显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算如下: 刷频率(帧频)=1/16×T0溢=1/16×f/12(65536-t)  其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。 然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图六为显示驱动程序(显示屏扫描函数)流程图 图六 4.2系统主程序 本设计的系统软件能使系统LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。 系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后以“卷帘出”效果显示图形,停留约几秒;接着向上滚动显示“--------”这几个汉字及一个图形,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,所以可以设置系统程序不断的循环执行上述显示效果。 单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。如果想改变些事内容,先用字模产生字代码,将用这段代码覆盖原来的代码,即可显示你想要的内容。 图七是系统主程序流程图。 图七 5系统调试 ◆ 调试主要分为硬件调试和软件调试: 硬件调试:在焊接电路板的时候,应该从最基本的最小系统开始,分模块,逐个进行焊接测试。在对各个硬件模块进行测试时,要保证软件正确的情况下去测试硬件,要不然发生错误时,不知道到底是哪一方出错了。当然,在设计的过程中也存在着失误和不足,在调试中进行修改了。焊接完成后,检验点阵、及线路的好坏:烧进检验程序,点阵将自第一排向下(上)点亮。检验无异常,下载主程序 ◆ 软件调试:软件为老师所提供提供,其原理在上一模块以作说明,在这里 再作说明,软件经调试无误,直接将其下再到单片机中,看是否达到所要的效果 软件部分是先参考书上的例子,然后自己根据硬件电路写程序, 由于以前所学是单片机汇编语言,所以这个系统在编写程序过程中都采用汇编语言编写。刚刚开始,编写不会一次性通过,经过仔细分析修改最后编译成功。但是,在实际写如S51中,LED显示屏出现各种各样的乱码,通过再次认真仔细分析多次修改程序后,程序能够正常运行 6设计总结 本文设计的6x16的点阵LED图文显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示的图形和文字较稳定、清晰。图形或文字向上滚动显示。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。 在此次设计中,我们得到以下体会: 一、在这次点阵设计的过程让我进一步熟悉KEIL及Proteus的使用。 二、本次设计结果仍有缺陷,有一行总是全亮,干扰显示。 三、通过这次点阵设计,重新复习并进一步学习了MCS-52优点,明确了研究目标。 四、本文设计的LED显示屏能够实现在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字以移入移出方式显示。 五、在后的设计中,既要想到电路器件的联合使用,又要灵活变通,举一反三。在焊接方面,我们了解到焊接某些器件时,要先消去电烙铁上的静电,防止静电对芯片特别是放大器件造成伤害,焊接二极管、三极管等芯片时要快,防止持续高温损坏芯片。 7.附 录A;源程序 *************************************** ;              *                                    * ;              *  单个16x16的点阵电子屏字符显示器  * ;              *      ATA89C52    12MHz晶振        * ;              *        2004.2.11    LRM            * ;              *************************************** ;显示字用查表法,不占用内存,字符用16x16共阳LED点阵, ;效果:向上滚动显示5个字,再重复循环。 ;R1:查表偏址寄存器,B:查表首址,R2:扫描地址(从00~0FH)。 ;R3:滚动显示时控制移动速度,单字显示可控制静止显示的时间。 ;*************; ;中断入口程序 ; ;*************; ; ORG    0000H LJMP    START ORG    0003H RETI ORG    000BH LJMP    INTTO ORG    0013H ERTI ORG    001BH ERTI ORG    0023H RETI ORG    002BH RETI ; ;***********; ;初始化程序; ;***********; ; ; ;***********; ;  主程序  ; ;***********; ; START:    MOV    20H,#00H  ;清零标志,00H为第16行开始扫描标志,01为1帧 ;扫描结束标志 MOV    A,#0FFH    ;端口初始化 MOV    P1,A MOV    P1,A MOV    P3,A MOV    P0,A CLR    P1.6      ;串行寄存器输入打入输出控制位 MOV    TMOD,#01H  ;使用T0做16位定时器,行扫描用。 MOV    TH0,#0FCH  ;1ms初值(12MHz) MOV    TL0,#18H MOV    SCON,#00H  ;串口0方式传送显示字节 MOV    IE,#82H  ;T0中断允许,总中断允许 MOV    SP,#70H MAIN:    LCALL  DISI      ;显示准备,黑屏,1.5s MOV    DPTR,#TAB LCALL  MOVDISP    ;向上滚动显示一页(8个字) INC    DPH LCALL  MOVDISP    ;向上滚动显示一页(8个字) INC    DPH LACLL      MOVDISP    ;向上滚动显示一页(8个字) AJMP    MAIN ; ; ;***********************; ;  多字滚动显示程序    ; ;***********************; ;每次8个字,入口时定义好DPTR值 ; MOVDISP:  MOV  B,#00H    ;向上移动显示,查表偏值暂存(从00开始) DISLOOP:  MOV  R3,#07H    ;移动速度 DISMOV:  MOV  R2,00H    ;第0行开始 MOV  R1,B SETB  TR0          ;开扫描(每次一帧) WAITMOV:  JBC  01H,DISMOV1  ;标志为1扫描一帧结束(16ms为1帧,每行1ms) AJMP  WAITMOV DISMOV1:  DJNZ  R3,DISMOV    ;1帧重复显示(控制移动速度) INC  B            ;显示字的下一行(每行2字节) INC  B MOV  A,R1        ;R1为0,8个字显示完 JZ    MOVOUT AJMP  DISLOOP MOVOUT:    RET                ;移动先是结束 ; ; ;****************; ;  单字显示程序  ; ;****************; ;显示表中某个字; ;****************; DIS1:      MOV  R3,#5AH      ;静止显示时间控制(16ms*#=1.6s) DIS11:      MOV  R2,#00H      ;一帧扫描初始值(行地址从00~0FH) MOV  DPTR,#TAB    ;取表首址 MOV  R1,#00H      ;查表偏址(显示第一个字) SETB  TR0          ;开扫描(每次一帧) WAIT11:    JBC  01H,DIS111  ;为1,扫描一帧结束 AJMP  WAIT11 DIS111:    DJNZ  R3,DIS11 RET ; ; ;************; ;  扫描程序  ; ;************; ;1ms刷新一次,每行显示1s INTT0:      PUSH  ACC MOV    TH0,#0FCH    ;1ms初值重装 MOV    TL0,#18H JBC    00H,GOEND    ;16行扫描标志为1,结束 INC    R1            ;取行右边字节偏址 MOV    A,R1 MOVC  A,@A+DPTR    ;查表 MOV    SBUF,A        ;串口0方式发送 WAIT:      JBC    TI,GO        ;等待发送完毕 AJMP  WAIT1 GO:          DEC    R1            ;取行左边字节偏址 MOV    A,R1 MOVC  A,@A+DPTR MOV    SBUF,A WAIT1:      JBC    T1,GO1 AJMP  WAIT1 GO1:        SETB  P1.7          ;关行显示,准备刷新 NOP                  ;串口寄存器数据稳定 SETB  P1.6          ;产生上升沿,行数据打入输出端 NOP NOP CLR    P1.6          ;恢复低电平 MOV    A,R2          ;修改显示行地址 ORL    A,#0F0H        ;修改显示行地址 MOV    R2,A          ;修改显示行地址 MOV    A,P1          ;修改显示行地址 ORL    A,#0FH        ;修改显示行地址 ANL    A,R2          ;修改显示行地址 MOV    P1,A          ;修改完成 CLR    P1.7          ;开行显示 INC    R2            ;下一行扫描地址值 INC    R1 INC    R1            ;下一行数据地址 MOV    A,R2 ANL    A,#0FH JNZ    GO2 SETB  00H            ;R2为01H,现为末行扫描,置标志 GO2:        POP    ACC RETI GOEND:      CLR    TR0            ;一帧扫描完毕,关扫描 SETB  01H            ;一帧扫描完毕,置结束标志 POP    ACC RETI                  ;退出 ; ; ;***************; ;  扫描文字表  ; ;***************; ; TAB:DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,00FFH,0FFH,0FFH  ;黑屏 DB 0F9H,0BFH,0C7H,0AFH,0F7H,0B7H,0F7H,0B7H,0F7H,0BFH,000H,001H,0F7H,0BFH,0F7H,0B7H  ;我 DB 0F1H,0D7H,0C7H,0CFH,037H,0DFH,0F7H,0AFH,0F6H,06DH,0F7H,0F5H,0D7H,0F9H,0EFH,0FDH  ; DB 0FFH,007H,0C0H,06FH,0EDH,0EFH,0F6H,0DFH,0C0H,001H,0DDH,0FDH,0BDH,0FFH,0C0H,003H  ;爱 DB 0FBH,0FFH,0F8H,00FH,0F3H,0DFH,0F4H,0BFH,0EFH,03FH,09CH,0CFH,073H,0F1H,0CFH,0FBH  ; DB 0F7H,0DFH,0F9H,0CFH,0FBH,0BFH,0C0H,007H,0DEH,0F7H,0C0H,007H,0DEH,0F7H,0DEH,0F7H  ;单 DB 0C0H,007H,0DEH,0F7H,0FEH,0FFH,000H,001H,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH,0FEH,0FFH DB 0FFH,0BFH,0EFH,0BFH,0EFH,0BFH,0EFH,0BBH,0E0H,001H,0EFH,0FFH,0EFH,0FFH,0EFH,0FFH  ;片 DB 0E0H,00FH,0EFH,0EFH,0EFH,0EFH,0EFH,0EFH,0DFH,0EFH,0DFH,0EFH,0BFH,0EFH,07FH,0FFH DB 0EFH,0FFH,0EFH,007H,0EFH,077H,001H,077H,0EFH,077H,0EFH,077H,0C7H,077H,0CBH,077H  ;机 DB 0ABH,077H,0AFH,077H,06EH,0F7H,0EEH,0F5H,0EDH,0F5H,0EDH,0F5H,0EBH,0F9H,0EFH,0FFH  ; DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH  ;黑屏 DB 0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH,0FFH  ; END 8.附 录B;作品实物图片 实物图如下图 下图为总体电路图 8.参考文献 [1] 刘欣铭,张广斌.LED显示屏技术综述[J].黑龙江电力,2003, 25(4):294-296. [2] 阳进.基于单片机的LED显示屏的汉字显示[J].中国科技信息,2005,(12):112. [3] Mark Nelson著.潇湘工作室译.串行通信开发指南[M].中国水利水电出版社,2002. [4] 王宜怀.单片机原理及其嵌入式应用教程[M].北京希望电子出版社,2002. [5] 韩润萍,陈小萍.点阵LED显示屏控制系统[J].微计算机信息,2003,19(10):50-51.
/
本文档为【16x16的点阵LED图文显示屏设计报告】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索