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