点阵显示设计论文 初稿改后.docx
《点阵显示设计论文 初稿改后.docx》由会员分享,可在线阅读,更多相关《点阵显示设计论文 初稿改后.docx(63页珍藏版)》请在冰豆网上搜索。
点阵显示设计论文初稿改后
河北工业大学
毕业设计说明书(论文)
作者:
XXX学号:
XXX
系:
电子系
专业:
电子信息工程
题目:
16*64点阵显示屏设计
指导者:
XXX中级
评阅者:
2013年6月7日
毕业设计(论文)中文摘要
16*64点阵显示屏设计
摘要:
本设计以STC90C516RD+为主控芯片,采用译码器74HC138和三极管S8550作为行驱动,移位锁存器74HC595作为列驱动,显示部分是由4块16*16点阵显示模块级联而成的。
并且,每个16*16模块都是由4块8*8点阵拼接起来的。
另外本设计还添加了红外遥控装置,红外一体化接收头用的是HS0038芯片。
本设计可以实现红外遥控控制显示屏显示状态的改变,可以实现的功能有:
静态显示,左移显示,右移显示,拉幕显示,时间计时显示等。
按下相应的遥控按键,进入到相应的显示状态。
实现了无线控制,具有使用方便,结构简单,智能化的特点,所以其有一定的实用价值。
关键词:
STC90C516RD+74HC138S855074HC595点阵红外遥控
毕业设计(论文)外文摘要
TitleDesignof16*64DotMatrixDisplay
Abstract:
ThisdesignusesSTC90C516RD+asthemaincontrolchip,andthedecoder74HC138andatriodeS8550asthelinedriver,shiftlatch74HC595asthecolumndriver,thedisplaypartiscomposedof4blocksof16*16dotmatrixdisplaymodule.And,eachofthe16*16modulesaremadeupof4blocksof8*8dotmatrix.InadditionthedesignalsoaddedaZENVision,ZENVisionisusedinHS0038chip.
Thisdesigncanrealizetheinfraredremotecontroldisplayshowsthechangeofstate,canrealizethefunctionofastaticdisplay,moveleftdisplay,moverightdisplay,screendisplay,timedisplay.Presstheremotebuttoncorresponding,realizethecorrespondingdisplaystate.Realizationofwirelesscontrol,hastheadvantagesofconvenientuse,simplestructure,thecharacteristicsofintelligence,soithasacertainpracticalvalue.
Keywords:
STC90C516RD+74HC138S855074HC595DotMatrixZENVision
1绪论
1.1选题背景及选题意义
1.1.1选题背景
LED显示屏是在上世纪80年代中期发展起来的一种新型媒体。
LED即发光二极管,其内部主要为一个PN结。
当PN结内的电子与空穴复合时,电子由高能级跃迁到低能级,电子将多余的能量以发射光子的形式释放出来,产生电致发光现象。
发光颜色与构成其基底的材质元素有关。
每个发光二极管作为显示屏的像素点。
通过控制电路及驱动电路来控制每个像素点的亮与灭或其明暗程度,实现具有相当像素点的显示屏从而显示出人们要求的各种信息。
进入上世纪90年代以后,半导体工业的迅猛发展的缘故,带动了LED的制作材料的发展,制作工艺也有了大幅提高,使得LED在颜色与亮度方面都有了质的飞跃。
现在的LED显示屏按发光材料来分四种:
植灯型、表贴型、点阵型、像素管型。
按发光基色分三种:
单色型,双色型,三色型(全彩型)。
按用途分五种:
条屏、图文屏、数码屏、数码点阵混合屏、视频屏(同步屏)。
按使用环境可分三种:
户外型(防水),户内型(美观),半户外型(屏幕亮度高)。
如今的LED显示屏正向着亮度更高、颜色更全、密度更大、视角更开阔、寿命更长的方向迅速发展。
本设计采用LED点阵显示屏(图文屏),LED点阵显示屏具有功耗小、亮度高,寿命长,工作稳定等优点。
1.1.2选题意义
通过选此课题使得自己能够深入了解和掌握点阵显示屏的显示原理和制作方法。
从而也可以对大学中所学的理论知识进行一次检验。
从理论到实践,对理论知识会有新的认识。
并且可以更加熟悉对单片机的使用,同时又可以掌握51单片机开发软件的使用方法。
为以后学习和研究其他处理器积累了经验。
目前,电子行业发展迅速,LED也在迅猛的发展。
但是,我们也不能过于骄傲,毕竟我国的LED技术与世界先进技术国家还有一定的差距。
因此,选此课题无论是对自己以后的工作还是这个行业发展都是有一定意义的。
1.2论文主要内容
在写论文之前,在网上和图书馆搜集了大量的有关单片机和LED点阵屏的资料,包括对51单片机的引脚和功能介绍,点阵驱动电路设计,点阵显示原理介绍。
对硬件电路设计和点阵显示有了一定的认识。
接着就用Proteus软件仿真,接着开始做实物,经过两个月的努力,把实物做了出来。
接着又搜集了一些论文,参考其中的格式。
根据设计的的实际情况完成了16*64点阵显示屏设计论文。
针对本设计的特点,对论文主要能容的章节安排如下:
(1)总体方案设计
总体方案设计包括显示屏的功能简介、工作原理、总体方案设计。
(2)硬件设计
硬件设计包括最小系统电路设计、红外通信电路设计、行驱动电路设计、列驱动电路设计、显示模块电路设计。
最小系统电路包括51单片机、电源电路、时钟电路、复位电路。
红外通信电路包括红外发射和红外接收。
行驱动电路包括译码器74HC138和三极管S8550的参数、功能介绍,以及74HC138和S8550在本设计中的使用。
列驱动电路包括74HC595芯片介绍,以及在本设计中的应用。
显示模块电路设计包括本设计中实际用的点阵模块连接图介绍,点阵显示的基本原理介绍。
(3)软件设计
软件设计包括整体功能框图、主程序设计流程、拉幕显示子程序设计、左移显示子程序设计、右移子程序设计、遥控解码程序设计。
(4)系统调试
系统调试包括软件调试、硬件调试,两者综合调试、以及在调试过程中遇见的问题和解决方法。
2总体方案设计
2.1功能简介
本次设计的16*64LED点阵显示屏,采用51系列单片机STC90C516RD+作为字符显示的控制核心。
本显示屏用4块8*8点阵拼起来组成16*16显示模块,之后又将4块16*16显示模块级联而成。
依照实际需要,可显示文字信息,图形信息,还可显示秒表。
此次设计的亮点采用了红外控制。
按下不同的按键值进入到相应的显示状态。
使用起来方便灵活。
可以用在学校,医院,公园,广场等场所。
2.2工作原理
LED点阵屏有两种类型:
共阴和共阳。
本设计采用共阳类型的。
扫描方式采用逐行扫描,即一行一行显示。
首先若某行为高电平则选中该行,然后该行上为低电平的列均点亮。
扫描完16行,完成一个字符或者图形的显示。
每一行显示时间为4ms左右,由于人眼具有暂留效应,会感觉到16行LED好像都在显示。
因此,每行显示的时间不能太长也不能太短。
太长的话会有闪烁感,太短亮度不够。
其实,扫描过程中任意时间只有一行LED在显示,其余行均处在熄灭的状态。
2.3总体方案设计
本设计采用51系列单片机STC90C51RD+作为主控芯片,行驱动用3-8译码器74HC138和三极管S8550,列驱动电路用移位寄存器74HC595,此外还用到红外发射芯片WD6122和红外一体化接收头HS0038。
总体设计框图如图2.1所示:
图2.1总体设计框图
3硬件设计
3.1单片机最小系统电路设计
最小系统包括51单片机、电源电路,复位电路和时钟电路。
最小系统原理图如图3.1:
图3.1最小系统原理图
3.1.1STC90C516RD+介绍
本设计中采用51单片机STC90C516RD+作为核心部件,它的外部中断口P3.2接着红外的数据线口,当按下红外遥控上的某个按键后,触发中断,单片机相应的数据I/O口开始收数据,由单片机将数据通过595的数据输入口串行输入送到595去处理,595将处理后的数据并行放出给显示模块。
这样就可以由单片机来控制显示模块的显示状态了。
STC90C516RD+是宏晶科技推出的新一代超强抗干扰/高速/低功耗单片机,指令代码兼容传统51单片机,12时钟和6时钟机器周期可供选择,内部集成MAX810专用复位电路,时钟频率在12MHz以下时,复位脚可直接接地。
芯片参数介绍:
1.增强型6时钟/机器周期,12时钟/机器周期8051CPU。
2.工作电压:
5.5V-3.8V(5V单片机)/3.8V-2.4V(3V单片机)。
3.工作频率范围:
0-40MHz,相当于普通8051的0~80MHz。
4.用户应用程序空间可达61K/字节。
5.片上集成1280字节/512/256字节RAM。
6.通用I/O口(35/39个),复位后为:
P1/P2/P3/P4是准双向口/弱上拉。
P0口作为总线扩展,不必加上拉电阻,作为普通I/O口用时,加上拉电阻。
7.ISP(在系统可编程)/IAP(在应用可编程),无需专用编程器/仿真器。
8.EEPROM功能。
9.看门狗。
10.内部集成MAX810专用复位电路,外部晶体12M以下时,可省外部复位电路,复位脚可直接接地。
11.共3个16位定时/计数器,其中定时器0可以当成2个8位定时器使用。
12.外部中断4路,下降沿中断或低电平触发中断,PowerDown模式可由外部中断低电平触发中断方式唤醒。
13.通用异步串行口(UART),还可用定时器软件实现多个UART。
14.工作温度范围:
0-75℃/-40-+85℃。
15.封装:
LQFP-44,PDIP-40,PLCC-44。
STC90C516RD+引脚图如图3.2,实物图如图3.3:
图3.2STC90C516RD+引脚图图3.3STC90C516RD+实物图
3.1.2电源电路介绍
由于最小系统需要5V供电,所以本设计电源电路采用的是电源芯片78M05。
78M05是三端中电流正固定电压稳压器,输出电压为5V,输出电流最大值为500mA,输入偏执电流为3.2mA,输入电压最大值为35V。
具有过流过热关断保护功能。
电路中各个电源和地之间用了电容。
电容具有滤波的作用。
为了使输入电压变化和负载变化时,输出电压尽量不受影响。
一般来说,如果一端用两个电容的话,大电容用来滤除高频干扰,小电容滤除低频干扰。
电源电路如图3.4:
图3.4电源电路
3.1.3复位电路介绍
复位的目的是为了防止单片机系统在工作工程中受到外界环境的干扰致使程序跑飞不能正常工作时,只要按下复位键,单片机的复位引脚RST就会得到高电平,程序就会从头开始执行。
本设计复位电路采用按键复位。
单片机系统启动后,电容C1两端持续充电5V,电阻R1两端的电压几乎为0,RST引脚处于低电平系统正常工作。
当某一时刻,按下按键S1时,开关导通,电容放电,RST得到高电平,系统复位。
复位电路如图3.5:
图3.5复位电路
3.1.4时钟电路介绍
时钟电路采用内部方式时钟,内部方式时钟需要在XTAL2和XTAL1两脚之间接一个石英晶体振荡器和两个微调电容,微调电容一般取20-30pF,晶振一般取6M,11.0592M和12M。
晶体整荡器的振荡信号从XTAL2进入内部时钟电路,之后将振荡信号二分频,产生一个两相时钟信号P1和P2供单片机使用,两相时钟P1,P2简称两拍,CPU就是以P1,P2为基本节拍协调单片机的各部分正常工作的。
时钟信号周期(状态)是振荡周期的2倍。
然而单片机的基本操作周期称作机器周期,一个机器周期由6个状态组成,因此,一个机器周期包含12个振荡周期。
时钟电路如图3.6:
图3.6时钟电路
3.2红外通信电路设计
红外通信工作原理图如图3.7:
图3.7红外通信工作原理图
红外遥控包括红外发射和红外接收。
红外发射用到的是红外芯片WD6122,
WD6122芯片是通用红外遥控发射集成电路,采用CMOS工艺,最多可支持64按键。
发送端利用单片机将需要的发送的二进制信号编码调制为一系列脉冲信号,经红外发射管发射红外信号。
WD6122的引脚图如图3.8,引脚说明如表3.1:
图3.8WD6122引脚图
表3.1WD6122引脚说明
管脚号
符号
输入输出
功能状态
23、24、1~6
KI0~KI7
I
键扫描输入端
7
REM
O
数据输出管脚(遥控输出)
8
VDD
电源正极
9
SEL
I
选择管脚
10
OSCO
O
振荡器管脚(输出)
11
OSCI
I
振荡器管脚(输入)
12
GND
电源负极
13
LMP
O
输出LED指示(成闪烁状态)
21-14
KI/O0~KI/O7
I/O
键扫描输入/输出管脚
22
CCS
I
键扫描输入
红外接收采用一体化红外接收头HS0038,它接受红外信号频率是38kHZ。
HS0038接收红外信号,同时对信号进行放大、检波、整形得到TTL电平的编码信号,然后再传送给单片机,经单片机解码后去控制相应的对象。
红外接收电路如图3.9:
图3.9红外接收电路
3.3行驱动电路设计
点阵显示的行驱动采用3-8译码器74HC138和PNP型三极管S8550。
74HC138是采用CMOS工艺的三通道输入,八通道输出译码器。
其管脚定义图如图3.10,逻辑图如图3.11,管脚说明如表3.2:
图3.1074HC138引脚定义图3.1174HC138逻辑图
表3.274HC138管脚说明
名称
功能说明
管脚号
Y0-Y6,Y7
数据输出
15-9,7
A0-A2
数据输入
1-3
E1,E2,E3
使能控制
4-6
VCC
逻辑电源
16
GND
逻辑地
8
该译码器三个输入端共有8种状态组合,即可译出8个输出信号Y0-Y7。
三个使能端E1,E2,E3,当E3为1,E1,E2为0时,译码器处于工作状态。
16*64点阵显示屏中需要用74HC138去控制16行,由于一片只有8个输出口。
因此需要用两片进行级联。
本设计采用其中一片74HC138的E1与另外一片的E3相连作为第四个输入口。
这样就可以用两片138实现4输入,16输出的状态,从而达到控制16行LED点阵显示。
PNP型三极管S8850。
三极管8550是一种常用的普通三极管。
它是一种低电压,大电流,小信号的PNP型硅三极管。
S8550的引脚图封装如图3.12:
1、发射极2、基极3、集电极
图3.12S8550引脚封装图
该三极管的最大集电极电流0.5A,直流电增益10-60,功耗625mW,最大集电极发射电压(VCEO)为25V,特征频率最小150MHZ。
三极管具有典型的放大作用,因此本设计中将其作为行驱动。
点阵显示是采用动态扫描的方法来实现的。
然而在动态扫描时,每行有16个LED,这样将会使各行的电流很大,为了安全起见,单片机先接74HC138译码器,然后在译码器的每个输出端加了一个PNP型三极管S8550,在三极管的基极加限流电阻,同时经过三极管后又可以放大电流,增加了点阵的亮度。
行驱动电路原理图如图3.13:
图3.13行驱动电路原理图
3.4列驱动电路设计
点阵显示的列驱动采用移位锁存器74HC595。
74HC595是一款漏极开路输出的CMOS移位锁存器,输出端口为可控的三态输出口,也可以串行输出控制下一级级联芯片。
该芯片的管脚定义图如图3.14,管脚说明如表3.3:
图3.1474HC595管脚定义图
表3.374HC595管脚说明图
管脚编号
管脚名
说明
1、2、3、4、
5、6、7、15
QA-QH
三态输出管脚
8
GND
电源地
9
Q7’
串行数据输出管脚
10
MR
移位寄存器清零端
11
SH_CP
移位寄存器时钟输入
12
ST_CP
存储寄存器时钟输入
13
OE
输出使能
14
DS
串行数据输入
16
VCC
电源
74HC595是具有8位移位寄存器和一个存储器,三态输出功能。
移位寄存器和存储器是分别的时钟。
在SH_CP(11脚)上升沿时数据寄存器的数据移位。
下降沿移位寄存器数据不变。
ST_CP(12脚)上升沿时移位寄存器的数据进入数据存储寄存器,下降沿时存储寄存器数据不变。
移位寄存器还具有一个串行输入(DS)和一个串行输出(Q7’)。
数据从DS口进,从Q7’出。
Q7’脚还可以用来级联,从而就可以实现串行输出控制下一级级联芯片。
16*64点阵显示屏是由4块16*16显示模块级联而成,并且16*16显示模块是由4个8*8点阵拼接而成。
所以各模块之间的数据传输需要用到移位寄存器。
通过移位,锁存,移位,锁存,能够将数据传送到每个模块。
选用74HC595作为列驱动的原因有两点:
1,输出电流大,可达20-30mA。
2,74HC595的主要优点是具有数据存储寄存器,在移位的过程中,输出端的数据可以保持不变。
这在串行速度慢的场合很有用处,使得LED显示器件没有闪烁感。
当然了,由于LED的工作电流一般为4-5mA,因此,为了安全起见,在使用74HC595时需要在其每个输出端接一个适当的限流电阻。
列驱动电路原理图如图3.15:
图3.15列驱动电路原理图
3.5显示模块电路设计
点阵显示屏以LED(发光二极管)为基本发光元素(像素点),通过控制电路及驱动电路来控制每个像素点的亮与灭或其明暗程度,实现具有相当像素点的显示屏,从而显示出人们要求的各种信息。
LED点阵屏分两种,共阴和共阳。
本设计中用到的是共阳型的。
设计中用到的共阳型点阵屏的内部电路原理及相应的管脚图如图3.16:
图3.16共阳8*8点阵内部电路原理图
本设计中用了4块相同的8*8点阵屏拼接成16*16点阵显示模块,之后又将4块完全相同的16*16显示模块级联成16*64显示屏。
采用逐行扫描,一行一行显示。
显示的时序:
74HC138先进行行选,行选通某一行后,74HC595控制的列上为低电平的LED点亮。
扫面完16行,完成一个字的显示。
由于扫描时间小于人眼的反应时间,人眼具有的视觉暂留效应会感觉到16行都在稳定显示。
每个16*16点阵显示模块原理图如图3.17:
图3.1716*16点阵显示模块原理图
4软件设计
4.1整体功能框图
整体功能框图如图4.1:
图4.1整体功能框图
4.2主程序设计流程
主程序包含红外遥控信号中断初始化程序和红外遥控按键扫描程序。
当程序开始执行时,首先进行红外遥控信号中断初始化,当有键被按下时,即有红外线发出后,单片机检测到有红外信号接收时就会触发中断,系统就会进入到中断服务子程序中进行相应的红外解码,根据解码值去完成相应的显示状态。
当没有按键被按下时系统会停留在初始状态,或者当按下一个键后不再按下任意键则系统就会停留在此状态。
主程序的设计流程如图4.2:
图4.2主程序设计流程
4.3拉幕显示子程序设计
本设计是16*64点阵显示屏,所以在拉幕显示过程中会涉及到4个汉字的同时拉幕显示。
所以在送数时要给每个显示模块送数。
由于本设计的中点阵左边为低位,右边为高位。
因此,送数时先给第四个模块送对应汉字第一个字节的高八位,低八位,然后给第三个模块送对应汉字第一个字节的高八位,低八位,接着给第二个模块送对应汉字第一个字节的高八位,低八位,最后给第一个模块送对应汉字第一个字节的高八位,低八位。
送十六次完成四个字的送数。
拉幕显示的设计思想:
第一次只显示第一行,第二次只显示第一行和第二行,第三次只显示第一行,第二行和第三行。
以此类推,直至第十六次显示第一至第十六行。
从而实现一个字符或者图形的拉幕显示。
拉幕显示的关键处理程序:
while(l<16)
{
for(time1=0;time1<200;time1++)
{
disp_buff[1]=ziku_table[(k+1)*16+j];
disp_buff[0]=ziku_table[k*16+j];
disp_buff[3]=~ziku_table[(k+1)*32+j*2];
disp_buff[2]=~ziku_table[(k+1)*32+j*2+1];
disp_buff[5]=~ziku_table[(k+2)*32+j*2];
disp_buff[4]=~ziku_table[(k+2)*32+j*2+1];
disp_buff[7]=~ziku_table[(k+3)*32+j*2];
disp_buff[6]=~ziku_table[(k+3)*32+j*2+1];
k=0;
hc595_send(disp_buff,2*4);
g=1;
P2=j;
latch=1;
g=0;
latch=0;
j++;
if(j>l)j=0;
}
l++;
}
}
4.4左移显示子程序设计
16*16显示模块的左移显示会涉及到2个汉字。
然而16*64显示屏的左移会涉及到5个汉字。
16*64点阵左移显示设计思想:
当偏移量小于8时,这时的移动只会涉及到第五个字的左边字节。
当然了,如果偏移量超过了8时,这时的移动会涉及到第五个字的左边字节和右边字节。
此时可以定义一个缓存区,将经过移动处理的数据放到缓存区内,到时直接调用显示即可。
当偏移量小于8时,设偏移量为y,点阵的左移要显示的第四个模块的右半屏部分应该是第四个汉字的右边字节左移y位或上第五个汉字的左边字节右移(8-y)位即可。
value=(p[7]<>(8-y));
点阵的左移要显示的第四个模块的左半屏部分应该是第四个汉字的左边字节左移y位或上第四个汉字的右边字节右移(8-y)位即可。
value=(p[6]<>(8-y));
点阵的左移要显示的第三个模块的右半屏部分应该是第三个汉字的右边字节左移y位或上第四个汉字的左边字节右移(8-y)位即可。
value=(p[5]<>(8-y));
点阵的左移要显示的