《单片机课程设计的报告点阵汉字显示.docx》由会员分享,可在线阅读,更多相关《单片机课程设计的报告点阵汉字显示.docx(15页珍藏版)》请在优知文库上搜索。
1、摘要单片机是计算机技术、大规模集成电路技术和控制技术的综合产物。经过30多年的开展历程,单片机应用已十分广泛和深入。所以可以毫不夸张地说,任何设备和产品的自动化、数字化和智能化都离不开单片机。现在,但凡电脑控制的设备和产品,必有单片机嵌入其中。这一切说明,单片已成为人类生活中不可或缺的助手。随着单片机应用的日益广泛,利用单片机控制汉字显示屏被广泛地应用与汽车报站器,广告屏等领域。本文详细介绍了基于51单片机的LED显示屏控制系统的显示原理,对16*16点阵汉字进展显示,显示屏由4个8*8的LED点阵模块组成一个16*16点阵LED0系统仿真利用PORTEUS仿真软件和KEIL软件的联调对LED
2、点阵显示屏系统进摘要11硬件设计11.3 设计框图及介绍11.251系列单片机简介11.4 1.ED点阵介绍51.5 1.ED显示方式51.6 硬件电路72软件设计72.1 程序流程图72.2 程序代码83.主要芯片介绍113.1 8051系列的单片机113.2 74HC154134PROTEUS仿真135心得体会141硬件设计设计框图及介绍1.ED点阵总体框图如图1.1所示,点阵电路大体上可以分成微机本身的硬件、显示驱动电路、控制信号电路三局部。控制电路局部包括一个51CUP和一些外围电路。在整个电路当中此控制电路局部相当于一个上位机,它负责控制整个电路以及相应的程序的运行、与PC机的串行通
3、讯、以及给屏体电路局部发送命令。点阵显示屏体、以及它的行和列的各个驱动电路。由于两局部的电路在制板时可以放到一起,所以可以将其字库放到控制电路局部使用串行通讯方式来与屏体电路局部进展数据和命令的传送。此显示电路采用扫描方式进展显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。由行译码器给出的行选通信号,从第一行开场,按顺序依次对各行进展扫描(把该行与电源的一端接通)。另一方而,根据各列锁存的数据,确定相应的列驱动器是否将该列与电源的另一端接通。接通的列,就在该行该列点燃相应的LED;未接通的列所对应的LED熄灭。可通过扫描输出口的控制实现颜色的转换。图1.1点阵显示的总体框图1.1 5
4、1系列单片机简介单片机(MiCroCOntrolIer,又称微处理器)是在一块硅片上集成了各种部件的微型机,这些部件包括中央处理器CPU、数据存储器RAM、程序存储器ROM、定时器/计数器和多种I/O接口电路。8051单片机的基本构造见图1.2oTOTl串行接口中断系统并行接口1A NT IRx TXDC=P3C=P2c=plc=po图1.28051单片机的基本构造8051是MCS-51系列单片机的一个产品。MCS-51系列单片机是Intel公司推出的通用型单片机,8051单片机系列指的是MCS-51系列和其他公司的8051衍生产品。这些衍生品是在基本型根基上增强了各种功能的产品。这些产品给8
5、位单片机注入了新的活力,给它的开发应用开拓了更广泛的前景。8051系列的内部构造可以划分为CPU、存储器、并行口、串行口、定时器/计数器、中断逻辑几局部。(1)中央处理器8051的中央处理器由运算器和控制逻辑构成,其中包括假设干特殊功能存放器(SFR)o算术逻辑单元ALU能对数据进展加、减、乘、除等算术运算;”与、”或、”异或等逻辑运算以及位操作运算。ALU只能进展运算,运算的操作数可以事先存放到累加器ACC或存放器TMP中,运算结果可以送回ACC或通用存放器或存储单元中,累加器ACC也可以写为AoB存放器在乘法指令中用来存放一个乘数,在除法指令中用来存放除数,运算后B中为局部运算结果。程序状
6、态字PSW是个8位存放器,用来存放本次运算的特征信息,用到其中七D7D6D5D4d3D2DlDOCYACFORSlRSOOVP位。PSW的格式如下所示,其各位的含义是:CY:进位标志。有进位/错位时CY=I,否那么CY=0。AC:半进位标志。当D3位向D4位产生进位/错位时,AC=I,否那么AC=O,常用于十进制调整运算中。F0:用户可设定的标志位,可置位/复位,也可供测试。RS1,RS0:四个通用存放器组选择位,该两位的四种组合状态用来选择03存放器组。OV:溢出标志。当带符号数运算结果超出-128+127范围时OV=I,否那么OV=0。当无符号数乘法结果超过255时,或当无符号数除法的除数
7、为0时OV=L否那么OV=0。P:奇偶校验标志。每条指令执行完,假设A中1的个数为奇数时P=I,否那么P=O,即偶校验方式。控制逻辑主要包括定时和控制逻辑、指令存放器、译码器以及地址指针DPTR和程序存放器PC等。单片机是程序控制式计算机,即它的运行过程是在程序控制下逐条执行程序指令的过程:从程序存储器中取出指令送指令存储器IR,然后指令译码器ID进展译码,译码产生一系列符合定时要求的微操作信号,用以控制单片机的各局部动作。8051的控制器在单片机内部协调各功能部件之间的数据传送、数据运算等操作,并对单片机发出假设干控制信息。这些控制信息的使用专门的控制线,诸如PSEN、ALE、EA以及RST
8、,也有一些是和P3口的某些端子合用,如WR和RD就是P3.6和P3.7,他们的具体功能在介绍8051引脚是一起表达。(2)存储器组织8051单片机的存储器构造特点之一是将程序存储器和数据存储器分开,并有各自的寻址机构和寻址方式,这种构造称为哈佛构造单片机。这种构造与通用微机的存储器构造不同,一般微机只有一个存储器逻辑空间,可随意安排Re)M或RAM,访存时用同一种指令,这种构造称为普林斯顿型。8051单片机在物理上有四个存储空间:片内程序存储器和片外程序存储器、片内数据存储器和片外数据存储器。8051片内有256K数据存储器RAM和4KB的程序存储器ROM。除此之外,还可以在片外扩展RAM和R
9、oM,并且各有64KB的寻址范围。也就是最多可以在外部扩展2*64KB存储器。8051的存储器组织构造如图2.3所示。图1.38051存储器组织构造64K字节的程序存储器(ROM)空间中,有4K字节地址区对于片内RoM和片外RoM是公用的,这4K字节地址是OoOOHFFFH而100OHFFFFH地址区为外部RoM专用。CPU的控制器专门提供一个控制信号EA用来区分内部ROM和外部ROM的公用地址区:当EA接高电平时,单片机从片内ROM的4K字节存储器区取指令,而当指令地址超过OFFFH后,就自动的转向片外ROM取指令。当EA接低电平时,CPU只从片外RoM取指令。程序存储器的某些单元是保存给系
10、统使用的:OOOOH0002H单元是所有执行程序的入口地址,复位以后,CPU总是丛OOoOH单元开场执行程序。OOO3H_002AH单元均匀地分为五段,用做五个中断服务程序的入口。用户程序不应进入上述区域。8051的RAM虽然字节数不很多,但却起着十分重要的作用。256个字节被分为两个区域:OOH7FH时真正的RAM区,可以读写各种数据。而80HFFH是专门用于特殊功能存放器(SFR)的区域。对于8051安排了21个特殊功能存放器,每个存放器为8位,所以实际上128个字节并没有全部利用。1.2 内部RAM的各个单元,都可以通过直接地址来寻找,对于工作存放器,那么一般都直接用R0R7,对特殊功能
11、存放器,也是直接使用其名字较为方便。8051内部特殊功能存放器都是可以位寻址的,并可用“存放器名.位来表示,如ACC.O,B.7等。1.3 1.ED点阵介绍88单色点阵共需要64个发光二极管组成,且每个二极管是放置在行线与列线的叉点上。对于点阵型LED显示可以采用共阴极或共阳极,本系统采用共阳极,其硬件电路如图1.1所示。当行上有一正选通信号时,列选端八位数据为O的发光二极管便导通点亮。这样只需要将图形或文字的显示编码作为列信号跟对应的行信号进展逐次扫描,就可以逐行点亮点阵。只要扫描速度大于24Hz,由于扫描时间很快,人眼的视觉有暂留效应,就可以看到显示的是完整的图形或文字。8x8点阵LED构
12、造以以下图1.5所示。图1.48x8点阵外观及引脚图1.4 图1.58*8LED点阵构造1.5 1.ED显示方式汉字显示屏用于显示汉字、字符及图像信息,在公共汽车、银行、医院及户外广告等地方都有广泛的应用。下面是简单的汉字显示屏的制作,由单片机控制汉字的显示内容。为了降低成本,使用了四块8x8的LED点阵发光管的模块,组成了一个16x16的LED点阵显示屏,如图2.10所示。在这里仅做了四个汉字的显示,在实际的使用中可以根据这个原理自行的扩展显示的汉字,下面是介绍汉字显示的原理。图1.6四块8x8的LED点阵组成16X16的LED点阵1.ED驱动显示采用动态扫描方法,动态扫描方式是逐行轮流点亮
13、,这样扫描驱动电路就可以实现多行的同名列共用一套列驱动器。以16x16点阵为例,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起(共阳的接法),先送出对应第1行发光管亮灭的数据并锁存,然后选通第1行使其燃亮一定的时间,然后熄灭;再送出第2行的数据并锁存,然后选通第2行使其燃亮一样的时间,然后熄灭;.第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形。该方法能驱动较多的LED,控制方式较灵活,而且节省单片机的资源。显示数据传输采用串行传输的方法,控制电路可以只用一根信号线,将列数据一位一位传
14、往列驱动器,在硬件方面无疑是十分经济的。但串行传输过程较长,数据按顺序一位一位地输出给列驱动器,只有当一行的各列数据都已传输到位之后,这一行的各列才能并行地进展显示。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少了,以致影响到LED的亮度。采用串行传输中列数据准备和列数据显示的时间矛盾,可以采用重叠处理的方法。即在显示本行各列数据的同时,传送下一行的列数据。为了到达重叠处理的目的,列数据的显示就需要有锁存功能。对于列数据准备来说,它应能实现申入并出的移位功能。这样,本行已准备好的数据打入并行锁存器进展显示时,串行移位存放器就可以准备下一行的列数
15、据,而不会影响本行的显示。1.ED点阵显示模块进展的方法有两种:(1)水平方向(X方向)扫描,即逐列扫描的方式(简称列扫描方式):此时用一个P口输出列码决定哪一列能亮(相当于位码),用另一个P口输出行码(列数据),决定该行上那哪个LED亮(相当于段码)。能亮的列从左到右扫描完16列1相当于位码循环移动16次)即显示出一个完整的图像。(2)竖直方向(Y方向)扫描,即逐行扫描方式(简称行扫描方式):此时用一个P口输出决定哪一行能亮(相当于位码),另一个P口输出列码(行数据,行数据为将列数据的点阵旋转90度的数据)决定该行上哪些LED灯亮(相当于段码)。能亮的行从上向下扫描完16行(相当于位码循环移位16次)即显示一帧完整的图像。本设计应用的是第一种的扫描方法,即水平方向(X方向)扫描。每一个字由16行16列的点阵形成显示,即每个字均由256个点阵来表示,我们可以把每一个点理解为一个像素。一般我们使用的16x16的点阵宋体字库,即所谓的16x16,是每一个汉字在纵横各16点的区域内显示的。汉字库从该位置起的32字节信息记录了该字的字模信息。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。我们以水平方向(X方向)扫描显示汉字的“江为例来说明其扫描原理,每一个字由16行16列的点阵组成显示,如图下的,如果用8位的AT89S51的单片机来控制,由于单片机的总线