基于单片机控制的LED点阵显示屏设计论文.docx
- 文档编号:26268328
- 上传时间:2023-06-17
- 格式:DOCX
- 页数:31
- 大小:398.41KB
基于单片机控制的LED点阵显示屏设计论文.docx
《基于单片机控制的LED点阵显示屏设计论文.docx》由会员分享,可在线阅读,更多相关《基于单片机控制的LED点阵显示屏设计论文.docx(31页珍藏版)》请在冰豆网上搜索。
基于单片机控制的LED点阵显示屏设计论文
XXXXXXX
毕业论文
作者:
XXXX学号:
XXXXXXXX.
学系:
XXXXXXXXX.
专业:
XXXXXXXXXXXXXXX.
题目:
基于单片机控制的LED点阵显示屏设计
指导者:
XXXXX讲师
2011年5月南京
目次
1引言…………………………………………………………………………1
1.1广告屏的现状……………………………………………………………1
1.2设计任务………………………………………………………………2
1.3数学模型…………………………………………………………………2
1.4方案论证……………………………………………………………………3
2电路设计…………………………………………………………………………6
2.1电源电路……………………………………………………………………6
2.2单片机系统……………………………………………………………………7
2.2.1复位电路…………………………………………………………………8
2.3驱动电路……………………………………………………………………8
2.3.1移位寄存器74HC595………………………………………………………9
2.3.2移位寄存器74HC164………………………………………………………10
3系统软件设计……………………………………………………………………10
3.1显示驱动程序………………………………………………………………11
3.2系统主程序…………………………………………………………………12
结论…………………………………………………………………………………24
致谢……………………………………………………………………………………25
参考文献………………………………………………………………………………26
毕业论文中文摘要
摘要
本文阐明用单片机控制单色显示屏的方法,对LED显示模块单元如何进行行列信号控制及信号传输的驱动问题进行了研究。
讨论了单片机控制系统中关键的数据处理以及发送问题,结果表明采用并行数据输入、串行数据及同步时钟输出的专业电路可大大减少CPU的辅助时间,提高数据的发送速度。
本LED显示屏能够以动态扫描的方式同时显示2个16*16点阵图形,并能通过上位机软件修改显示内容和显示效果等等。
把图形内码存储在空闲的单片机程序存储器空间。
因为采用串行传输方式,使本系统的可扩展性得到提升,便于多个显示单元的级联。
本文从LED的显示原理入手,详细阐述了LED动态显示过程,以及硬件电路的设计.
关键词LED;单片机;显示屏;驱动;扫描
毕业论文外文摘要
TitleALEDDisplaySystemControlBaseOnMCU
Abstract
Thistextclarifiestouseasinglechipcontrolmonochromemanifestationtoholdofmethod,showthemoldpiecehowtheunitcarryontheroworcolumnsignalcontrolandsignaltodelivertotheLEDmediumofdroveaproblemtoresearch.Discussingaproblemofsinglechipinacontrolsystemhowdoseitprocessingthekeydataandsendingout,resultindicateadoptionparallelcommunication,stringdatainlineandsynchronoustheclockoutput'sappropriationelectriccircuitcanreduceCPUassistanttimeconsumedly,theexaltationdatasendsoutspeed.
TheLEDdisplaydynameicscancanshowthewayatthesametimesix16*16dotmatrixchinesecharacters,andpcsoftwarecanmodifythecontentandeffectshows,andsoon.IAPusedintheapplicationofprogrammabletechnology,thecharacterswithinthecodestoredintheSCMfreeprogrammemoryspace.sothatthesystemcanbeenhancedscalability,foranumberofdisplayunitsofthecascade.
ThisarticlefromthestartLEDdisplayprinciple,elaboratedonLEDdisplaydynamicprocess,aswellashardwarecircuitdesign,computingandsoftwarealgorithms.
Keywords;LED;SurfaceMountAssembilies;Display;Driver;Scan
1引言
LED点阵电子显示屏是集微电子技术、计算机技术、信息处理技术于一体地大型显示屏系统,随着计算机及相关的微电子、光电子技术的迅猛发展而形成的一种新型信息显示媒体。
它以其色彩鲜艳,动态范围广,亮度高,寿命长,工作稳定可靠等优点而成为众多显示媒体以及户外作业显示的理想选择,在短短的十年中迅速成长为平板显示的主流产品。
由于LED电子显示方式图文并茂等特点,因此被广泛地应用于军事、车站、宾馆、机场、邮局、金融、证券、广告以及交通运输等许多行业。
1.1广告屏的现状
随着社会文化的不断发展,人们的消费标准不断改变,户外灯箱广告更是扮演着越来越重要的宣传角色,不论是汽车站,火车站,股市交易市场,还是学校都离不开它,然而传统的霓虹灯广告牌不论是在显示效果、耗电量还是可修改性上都无法满足当前社会的需求,传统的霓虹灯广告亟待改进。
由于单片机技术的不断发展和高亮度LED发光管的出现使得大屏幕高亮度LED电子广告屏成为可能,与传统的霓虹灯广告在显示效果以及可修改上都有着无法比拟的优势,而且单片机的日益平民化以及LED技术不断创新,使得高亮度高清晰的LED点阵广告牌与传统霓虹灯广告牌的成本日益接近。
另外,SMT技术的飞速发展,开关电源的大规模使用,使其无论在体积上还是在可靠性都比传统的霓虹灯广告有明显的优势,为其在特殊领域的应用奠定了基础。
这种新兴的大屏幕显示技术成为众人目光的焦点。
与传统的显示设备相比,首先,LED显示屏色彩丰富,3基色的放光管的可以显示全彩色,显示方式变化多样(文字、图形、动画、视频、电视画面等)、亮度高,是集光电子技术、微电子技术、计算机技术、信息处理技术于一体的高技术产品,可用来显示文字、计算机屏幕同步的图形。
其次,LED显示屏的像素采用LED发光二极管,将多个发光二极管以序列的形式构成LED显示阵列,这种显示屏具有耗电省、成本低、亮度清晰度高、寿命长等优点,而且LED显示屏以其受空间限制较小,并可以根据用户要求设计屏的大小,具有全彩色效果,视角大,是信息传播设施划时代的产品。
再次,LED显示屏应用广泛,金融证券、银行利率、商业广告、文化娱乐等方面,显示效果清晰稳定,越来越多的地方开始使用LED电子显示屏,有巨大的社会效益和经济效益。
它以其超大的画面、超宽视觉、灵活多变的显示方式等独具一格的优势,是目前国际上使用广泛得显示系统。
1.2设计任务
设计一个用16*32点阵LED单色图文显示屏,要求在在目测条件下LED显示屏各点亮度均匀,充足,可显示图形和文字,显示图形或文字稳定、清晰无串扰。
图形或文字显示有静止和移入移出等显示方式。
本文重点介绍了基于单片机系统的单色LED显示屏的控制电路、驱动电路的设计方法,并针对一个16*32屏的显示特点,对其软件实现的算法给出了具体的分析。
1.3点阵模型
对于点阵型LED显示可以采用共阳极或共阴极,本系统采用共阴极,其硬件电路如图1.1所示。
当行上有一正选通信号时,列选端四位数据为1的发放二极管便导通点亮。
这样只需要将图形或文字的显示编码作为列信号跟对应的行信号进行逐次扫描,就可以逐行点亮点阵。
只要扫描速度大于24Hz,由于扫描时间很快,人眼的视觉有暂留效应,就可以看到显示是完整地图形或文字。
LED点阵显示器单块使用时,既可代替数码显示数字,也可显示各种中西文字及符号。
如5*7点阵显示器用于显示西文字母,5*8点阵显示器用于显示中西文,8*8点阵可以用于显示简单地中文文字,也可用于简单图形显示。
用多块点阵显示组合则可构成大屏幕显示器,但这类使用装置常通过PC机控制驱动。
1.4方案论证
从理论上说,不论显示图形还是文字,只要控制与组成这些图形或文字的各个点所在位置相对应的LED器件发光,就可以得到我们想要的显示效果,这种同时控制各个发光点亮灭的方法称为静态驱动显示方式。
16*32的点阵共有512个发光二极管,显然单片机没有这么多端口,如果我们采用锁存器来扩展端口,按8位的锁存器来计算,16*32的点阵需要64个锁存器。
这个数字很庞大,而且成本很昂贵,我们仅仅是16*32的8个点阵,在实际应用中的显示屏往往要大得多,这样的锁存器上花的成本将是一个很庞大的数字。
因此在实际应用中的显示屏几乎都不采用这种设计,而采用另一种称为动态扫描的显示方法。
动态扫描的意思简单地说就是逐行轮流点亮,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。
具体就是16*32的点阵来说,把所有同一列的发光管的阴极连在一起,再去驱动这一列LED,每一列先送出对应第一行发光管对应的数据并锁存,再选通第1行使其点亮一定的时间,然后熄灭;在送出第二行的数据并锁存,再选通第2行使其点亮相同的时间,然后熄灭……第8行之后,又重新点亮第1行,反复轮回。
当这样轮回的速度足够快,由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形了。
采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。
显示数据通常存储在单片机的程序存储器中,按8位一个字节的形式顺序排放。
显示时要把一行中各列的数据都传送到相应的列驱动器上去,这就存在一个显示数据传输的问题。
从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。
采用串行传输的方法,控制电路可以只用2根线:
数据线、时钟线。
将行数据一位一位传往行驱动器,在硬件方面无疑是十分经济的。
但是,串行传输过程较长,数据按顺序一位一位地输出给行驱动器,只有当一行的各列数据都已传输到位之后,在一行的各列才能并行地进行显示。
这样,对于一行的显示过程就可以分解成列数据准备和列数据显示两个部分。
对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给显示的时间久太少了,以致影响到LED的亮度。
解决串行传输中列数据准备和列数据显示的时间矛盾问题,可以采用重叠处理的方法。
即在显示本行数据的同时,传送下一行的数据。
为了达到重叠处理的目的,列数据的显示驱动电路就需要具有锁存功能。
经过上述分析,可以归纳处列驱动器电路应具备主要功能:
对数据准备来说,它应能实现传入并出的移位功能;对数据显示来说,应具有并行锁存的功能。
这样,本行已准备好的数据打入并行锁存器进行显示时,串并移动寄存器就可以准备下一行的列数据,而不会影响本行的显示。
综合上述可以看出整个点阵显示的实现电路结构应该如图1.2所示
图1.3显示屏电路框
硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路以及LED点阵阵列三大部分。
在实际应用中的大屏幕LED点阵显示屏,都是采用很多的显示模块组成,每个模块一般是有32*64个点阵组成,每个模块负责自己那部分LED的显示;有电脑通过统一的协议发送数据到每个控制单片机,行选是统一的;而且控制模块也是分开的,一个控制模块上面有很多的RAM芯片,控制芯片接收从主控电脑发送过来的数据,并将其保存在RAM中,之后不需要电脑控制即可自己循环控制显示,而且一个模块控制几个至几十个32*64的点阵模块。
现描述一个下用动态扫描显示的方式,显示吃米动画的过程。
主程序取出64Byte缓冲区域值,再调用通用的显示程序,将当前缓冲区内容显示出来。
选第一行为第一行的32位赋值,选择第二行为第二行赋值一次为第三行第四行,直到选择第十六行为第十六行的32位赋值。
行扫描用的芯片是74HC164当选中第一行之后74HC595为这一行的32位赋值,等32位都赋值好后这一行就亮,其下面的过程就是重复前面的。
其过程如图:
第一帧第二帧第三帧第四帧
第五帧第六帧第七帧第八帧
第九帧第十帧第十一帧第十二帧
2电路设计
2.1电源电路
上图中原件功能:
1、USB1是USB插座,通过USB连接到电脑可以给开发板供电和通讯。
2、U19LM78055V线性稳压集成电路,该芯片最高输入电压可达到35V,由于开发板电容电压等级和功耗要求,实际输入电压不能超出12V。
3、TEMP1是一个自动下载STC芯片的模块,可以插拔的选配件,如果没有选配该模块,需要用跳帽短接TEMP1的第1、2脚。
4、J35、J36电源插针,可以通过此插针向外部扩展模块提高5V电压,也可以从外部电源引入5V电压。
5、SW3电源开关。
2.2单片机系统
MCU是整个显示系统的核心部件,系统的整体性能很大程度上取决于MCU的先进性和灵活性。
本系统选用STC公司的STC89C54RD+增强型51单片机.STC89C54RD+单片机具有提高MCU的运行速度,运行稳定,价格便宜,良好的性价比等特点。
其支持的高时钟为80M,这样能最大限度地提高MCU的运行速度;具有双倍速的功能,支持6时钟周期模式运行;具有ISP在线系统编程功能,大大缩短开发复杂度,同时可节省购买编程器的额外投人;STC89C54RD+单片机内部包括16KB的Flash程序存储器ROM、lKB的数据存储器RAM,与普通的8051单片机完全兼容,而51单片机的开发环境也很成熟:
如KeilC语言被广。
泛地应用于新产品的开发,这对于缩短系统开发周期有着很重要的意义。
2.2.1复位电路
上图包含包含2种复位方式,低电平复位与高电平复位,51单片机都采用高电平复位,即正常工作时复位引脚为低电平,按下复位按键时,复位脚为高电平。
阻容复位的特点是成本低连接方便。
在一些需求高可靠性能的设备中,专用的复位芯片常用于替代当前的阻容复位电路。
上图J19是3脚插针,中间引脚为公共脚,连接到单片机复位引脚,通过使用跳帽可以切换1、2脚或者2、3脚相连,用于连接高电平复位或者低电平复位,由于51单片机使用高电平复位,所以正常使用时跳帽默认连接到1、2脚。
在使用AVR芯片时需要切换到低电平复位。
2.3驱动电路
2.3.1串入并出移位寄存器74HC595
列驱动电路由集成电路74HC595构成。
它具有一个8位串入并出的移位寄存器和一个8位输出锁存器,而且移位寄存器和输入锁存器的控制是各自独立的,可以实现在显示本行各列数据的同时,传送下一行的列数据,即达到重叠处理的目的。
74HC595的外形及内部结构如上图所示。
它的输入端有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。
引脚SI是串行数据的输入端。
引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。
移位后的各位信号出现在各移位寄存器的输出端,也就来输出锁存器的输入端。
RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入到输出锁存器,引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则输出端为高阻状态。
SCLR信号时移位寄存器的清0输入端,当其为低时移位寄存器的输出全部为0.由于SCK和RCK两个信号时互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。
芯片的输出端为QA-QH,最高位QH可作为多片74HC595级联应用时向上一级的级联输出。
但因QH受输出锁存器打入控制,所以还从输出锁存器钱引出了QH',作为与移位寄存器完全同步的级联输出。
由74HC595在4.5V供电的情况下,可以达到21MHz以上的时钟频率,而我们采用的89C51的时钟频率只有24MHz,串口方式0的时钟频率只有fosc/12=2MHz,所以74HC595完全胜任;由于74HC595输出高电平时每个管脚的驱动电流只有20mA,而且每个LED发光管的驱动电流也是20mA,要是8个发光管同时轮流点亮的时候瞬间电流必定大于20mA,所以我们采用是采用吸收电流的方式直驱LED放光管。
2.3.2串入、并出移位寄存器74HC164
8位串入、并出移位寄存器74HC164、74HCT164是高速硅门CMOS器件,与低功耗肖特基型TTL(LSTTL)器件的引脚兼容。
74HC164、74HCT164是8位边沿触发式移位寄存器,串行输入数据,然后并行输出。
数据通过两个输入端(DSA或DSB)之一串行输入;任一输入端可以用作高电平使能端,控制另一输入端的数据输入。
两个输入端或者连接在一起,或者把不用的输入端接高电平,一定不要悬空。
时钟(CP)每次由低变高时,数据右移一位,输入到Q0,Q0是两个数据输入端(DSA和DSB)的逻辑与,它将上升时钟沿之前保持一个建立时间的长度。
主复位(MR)输入端上的一个低电平将使其它所有输入端都无效,同时非同步地清除寄存器,强制所有的输出为低电平。
3系统软件设计
显示屏软件的主要功能是向显示屏提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。
根据软件分层次设计的原理,可把显示屏的软件系统分成两大层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。
显示驱动程序负责向点阵传送特定组合的显示数据,并负责产生行扫描信号和其它控制信号,配合完成LED显示的扫描显示工作。
显示驱动程序由显示子程序实现;系统环境设置由系统初始化程序完成;显示效果处理等工作,则由主程序通过调用子程序来实现。
3.1显示驱动程序
然后显示驱动程序查询当前点亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。
为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等数据发送完毕后输出74HC595的锁存信号,将显示数据打入输出锁存器并锁存,然后再输出新的行号,并打开显示。
3.2系统原理及程序
系统主程序开始以后,首先是对系统环境初始化,包括设置串口,端口以及一些参数;然后显示吃豆豆的动画效果,先吃完一个豆豆之后前进吃另外一个豆豆,每幅图停留约2秒。
设置系统程序不断地循环执行上述显示效果。
3.2.2系统程序
/*32*16点阵屏的显示点阵屏的显示*/
#include
#include
#defineDATAOUTP2//指定P2口做为输出
sbitDATA=DATAOUT^0;//列数据输出位
sbitSCLH=DATAOUT^1;//列扫描时钟位
sbitSCLT=DATAOUT^2;//列数据锁存位
sbitAB=DATAOUT^4;//行数据输出位
sbitSCK=DATAOUT^5;//行扫描时钟位
unsignedcharidatalhj[64];//64字节RAM做为32*16点阵屏显示缓存
voiddisplay();//做为点阵扫描函数,将显示缓存的数据输出到点阵屏
voiddisplayS(unsignedinttimer);//指定时间扫描显示
codeunsignedcharframe1_1[32]={//第一幅画的点阵数据
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0C1,0x83,
0x0C1,0x83,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
codeunsignedcharframe1_2[32]={//第一幅画的点阵数据
0x00,0x00,0x00,0x0F0,0x01,0x08,0x02,0x04,
0x04,0x22,0x02,0x01,0x01,0x01,0x30,0x81,
0x30,0x81,0x01,0x01,0x02,0x01,0x04,0x02,
0x02,0x04,0x01,0x08,0x00,0x0F0,0x00,0x00};
codeunsignedcharframe2_1[32]={//第二幅画的点阵数据
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0C1,0x83,
0x0C1,0x83,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
codeunsignedcharframe2_2[32]={//第二幅画的点阵数据
0x00,0x00,0x0F,0x80,0x10,0x40,0x20,0x20,
0x41,0x10,0x20,0x08,0x10,0x08,0x38,0x08,
0x38,0x08,0x10,0x08,0x20,0x08,0x40,0x10,
0x20,0x20,0x10,0x40,0x0F,0x80,0x00,0x00};
codeunsignedcharframe3_1[32]={//第三幅画的点阵数据
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x0C1,0x83,
0x0C1,0x83,0x00,0x00,0x00,0x00,0x00,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00};
codeunsignedcharframe3_2[32]={//第三幅画的点阵数据
0x00,0x00,0x07,0x80,0x08,0x40,0x10,0x20,
0x22,0x10,0x40,0x08,0x80,0x08,0x0F8,0x08,
0x0F8,0x08,0x80,0x08,0x40,0x08,0x20,0x10,
0x10,0x20,0x08,0x40,0x07,0x80,0x00,0x00};
codeunsignedc
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 控制 LED 点阵 显示屏 设计 论文