摘要:本文设计了一个8×8点阵LED显示屏的显示系统,重点介绍了LED屏幕的动态显示方法,分别使用了两个定时器来控制显示屏的亮度及显示字符的动态移位速度。设计了LED屏幕显示系统的电路原理图,显示的字符的取模,以及软件流程设计。在系统的设计时,根据实际的LED屏幕类型及电路连接设置,选择了适合的阴极取模方式。
大屏幕显示,在我们生活中越来越多被采用的,具有很好的体积小、方便简单、显示效果佳、投入低等优点。是我们不可或缺的产品。它可以通过屏幕让你获得,中英文、图像和动画的显示,逐渐的替代传统数码管CRT显示器。
1.研究概述
LED显示屏的研究采用屏幕为8×8的点阵显示,侧重于动态处理方法,由于显示屏幕的局限性,在此次的研究设计中只能显示英文和数字。一个基本的LED屏幕由8行×8列点共64个LED组成,显示屏有共阴和共阳两种连接方式。
每一列的所有L E D的阴极连接在一起,每一行的所有L E D的阳极连接在一起。这样每块屏幕在外部具有8个阳极和8个阴极,以共阴极LED屏幕为例,阳极端为数据端,阴极端为选通端,当数据端为高电平而选通端为低电平时,交叉点的LED就被点亮。
2.设计思路分析
对由8×8点阵构成的L E D显示屏而言,一般数据端连接微处理器的8位并行数据口,而选通端则逐一使能(选通),选择需要点亮的某一列,通过分时复用方式实现动态显示效果。选通方式一般有两种:独立选通和译码选通。
如果屏幕较小,处理器有足够的I/O口可用,则可以每个I/O口连接一个选通端,如图1所示;如果屏幕较大,或者处理器的I/O口不是非常丰富,则可以通过译码方式来选通,如图2所示。例如当8片8×8点阵的LED组成一个8×128点阵的LED屏幕时,直接选通方式需要64个I/O口,而译码选通方式只需要6个I/O口。
本文研究的L E D屏幕显示设计,是演示一种循环移位显示效果,上电后,Atmega16首先对8×8点阵LED屏幕进行自检,依次点亮所有的LED,然后在LED屏幕上循环显示“A LEDTEST”字符。
3.硬件电路设计
8×8点阵LED显示屏系统所需要的资源如表1所示。电路原理中,主要是利用atmega16单片机的数据端口、选通端口、中断端口进行LED的控制设计。
在LED显示系统中,用到一个8×8的显示屏,所以采用8个选通I/O口,选通方式采用独立选通方式。通过软件Atmega16的I/O口来提供给选通的信号。Atmega16不需附加其的驱动线路,软件atmega16具有直接驱动的能力。显示屏系统电路图如图3所示。
原理图中,用单片机的PA[70]端口去控制LED的D7-D0接口,用PD[70]去控制S7-S0接口,实现LED与单片机之间的数据与控制信号交换。图3中Y1为单片机的晶体振荡器,它与电容C2、C3共同组成了单片机的外部振荡电路;而电容C1与单片机的RESET端口形成了单片机的复位电路。
设计完硬件电路图,需要再对单片机芯片进行程序的编辑和设计,配合软件程序功能的运行,才能完整实现LED屏幕显示系统功能。
4.系统软件设计
本节对LED屏幕显示系统进行软件设计。
4.1 显示字模
8×8点阵LED屏显示的字符需要通过取模的方式转换成实际的显示数据,这个过程可以通过Pcto LCD 2002软件来实现,如图4所示,Pcto LCD 2002是一种LCD字模生成软件,同样适合于为点阵LED屏幕进行字模生成。
在这里选择生成的英文字符的规格为8×8点阵,同时设置取模方式为阴极(点亮的位为1)、逐列式及顺向(高位在前)。
4.2 显示控制
显示控制需要关注两个方面:字符的正常显示和字符的移位显示。
字符的正常显示原理同数码管显示一样,为分时显示方式。T/C0的定时中断用来控制显示扫描频率,可以通过调整T/C0的周期来调节LED屏幕的显示亮度。
为了进行移位显示,设置了一个8位的显示数据缓冲区,移位显示的原理如表2所示,字符A的8个字节的显示数据每间隔1秒依次从最右边的移位到最左边,当8个字节显示完毕时,A字符的第1个数据移出而B字符的第1个显示数据移入,从而实现移位显示。
4.3 中断处理
Timer0的1ms中断服务程序处理缓冲区显示流程如图5所示,Timer0中断服务处理程序只需要完成执行选通和送数据这两项。
Timer1的1s中断服务程序处理显示字符更新,其处理流程如图6所示,从第一个字符开始显示,直到字符的位数移动8位后,显示下一位,直到字符串结束,返回第一个字符循环下去。
5.结束语
通过研究LED显示屏的显示系统,重点了解LED屏幕的显示动态的方法,分别使用了两个定时器来控制显示屏的亮度及显示字符的动态移位速度。LED屏幕显示系统的原理图在DXP 2004下设计,显示的字符可以通过Pcto LCD 2002软件来取模,在系统的设计时,根据实际的LED屏幕类型及电路连接设置,选择了适合的阴极取模方式。