最新毕业设计led显示系统设计终稿.docx
《最新毕业设计led显示系统设计终稿.docx》由会员分享,可在线阅读,更多相关《最新毕业设计led显示系统设计终稿.docx(35页珍藏版)》请在冰豆网上搜索。
最新毕业设计led显示系统设计终稿
西安电力高等专科学校
计算机工程_系_2010届
毕业设计(论文)
题目:
LED显示系统设计
学号:
姓名:
专业:
计算机控制技术专业
班级:
44071
指导教师:
完成时间:
2010年6月日
摘要·······························································2
第一章LED点阵显示的背景和控制技术状况··························2
1.1LED点阵显示的背景········································3
1.2LED显示的控制技术状况····································3
第二章开发环境简介·············································4
2.1单片机的发展··············································4
2.2STC89C52的硬件结构·······································5
2.2.1STC89C52芯片引脚介绍···································5
2.2.2STC89C52单片机的存储器结构····························6
2.2.3STC89C52单片机的输入/输出端口··························8
2.2.4STC89C52单片机的复位电路······························11
2.3VC6.0简介················································12
2.4KeilC51简介··············································12
第三章点阵汉字编码和汉字显示原理·······························16
3.1汉字字模··················································16
3.2汉字显示原理··············································17
第四章LED显示系统硬件设计·····································18
4.1列扫描模块················································18
4.2硬件设计··················································19
第五章LED显示系统软件的设计··································22
5.1设计流程·················································23
5.2软件程序实现·············································23
第六章程序下载调试·············································32
设计总结··························································35
参考文献··························································36
摘要
随着电子信息技术和智能化的不断深入,人们的生活、工作等各个方面发生了巨大的变化。
近些年,单片机的开发应用已成为高科技和工程领域的一项重要内容。
因为它具有集成度高、体积小、功耗低、控制功能强、速度快、抗干扰能力强、易于开发等诸多优点。
因此,从导弹的导航装置到飞机上各种仪表的控制;从计算机的网络通讯与数据传输到工业自动化过程的实时控制和数据处理;以及我们生活中广泛使用的各种智能IC卡、电子宠物等都离不开单片机。
在发达国家单片机技术开发应用发展很快,并取得了明显的经济效益和社会效益。
在我国,单片机的应有进展也很快,特别是在工业控制、通信、智能化仪器、仪表、产品自动化、分布式控制系统中已取得了可喜的成果。
近几年来我国LED显示的相关技术也取得了较快和较大的发展,早期时曾因LED材料器件的限制,LED显示屏的应用领域没有广泛展开,另一方面,显示屏控制技术基本上是通信控制方式,客观上影响了显示效果。
所以导致早期的LED显示屏在国内很少,产品以红、绿双基色为主,控制方式为通信控制,灰度等级为单点四级调灰,产品的成本比较高。
后来LED显示屏迅速发展,进入九十年代,全球信息产业高速增长,信息技术各个领域不断突破,LED显示屏在LED材料和控制技术方面也不断出现新的成果。
蓝色LED镜片研制成功,全彩色LED显示屏进入市场;电子计算机及微电子领域的技术发展,在显示屏控制技术领域出现了视频控制技术,显示屏的动态显示效果大大提高。
这个阶段,LED显示屏在我国发展迅速,LED显示屏产业成为新兴的高科技产业。
今天,LED显示屏应用领域更为广阔。
第一章LED点阵显示的背景和控制技术状况
1.1LED点阵显示的背景
在当今现代信息化高速发展过程中,大屏幕显示已经从公共信息展示等商业应用向消费多媒体类渗透。
随着宽带网络的发展,数字化的多媒体内容将在信息世界中占据主流,新型的大屏幕显示设备将代替传统的电视机成为人们享受和多媒体内容的中心。
与传统显示设备相比,这种未来的巨大需求让大屏幕显示技术成为众人目光的焦点:
(1)、LED显示屏色彩丰富,显示方式变化多样(图形、文字、三维、二维动画、电视画面等)、亮度高、寿命长,是信息传播设施化的产品。
(2)、LED显示屏是集光电子技术、微电子技术、计算机技术、信息处理技术于一体的高技术产品。
可用来显示文字、计算机屏幕同步的图像。
它以其超大画面、超强视觉、灵活多变的显示方式等独具一格的优势成为目前国际上使用最广泛的显示系统。
(3)、LED显示屏广泛应用在金融证券、银行利率、商业广告、文化娱乐等方面,有巨大的社会效益和丰厚的经济效益。
LED点阵显示屏的发展历史背景,其发展主要经历了三个阶段:
(1)、1990年以前LED显示屏的成长时期。
一方面,收LED灯材料的限制,LED显示屏的应用领域没有广泛展开;另一方面,显示屏控制技术基本上是通讯控制方式,客观上影响了显示效果。
这一时期的LED在国外应用较广,产品以红、绿双色为主,控制方式为通讯控制方式,灰度等级为4级调灰,成本较高。
(2)、1990年—1995年,这一段时LED迅速发展的时期,进入90年代,全球信息产业高速增长,信息技术各个领域不断突破,LED显示屏在LED材料和控制技术方面也不断出现新成果。
蓝色LED晶研制成功、全色彩LED进入市场。
电子计算机和微电子技术的发展,在显示屏控制领域出现了视频控制技术,显示屏灰度等级实现16级灰度和64级灰度调灰,显示屏的动态显示效果大大提高,产品设计领域更加广泛,特别是1993年的证券股票业的发展更引发了LED显示屏市场的大幅增长,LED显示屏在平板显示领域的主流产品局面基本形成。
LED技术产业成为新兴的高科技产业。
(3)、1995年以来,LED显示屏的发展进入一个总体稳步提高产业格局调整完善的时期。
进入新世纪,光电子产业得到广泛重视。
中国加入WTO、北京申奥成功等成为LED显示产业发展的契机。
1.2LED显示屏控制技术的情况
显示屏的控制系统包括输入接口电路、信号控制、转换和数字化处理电路及输出接口电路等,涉及的技术很多,其关键技术包括串行传输与并行传输技术、动态扫描与静态锁存技术、自动检测与远程控制技术等。
1.2.1串行传输与并行传输技术
LED显示屏的数据传输方式主要有串行和并行两种。
目前普遍采用串行控制技术。
显示屏每个单元内部的不同驱动电路和各级联单元之间,每个时钟仅传送一位数据。
采用这种方式的驱动IC种类较多,不同显示单元之间的连线较少,可减少显示单元的数据传输驱动元件,从而提高整个系统的可靠性和性价比。
1.2.2动态扫描与静态锁存技术
LED显示屏控制系统实现显示信息的刷新技术有动态扫描和静态锁存两种方式。
根据共用一行驱动寄存器的发光二极管像素数目,分为1/4,1/16扫描等。
室外显示屏基本上采用静态锁存技术,即每一个发光二极管都对应有一个驱动寄存器,无需分时工作,从而保证了每一个发光二极管的亮度占空比为100%。
动态扫描法可以大大减少控制器的I/O口,因此应用较广。
第二章STC89C52单片机简介
2.1单片机的发展
单片机是单片微型计算机(SingleChipMicrocomputer)的简称。
单片机是把微型计算机的各个功能部件(中央处理器CPU、随机存储器RAM、只读存储器ROM、I/O接口、定时/计数器以及串行通信接口)集成在一块芯片上,构成一个完整的计算机。
其发展经过了以下几个阶段:
(1)、1971年Intel公司首次推出4位机。
(2)、1976年Intel公司推出8位机。
(3)、1980年Inter公司推出MCS-51单片机,其后Inter、Philips、SIEMENS、ATMEL等公司相继推出名目繁多的单片机。
(4)、1983年Inter公司推出16位机。
(5)、20世纪末32位单片机已进入使用阶段。
2.2STC89C52的硬件结构
2.2.1STC89C52芯片引脚介绍
STC89C52是一种低功耗、高性能CMOS8位微控制器,其基本特征如下:
1)、8位CPU,含片内振荡器。
2)、4KB的程序存储器ROM.
3)、128B的数据存储器RAM.
4)、64KB的外部程序存储器寻址能力。
5)、64KB外部数据存储器寻址能力。
6)、32根输入输出(I/O)线。
7)、2个16位定时、计数器。
8)、1个全双工异步串行口。
9)、21个特殊功能寄存器。
10)、5个中断源、2个优先级。
11)、具有位寻址功能。
其内部主要由片内RAM(128*8)、片内ROM(4K*8)、串行口、定时器、P0-P3组成的I/O端口以及由运算器和控制器组成的中央处理器组成。
其中,中央处理器(CPU)、存储器(ROM和RAM)和输入输出端口这三部分则由内部总线紧密的联系在一起。
可以看出,单片机的组成与一般微型计算机是相同的。
以下是单片机的外部引脚及其功能:
40个引脚按其功能可分为以下三部分:
1)、电源及时钟引脚
Vcc(40脚):
接+5V电源;
Vss(20脚):
接地。
XTAL1(19脚):
接外部晶体的一个脚。
在单片机内部,它是一个反相放大器的输入端。
这个放大器构成了片内振荡器。
当采用外接晶体振荡器时,此引脚应接地。
XTAL2(18脚):
接外部晶体的另一端,在单片机内部接反相放大器的输出端。
若采用外部振荡器时,该引脚接收振荡器的信号,即把此信号直接接入内部时钟发生器的输入端。
2)、控制引脚
RST/VPD(9脚):
当振荡器运行时,在此引脚外加上两个机器周期的高电平将使单片机复位(RST)。
掉电期间,此引脚可接上备用电源(VPD),以保持内部RAM的数据。
ALE/PROG(30脚):
党访问单片机外部存储器时,ALE(地址锁存允许)输出脉冲的负跳沿用于16位地址的低8位的锁存信号。
即使不访问外部锁存器,ALE仍然有正脉冲信号输出,此频率约为时钟振荡频率的1/6。
PSEN(29脚):
此脚的输出是单片机访问外部程序存储器的读选通信号。
再由外部程序存储器取指令(或常数)期间,每个机器周期PSEN两次有效。
但在此期间,每当访问外部数据存储器时(即从程序存储器取来的指令是MOVX类指令),这两次有效的PSEN信号将不出现。
EA/VPP(31脚):
当EA端保持高电平时,单片机访问内部程序存储器,当EA保持低电平时,则只访问外部程序存储器,不管是否有内部程序存储器。
2.2.2STC89C52单片机的存储器结构
STC89C52的存储器可划分为五类:
1)、程序存储器:
用于存放编好的程序和表格常数。
在MCS-51指令系统中,同外部程序存储器打交道的指令仅有两条:
MOVCA,@A+DPTR
MOVCA,@A+PC
2)、内部数据存储器:
MCS-51单片机的内部数据存储器在物理上和逻辑上都分为两个地址空间,即:
数据存储器空间(低128单元);
特殊功能寄存器空间(高128单元);
这两个空间是相连的,从用户角度而言,低128单元才是真正的数据存储器。
下面我们就来详细的与大家讲解一下:
低128单元:
片内数据存储器为8位地址,所以最大可寻址的范围为256个单元地址,对片外数据存储器采用间接寻址方式,R0、R1和DPTR都可以做为间接寻址寄存器,R0、R1是8位的寄存器,即R0、R1的寻址范围最大为256个单元,而DPTR是16位地址指针,寻址范围就可达到64KB。
也就是说在寻址片外数据存储器时,寻址范围超过了256B,就不能用R0、R1做为间接寻址寄存器,而必须用DPTR寄存器做为间接寻址寄存器。
从上图中我们可以看到,8051单片机片内RAM共有256个单元(00H-FFH),这256个单元共分为两部分。
其一是地址从00H—7FH单元(共128个字节)为用户数据RAM。
从80H—FFH地址单元(也是128个字节)为特殊寄存器(SFR)单元。
从图1中可清楚地看出它们的结构分布。
A、通用寄存器区(00H-1FH)
在00H—1FH共32个单元中被均匀地分为四块,每块包含八个8位寄存器,均以R0—R7来命名,我们常称这些寄存器为通用寄存器。
这四块中的寄存器都称为R0—R7,那么在程序中怎么区分和使用它们呢?
聪明的INTEL工程师们又安排了一个寄存器——程序状态字寄存器(PSW)来管理它们,CPU只要定义这个寄存的PSW的D3和D4位(RS0和RS1),即可选中这四组通用寄存器。
对应的编码关系如下表所示。
惹程序中并不需要用4组,那么其余的可用做一般的数据缓冲器,CPU在复位后,选中第0组工作寄存器。
B、位寻址区(20H-2FH)
片内RAM的20H—2FH单元为位寻址区,既可作为一般单元用字节寻址,也可对它们的位进行寻址。
位寻址区共有16个字节,128个位,位地址为00H—7FH。
C、用户RAM区(30H-7FH)
在片内RAM低128单元中,通用寄存器占去32个单元,位寻址区占去16个单元,剩下的80个单元就是供用户使用的一般RAM区了,地址单元为30H-7FH。
D、特殊功能寄存器
特殊功能寄存器(SFR)的地址范围为80H~FFH。
在MCS-51中,除程序计数器PC和四个工作寄存器区外,其余21个特殊功能寄存器都在这SFR块中。
其中5个是双字节寄存器,它们共占用了26个字节。
各特殊功能寄存器的符号和地址见附表2。
其中带*号的可位寻址。
特殊功能寄存器反映了8051的状态,实际上是8051的状态字及控制字寄存器。
用于CPUPSW便是典型一例。
这些特殊功能寄存器大体上分为两类,一类与芯片的引脚有关,另一类作片内功能的控制用。
与芯片引脚有关的特殊功能寄存器是P0~P3,它们实际上是4个八位锁存器(每个I/O口一个),每个锁存器附加有相应的输出驱动器和输入缓冲器就构成了一个并行口。
MCS-51共有P0~P3四个这样的并行口,可提供32根I/O线,每根线都是双向的,并且大都有第二功能。
其余用于芯片控制的寄存器中,累加器A、标志寄存器PSW、数据指针DPTR等的功能。
2.2.3STC89C52单片机的输入/输出端口
8051有4组8位I/O口:
P0、P1、P2和P3口,P1、P2和P3为准双向口,P0口则为双向三态输入输出口,下面我们分别介绍这几个口线:
·P0口和P2口:
图为P0口和P2口其中一位的电路图,由图可见,电路中包含一个数据输出锁存器和两个三态数据输入缓冲器,另外还有一个数据输出的驱动和控制电路。
这两组口线用来作为CPU与外部数据存储器、外部程序存储器和I/O扩展口,而不能象P1、P3直接用作输出口。
它们一起可以作为外部地址总线,P0口身兼两职,既可作为地址总线,也可作为数据总线。
如下图:
P2口作为外部数据存储器或程序存储器的地址总线的高8位输出口AB8-AB15,P0口由ALE选通作为地址总线的低8位输出口AB0-AB7。
外部的程序存储器由PSEN信号选通,数据存储器则由WR和RD读写信号选通,因为216=64k,所以8051最大可外接64kB的程序存储器和数据存储器。
·P1口:
右图为P1口其中一位的电路图,P1口为8位准双向口,每一位均可单独定义为输入或输出口,当作为输入口时,1写入锁存器,Q(非)=0,T2截止,内上拉电阻将电位拉至"1",此时该口输出为1,当0写入锁存器,Q(非)=1,T2导通,输出则为0。
作为输入口时,锁存器置1,Q(非)=0,T2截止,此时该位既可以把外部电路拉成低电平,也可由内部上拉电阻拉成高电平,正因为这个原因,所以P1口常称为准双向口。
需要说明的是,作为输入口使用时,有两种情况,其一是:
首先是读锁存器的内容,进行处理后再写到锁存器中,这种操作即读—修改—写操作,象JBC(逻辑判断)、CPL(取反)、INC(递增)、DEC(递减)、ANL(与逻辑)和ORL(逻辑或)指令均属于这类操作。
其二是:
读P1口线状态时,打开三态门G2,将外部状态读入CPU。
P3口的电路如下图所示,P3口为准双向口,为适应引脚的第二功能的需要,增加了第二功能控制逻辑,在真正的应用电路中,第二功能显得更为重要。
由于第二功能信号有输入输出两种情况,我们分别加以说明。
P3口的输入输出及P3口锁存器、中断、定时/计数器、串行口和特殊功能寄存器有关,P3口的第一功能和P1口一样可作为输入输出端口,同样具有字节操作和位操作两种方式,在位操作模式下,每一位均可定义为输入或输出。
我们着重讨论P3口的第二功能,P3口的第二功能各管脚定义如下:
·P3.0串行输入口(RXD)
·P3.1串行输出口(TXD)
·P3.2外中断0(INT0)
·P3.3外中断1(INT1)
·P3.4定时/计数器0的外部输入口(T0)
·P3.5定时/计数器1的外部输入口(T1)
·P3.6外部数据存储器写选通(WR)
·P3.7外部数据存储器读选通(RD)
对于第二功能为输出引脚,当作I/O口使用时,第二功能信号线应保持高电平,与非门开通,以维持从锁存器到输出口数据输出通路畅通无阻。
而当作第二功能口线使用时,该位的锁存器置高电平,使与非门对第二功能信号的输出是畅通的,从而实现第二功能信号的输出。
对于第二功能为输入的信号引脚,在口线上的输入通路增设了一个缓冲器,输入的第二功能信号即从这个缓冲器的输出端取得。
而作为I/O口线输入端时,取自三态缓冲器的输出端。
这样,不管是作为输入口使用还是第二功能信号输入,输出电路中的锁存器输出和第二功能输出信号线均应置“1”。
·P3口:
。
2.2.4STC89C52单片机的复位电路
单片机在启动时都需要复位,以使CPU及系统各部件处于确定的初始状态,并从初态开始工作。
89系列单片机的复位信号是从RST引脚输入到芯片内的施密特触发器中的。
当系统处于正常工作状态时,且振荡器稳定后,如果RST引脚上有一个高电平并维持2个机器周期(24个振荡周期)以上,则CPU就可以响应并将系统复位。
单片机系统的复位方式有:
手动按钮复位和上电复位
1、手动按钮复位
手动按钮复位需要人为在复位输入端RST上加入高电平。
一般采用的办法是在RST端和正电源Vcc之间接一个按钮。
当人为按下按钮时,则Vcc的+5V电平就会直接加到RST端。
手动按钮复位的电路如所示。
由于人的动作再快也会使按钮保持接通达数十毫秒,所以,完全能够满足复位的时间要求。
2、上电复位
AT89C51的上电复位电路只要在RST复位输入引脚上接一电容至Vcc端,下接一个电阻到地即可。
对于CMOS型单片机,由于在RST端内部有一个下拉电阻,故可将外部电阻去掉,而将外接电容减至1µF。
上电复位的工作过程是在加电时,复位电路通过电容加给RST端一个短暂的高电平信号,此高电平信号随着Vcc对电容的充电过程而逐渐回落,即RST端的高电平持续时间取决于电容的充电时间。
为了保证系统能够可靠地复位,RST端的高电平信号必须维持足够长的时间。
上电时,Vcc的上升时间约为10ms,而振荡器的起振时间取决于振荡频率,如晶振频率为10MHz,起振时间为1ms;晶振频率为1MHz,起振时间则为10ms。
在图2的复位电路中,当Vcc掉电时,必然会使RST端电压迅速下降到0V以下,但是,由于内部电路的限制作用,这个负电压将不会对器件产生损害。
另外,在复位期间,端口引脚处于随机状态,复位后,系统将端口置为全“l”态。
如果系统在上电时得不到有效的复位,则程序计数器PC将得不到一个合适的初值,因此,CPU可能会从一个未被定义的位置开始执行程序。
3、积分型上电复位
常用的上电或开关复位电路上电后,由于电容C3的充电和反相门的作用,使RST持续一段时间的高电平。
当单片机已在运行当中时,按下复位键K后松开,也能使RST为一段时间的高电平,从而实现上电或开关复位的操作。
2.3VC6.0简介
VC++6.0是Microsoft公司推出的一个基于Windows系统平台、可视化的集成开发环境,它的源程序按C++语言的要求编写,并加入了微软提供的功能强大的MFC(MicrosoftFoundationClass)类库。
MFC中封装了大部分WindowsAPI函数和Windows控件,它包含的功能涉及到整个Windows操作系统。
MFC不仅给用户提供了Windows图形环境下应用程序的框架,而且还提供了创建应用程序的组件,这样,开发人员不必从头设计创建和管理一个标准Windows应用程序所需的程序,而是从一个比较高的起点编程,故节省了大量的时间。
另外,它提供了大量的代码,指导用户编程时实现某些技术和功能。
因此,使用VC++提供的高度可视化的应用程序开发工具和MFC类库,可使应用程序开发变得简单。
2.4KeilC51简介
KeilC51是美国KeilSoftware公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。
用过汇编语言后再使用C来开发,体会更加深刻 。
KeilC51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。
另外重要的一点,只要看一下编译后生成的汇编代码,就能体会到KeilC51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。
在开发大型软件时更能体现高级语言的优势。
uVision2集成开发环境:
1)、项目管理
工程(project)是由源文件、开发工具选项以及编程说明三部分组成的。
一个单一的uVision2工程能够产生一个或多个目标程序。
产生目标程序的源文件构成“组”。
开发工具选项可以对应目标,组或单个文件。
uVision2包含一个器件数据库(devicedatabase),可以自动设置汇编器、编译器、连接定位器及调试器选项,来满足用户充分利用特定微控制器的要求。
此数据库包含:
片上存储器和外围设备的信息,扩展数据指针(extradatapointer)或者