内容正文:
任务4 汉字点阵屏显示系统
1.了解8×8LED点阵屏的内部结构及字符显示原理。
2.掌握单片机控制16×16LED点阵屏的汉字显示方法。
3.能够设计并制作基于16×16LED点阵屏的汉字显示系统。
LED点阵电子显示屏具有色彩鲜艳、亮度高、工作稳定、功耗低、安装方便等优点,已广泛应用于各种公共场合,如广告屏、宣传栏、银行叫号器以及公交车报站器等。本任务的主要内容是使用8×8点阵发光管模块组成的16×16发光点阵,实现单个汉字的静态循环显示,显示内容可以为待定的中文、字符或数字。
一、LED点阵屏基础知识
LED点阵是由许多单个LED按矩阵的方式排列而成,通过控制每个LED灯的亮灭来完成各种字符或图形的显示。
单色8×8LED点阵实物图和结构图如下图所示:
b)结构图
a)实物图
二、8×8LED点阵屏的字符显示原理
行 数 点阵数据
第1行 0x00
第2行 0x24
第3行 0x5A
第4行 0x81
第5行 0x42
第6行 0x24
第7行 0x18
第8行 0x00
由8行8列构成的“♡”图形,如下图所示。其中要显示的点用二进制位1表示,不显示的点用位0表示。这样每行构成了一个字节,从上到下各行的数值用十六进制数表示,见下表。
以按行显示为例,在8×8LED点阵上显示一个“♡”时,显示过程如下:
① P2口送出第1行要显示数据0x00,P0口送出选中第1行控制数据00000001;
② P2口送出第2行要显示数据0x24,P0口送出选中第2行控制数据00000010;
③ P2口送出第3行要显示数据0x5A,P0口送出选中第3行控制数据00000100;
………
送完8行的显示数据和8个行控制信号,一个“♡”就显示了一遍,接着再重复上述显示过程。只要每行的刷新速率大于50Hz,利用人眼的视觉余辉效应,人们就可以看到一幅完整的文字或画面。
8×8点阵字符显示参考程序如下:
#include <AT89X51.h> //包含AT89单片机寄存器的头文件
#define uchar unsigned char //定义无符号字符型"uchar"等价于"unsigned char"
code uchar heart[8]={ 0x00,0x24,0x5A,0x81,0x42,0x24,0x18,0x00 }; //心形点阵数组
main( )
{
uchar i,k;
while( 1 )
{ k=0x01; //初始化,显示第一行
for( i=0;i<8;i++ ) //显示8行,逐行扫描
{
P0=0x00; //关闭显示
P2=~heart[i]; //因为是行线高电平有效,列数据低电平有效,数据取反送出
P0=k; //选中行线
k=k<<1; // 指向下一行
}
}
}
三、16×16LED点阵屏
1.点阵屏的组成
16×16LED点阵屏有16个行和16个列,由4个大小均为32×32mm的8×8共阳点阵组成,点阵屏可拆装,采用圆孔铜排针,便于连接。在行上和列上分别连接有驱动电路,应用串行数据转并行数据的方式来实现数据的转换,驱动部份使用两个移位带存储器的74HC595 和两个移位寄存器74HC164组成,74HC595负责列扫描数据,74HC164负责行扫描数据。行扫描上同时采用三极管放大驱动电流,提高点阵屏亮度。
输入
数据口
扩展口
16×16LED点阵屏的数据接口采用可并接方式,有输入和输出,可进行多块点阵屏之间的级联,方便多块合并,可组成32×16、48×16、64×16等点阵屏,实现更多位的汉字显示。
2.电路原理图
点阵的列驱动电路主要由74HC595完成。74HC595是硅结构的CMOS器件,兼容低电压TTL电路,具有8位移位寄存器和一个存储器,三态输出功能。移位寄存器和存储器是分别的时钟。数据在SHcp的上升沿输入,在STcp的上升沿进入存储寄存器。如果两个时钟连在一起,则移位寄存器总是比存储寄存器早一个脉冲,电路中将两个时钟分开控制,目的是先移好位再存储数据,这样在移位的过程中,可保持输出的数据。
移位寄存器有一个串行移位输入(Ds)和一个串行输出(Q7’)电路将其接入下一个IC的输入(Ds)组成16位移位存储器。一个异步的低电平复位( ),电路中不使用复位信号,将此脚直接接入电源(+5V)。
存储寄存器有一个三态的并行8位总线输出,