预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共13页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

编号: 时间:2021年x月x日 书山有路勤为径,学海无涯苦作舟页码:第页共NUMPAGES13页 第PAGE\*MERGEFORMAT13页共NUMPAGES\*MERGEFORMAT13页 点阵LED显示屏的原理与制作 电子协会:黄世玲截稿2008-12-12 汉字显示屏到处可见,被广泛应用于与汽车报站器,广告屏等。 (图1) 网上也有很多关于汉字显示屏的制作原理的材料,本文是本人参考《例说51单片机(C语言版)》(人民邮电出版社)并在其基础上加以修改制作成功的单个字16*16LED显示屏的一些经验总结。 本文中的16*16LED显示屏是采用4块8*8LED合并而成的。 下图是4个8*8LED组成的显示屏。 (图2) 这里我把点阵LED显示屏制作的电路原理分成两个部分来介绍即显示屏电路和显示屏驱动电路。 显示屏电路 本人用的是共阴极的8*8点阵屏,在市场上是比较容易买到,下图是8*8点阵屏的实物图。 (图3) 8*8点阵屏的内部电路原理图如图4所示,点阵屏有两个类型,一类为共阴极(左),另一类则为共阳极(右),下图给出了两种类型的内部电路原理及相应的管脚图。 (图5) LED阵列的显示方式是按显示编码的顺序,一行一行地显示。每一行的显示时间大约为4ms,由于人类的视觉暂留现象,将感觉到8行LED是在同时显示的。若显示的时间太短,则亮度不够,若显示的时间太长,将会感觉到闪烁。本文采用低电平逐行扫描,高电平输出显示信号。即轮流给行信号输出低电平,在任意时刻只有一行发光二极管是处于可以被点亮的状态,其它行都处于熄灭状态。 为了方便调试本文把4块8*8组成的16*16的点阵屏的行信号扫描输出管脚和列信号显示输出管脚分别引到显示屏的两边。 Protel原理图如下: (图6) 如图6所示的原理图中的Si(i=1,2,3,…,16)代表行扫描信号输出,Di(i=1,2,3,…,16)代表列显示信号输出。 实物电路图的正反面如下: (图7) 显示屏驱动电路 显示屏驱动电路的原理图如下: (图8) 显示屏驱动电路主要由主芯片控制电路、电源电路、控制信号放大电路等组成。 1、主芯片控制电路 该部分电路主要由AT89S52和74LS154组成。单片机的P0和P2号控制显示信号的输出,P1号的低4位控制74LS154的译码输入,从而控制扫描信号的输出。 2、电源电路 整个电路的供电由USB电源提供,利用我们的电脑主机USB接口可以输出+5V电压,方便我们在实验室调试。 3、控制信号放大电路 为提供负载能力,在P0和P2口接16个常用9013的NPN三极管放大驱动信号。电路中列方向由p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个1k*8的排阻上拉。 行方向则由4—16译码器74LS154完成扫描,它由89C51的P1.0---P1.3控制。同样,驱动部分则是16个9015的三极管完成的。 程序与软件 在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示,即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。用8位的AT89S52单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分如图9所示。本电路把它拆分为左部和右部,左部由16(行)*8(列)点阵组成,下部也由16(行)*8(列)点阵组成。 图(9) 为了让大家更清楚的理解点阵的扫描过程,在这我们以显示汉字“我”为例,来说明其扫描原理: 单片机首先由P2口输出显示数据信号给右部分的第一行如图9所示,即第一行的P20---P27口。方向为P20到P27,显示汉字“我”时,P21点亮,由左到右排,为P20灭,P21亮,P22灭,P23灭,P24灭,P25灭,P26灭,P27灭。即二进制00000010,转换为16进制为0x02。 右部分的第一行完成后,继续扫描左半部的第一行,为了接线的方便,我们仍设计成由左往右扫描,即从P00向P07方向扫描,从上图可以看到,这一行只有P05、P06亮,其它灭,即为00000110,16进制则为0x60。然后单片机再次转向右半部第二行,仍为P21、P23点亮,为01010000,即16进制0x0A。这一行完成后继续进行左半部分的第二行扫描,P02、P03、P04点亮,为二进制00111000,即16进制0x1C。 依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“我”的扫描代码为: 0x02,0x60,0x0A,0x1C,0x12,0x10,0x12,0x10, 0x02,0x10,0x7F,0xFF,0x02,0x10,0x12,0x10, 0x1