在单片机应用课程中,我们曾学习点亮多位数码管最适宜的方法为动态扫描,使各数码管逐一点亮,并使其循环速度加快。此篇设计,为简化电路,我们也采用这种方法。
2. 功能要求及数据传输方法
2.1 功能要求
我们所设计的东西可以概括为一块显示屏,它的功能具体为下:
1.显示屏可以显示汉字,简单的图形;
2.显示字体、图像可以清楚的显示。
3.显示内容可以滚动,静止等。
2.2 点阵显示模块
如果我们想要拥有完整的汉字显示,显然不能使用8×8的点阵模块。如果做的话,就会出现屏幕太小,字体显示不完整的结果。为了防止出现这种情况,我们可以组合出更多的点阵模块,即拼接更多的基本点阵模块。这里我们采用4块8×8点阵,共有256个LED。我们只需按照步骤,使相应的行和列跟与正负极相连。那么只要给对应的行以1(高电平),列以0(低电平),那么相应的LED就会发光[2]。
如图2-1所示。点阵模块实物图如下所示。全屏共有256个LED,可以显示完成的汉字。它由两列8针引脚把4个8×8的点阵组合起来。从图里也可以看出来,它可以显示出基本的汉字,还有简单的图形,如笑脸,小人等等。如果扩展的LED多的话,完全可以显示出复杂的图形。
图2-1 点阵模块实物图
我们让行连接的LED为阳极。假使我们想让某点点亮,需要让该点所在行输入高电平,所在列输入是该点点亮的代码。如:一行三列的点想亮,只需给该列输入DFFF。依次累推,不同列给予不同的代码,然后逐行扫描,当速度足够快的时候,在人的视觉暂留下,便会看到清晰的字体[3]。
1. 静态显示方式
为了更好了解LED工作方式,我们用简单8段的LED数码管来做数据显示方式。
静态显示:当我们想要数码管显示一个数的时候,会让相应的二极管点亮(输入高或低电平)。但这样它的亮、灭就会完全确定下来,不会在变化。当我们想要有N位的时候便需要N×8个IO控制线。这样便会使得IO口紧张。
2.动态显示方式
动态显示:因为人的眼睛会有视觉暂留的效果,当一串LED循环点亮的速度特别快的时候,我们几乎认为是一条点亮的LED灯。我们把N位数码管链接在一起让所有的LED的8段引脚并联在一起,接到IO数据总线上。LED的另一端引脚由另外的IO线连接。这样,想要哪位数码管亮,便驱动相应的IO接口。使数码管工作。当速度足够快的时候,并适当的加上延时,在人的视觉暂留作用下便会看到连串的字符出现。即为动态显示[4]。
毫无疑问,为了节省资源,我们需要用第2种工作方式,动态显示方式。
2.3 数据传输方法
我们需要把单片机里的信号传输到点阵上,这就需要我们去讨论传输方法。当我们需要传送每行各列的数据的时候,会在相应的列驱动器上得到回应。
在传输数据的过程中,因为点阵列数过多,所以我们采用串行传输的方法。
虽然用一根信号线在控制电路用串行传输的方法一位一位的往列驱动器传输会比较经济,但这样也会增加传输过程的时间。随着传输过程的增长,行显示的时间便会减少,这样,在显示屏上就显示出亮度非常低[5]。
以上情况发生的时候,我们可以采取重叠处理方法去解决。赋予列驱动电路锁存功能,还有串入并出和锁存功能给列数据 AT89C52单片机点阵LED电子显示屏的设计+电路图(2):http://www.youerw.com/zidonghua/lunwen_39201.html