您当前的位置:五五电子网电子知识单元电路显示电路-显示屏基于AT89C51/AT89S51点阵LED显示屏的设计 正文
基于AT89C51/AT89S51点阵LED显示屏的设计

基于AT89C51/AT89S51点阵LED显示屏的设计

点击数:7722 次   录入时间:03-04 11:41:32   整理:http://www.55dianzi.com   显示电路-显示屏

  现在市面上已经出现很多有关点阵显示屏的商品,并广泛应用于各种不同的场合。它的优点是可以按照各自的需要来设计成不同的大小、形状、颜色、显示内容以及不同的显示方式,可以与微处理器连接,做各种广告性文字以及图形的显示。点阵显示器的种类可分为5x7、5x8、6×8、8x8四种,按照LED发光变化的颜色来分,又可以分为单色、双色、三色;而按照LED极性排列方式又可分为共阳极和共阴极。下面以市面上应用广泛的8x8LED为例介绍了可以显示多个汉字的大型显示屏的设计。
  
  不论图形还是文字,只要控制其组成这些图形或文字的各个点所对应的LED器件发光,就可以得到我们想要的显示结果,显示的方法有静态驱动显示和动态扫描显示两种。同时控制各个发光点亮灭的方法称为静态驱动显示方式,这种显示方法需要扩展单片机的端口,设计出来的实物不论从体积还是从经济上都很庞大。所以,在设计时,我们采用动态扫描显示方法。动态扫描的意思简单地说就是逐行轮流点亮,这样各列就可以公用一个列驱动器,就16×16的点阵来说,把所有同一行的发光管的阳极连在一起,把所有同一列的发光管的阴极连在一起,通过单片机送出对应第1行发光管亮灭的数据给锁存器锁存,选通第1行并使其燃亮一定时间,然后熄灭:再送出第2行数据并锁存,选通第2行使其燃亮相同的时间,然后熄灭:以此类推,第16行之后,又重新燃亮第1行,反复轮回。当这样轮回的速度足够快(每秒24次以上),由于人眼的视觉暂留现象,就能看到显示屏上稳定的图形了。
  
  采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。显示数据通常存储在单片机的存储器中。显示时要把一行中各列的数据都传送到相应的列驱动器上去,从控制电路到列驱动器的数据传输可以采用并行方式或串行方式。采用并行方式时,从控制电路到列驱动器的线路数量大,相应的硬件数目多。当列数很多时,并行传输的方案是不可取的。而采用串行传输,控制电路可以只用一根信号线,将列数据一位一位地传人列驱动器,在硬件方面无疑是十分经济的。但是,当串行传输的数据较长时,数据按顺序一位一位地输出给列驱动器,这样送完全部的数据就需要较长的时间,从而使LED点亮的时间缩短,影响字体的显示亮度。解决这个问题的方法是采用重叠处理的方法。即引入移位锁存器,在显示本行各列数据的同时,传送下一行的列数据。它既能实现串入并出的移位功能,又具有并行锁存的功能。这样,数据通过串行输入口送入并通过并行锁存器进行显示同时,下一行的列数据又串行输入到移位寄存器中准备下一行的列的显示,而不会影响本行的显示。
  
  下图中单片机采用89C51/89S51,晶振采用24MHz.以提高刷新的频率使显示更稳定。P2口的低四位输出行号经4/16线译码器74LS154译码后,产生行选通信号送入显示器的行(发光二极管的阴极)进行轮流显示。单片机的P1.5~P1.7用来发送控制信号,P3.O、P3.1用来传送要显示内容的列代码,均与列驱动器(74HC595)相连。


  
  下图中列驱动器选用74HC595,它具有一个8位串入并出的移位寄存器和一个8位输出锁存器的结构,而且它可以在显示本行列数据的同时传送下一行的列数据,这样也节省了很多时间,有利于稳定显示。单片机的P3.O将数据送入74HC595的输入端SI,当移位存储器的移位时钟脉冲SCK的出现上升沿时,将SI的下一个数据传人最低位。移位后的数据出现在输出锁存器的输入端,当RCK为上升沿时,将数据存入输出锁存器。输出三态门的开放信号(引脚G)为低电平时,锁存器的输出开放。
  
  否则为高阻态。为了防止74HC595和单片机连接时出现上电时的干扰(74HC595不固定的输出一些没有规律的数据),将74HC595的G脚接成如下图中的模式。上电时,由于电容的存在,G脚开始是呈高电平,锁存器不输出,由于电阻接地,G脚变低,输出使能。SCLR信号是移位寄存器的清零输入端,当其为低电平时移位寄存器的输出全部为0。芯片的输出端为QA~QH.还引入了QHT作为移位寄存器完全同步的级联输出。
  
  图中的“JILIAN”端连在下一个输入端“TXD-LED”,以此类推,就可以实现多个汉字的大屏幕显示。由于每一条行线最多要同时带动32个LED进行显示,如果按照通过每个LED的电流为15mA计算,那么需要480mA的电流,选用8550做驱动可以满足要求。
  
  中断的时间一般不能超过1.5ms,最好为1.2ms左右,在中断子程序中将数据通过串口发送到74HC595中,数据发送完毕后,关掉控制行的74LS154,给74HC595的RCK(12脚)一个脉冲,把数据从移位寄存器传输到锁存器,再打开74LS154并输入行信号选通即可。

驱动器


  
  (中断程序框图见下图)图形或汉字可以有以下几种存储形式:可以存储在只读存储器中,UVEPROM的27256最多可以存储1024个16×16的点阵汉字,不过要修改数据时只能把芯片从系统中拆卸下来,再放在专用的擦除器中擦干净,再重新写272560使用E2PROM可以很方便地修改数据,不用把芯片拆卸下来,虽然速度很慢,不过数据信息在掉电时不会丢失,比较适用于一些数据比较固定的场合。还可以通过微机的串口修改显示内容的数据信息,如果CPU控制板上没有字库,微机发送的是显示的点阵信息,CPU控制板接收后把信息存到带电池的RAM中(也可用E2PROM.但速度很慢),这种的缺点是掉电池的RAM不太可靠,常常丢失信息。控制板上带字库,微机发送汉字的机器码(内码)即可,其他同上。
  
  特别注意:在显示的字比较多时,用C51编写程序时要注意发送子程序的代码效率,因为发送是一个循环,所以循环体内的处理越快越好。

中断程序框图




本文关键字:LED显示屏  显示电路-显示屏单元电路 - 显示电路-显示屏