配色: 字号:
16×16点阵LED电子显示屏的设计
2013-01-09 | 阅:  转:  |  分享 
  
1.背景介绍

1.1LED及LED显示屏

LED就是LightEmittingDiode()发光二极管是由p型和n型半导体组成的二极管。在LED的p-n结附近,n型材料中多数载流子是电子,p型材料中多数载流子是空穴。p-n结上未加电压时构成一定的势垒,当加正向偏压时,在外电场作用下,p区的空穴和n区的电子就向对方扩散运动,构成少数载流子的注入,从而在p-n结附近产生导带电子和价带空穴的复合,同时释放出相对应的能量hν(h为普朗克常数,ν为光子频率)而发光。该能量相当于半导体材料的带隙能量Eg(Ev),其与发光波长λ(nm)的关系为λ=1239.6PEg。























图1显示屏电路框图

3.1系统硬件电路的设计

硬件电路大致上可以分成单片机系统及外围电路、列驱动电路和行驱动电路三部分。

3.1.1单片机系统及外围电路

单片机采用MSC-51或其兼容系列芯片,采用24MHZ或更高频率晶振,以获得较高的刷新频率,时期显示更稳定。单片机的串口与列驱动器相连用来显示数据。P1口低4位与行驱动器相连,送出行选信号;P1.5~P1.7口则用来发送控制信号。P0口和P2口空着,在有必要的时候可以扩展系统的ROM和RAM。16x16的点阵显示屏的硬件原理图如图所示。



3.1.2列驱动电路

列驱动电路有集成电路74HC595构成。它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且移位寄存器和输出锁存器的控制是各自独立的,可以实现在显示本行列数据的同时,传送下一行的列数据,既达到重叠处理的目的。

74HC595的外形及内部结构如图3所示。它的输入侧有8个串行移位寄存器,每个移位寄存器的输出都连接一个输出锁存器。引脚SI是串行数据的输入端。引脚SCK是移位寄存器的移位时钟脉冲,在其上升沿发生移位,并将SI的下一个数据打入最低位。

移位后的各位信号出现在各移位寄存器的输出端,也就是输出锁存器的输入端。RCK是输出锁存器的打入信号,其上升沿将移位寄存器的输出打入输出锁存器。引脚G是输出三态门的开放信号,只有当其为低时锁存器的输出才开放,否则为高组态。SCLR信号是移位寄存器清零输入端,当其为低时移位寄存器的输出全部为零。由于SCK和RCK两个信号是互相独立的,所以能够做到输入串行移位与输出锁存互不干扰。芯片的输出端为QA~QH,最高位QH可作为多片74HC595级联应用时,向上一级的级联输出。但因为QH受输出锁存器的打入控制,所以还从输出锁存器前引出QH,作为与移位寄存器完全同步的级联输出





QB116Vcc

QC215QA

QD314SI

QE413G

QF512RCK

QG611SCK

QH710SCLR

GND89QH

图3.74HC595外形及引脚



3.1.3行驱动器

单片机P1口低4位输出的行号经4/16线译码器74LS154译码后生成16条行选通信号线,再经过驱动器驱动对应的行线。一条行线上要带动16列的LED进行显示,按每一LED器件20MA电流计算,16个LED同时发光时,需要320MA电流,选通三极管8550作为驱动管可满足要求。

3.2.系统程序的设计

显示屏软件的主要功能是向屏体提供显示数据,并产生各种控制信号,使屏幕按设计的要求显示。根据软件分层次设计的原理,可以把显示屏的软件系统分为两层;第一层是底层的显示驱动程序,第二层是上层的系统应用程序。显示驱动程序负责向屏体送显示数据,并负责产生行扫描信号和其他控制信号,配合完成LED显示屏的扫描显示工作。显示驱动器程序由定时器T0中断程序实现。系统应用程序完成系统环境设置(初始化)、显示效果处理等工作,由主程序来实现。

从有利于实现较复杂的算法(显示效果处理)和有利于程序结构化考虑,显示屏程序适宜采用C语言编写。

3.2.1显示驱动程序

显示驱动程序在进入中断后首先要对定时器T0重新赋初值,以保证显示屏刷新率的稳定,1/16扫描显示屏的刷新率(帧频)计算公式如下:

刷频率(帧频)=1/16×T0溢出率

=1/16×f/12(65536-t)

其中f位晶振频率,t为定时器T0初值(工作在16位定时器模式)。然后显示驱动程序查询当前燃亮的行号,从显示缓存区内读取下一行的显示数据,并通过串口发送给移位寄存器。为消除在切换行显示数据的时候产生拖尾现象,驱动程序先要关闭显示屏,即消隐,等显示数据打入输出锁存器并锁存,然后再输出新的行号,重新打开显示。图4为显示驱动程序(显示屏扫描函数)流程图。



































3.2.2系统主程序

本文设计的系统软件能使系统在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。

系统主程序开始以后,首先是对系统环境初始化,包括设置串口、定时器、中断和端口;然后以“卷帘出”效果显示图形,停留约3s;接着向上滚动显示“我爱单片机”这5个汉字及一个图形,然后以“卷帘入”效果隐去图形。由于单片机没有停机指令,

所以可以设置系统程序不断的循环执行上述显示效果。

单元显示屏可以接收来自控制器(主控制电路板)或上一级显示单元模块传输下来的数据信息和命令信息,并可将这些数据信息和命令信息不经任何变化地再传送到下一级显示模块单元中,因此显示板可扩展至更多的显示单元,用于显示更多的显示内容。

图5是系统主程序流程图。































图5系统主程序流程图

以下是16x16的点阵LED电子图文显示屏的源程序采用C语言编写(也可采用汇编语言编写,C程序KeiluVision2V2.30环境下调试通过。

以下为用C语言编写的字符显示控制程序:

#include"reg52.h"#defineBLKN8?????????//列锁存器数(=LED显示字数2)#defineTOTAL20???????//待显示字个数,本例共20个#defineCONIOP1???????//显示控制口sbitG=CONIO^7;????????//CONIO.7为154译码器显示允许控制信号端口,0时输出,1时输出全为高阻态.sbitCLK=CONIO^6;??????//CONIO.6为595输出锁存器时钟信号端,1时输出数据,从1到0时锁存输出数据.sbitSCLR=CONIO^5;?????//CONIO.5为595移位寄存器清零口,平时为1,为0时,输出全为0.unsignedcharidatadispram[(BLKN/2)32]={0};//显示区缓存,四字共432单元/主函数/voidmain(void){unsignedcharcodeBmp1[][32]={?{?0xF9,0xBF,0xC7,0xAF,0xF7,0xB7,0xF7,0xB7,0xF7,0xBF,0x00,0x01,0xF7,0xBF,0xF7,0xB7,?0xF1,0xD7,0xC7,0xCF,0x37,0xDF,0xF7,0xAF,0xF6,0x6D,0xF7,0xF5,0xD7,0xF9,0xEF,0xFD?}/我/,?{?0xFF,0x07,0xC0,0x6F,0xED,0xEF,0xF6,0xDF,0xC0,0x01,0xDD,0xFD,0xBD,0xFF,0xC0,0x03,?0xFB,0xFF,0xF8,0x0F,0xF3,0xDF,0xF4,0xBF,0xEF,0x3F,0x9C,0xCF,0x73,0xF1,0xCF,0xFB?}/爱/,?{?0xF7,0xDF,0xF9,0xCF,0xFB,0xBF,0xC0,0x07,0xDE,0xF7,0xC0,0x07,0xDE,0xF7,0xDE,0xF7,?0xC0,0x07,0xDE,0xF7,0xFE,0xFF,0x00,0x01,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF,0xFE,0xFF?}/单/,?{?0xFF,0xBF,0xEF,0xBF,0xEF,0xBF,0xEF,0xBB,0xE0,0x01,0xEF,0xFF,0xEF,0xFF,0xEF,0xFF,?0xE0,0x0F,0xEF,0xEF,0xEF,0xEF,0xEF,0xEF,0xDF,0xEF,0xDF,0xEF,0xBF,0xEF,0x7F,0xEF?}/片/,?{?0xEF,0xFF,0xEF,0x07,0xEF,0x77,0x01,0x77,0xEF,0x77,0xEF,0x77,0xC7,0x77,0xCB,0x77,?0xAB,0x77,0xAF,0x77,0x6E,0xF7,0xEE,0xF5,0xED,0xF5,0xED,0xF5,0xEB,0xF9,0xEF,0xFF?}/机/,?{?0xF8,0x3F,0xE7,0xCF,0xDF,0xF7,0xBF,0xFB,0xB3,0x9B,0x73,0x9D,0x7F,0xFD,0x7F,0xFD,?0x6F,0xED,0x67,0xCD,0xB3,0x9B,0xB8,0x3B,0xDF,0xF7,0xE7,0xCF,0xF8,0x3F,0xFF,0xFF?}/:)/};registerunsignedchari,j,k,l,q,w;//初始化SCON?=0x00;?????????????//串口工作模式0:移位寄存器方式TMOD=0x01;??????????????//定时器T0工作方式1:16位方式TR0=1;??????????????????//启动定时器T0CONIO=0x3f;????????????????//CONIO端口初值IE=0x82;????????????????//允许定时器T0中断//while(1)?{delay(2000);????????????//2秒//第一种显示效果:卷帘出显示笑脸图案?for(i=0;i<32;i++)?????????{???for(q=0;q>7;?????????????if(q==BLKN/2-1)dispram[l2+1+q32]=dispram[l2+1+q32]<<1|Bmp[i][l2+j]>>(7-k);????????????elsedispram[l2+1+q32]=dispram[l2+1+q32]<<1|dispram[l2+(q+1)32]>>7;????????}?????????}???????delay(100);???????}???}?delay(3000);//第一种显示效果:卷帘出黑屏?for(i=0;i<32;i++)?????????{???for(q=0;q0;j--)?????for(k=0;k<8;k++)???????{???????for(l=0;l<16;l++)?????????{??????????for(q=0;q>1|dispram[l2+q32]<<7;?????????????if(q==0)dispram[l2+q32]=dispram[l2+q32]>>1|Bmp[i][l2+j-1]<<(7-k);????????????elsedispram[l2+q32]=dispram[l2+q32]>>1|dispram[l2+1+(q-1)32]<<7;????????}?????????}???????delay(100);???????}???}?delay(3000);//第四种显示效果:卷帘入?for(i=0;i<32;i++)?????{???for(q=0;q




4性能分析

LED显示屏硬件电路只要硬件质量可靠,引脚焊接正确,一般无需调试即可正常工作。软件部分需要调试的主要有显示屏刷新频率及显示效果两部分。显示屏刷新率由定时器T0的溢出率和单片机的晶振频率决定,表5.1给出了实验调试时采用的频率及其对应的定时器T0初值。





表5.1显示平刷新率与T0初值关系表(24MHz晶振)

刷新率 25 50 62.5 75 85 100 120 T0初值 0Xec78 0Xf63C 0Xf80 0xF97E 0XFA42 0XFB1E 0xFBEE



从理论上来说,24Hz以上的刷新频率就能看到稳定的连续的显示,刷新率越高,显示越稳定,同时刷新频率越高,显示驱动程序占用的CPU时间越多。试验证明,在目测条件下刷新频率40Hz一下的画面看起来闪烁较严重,刷新频率50Hz以上的已基本察觉不出画面的闪烁,刷新频率达到85Hz以上时再增加画面闪烁没有明显的改善。

这个方案设计的16x16的点阵LED图文显示屏,电路简单,成本较低,且较容易扩展成更大的显示屏;显示屏各点亮度均匀、充足;显示图形或文字稳定、清晰无串扰;可用静止、移入移出等多种显示方式显示图形或文字









总结

本文设计的一个室内用16x16的点阵LED图文显示屏,能够在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。本系统具有硬件少,结构简单,容易实现,性能稳定可靠,成本低等特点。

总结本文的研究工作,主要做了下面几点较突出的工作:

一、通过查阅大量的相关资料,详细了解了LED的发光原理和LED显示屏的原理,了解了LED的现状,清楚地了解了LED显示屏与其它显示屏相比较有那些优点,明确了研究目标。

二、本文设计的LED显示屏能够实现在目测条件下LED显示屏各点亮度均匀、充足,可显示图形和文字,显示图形和文字应稳定、清晰无串扰。图形或文字显示有静止、移入移出等显示方式。

三、文章给出了系统具体的硬件设计方案,硬件结构电路图,软件流程图和具体汇编语言程序设计与调试等方面。

四、在这次毕业设计的过程中学会了Protel99se的基本使用,感到Protel99se对自动化专业的同学来说是一门很有用的课程。

五、存在缺陷:没有考虑抗干扰的问题。

















致谢

在这次课程设计中,我们要感谢申红军老师。申老师亲自为我们改进我们的设计报告,给了我们很大帮助。我们如果没有申红军老师的指导,我们是不可能完成这个总图的设计的。在仿真阶段也遇到了不少问题,申老师都细心的帮我们分析,找到问题的关键。除此之外,这次课程设计中,明显感觉自己对一些基础知识也掌握得不牢固,以后要多向申老师学习,善于思考问题。





























参考文献

[1]何立民.MCS-51系列单片机应用系统设计与接口技术.北京航空航天大学出版社,1990

[2]任涛等.闪速存储器数据及应用简明速查手册.电子工业出版社,1997

[3]何立民.单片机应用技术选编.北京航空航天大学出版社,2000

[4]张毅刚等.MCS-51单片机应用设计.哈尔滨工业电子出版社,1996

[5]邬宽明.单片机外围器件实用手册.北京航空航天大学出版社,1998

[6]张凯.LED介绍完全手册.北京航空航天大学出版社,2000

[7]张友德等.单片微型机原理应用与实验,复旦大学出版社,1996





















1616LED点阵广告牌的设计













2





1616LED点阵广告牌的设计





1























电源





列驱动器



行驱动器









LED显示点阵











74HC595



进入中断



定时器赋初值



读取行号并增加1



送新行显示数据



消隐



切换显示数据



发送新行号,打开显示



退出中断



开始



系统初始化



“卷帘出”显示效果



“上滚屏”显示效果



“左跑马”显示效果



“卷帘入”显示效果







献花(0)
+1
(本文系草木戒工作...首藏)