资源描述:
《振兴中华点阵事业》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、点矩阵显示器的应用-----两个中文字数据分批显示并左移 现在市面上已出现很多有关点矩阵显示器的商品,如广告活动字幕机、股票显示板、活动布告栏等。它的优点是可按需要的大小、形状、单色或彩色来组合,可与微处理器连接,做各种广告性的文字或图形变化。何谓点矩阵显示器?其实它是由LED按矩阵方式排列而得名。点矩阵显示器的种类,可分为5*7,5*8,6*8,8*8等4种;而按LED发光变化颜色来分,可分为单色、双色、三色;按LED的极性排列方式又可分为共阳极与共阴极,而在本文中所介绍的8*8点阵排列为共阴极。8*8点矩阵显示器在市面上有两种不同引脚,如下图:87B1D64AABCD5678 EG23H
2、5FC1234EFGH点矩阵显示器的基本应用大家想想,对于一由N*N个LED组成的点阵块,只要让某些LED亮,就可以组成数字,英文字、图形、中文字。但如果用直接点亮的方式,它就可变化成很多的形状。当然不管是哪种形式,哪种图案的哪些LED该亮都是固定的。以下我主要针对中文字作一些说明。要显示中文字,必须由几个点矩阵组成才可显示出一个汉字。目前最常见的方式有15*14及16*16两种方式。15*14需要使用5*7的6个,16*16需使用5*8的六个或8*8的4个。现以16*16举例说明,对于汉字字形,在网络上有好多汉字字型代码提取工具,可以很方便地找查出中文字的点阵示意图及点阵代码。中文字的点阵示
3、意图在UCDOS中文字体库中,每一个字由16行16列的点阵组成显示。如果用8位单片机AT89S51或52控制,我们知道此单片机的总线为8位,一个中文汉字得拆分为2个部分。一般我们把它拆为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。当上半部第一列完成后,继续扫描下半部的第一列,同时也为了我们硬件设计的方便,我们采用由上往下扫描。依照这个办法,我们对汉字‘振’进行扫描,共扫描32个8位,可得到扫描代码为:08H,40H,08H,42H,08H,81H,0FFH,0FEH09H,02H,0AH,0CH,7FH,0F0H,49H,00H49H,0FFH,49H,02H,49H,0E0
4、H,49H,18H59H,14H,0CBH,26H,41H,44H,00H,00H但这只是个显示各种字体或图象的原理,在真正设计开发项目时,我们可以使用汉字字模生成软件,这样我们就不必自己去画表格求代码,同时也缩短了我们的开发时间。下面就是在此设计中即将要显示出来的‘振兴中华电子事业’八字的竖排代码和显示字型在此次8个字的点阵设计中,共使用了16行,32列,如果全部使用单片机I/O口,恐怕我们1个单片机也没那么多口,而且这样造成I/O的资源的浪费,系统也再无扩展可言。在此设计中,我使用了2个4~16线译码器74LS154来完成列方向的显示,而行方向16条线接在P0和P2口。列方向由两片74LS
5、154完成扫描,它由89S51的P1.0~P1.3控制,而驱动部分用32个A1015[PNP]的三极管完成。在行方向由于P0口没有上拉电阻,因此在接上4.7*8的上拉排阻。同时为了提供负载能力,后面还在P0和P2口后接16个C1384的NPN三极管驱动;而对74LS154的位选方面采用P1.4口控制,通过1/6片7407模块按下图所示接法进行位选,分别轮流显示。每个画面2个字,8个字分4次显示,采用向左移动的显示方式依次显示。硬件电路如下所示:实现程序如下:{已通过编译}ORG00HSTART:MOVA,#00H;清除屏幕MOVP0,AMOVP2,ACALLDIS;调用显示子程序CALLDEL
6、AY;调用延时子程序CALLMOVE;调用左移子程序JMPSTARTDIS:MOVR2,#04H;每个画面2个字,8个字分4次显示MOV20H,#00;取码指针暂存地址20H初值为00D4:MOVR4,#00H;74LS154扫描指针初值MOVR1,#0FFH;每幕停留的时间D5:MOVR6,#32;每幕两个字,32个数据码MOVR0,20H;取码指针存入R0D2:CALLREAD1;调用取码子程序INCR4;扫描下一列DJNZR6,D2;显示1幕?MOVR4,#00;清除74LS154扫描指针为00DJNZR1,D5;每幕停留时间到了?MOV20H,R0;保留取码指针存入20H地址DJNZR
7、2,D4;2幕显示完毕了?RETMOVE:MOV20H,#00;取码指针暂存地址20H初值为00MOVR4,#00H;74LS154扫描指针初值M1:MOVR1,#0FFH;每幕停留时间M2:MOVR6,#32;每幕两个字,32个数据码MOVR0,20H;取码指针存入R0M3:CALLREAD1;调用取码子程序INCR4;扫描下一列DJNZR6,M3;显示1幕?MOVR4,#00;清除74LS15