|
由于AVR单片机内部SRAM相对较大,为此在控制小形LED屏控制方面有很大的优势。
为了举这方面的例子我借了一块LED屏,它是由大型LED屏中拆下来的一个小单元,对其电路的测绘结果如下图:

LED显示板电路结构图
首先它是一个红绿双色LED屏,即每一个点由一个红色发光管和一个绿色发光管组成,两个发光管的阳极做到了一起引出了两个阴极,驱动是由
74HC595串实现的,其中红色为一串595,绿色为另一串595。他们的控制可以是独立的。每一列的阴极连接到对应的595引脚上,而阳极按行通过一个
大功率三极管控制。由于动太显示内容时任意一时刻只需要导通一行,为此这些三极管的控制从行选通信号3-8译码后得到。
引出来的9根信号线分别为:
OE:74HC138片选信号
L0~L3: 行选择地址 0~15
DG:绿色LED控制595串的数据口
DR:红极LED控制595串的数据口
STB:595将缓冲内容写入到引脚的功能引脚
CLK:595时钟输入引脚
为了驱动这个LED屏,我做了一个MEGA8模块与它连接,连接线路图如下:

ATMEGA8控制模块与显示板连接图
MEGA8模块实特照片如下,在黄色线路板上部分为M8最小系统,使用了内部RC振荡器。

MEGA8控制模块实物图
下面这张图是测试时候照的照片,这个照片上的屏是上述两个LED屏(即两个M8模块)加起来的结果,否则只有一半那么大。另外这个示例
发布的示例程序显示的不是这几个字,那时因为当时的程序在发布前已更改。

设计完成的显示屏
这种显示屏使用的是动太显示技术,将时间分成16个段,分别点亮每一行,当频率超出45HZ时人眼就看不出它是闪烁的了。
实现源程序点击这里下载。
用单片机在LED上显示汉字,通常需要点阵的字库,如果显示有限的汉字可以将这几个汉字的点阵存储到内部FLASH,否则需要一个
专门的存储器来存储字库。
那么如何做这些汉字的点阵呢?显然,从WINDOWS字体中提取是最方便的方法。然而WINDOWS使用的是矢量字体,而不是点阵,
点击这里下载我用VC做的一个小程序,它将尝试利用WINDOWS矢量字体获取汉字的点阵字模,这里仅作为参考。
2009.06.11
|