基于单片机的多点阵LED字符显示屏的设计.docx
- 文档编号:6329245
- 上传时间:2023-01-05
- 格式:DOCX
- 页数:38
- 大小:525.12KB
基于单片机的多点阵LED字符显示屏的设计.docx
《基于单片机的多点阵LED字符显示屏的设计.docx》由会员分享,可在线阅读,更多相关《基于单片机的多点阵LED字符显示屏的设计.docx(38页珍藏版)》请在冰豆网上搜索。
基于单片机的多点阵LED字符显示屏的设计
2014届毕业设计说明书
基于单片机的多点阵LED字符显示屏的设计与制作
院、部:
电气与信息工程学院
学生姓名:
饶伟
指导教师:
桂友超职称讲师
肖金凤职称副教授
专业:
电气工程及其自动化
班级:
电气本1004班
完成时间:
2014年5月
摘要
随着显示器件与显示技术的进而发展,作为一种重要的传媒,屏幕显示系统已经广泛应用于国民经济中。
LED显示屏是由LED点阵模块或像素单元构成的。
计算机技术的飞速发展,使得LED数码管能够在减少驱动器的情况下直接被驱动。
LED数码管具有高可靠性、长寿命、高性价比、低成本、强适应能力等特点,使得它在平板显示领域一直扮演着举足轻重的角色,而且它今后的发展空间还相当大。
本次毕业设计是以单片机为基础控制核心,用4块8×8LED点阵组合制作了一个能显示16x16点阵LED电子显示屏。
要求显示屏的各发光二极管的亮度足够并且均匀,显示稳定、清晰的图形或者文字,其显示出的图形或者文字应能有静止、移入移出的效果。
点阵显示屏采用动态显示方式,动态扫描逐行轮流点亮。
点阵显示数据的传输采用串行传输方法。
本文重点讲述的是LED显示屏的硬件电路的组成及软件部分的编程、LED点阵显示屏的功能实现。
关键字:
16×16点阵;单片机;LED显示屏
ABSTRACT
Withthefurtherdevelopmentofdisplaydevicesanddisplaytechnologies,asanimportantmedia-screendisplaysystemhasbeenwidelyusedinthenationaleconomy.LEDdisplayisaLEDdotmatrixmoduleorpixelunits.Therapiddevelopmentofcomputertechnology,makesdigitalLEDcanbedrivendirectlyinthedrivetoreducethecase.LEDdigitaltubewithhighreliability,longlife,cost-effective,low-cost,adaptablecharacteristics,makingitthefieldofflatpaneldisplayhasbeenplayingapivotalroleinthefuturedevelopmentofspaceanditisalsoquitelarge.
Thegraduationprojectisamicrocontroller-basedcontrolcenter,withfour8×8LEDdotmatrixdisplaycombinationcanproducea16x16dotmatrixLEDdisplay.Requirementsofeachlight-emittingdiodedisplaybrightnessanduniformenough,showsasteady,cleargraphicsortext,whichshowsagraphicortextshouldbeabletohavearest,movedoutoftheresults.Dotmatrixdisplaywithadynamicdisplay,dynamicprogressivescanturnslights.Dotmatrixdisplayusingserialtransmissionofdatatransfermethods.ThisarticlefocusesontheLEDdisplayiscomposedofprogramminghardwareandsoftwarepartsofthecircuit,LEDdotmatrixdisplayfunctionrealization.
Keywords:
16×16dotmatrix;SCM;LEDdisplay
1.2LED点阵显示屏的发展趋势2
2整体设计方案3
2.1设计所实现的功能及构成3
2.2显示模块的方案3
2.2.1静态显示方式3
2.2.2动态显示方式3
2.3数据传输方案论证4
3硬件电路的构成5
3.1设计框图及介绍5
3.251系列单片机5
3.3单片机的最小应用系统8
3.4LED点阵9
4.2点阵左移显示的流程图及分析19
附录234
1绪论
1.1设计的背景
随着显示器件与显示技术的进而发展,作为一种重要的传媒,屏幕显示系统已经广泛应用于国民经济中。
LED显示屏是由LED点阵模块或像素单元构成的。
计算机技术的飞速发展,使得LED数码管能够在减少驱动器的情况下直接被驱动。
LED数码管由于具有高可靠性、长寿命、高性价比、低成本、强适应能力等特点,使得它在平板显示领域一直扮演着举足轻重的角色,而且它今后的发展空间还相当大。
因此,LED数码管广泛用于我们日常生活中,并扮演着的信息显示与广告宣传的角色。
组合型LED点阵显示器是开始出现于20世纪末,它具有很高的亮度、较低的能耗、广阔的视角、长久的使用时间及引脚少和耐高温极寒,耐腐蚀的多种特点。
点阵显示器有单色的点阵显示器和双色的点阵显示器,可显示红,橙、黄、绿等多种不同颜色。
LED点阵具有多种不同的点阵;本文设计制作的就是16×16的LED显示屏,在下文会详细概述。
LED点阵显示器以像素的数目可将其区分为双基色和三基色等类型。
根据不同像素颜色所显示的图文等信息的颜色也不尽相同,单色色彩的显示是使用单基色的点阵,如红、黄、绿等,其都是固定的。
将颜色不同的发光二极管组合点亮使得显示出不同颜色的点阵。
如红蓝都亮时即可显示紫色,要想实现256或更高级的灰度的这种真彩色显示,就需使用脉冲方式来决定二极管点亮的时间。
一般的数码管能显示阿拉伯数字和其他的一些中西文字与符号,这种数码管还可以用一个单块的LED点阵显示器来替代。
常用的英文字母可以使用5×7点阵显示器来显示,显示中英文就可以用5×8点阵显示,显示文本和图形可以采用8×8点阵来显示。
要形成大屏幕的显示,它需组合使用多个点阵显示器。
像这种大屏幕点阵显示器是通过单片机或者微型计算机控制其驱动来实现多种信息的显示。
1.2LED点阵显示屏的发展趋势
改革开放后期,LED点阵显示屏作为一种新式的信息显示媒介在全世界快速的成长起来,因为其有着可以长期使用的寿命、非常可靠和可观的性价比、环境适应能力强、低廉的使用成本、低能耗等特性,仅仅在短短的八十年后期至九十年代初期的这段时间内,就迅速发展成为主流高科技领域显示所采用的产品,并得到普及的推广使用,引领着信息显示领域的发展。
在现如今高速发展的社会,信息传播显示产品技术在飞速的往前进步,人们对视觉效果的要求也越来越高,也就意味着对显示屏的显示技术要求日益求精。
二十一世纪的显示技术也将成为平板显示的时代,作为平板显示的主要架构产品,LED显示屏无庸置疑将会有更快的发展,并成为全球代表性的主流显示产品。
随着基础材料的实现产业化,使得LED显示屏的成本也逐步降低,应用性也得到更广泛的普及。
由此可预计在今后的时间内,LED显示屏的发展会越发迅速,其在户外媒体广告宣传显示中将逐渐的完全替代那些传统的霓虹灯、灯箱等产品。
多种颜色的LED显示屏的普遍性的应用将使得LED显示屏产业的发展达到一个增长点的新高。
未来LED显示屏的发展方向也将越发标准、规范、结构多样化。
2整体设计方案
2.1设计所实现的功能及构成
基于单片机的16×16LED点阵显示屏的设计,要求其显示屏的各发光二极管的亮度足够并且均匀,显示稳定、清晰的图形或者文字,其显示出的图形或者文字应能有静止、移入移出的效果。
本设计的16×16点阵显示屏是采用四个8×8的点阵组合构成的。
行列之间的交错处都含有一个发光二极管,总共是由256个发光二极管组成。
2.2显示模块的方案
为了达到显示效果的增强,一般都具有几种显示模式,可分为两种显示模式,一种为静态显示方式,一种为动态显示方式。
2.2.1静态显示方式
静态显示,每一位显示器的字段都用独立的控制线。
由于每一位显示器分别由一个8位的输出口控制其字段码,所以每一位显示器就得需要8根的输出控制线,这样来说,更多位的显示器就需要更多的输出控制线。
这样一来将占用较多I/O资源。
而单片机只能提供的有限的I/O口。
因此,在实际使用中,输出口数目不够的问题,可以通过I/O口扩展的方式解决。
静态显示主要的优点是显示稳定,在发光二极管电流导通一定的情况下显示器的亮度高亮,系统运行过程中,在需要更新显示内容时,CPU才去执行显示更新子程序,这样既节约了CPU的时间,又提高了CPU的工作效率。
其不足之处是硬件占用资源较多,由于每个LED数码管需独自占用8条输出线。
因而显示器位数的一增加,需求的I/O口线也将一一增加。
2.2.2动态显示方式
在多位显示时,为了弥补静态显示方式的不足一般来说可以以采用动态显示方式来代替,全部数码管共用一套段码驱动电路,各位数码管的同段引脚短接后再接到对应段码的驱动线上。
显示时通过位控信号采用扫描的方法逐位地循环点亮各位数码管。
动态显示虽然在任一时刻只有一位数码管被点亮,但是由于人眼具有的视觉残留效应,看起来与全部数码管持续点亮的效果完全一样。
动态显示具有硬件简单,功耗低和显示灵活性强等优点。
鉴于LED显示器为并排使用的多位数码管,本次设计将采用动态显示方式,动态扫描逐行轮流点亮,因为每一行都有一个行驱动器,而各行的同名列又共用一个驱动器。
单片机中存储器放置着显示所需数据,这些显示数据按8位一个字节的形式顺序排列放置。
当要显示时就需把一行中的各列数据信息都传给其对应的列驱动器上面去,在这中情况下就会出现一个显示数据传输的问题。
所以这时可以使用并列的方式或串行方式来实现控制电路到列驱动器之间的传输。
2.3数据传输方案论证
在采用并行模式的时候,从控制电路到列驱动器传输数据需要非常多的线路和硬件数。
这样在很多列数时,并行传输模式是行不通的。
使用串行传输方法来实现显示数据的传输时,用一根信号线就能把列数据送到列驱动器中,该方法具有十分的经济性。
但由于串行传输过程比较长,根据顺序将数据发送到列驱动器时,要想这一行的每列并行显示就得等待其各列的数据都传送完毕。
在采用这种串行传输方式的时候,且在确定行扫描周期的情况下,因为列数据所耗费的准备时间可能会比较长,因此行显示时间就会不足,将导致发光二极管亮度也会不足。
重叠处理法的关键点是该行列数据进行显示的时候,同时把该行的下一行列数据传送给列驱动器。
这种处理法可以用来解决列数据显示时间与准备时间之间的互相矛盾的问题。
要想达到重叠处理,要求列数据的显示必须得具有锁存的功能。
为了不影响本行的显示,列数据准备应具有实现串入并出的移位功能。
3硬件电路的构成
3.1设计框图及介绍
LED显示点阵的硬件电路由单片机系统及外围电源电路、列驱动电路和行驱动电路组成。
设计的点阵总体框图如图1所示。
图1点阵显示的总体框图
3.251系列单片机
单片机又称微处理器。
它是计算机的一个分支,它的组成原理和典型PC计算机有点相似,由多部分基本功能部件集成而来,它一般包括着中央处理器CPU、内部数据存储器、程序存储器、定时器/计数器、并行I/O口、串行口、中断控制电路、位处理器和一些必须的内部总线。
单片机的基本结构如图2所示。
控制器运算器构成cpu、内外程序数据存储加上串并行通信口、中断与定时计数这类事件触发单元构成单片微型计算机最基本外设通过外部设备的扩展从而构成单片机最小系统。
单片机的核心是中央处理器(CPU),主要用于完成一些运算和实现控制操作。
算术逻辑控制单元加控制器即中央处理器两个最核心部分运算器电路和控制器电路。
算术逻辑单元主要对数据进行处理包括加、乘、减、基本算术运算,逻辑单元进行逻辑功能运算,布尔处理器进行位操作。
运算的实现是把运算数值放置累加器ACC中通过指令进行各种四则运算当然这还需要其它寄存器的配合。
一个用来寄存指令执行的状态信息的8位寄存器PSW即程序状态字。
PSW的位状态可以用专门指令进行测试,也可以用指令读出。
其各位的为序所定义的标志位如下:
PSW中最常用的标志位是进位标志位,即CY;在加法的运算中存放,若有进位时,CY置1,没有进位时CY需要清零;而在减法的运算中它用来存放借位标志位,若有借位CY置1,没有借位CY清零。
半进位标志位AC是低半字节的进位位,AC置1表示低4位在往高4位进位,AC清零表示低4位在向高4位借位。
可由用户自定义的标志位叫做用户标志位(F0);通过低半字节对其置位和复位。
RS1和RS0:
寄存器组选择控制位,用来设置4组工作寄存器的组号。
OV:
溢出标志位。
在加减运算中,运算超出了累加器A的有效范围(-128~+127)时,则OV置1,产生满溢,否则OV由硬件清零,代表运算的结果无错误。
在无符号乘法运算中,当乘法结果超过255时,OV=1,高8位的乘积放在B中,低8位放在A中;没超过255时,则OV清零,代表乘积置存放在A中。
奇偶标志位用P表示。
表明累加器A中1的个数的奇偶性,若A中1的个数是偶数时,则P=0;若A中1的个数是奇数,则P=1。
单片机是一种通过程序控制的微型计算机;工作过程是从程序存储器中取指令送指令存储器,译码器译码生成一系列符合定时要求的微操作信号,来控制单片机的各部分执行动作。
在80C51内部的功能部件间数据的传送和运算是由控制器所协调的。
(2)存储器组织
51系列的单片机的存储器具有两个部分,即程序存储器和数据存储器。
程序存储器和数据存储器两个的结构是分开的。
程序存储器是用来存放单片机系统的目标程序的,可分片内和片外程序存储器。
同理数据存储器就是存储数据的,其也具有片内和片外之分。
哈佛类型结构单片机指的是有着它自己的寻址机构和寻址方式的存储结构。
还有一种与哈佛结构单片机不同结构的单片机叫做普利适顿型,这种结构单片机的存储器的逻辑空间是唯一的,访问存储器时共用一种相同的指令,它的程序存储器和数据存储器可以随便安排。
80C51的片内具有的程序存储器和数据存储器大小分别为4KB(ROM)、256K,程序存储器和数据存储器都可在片外扩展64KB的寻址范围,也就是说80C51在片外的存储器扩展范围上限为2×64KB。
80C51单片机的存储器的配置如图3所示。
图380C51单片机的存储器配置
80C51程序存储器有64KB空间的可寻址地址,程序存储器通过16位的地址总线以程序计数器PC作为地址指针,用来存放程序和一些表格及常数。
8031片内没有程序存储器,需要在外部扩展。
而8051与8031不同,在8051单片机片内有驻留最低4KB存储器地址空间(0000H~FFFH)。
51系列单片机中,64KB的程序存储器编址都是统一的。
EA引脚可区分片内ROM和片外ROM,8051单片机中,EA引脚接高电平时,单片机从片内ROM取指令执行程序,当超过片内ROM地址空间0FFFH后,自动转向片外ROM取指令执行程序,所以片外程序存储器ROM地址空间是1000H~FFFFH。
EA引脚接低电平,中央处理器CPU只从片外程序存储器ROM中取用指令来执行。
8051单片机有256个单元的数据存储器,根据功能可以把256个单元分为低128单元和高128单元。
低128单元(00H~7FH)称为内部RAM,内部RAM是真正意义上的RAM区,其各单元可直接寻址,用于读写各种类型数据。
高128单元(80H~FFH)是给特殊功能寄存器(SFR)专用的,用于存放相应功能的控制命令、状态或数据。
8051片内还有着21个8位的特殊功能寄存器,访问时可使用它们的位符号或者位地址,还可用“寄存器名.位”表示,像表示ACC的最低位为ACC.0,表示B寄存器的最高位为B.7。
3.3单片机的最小应用系统
将片内有程序存储器的单片机与时钟电路、复位电路组合,再与单片机内部的中断系统、定时器计数器、串、并行接口连接就构成了单片机的最小应用系统。
如图4所示,就是一个单片机最小应用系统。
图4单片机最小应用系统
单片机实现复位的方式只有2种,加电复位和手动复位。
加电复位是指单片机在开机时由系统自动通过复位电路完成。
手动复位是单片机系统必须有的一项功能,在系统出现死机或进入程序跑飞死循环的情况时,可通过手动复位重新启动操作来解决。
我们通常把加电复位电路与手动复位所结合成一个既可以自动加电复位也能手动的复位电路。
单片机的复位电路简图如图5所示。
图5单片机的复位电路简图
51系列单片机的工作电压为5V,其EA引脚需接高电平,51系列单片机的电源电路如图6所示。
图651系列单片机的电源电路
3.4LED点阵
在LED显示屏系统中,其构成的基本单元为点阵结构。
每一个显示屏的单元都是由若干个8×8的单色LED点阵显示模块组成。
每个8×8的LED点阵都是由64个单个发光二极管组合的,在每行与每列的交汇点放置一个单个的发光二极管排列成了一个8×8的单色LED点阵。
使用两块单色的8×8LED点阵正确的连线可以显示两种颜色,这就是双色8×8点阵。
单色8×8LED点阵和双色8×8LED点阵的结构如图7所示。
单色8×8LED点阵双色8×8LED点阵
图7单双色8×8LED点阵结构
本设计是采用4块8×8的LED点阵模块组合成1个16×16的LED点阵显示模块。
如图8所示。
图816×16LED点阵
3.5LED显示方式
本设计所设计的16×16LED点阵采用的是动态扫描方法,将所有位数码管的段选线一起并联,即同一列发光二极管阴极一起连接,同以行发光二极管阳极一起连接。
从首行开始,把数据送出并且锁存,使首行对应的发光二极管亮熄一定时间;然后依照这样,再进行接下来的每一行都以相同时间亮熄,直至第十六行完成后,又重新回到第一行执行亮熄,如此反复循环的亮熄。
当以每秒24次以上的亮熄速度时,稳定的图形就能出现在显示屏上,这是因为人眼的视觉暂留现象产生的。
相比静态扫描来说,这种灵活的动态扫描方法能有效的节省单片机的资源。
显示数据传输使用的是串行传输的方法。
使用串行传输方法来实现显示数据的传输时,用一根信号线就能把列数据送到列驱动器中,该方法具有十分的经济性。
但由于串行传输过程比较长,根据顺序将数据发送到列驱动器时,要想这一行的每列并行显示就得等待其各列的数据都传送完毕。
在采用这种串行传输方式的时候,且在确定行扫描周期的情况下,因为列数据所耗费的准备时间可能会比较长,因此行显示时间就会不足,将导致发光二极管亮度也会不足。
串行传输过程中列数据的准备时间会与数据显示时间相矛盾,一般使用重叠处理方法解决。
重叠处理法的关键点是该行列数据进行显示的时候,同时把该行的下一行列数据传送给列驱动器。
要想达到重叠处理,要求列数据的显示必须得具有锁存的功能。
为了不影响本行的显示,列数据准备应具有实现串入并出的移位功能。
LED点阵显示模块有水平方向(X方向)扫描和竖直方向(Y方向)扫描方式。
水平扫描法即列扫描方法:
用一个P口输出列的位码来确定点亮哪一列,另一个P口输出行的位码确定行上的具体点亮哪个发光二极管。
自左向右循环扫描16次,显示出稳定的图像。
3.6点阵的移动
如下为16×16点阵移动介绍。
点阵的组字是通过横向和纵向的16点数据显示不同的字符,每一组成的字符都可以水平、竖直的在点阵屏上移动。
1.字符左右移动的显示
(1)竖直(列)扫描方法左移动:
即竖直方向的字符在水平方向移动(左方移动)
介绍两个方法:
方法一:
延长数组法。
将原先的字符点阵数组的16个数据延长为32个数据。
扫描仪的每帧取八个显示数据,每一帧取数时应该在数组的后一位取,也就是向后移一位。
要想呈现字符的水平方向的向左的移动的影像。
首先,设想有两个16×16的点阵模块,每次扫描16帧的数据,先从左边开始,然后都以16帧向右扫描,先前的16位被罩住,如此循环,就能实现16帧换面的动态扫描显示。
如图9.字符“江”沿水平向左移动的图像
图9方框图法左右移动示意图
列向若想显示一个移动的字符,首先理解列扫描方式其点阵数据时行码,高位在下面,低位在上面,所以当第一次取出1~16数据是从行码的点阵数组中取出的,接着把得到的行码送到输出口,与之相对应的这八个数组数据用列码传送至输出口端,分别把控1~16列。
这16个数据被扫描完成后,第二次就去2~14个数据,因为两个相同的数据1和17,再次送到输出口端,这样又对应了相应的数据,送给列的输出端口同时输出相应的列码,于是控制着相应的列(1~16列)三次的扫描取得数据为3~18,而18与2是相同的数据码,这样循环的扫描完成了字符的左向移动。
上述实现的是图形化移动的方法,也可理解为是移动了多个不同的形状字形。
如图10所示,通过对16行的扫描与显示,完成一个个字型的扫描,多少次的重复循环实现字符的左向移动。
图10字形法左右移动示意图
假定一个汉字的字型编码如下:
00H,10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H,0E0H,0F0H;
假设第二个汉字的编码如下:
10H,20H,30H,40H,50H,60H,70H,80H,90H,0A0H,0B0H,0C0H,0D0H,0E0H,0F0H,00H
相当于将字型的编码的行显示数据往后推一行,即第一行变为第二行,第二行变为第三行,如此推算。
第一个字型扫描结束就接着产生第二个字型的编码,以此类推,不断的进行编码的变换调整。
编码的根据顺序存入相应的地址,若要进行左移,先得把第一个地址存入到另外的一个地址,不是保存本数组数据的地址,然后存数据的地址依次向前移,例如,21H地址的数据移到20H,接着22H的数据就得移到21H地址,相互移动,达到相应的效果。
方法二:
数组数据的循环左移;即是把数组中的数据向左移不是二进制数据的位移。
不延长原先数组中的数据,而是去相应下一帧的十六个数据,然后把前一帧的数据前移,也就是左移,把后面的每一帧数据向前移,一直移下去,直到第16个。
数组数据的左移方法选择C语言实现,首先得设置数组的下标志,将相应的数据输入到数组中,然后根数数组的下标值,利用程序中的循环结构,进行遍历,将相应的值赋给前一个标号的数组中,这样就可以实现数组数据的左移。
(2)横向(行)扫描方法左移动:
即横向方向的字符在水平方向移动(左方移动)。
竖直扫描方式也就是行扫描方式,第一次扫描取1~16个数据,输送到列向的输出口端,相联系的八个数值,用行码输出口段输出相应的行码值,决定着1~16行的扫描。
接着,第二次扫描十六个数据,这次扫描需要右移第一次扫描的数据,如此扫描循环,关键的是后一次的扫描需让前一次的扫描右移一位。
与此同理,右移的原理与左移相似,只是
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 多点 LED 字符 显示屏 设计