CAS工程
博客 网店

 LED显示屏的控制


  由于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屏(即两MEGA8模块)加起来的结果,否则只有一半那么大。另外这个示例
发布的示例程序显示的不是这几个字,那时因为当时的程序在发布前已更改.


设计完成的显示屏

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

2009.06.11

芯艺工作室    蒙ICP备06005492号
Copyright© 2004-2023 ChipArt Studio All Rights Reserved