原文地址:小型LED点阵显示系统的制作 作者:lo-xiaohua-ve
关键字: 89S51, ISP, 扫描
1、 LED电子显示屏简介
随着科学技术的高速发展,各种新型信息媒体,信息相关设备及手段不断涌现。LED电子显示屏由于具有所显内容信息量大,外形美观大方,操作方便灵活,是近年来得到广泛应用的重要信息设备,大致有以下几类:
(1)、条形显示屏
该系列可用于显示文字、表格、符号和简单图形等,控制系统体积较小,嵌入在显示屏替内部,一般采用红色高亮度点阵模块,表面可外履深红色遮光薄膜,适用于多种场合发布通知、广告等信息。
(2)、图文显示屏
该产品主要用计算机控制,具有处理速度快、存储容量大等特点,适合显示面积较大的图文信息,可适时显示系统当前日历、时间、文件等,被广泛运用在商场、街道、广场、车站等人群或流动量大的场合。
(3)、256级灰度视频显示屏
该系列具有256级灰度控制功能,使没种基色可达256种颜色,图象显示细腻、柔和、颜色丰富、层次感强等特点。该系列显示屏可显示真彩色图象、电脑动画和电视机、录象机、影碟机等视频节目信息,图象清晰稳定,无噪点和闪烁感。
2、 LED电子显示屏显示字符原理
下图所示为单基色8*8的点阵屏内部结构图:
从结构上可知,它的每一列共用一根列线,每一行共用一根行线。当相应的行接高电平,列接低电平时,对应的发光二极管被点亮。通常情况下,一块8*8像素的LED显示屏是不能用来显示一个汉字的,因此,按照其原理结构进行扩展为16*16,就足以显示一个完整的汉字。在显示过程中,多采用扫描方式,利用人的视觉暂停效应,只要刷新速率不小于25帧/秒,就不会有闪烁的感觉。
3、 系统硬件
本系统采用89S51为系统的控制核心[1],用译码器74HC138提供显示的列地址,直接由P0、P2口加大功率三极管提供驱动电路。
(1)89S51简介
89S51单片机是ATMEL公司推出的低功耗,高性能CMOS8位单片机,片内含4K bytes 的可编程的Flash只读程序存储器,兼容标准8051指令系统及引脚,并且可采用在线编程(ISP),使得调试非常方便。其主要参数及引脚图如下:
89S51芯片的各引脚功能如下:
GND 接地
Vcc 接电源
P0.0-0.7 开漏双向I/O口
P2.0-2.7 内部上拉的双向I/O口
P1.0-1.7 内部上拉的双向I/O口
P3.0-3.7 内部上拉的双向I/O口
特殊功能引脚:
MOSI,MISO,SCK(P1.5,P1.6,P1.7)用于ISP编程
RXD(P3.0) 串行输入口
TXD(P3.1) 串行输出口
WR (P3.6) 外部数据存储器写信号
RD (P3.7) 外部数据存储器读信号
T0 (P3.4) 定时器0外部输入
T1 (P3.5) 定时器1外部输入
INT0 (P3.3) 外部中断0
INT1 (P3.2) 外部中断1
RST 复位
ALE 地址锁存使能
EA/Vpp 外部寻址使能/可编程电压
PSEN 程序存储器使能
XTAL1 振荡器反相放大器及内部时钟发生器的输入端
XTAL2 振荡器反相放大器输出端
(2)74LS138译码器[2]
74LS138译码器引脚图及功能表如下:
从上图可看出74LS138是3-8译码器,它具有三个使能端,三个数据输入端,只有当使能端S1为高电平,而S2与S3之和为低电平时,才能正常工作。本制作采用两片138级连组成4-16的译码器,然后与P1口相连接作为显示屏的列选择线,级连电路图如下:
G为势能端,D,C,A,B为译码器的数据输入端,例:当输入D,C,B,A为1000时,则U3的第一列有效。
(3)行驱动电路
为简化设计,该制作采用了直接用P0,P2加驱动管做行的输入控制,连接图如下:
4、汉字编码[3]
上图描述了“你”这个汉字,并按照亮为1,不亮为0的原理,将该字按二进制码描述为一系列的位代码。后面所显示的字模信息是按照c语言的格式和横排编码方式进行的编码,同样可以结合硬件进行以下几种编码方式:
A、 横排 ——从左到右按行编码
B、 下上列排——从下到上按列编码
C、 上下列排——从上到下按列编码
D、 下半列排——从中间到上按列编码,在从下到中间按列编码
E、 上半列排——从上到中间按列编码,在从中间到下按列编码
本系统的编码是按照上下列排的编码方式来进行的,且是按照汇编的格式来进行编排。
汉字的编码是一个极其烦琐的过程,如没有其它软件支持的话,可采用手工编码方式,但是编出来的汉字显示出来不美观。该设计采用了一个名为“字模提取”的软件来进行编码。
5、软件描述
本程序主要由主程序与清屏、查表、送数,循环扫描、延时几个部分组成。主程序及帧扫描子程序流程图如下:
主程序中,使用DPTR地址寄存器作为地址取码指针,通过查表将数据送至行线作控制信号,而通过138连接的列线作扫描控制开关。DPTR置数据表地址的基值,R3作地址指针,以两者之和查找相应的数据,R3的初值为0,当DPTR为表首地址时,在子程序的循环中R3从0加到96,取出显示字符的全部字节并与列开关配合逐列显示,完成一帧扫描的全部操作。DPTR能增加的最大数应比实际要显示的字节数少96,否则DPTR与R3相加后将指到数据表外。为保证最前和最后一屏也能移动显示,该设计将数据表的最前一屏和最后一屏全用了0数据,开始和结束都以黑屏显示完成全部的扫描显示。对同一帧的反复扫描次数R2的设定,决定了显示移动的速度。另外,延时程序至关重要,这就涉及到前文所说的刷新速率问题,如设置不当,就会有闪烁感。显示效果如下:
6、 总结
经过两周时间的努力,基本完成了LED显示屏的初步制作,系统所设计的基于89S51单片机的LED 显示屏主要由89S51 单片机,列扫描控制电路、行显示驱动电路组成,此外还包括一些基本的电路如时钟电路,复位电路,ISP 程序下载电路等,尽管该显示系统已能实现LED 显示的基本功能,但由于作者水平和制作时间有限,距离一个完全实用的,能完全符合市场需求的显示系统还有一定的差距。因此,在以后的研制过程中,还需要做大量的工作,比如:
(1) 在系统抗干扰方面,都还必须在工作现场根据时间情况进行大量的实验、数据分析,才能最终实现LED 显示系统的可靠工作。
(2) 在增强图文屏显示效果上,可使用双色或多色显示屏,以满足显示更加丰富多彩的图形和文字。
(3) 可将显示屏接如网络,每一个LED 显示器可作为一个网络节点,用一个主机来维护。
(4) 本系统只能由单片机静态控制,应该采用计算机直接控制。
致 谢
本次制作是在众多老师的鼓励和指导下完成的,他们不仅有渊博,而且学识,求实创新的工作作风使我们受益非浅,所有这些都是以后人生的财富。同时在创作的过程中,许多同学给予了本人亲切的关怀和热心的帮助。本人在此向他们表示忠心的感谢和致以由衷的敬意!
参考文献:
1. 网络资料:http://www.ourmpu.com
2. 数字电子技术—————————江晓安,董秀蜂,杨颂华编著
3. 基于AT89C51的简易条形屏制作———————作者不详
7. 网络资料: http://21ic.com