当前位置:技术文章首页 >> 制作与应用 >> 关于led显示的一点经验

关于led显示的一点经验

2008-03-31 17:36:38  作者:不详  来源:互联网  浏览次数:808  文字大小:【】【】【
关于led显示的一点经验
  • 字体大小: 作者:     来源:     日期:2006-08-08     点击:1131

这段时间有不少朋友在作led显示,问了我不少问题,一一回答总是找不到要点
在此我把我几年来作led的一点经验总结以下,作为对大家回答,希望对大家有
点启发,也作为抛砖引玉吧,大虾们多谈谈自己的宝贵经验!

一: LED显示器件的基础
  LED发光器件一般常用的有2类,数码管和点阵,
   1:数码管
      a,数码管常用的一般8字型,分为A B C D E F G P段,其中P位小数点
      b,数码管常用的有10根管脚(单位),每段一根管脚,另外两根管脚为
        公共端,2根是通的
      c,从尺寸上分的话种类很多,常用的有0.3 0.5 0.8 1.0 1.2 1.5 1.8
        2.3 3.0 4.0 5.0 等等
      d,一般小于1.0的为单管芯,(1.0有单有双),1.2~~1.5为双管芯,1.8以
       上为3个以上的管芯,因而他们的供电电压要求不同,一般每个关芯的
        压降为2.1v左右
         我的经验是0.8以下5v供电,1.0~2.3为12v,3.0以上更高
      e,数码管分共阴和共阳两种

    2:点阵
      a,点阵常用的为8*8,以前还有5*8(现在不大用了)
      b,点阵都是单管芯,分(行)共阴和(行)共阳,一般都用5v供电
      c,8*8点阵为16根管脚(单色,也有24根的,可能是作废的双色点阵或者
        为了能在同一种线路板上实现单色双色都可用而设计的,也比较常见)
        8根行8根绿
        双色为24根管脚,8根行,8根列红,8根列绿,
     
二: 显示基本原理
    分为静态(只有数码管能实现)和动态
   1:静态的比较好实现,在此不多讲了
  
   2:数码管动态

    a,硬件连接
      数码管一般为1/13能扫描,再高的话亮度损失比较大,

      在此假设为列为13列,行为16行,共阳管,每行数码管的各段连在一起,每列数码
     管的公共段连在一起

      列开关用tip127,他可以直接用154驱动,达林顿管5安培,注意127输出
    不要加电阻

      行用595(164不建议)+2803或者2003+一个9013,在2003的输出要加上
     限流电阻,一般为56~330欧姆(如果是<1.0的数码管,可以直接用595加
     电阻驱动)

    b,软件
     
      采用89c51为cpu,存储器可采用24c系列,或者28c系列,注意他们的写入速度都不是很
快,不过一般数码管的输入设备为键盘或遥控器,速度足够了,还有24c系列的读出速度也比较
慢,我发现每次读出的数据大概只有20以内才不会影响更新显示
    显示采用时钟中断1,中断时间不能超过1.5ms,最好为1.2ms左右,可以在中断服务程序中
读24c02,也可以在中断的间隙中读取,但必须保证能够读出所有的一列数据!读出的数据放到
一块显示区中,(在内存中定义一个数组buf[16]),在中断子程序中把数据发送的595中即可,
最好采用串口发送,编程最简单.

   发送完毕后,关掉控制行的154,给595的RCLK(12脚)一个脉冲,把数据从移位寄存器传输到
锁存器,而后打开154并输入列信号即可

    3: 点阵

       a,点阵一般采用1/16扫描,控制原理和数码管差不多

       b,硬件: 行用154+tip127,列用595加电阻(0~56欧姆)直接驱动

       c,软件
         方案比较多,见下面

三: 先说说信息的存储       
      分为2种,
     1:一种为固化的汉字,汉字点阵信息存于27c256中,最多存1024个16*16点阵汉字,要修
改只能重新写27c256,优点是不丢失,一般我们为银行做的都是这种,他很少修改显示能容,而
且以后每次修改可以收费<哈哈~~~),缺点是不灵活
     
     2: 另一种是可以用户自己修改的,修改方式又分为2中,
         早期一般用键盘或者遥控器修改,那样必须在主办上固化有汉字字库,可用27c040
固化ucdos的hzk16全角字库和asc16半角字库,用户输入区位吗进行修改,用户需要显示的汉
字以区位吗的方式存到一片E2POM中,显示的时候程序根据区位吗读取点阵信息送到屏上显
示,
          还有一种近年来常用的方式就是利用微机串口进行修改,这里面还分为两种
      A,控制板上没有字库,微机发送的是显示的点阵信息,控制板接受后把信息存到带电池
的RAM中(也可用E2PROM,但速度很慢),这种的缺点是掉电池的RAM不太可靠,常常丢失信息
      B,控制板上带字库,微机发送汉字的机器吗(内吗)即可,其他同上

四: 显示的控制
  
    信息的发送可以有好多方式,根据采用器件的不同而不同,有的厂家采用374控制而不采
用595,那样的话直接写一个外部端口即可,374级连方式,(如果用1排374的话在传输中必须关
掉显示,显示字较多的话影响亮度,用2排374不必关掉显示但增加硬件成本),目前用的较少了
     595的很长见,发送可以用传口,很简单,也可以用别的口模拟传口发送(因为传口还有可
能随时接受微机的信号),也可以采用传口复用(不过我不会,:)~~)
     我采用的是用374+165向595发送数据,硬件比较复杂,但是在以后的显示花样中很好用!
特别是左右移位,爽极了!
    提示一下:最近用双龙的90S8515发现很好,因为他还有一个SPI口,用来送595信号更爽!
速度可到3M,(12M晶体),强烈建议大家有这种芯片(靠,也不到双龙看到了会不会给点奖
励....)

五: 一些注意事项:

    1: 显示时间,每行<1.5MS
    2: 根据经验,89C51 12M晶体最大控制48个16*16点阵,再大的话可以提高晶体频率和优
化程序,(就是发送程序的时间最短)
    3: 在显示的字比较多时,一定要注意发送子程序的代码效率,因为发送是一个循环,所以
循环体内的处理越快越好,大家现在大都用C51,更的注意,我可是吃过亏的!

大家看下面的例子:
if(hangno==0x10)hangno=0; //hangno为显示的行序号
 for(i=0;i<32;i++)
    {
     PORT1=*(addr+hangno*0x600+i);//我的汉字信息是0~600为第一行信息
                                  //600~0c00为第二行信息...
     PORT2=0x0ff;
    }


每次发送32个字节(16个字),程序编译通过,没有问题,可是当显示64个汉字时(假设)显示就
乱了,后来改为 
     
if(hangno==0x10)hangno=0; //hangno为显示的行序号
  w=hangno*0x600;
 for(i=0;i<128;i++)
    {
     PORT1=*(addr+w+i);//我的汉字信息是0~600为第一行信息
                                  //600~0c00为第二行信息...
     PORT2=0x0ff;
    }

就没有问题了,大家自己看看,就知道原因了,对把?
写了这么多,想到那些到那,很不系统,不过好累呀,我下两盘军旗放松放松,大家多提提意见,
这只是讲的小屏的控制方法(<2m2),大屏的完全不同,有人感兴趣的话以后再谈.

责任编辑:


相关文章
 

最新文章

更多

· 小功率充电器的设计
· 自已动手制作AVR仿真器
· 89C51编程器
· 简易串行存储器拷贝器
· 小巧的数字显示频率计、...
· 小型快速电路板制版系统
· 电路板制作经验
· 单片hc244的ByteBlaster...
· 80C31和SED1335控制320×...
· 简易无线耳麦的制作

推荐文章

更多

· 小功率充电器的设计
· 自已动手制作AVR仿真器
· 89C51编程器
· 简易串行存储器拷贝器
· 小巧的数字显示频率计、...
· 小型快速电路板制版系统
· 电路板制作经验
· 单片hc244的ByteBlaster...
· 80C31和SED1335控制320×...
· 简易无线耳麦的制作

热点文章

更多

01-01·[接口与通讯] 红外遥控系统原理及单片机软... (3804)
01-01·[单片机技术] 温度传感器PT100的应用 (2424)
09-17·[可编程逻辑] 基于VHDL语言的智能密码锁设计 (1984)
09-08·[可编程逻辑] 基于FPGA的QPSK调制解调电路... (1973)
09-08·[单片机技术] AT89S52的中文简介及资料下载 (1909)
11-24·[电子基础] 与初学者谈电子制作(电子入门) (1789)
09-09·[电源技术] 基于DSP的三相SPWM波发生软件... (1789)
10-24·[传感与控制] MODBUS RTU通讯协议在S7-200... (1612)
12-01·[单片机技术] 基于ARM智能家居控制器设计与... (1612)
11-24·[单片机技术] 常用LED数码管驱动电路2(单 ... (1601)
09-08·[电源技术] 能延长电池寿命的单节电池升... (1537)
09-11·[仪器与仪表] 应用ADuC847芯片设计压力及温... (1520)