基于单片机的LED显示器系统单片机期末课程设计.docx

上传人:b****5 文档编号:7860723 上传时间:2023-01-26 格式:DOCX 页数:15 大小:51.23KB
下载 相关 举报
基于单片机的LED显示器系统单片机期末课程设计.docx_第1页
第1页 / 共15页
基于单片机的LED显示器系统单片机期末课程设计.docx_第2页
第2页 / 共15页
基于单片机的LED显示器系统单片机期末课程设计.docx_第3页
第3页 / 共15页
基于单片机的LED显示器系统单片机期末课程设计.docx_第4页
第4页 / 共15页
基于单片机的LED显示器系统单片机期末课程设计.docx_第5页
第5页 / 共15页
点击查看更多>>
下载资源
资源描述

基于单片机的LED显示器系统单片机期末课程设计.docx

《基于单片机的LED显示器系统单片机期末课程设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的LED显示器系统单片机期末课程设计.docx(15页珍藏版)》请在冰豆网上搜索。

基于单片机的LED显示器系统单片机期末课程设计.docx

基于单片机的LED显示器系统单片机期末课程设计

 

 

 

 

基于单片机的LED字符显示器

第1节引言 

当今世界,电子技术迅猛发展,点阵式显示器件作为现代信息显示的重要媒体,在金融证券、体育、机场、交通、商业、广告宣传、邮电电信、指挥调度、国防军事等许多领域中得到了广泛应用。

因此点阵式显示器件的研制、生产也的到了迅速的发展,并逐步形成产业,成为光电子行业的新兴产业领域。

目前,点阵式显示器件具体包括LED显示模块和LCD显示模块等。

现在发展的LCD比较先进,LCD的优点较为明显,他体积小,容易控制,功能强,价格适宜,能够适应显示器的发展方向,因而在通信、家电、大屏幕投影等领域得到了越来越广泛的应用;随着社会经济的迅猛发展,工业生产逐渐实现了自动化,其中,设备的工作状态和生产过程状态的显示与监控起到了非常重要的作用,对于那些需要显示的信息量不是很大,分辨率不是很高,又需要制造成本相对比较低的场合,使用大、小屏幕LED点阵显示器是比较经济适用的,他可以显示字符、数字、汉字和简单图形,可以根据需要使用不同字号、字型,显示亮度较高,并且对环境条件要求比较低。

LED显示又可以分为单色显示和双色显示,可以按照需要的大小、形状和颜色进行组合,并用单片机控制实现各种文字或图形的变化,达到宣传和提示的目的。

据不完全统计,1991年,全国LED显示屏的产值还不到亿元人民币,而在1993年,仅蓝通公司一家企业的显示屏产值即达1亿多人民币。

由于LED电子显示屏具有所显内容信息量大,外形美观大方,操作使用方便灵活.适用于火车,汽车站,码头,金融证券市场,文化中心,信息中心体育设施等公共场所.该项目广泛涉及了计算机及电子技术中的电源技术,单片机技术,数据通讯技术,显示技术,存储技术,系统软件技术,接口及驱动等技术.我国经济发展迅猛,对信息传播有越来越高的要求.可以相信,LED电子显示屏以其色彩鲜亮夺目,大的显示信息量,寿命长,耗电量小,重量轻,空间尺寸小,稳定性高,易于操作,安装和维护等特点,将在社会经济发展中扮演越来越重要的角色。

1.1系统概述 

单片机控制的时钟电路,根据不同的要求有不同的设计思路,根据我们现在的水平和现有的设计能力,我们选择了比较简单的那种电路,但是,也是有两种可以选择的方案。

方案一:

显示预先想要显示的内容,在本设计中要求显示“电子设计”四个文字,显示方式分三种:

①逐字显示,②向上滚动显示,③向左滚动显示。

本程序中显示前两中.

方案二:

在8X8LED点阵上显示柱形,让其先从左到右平滑移动三次,其次从右到左平滑移动三次,再次从上到下平滑移动三次,最后从下到上平滑移动三次,如此循环下去。

方案三:

点阵LED扫描介绍:

点阵LED一般采用扫描式显示,实际运用分为三种方式:

(1)点扫描

(2)行扫描(3)列扫描

若使用第一种方式,其扫描频率必须大于16*64=1024Hz,周期小于1ms即可。

若使用第二种和第三种方式,则频率必须大于16*7=128Hz,周期小于7.8ms即可符合视觉暂留要求。

此外一次驱动一列或一行(8颗LED)时需外加驱动电路提高电流,否则亮度会不足。

根据烧入程序的不同而显示的方式就不同.

显示屏在设计与使用中存在如下问题:

1.由于要对显示屏上数以万计的像素进行控制,并且随着显示屏面积的增大,电路结构也非常庞大,因此系统的模块化设计成为重点考虑的问题.

2.为了在屏上显示动画,视频图像等信息,显示系统必须用30帧/秒以上的速度来更新显示画面,这就要求显示系统有非常高的处理速度.

3.为了在显示屏上细致的显示出信息所表示的形状,一般每帧有多至几百KB的显示数据送到显示屏,因此有非常大的数据传输量.

4.用LED器件制造的显示屏主要用于大型公共设施和室外场所,尺寸通常在几米到几十米长,显示数据传输距离达几百米到千米以上.

有上文可以看到LED显示屏的制造技术是集大容量的数据传输,高速处理,高速LED控制,超高亮度LED器件等技术于一体,涉及了计算机,信息,电子技术,色彩学等领域的综合产物,有着较高的技术难度和较大的生产工作量.

对于上文所述的难点有以下解决方案:

1.总体设计采用集散控制方案,在统一协调的基础上来进行分级递阶控制,并通过功能分散,危险分散来达到设计的优化.

2.化整为零,将显示屏分解为规模较小的显示单元,即用显示单元来组成显示系统.

3.显示单元本身具有与显示屏相同的控制功能,并具有良好的嵌入性.

4.显示单元具备稳定,高速,简洁的长距离数据传输系统.

5.显示单元组成的显示系统应结构简单,性能稳定.

本设计思路是:

利用单片机对整个系统进行总体控制,进行显示所要显示的字符。

显示方式分为三种:

逐字显示、上滚显示、左滚显示,其中显示字模数据由单片机输入显存,点阵的点亮过程有程序控制,由驱动电路完成,点阵采用单色显示,该显示器电路的特点是:

点阵的动态显示过程占用时间比较短,亮度比较高,而且亮度可以改变电阻进行调节。

系统的总体设计框图

单片机最小系统

控制部分

显示部分

时钟

电路

复位

电路

第二节系统主要硬件电路设计

2.1硬件电路整体设计

 本字符显示器采用AT89C52单片机作控制器,12MHZ晶振,8*8点阵共阳LED显示器,其中,P0作为字符数据输出口,P2为字符显示扫描输出口,第31脚(EA)接电源,P1.0~P1.2口分别接开关K1、K2、K3,改变电阻(270*)的大小可改变显示字符的亮度,驱动用9012三极管。

2.2硬件电路的结构图

AT89C52的引脚结构图:

 

AT89C52是一个低电压,高性能CMOS8位单片机,片内含8kbytes的可反复擦写的Flash只读程序存储器和256bytes的随机存取数据存储器(RAM),器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准MCS-51指令系统,片内置通用8位中央处理器和Flash存储单元,功能强大的AT89C52单片机可为您提供许多较复杂系统控制应用场合。

   AT89C52有40个引脚,32个外部双向输入/输出(I/O)端口,同时内含2个外中断口,3个16位可编程定时计数器,2个全双工串行通信口,2个读写口线,AT89C52可以按照常规方法进行编程,也可以在线编程。

其将通用的微处理器和Flash存储器结合在一起,特别是可反复擦写的Flash存储器可有效地降低开发成本。

  此外,AT89S52设计和配置了振荡频率可为0Hz并可通过软件设置省电模式。

空闲模式下,CPU暂停工作,而RAM定时计数器,串行口,外中断系统可继续工作,掉电模式冻结振荡器而保存RAM的数据,停止芯片其它功能直至外中断激活或硬件复位。

2.3硬件电路的主要特性

  主要功能特性:

  ·兼容MCS-51指令系统    ·8k可反复擦写(>1000次)ISPFlashROM

  ·32个双向I/O口    ·4.5-5.5V工作电压

  ·3个16位可编程定时/计数器    ·时钟频率0-33MHz

  ·全双工UART串行中断口线    ·256x8bit内部RAM

  ·2个外部中断源    ·低功耗空闲和省电模式

  ·中断唤醒省电模式    ·3级加密位

  ·看门狗(WDT)电路    ·软件设置空闲和省电功能

  ·灵活的ISP字节和分页编程    ·双数据寄存器指针

8X8 点阵LED工作原理说明

8X8点阵LED结构如下图所示:

 从上图中可以看出,8X8点阵共需要64个发光二极管组成,且每个发光二极管是放置在行线和列线的交叉点上,当对应的某一列置1电平,某一行置0电平,则相应的二极管就亮;因此要实现一根柱形的亮法,如上图所示,对应的一列为一根竖柱,或者对应的一行为一根横柱,因此实现柱的亮的方法如下所述:

一根竖柱:

对应的列置1,而行则采用扫描的方法来实现。

一根横柱:

对应的行置0,而列则采用扫描的方法来实现。

第3节系统的软件设计

3.1主程序

在刚上电时对系统进行初始化,然后读一次键开关状态,由键标志位值(00H、01H、02H)决定显示的方式。

主程序流程图如下:

开始

调用扫描子程序

(KEYWORK)

20H.0=1?

?

20H.1=1?

20H.2=1?

转向左滚动显示程序(FUN2)

转逐字显示程序(FUN0)

转向上滚动显示程序(FUN1)

Y

Y

Y

N

N

N

 

 

3.2初始化程序

    在系统初始化时,对四个端口进行复位,将显示用的字符数据从ROM表中装入内存单元50H—6FH中。

“电子设计”中的每个字占用8个地址单元。

3.3显示程序

    显示程序由显示主程序和显示子程序写成。

显示主程序负责每次显示时的显示地址首址(在B寄存器中)、每个字的显示时间(由30H中的数据决定)和下一个显示地址的间隔(31H中的数据决定)的处理。

显示子程序则负责对指定8个地址单元的数据进行输出显示,显示一个完整文字的时间约为8ms。

在显示子程序中,1ms延时程序是用调用键扫描子程序的方法实现的。

下图为逐字显示及向上滚动显示方式时的显示控制程序流程图;

逐字或上移显示开始

设1帧显示时间及换帧布距

显示首址修改:

(B)+R5—(B)

调显示子程序(DISPLAY)

寄存器B、R4、R5赋初值

转START1

(R4)-1=0?

(B)=#68H?

Y

N

Y

N

利用键扫描程序代替显示程序中的1ms延时程序,既为了按键的快速响应,又可以提高动态显示的扫描频率,减少文字显示时的闪烁现象。

对于多个文字的大屏幕显示,应该使用输出数据缓冲寄存器,才可以得到稳定的显示文字。

程序设计清单

SECOND   EQU30H

       MINITE   EQU31H

       HOUR     EQU32H

       HOURK    BITP0.0

       MINITEK  BITP0.1

       SECONDK  BITP0.2

       DISPBUF  EQU40H

       DISPBIT  EQU48H

       T2SCNTA  EQU49H

       T2SCNTB  EQU4AH

       TEMP     EQU4BH

       ORG00H

       LJMPSTART

       ORG0BH

       LJMPINT_T0

START:

 MOVSECOND,#00H

       MOVMINITE,#00H

       MOVHOUR,#12

       MOVDISPBIT,#00H

       MOVT2SCNTA,#00H

       MOVT2SCNTB,#00H

       MOVTEMP,#0FEH

       LCALLDISP

       MOVTMOD,#01H

       MOVTH0,#(65536-2000)/256

       MOVTL0,#(65536-2000)/256

       SETBTR0

       SETBET0

       SETBEA

WT:

    JBSECONDK,NK1

       LCALLDELY10MS

       JBSECONDK,NK1

       INCSECOND

       MOVA,SECOND

       CJNEA,#60,NS60

       MOVSECOND,#00H

NS60:

  LCALLDISP

       JNBSECONDK,$

NK1:

   JBMINITEK,NK2

       LCALLDELY10MS

       JBMINITEK,NK2

       INCMINITE

       MOVA,MINITE

       CJNEA,#60,NM60

       MOVMINITE,#00H

NM60:

  LCALLDISP

       JNBMINITEK,$

NK2:

   JBHOURK,NK3

       LCALLDELY10MS

       JBHOURK,NK3

       INCHOUR

       MOVA,HOUR

       CJNEA,#24,NH24

       MOVHOUR,#00H

NH24:

  LCALLDISP

       JNBHOURK,$

NK3:

   LJMPWT

DELY10MS:

       MOVR6,#10

D1:

    MOVR7,#248

       DJNZR7,$

       DJNZR6,D1

       RET

DISP:

       MOVA,#DISPBUF

       ADDA,#8

       DECA

       MOVR1,A

       MOVA,HOUR

       MOVB,#10

       DIVAB

       MOV@R1,A

       DECR1

       MOVA,B

       MOV@R1,A

       DECR1

       MOVA,#10

       MOV@R1,A

       DECR1

       MOVA,MINITE

       MOVB,#10

       DIVAB

       MOV@R1,A

       DECR1

       MOVA,B

       MOV@R1,A

       DECR1

       MOVA,#10

       MOV@R1,A

       DECR1

       MOVA,SECOND

       MOVB,#10

       DIVAB

       MOV@R1,A

       DECR1

       MOVA,B

       MOV@R1,A

       DECR1

       RET

INT_T0:

       MOVTH0,#(65536-2000)/256

       MOVTL0,#(65536-2000)/256

       MOVA,#DISPBUF

       ADDA,DISPBIT

       MOVR0,A

       MOVA,@R0

       MOVDPTR,#TABLE

       MOVCA,@A+DPTR

       MOVP1,A

       MOVA,DISPBIT

       MOVDPTR,#TAB

       MOVCA,@A+DPTR

       MOVP3,A

       INCDISPBIT

       MOVA,DISPBIT

       CJNEA,#08H,KNA

       MOVDISPBIT,#00H

KNA:

   INCT2SCNTA

       MOVA,T2SCNTA

       CJNEA,#100,DONE

       MOVT2SCNTA,#00H

       INCT2SCNTB

       MOVA,T2SCNTB

       CJNEA,#05H,DONE

       MOVT2SCNTB,#00H

       INCSECOND

       MOVA,SECOND

       CJNEA,#60,NEXT

       MOVSECOND,#00H

       INCMINITE

       MOVA,MINITE

       CJNEA,#60,NEXT

       MOVMINITE,#00H

       INCHOUR

       MOVA,HOUR

       CJNEA,#24,NEXT

       MOVHOUR,#00H

NEXT:

  LCALLDISP

DONE:

  RETI

TABLE:

 DB3FH,06H,5BH,4FH,66H,6DH,7DH,07H,7FH,6FH,40H

TAB:

   DB0FEH,0FDH,0FBH,0F7H,0EFH,0DFH,0BFH,07FH

       END

第4节      使用说明 

4.1   LED显示屏

LED显示屏以发光二极管为像素,由LED点阵显示单一元拼接而成.最常见的LED点阵显示单元有5X7,7X9,8X8结构,前两种主要用于显示各种西文字符,后一种常用于显示各种汉字字符,8X8LED点阵的外观及引脚图如下图所示.

应该说明的是,屏中LED最好使用市售8×8LED阵列,这样会使焊接工作量大大减少.

4.2以单片机为核心的动态扫描电路

以单片机为核心的动态扫描电路是由单片机,显示控制电路,显示驱动电路组成.单片机及相应软件,主要负责存储显示数据,安排控制信号的定时与顺序,和PC机进行通信等.根据驱动方式的不同,LED大屏幕显示方式可分为静态显示和动态扫描显示两.静态显示是指将一幅画面输入以后要保持到下一幅画面的输入:

动态显示是指将画分为若干部分分别进行刷新.静态显示每一个像素需要一套驱动电路,如果显示屏为nXm个像素屏,则需要nXm套驱动电路;动态扫描显示则采用多路复用技术,如果是P路复用的话,则每P个像素需一套驱动电路,nXm个像素仅需nXm/p套驱动电路.另外,对于静态显示方式,需要较多的译码驱动装置,需要的引线也比较多;对于动态扫描显示方式,可以避免以上不足,但是容易造成显示亮度低,屏幕闪烁等问题.在实际的LED大屏幕显示中,很少有采用静态驱动的.

显示数据通常以字节的形式顺序存放在单片机的存储器中.在行扫描列控制显示时,把显示数据从存储器中取出传送到每一行对应的列驱动器上,这就存在一个列数据传输方式的问题.从控制电路到列驱动器的数据传输可以采用串行方式或串行方式,它们各有优缺:

数据并行传输的速度比较快,但是随着屏幕的增大,点阵模块数量的增多,线路会越来越复杂;数据串行传输的速度比较慢,但它可以大大简化传输线路,对于大屏幕来说,采用串行传输方式比较合扩.采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传往列驱动器,与此同时,列驱动器中每一列都把当前数据传向后一列,并从前一列接收新数据,一直到一行的各列数据全部传输到位后,才能并行地进行LED显示系统的组成显示.对于串行传输来说,数据要经过并行到串行和串行到并行两次变换,因此列数据的准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就少一些,以至影响到LED的亮度.

   解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法.即在显示本行各列数据的同时,准备下一行的列数据,这就需要列数据的显示具有锁存功能.本行己准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不会影响本行的显示.

4.3显示时间的分析

对于以动态扫描方式工作的显示系统,扫描时间的确定较为重要,根据人眼的视觉暂留时间,若每秒显示二十四帧以上,便可得到稳定的显示,取每秒二十五帧,即完成对全屏的一次扫描时间为40ms,那么,只要每次完成对全屏的扫描时间不超过该值,将会得到较为稳定的显示.从理论上讲,显示屏的大小是任意的,但从上面的分析可知,显示屏做得越大,即屏幕的点阵规模越大,往显示屏上所送的数据就越多,数据传输与控制的时间也会增加即完成一屏扫描的时间也将越长,然而,40ms的时间却是固定的,多于40ms会有闪烁感.在设计显示屏的大小时,该因素是必需考虑的.为了满足这一要求,关键在于提高微机的程序执行速度,可以选择更快的CPU,或数字信号处理芯片(DSP).事实上,LED显示屏控制器,要求的数字信号处理能力并不高,主要要求的是显示数据的访问和控制信号的产生.对于这两项功能,采用基于ARM核的32位嵌入式R工SC微处理器是完全可以胜任的.基于ARM核的32位微处理器的速度不仅比8位/16位单片机执行程序的速度要高得多,而且存储容量要大得多,因此,本课题采用基于ARM核的32位嵌入式R工SC微处理器组成大屏幕LED显示系统,与传统的基于8位/16位单片机的LED显示系统相比,在不显著增加系统成本的情况下,可支持更大可视区域的稳定显示,同时可存储更多的显示内容.

4.PC机及运行在PC机上的程序

PC机主要用于人机交互,完成对每一个LED显示屏的控制与显示数据传输.应用程序主要完成对显示屏的控制,同时完成对包括图形和中西文字符的显示信息进行编辑处理,将待显示内容的点阵信息通过串行通信传输到指定的LED控制器中.

结束语

 

本LED显示屏控制系统已能实现LED显示的基本功能,并且体现出了相对于传统的基于8位/16位普通单片机的显示系统的优越性,如上设计所述,但由于本组成员水平和设计时间有限,离一个完全实用的,能够完全符合市场需求的LED显示系统还有一定的差距.因此,在以后的研制过程中,还需要在以下几个方面做大量的工作:

(1)扮在系统抗干扰方面,不论是硬件部分还是软件部分,都还必须在工作现场根据实际情况进行大量的实验,调试工作,才能最终实现LED显示系统的可靠工作.

(2)在增强图文屏显示效果上,可使用双色屏或多色屏,双色(或多色)屏所使用的LED点阵单元,在同一点阵位置上安装了两个(或多个)不同颜色的LED发光灯,对不同颜色的显示控制方面进行进一步的设计,以满足显示更加丰富多彩的图形和文字.

(3)由于ARM微处理器的强大运算能力和丰富的片内外围,可将LED显示屏方便地接入以太网络,每一个LED显示控制器可作为一个网络节点,方便的组成基于工业以太网的LED显示网络,在这方面还应该进行进一步的研究与实验,以满足更高,更复杂的使用要求.

在这次课程设计的整个过程中,我们做了一次全面、较规范的设计练习,全面地温习了以前所学过的知识,用理论联系实际并结合单片机原理课程和解决实际问题,巩固、加深和扩展了有关单片机设计方面的知识。

尤其重要的是让我们养成了科学的习惯,在设计过程中一定要注意掌握设计进度,按预定计划完成阶段性的目标,在底图设计阶段,注意设计计算与结构设计画图交替进行,采用正确的设计方法。

在整个设计过程中注意对设计资料和计算数据的保存和积累,保持记录的完整性。

在课程设计的实践中进行了设计基本技能的训练,掌握了查阅和使用标准、规范、手册、图册、及相关技术资料的基本技能以及计算、数据处理等方面的能力。

通过对通用89C52单片机机处理器铁电存储器芯片、常用元器件的设

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 文学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1