简易LED点阵汉字显示控制模块设计

时间:2022-09-05 12:29:48

简易LED点阵汉字显示控制模块设计

摘要:LED控制模块在程序上完成了内码到区位码、区位码到字模的转换,给出了关键代码。硬件设计上由12块8×8LED点阵模块组成显示屏,控制器采用AT89S52微处理器,由P0口和P2口控制显示屏的行、3块4-16译码器74LS154控制显示屏的列,将字模扫描到LED显示屏,从而显示汉字。

关键词:发光二极管显示;单片机;汉字

中图分类号:TM571文献标识码:A

The Design of a Simple Chinese Character Dot Matrix

LED Display Module

YOU Da-Zhang, HUANG Jin

(School of Mechanical Engineering ,Hubei University of Technology, Wuhan 430068,China)

Abstract:The Chinese character internal code were translated into the section-position code, then into the matrix in the Chinese character dot matrix by the program of LED display module. Also some crucial code was given. The electrocircuit was primary consisted of AT89S52 single-chip microcomputer and LED screen. The LED screen were made up of 12 chip of 8×8 LED module. The row and line of the LED screen were controlled by the P2 and p0 port of the AT89S52. The Chinese character were displayed in the LED screen with the matrix being outputted to the ports of the single-chip microcomputer.

Keywords: LED display; single chip microcomputer; Chinese character

引言

在车站、机场、商场、证券交易所及其他一些公共场所,经常需要多变的实时信息或进行广告宣传,传统的黑板和纸张等媒介手段已不能满足其多变性和实时性。而LED(发光二极管)电子显示屏以其修改方便、实时显示、美观整洁等特点应运而生。构成LED电子显示系统的方法很多,它们的基本原理相同,都是采用点阵的形式显示汉字、字符等。本文介绍一种简易的控制系统,其最主要特点是经济、简单。

1汉字点阵显示原理

在计算机中,汉字以内码的形式进行表示、交换、处理。需要显示时,先由内码转换成区位码,再利用区位码从字库中提取要显示汉字的字模,然后根据字模信息在屏幕上以扫描的方式和画点的方法显示出来 ,如图1。用led点阵模块代替计算机屏幕,则每个LED对应字模中的一个位,在控制器的控制下,让LED根据字模信息亮或灭,就可显示汉字。如16×16点阵,共256个像素,在LED显示屏中,就相当于256个发光二极管,只要控制这256个发光二极管的亮或灭,就能让这些亮的二极管组成想要的汉字的形状。

假设让单片机AT89S52按照设定的程序在P0和P2接口输出与内部汉字对应的代码电平送至LED点阵的行选线(高电平驱动),同时在P1.1,P1.2,P1.3,P1.4接口输出列选扫描信号(低电平驱动),从而选中相应的"象素"――LED发光,并利用人眼的视觉暂留特性合成整个汉字的显示。点阵LED一般采用扫描式显示,实际应用分为3种方式:点扫描、行扫描和列扫描。若使用第一种方式,其扫描频率必须大于16×64=1,024Hz,周期小于1ms即可。若使用第二、三种方式,则频率必须大于16×8=128Hz,周期小于7ms即可符合视觉暂留效果。本文以第三种方式――列扫描为例,来介绍LED汉字显示的控制原理,其他两种方法可以此类推。

2电路设计

硬件设计采用8×8点阵发光管模块。以显示3个汉字为例,将4个8×8点阵联结在一起组成一个16行16列的显示屏来显示一个汉字,选用3组,共12块8×8模块,可以同时显示3个汉字。控制电路采用以AT89S52单片机为核心芯片的电路来实现,主要由AT89S52芯片、时钟电路、复位电路、列扫描驱动电路(74HC154)、16×16 LED点阵5部分组成,如图2所示。

其中,AT89S52是一种带4 kB闪烁可编程可擦除只读存储器 (FPEROM)的低电压、高性能CMOS型8位微处理器。LED点阵的16条行线直接接在P0口和P2口,由P0口和P2口完成行方向扫描,由于P0口没有上拉电阻,因此接一个4.7k×8的排阻上拉。 如没有排阻,也可用8个普通的4.7k 1/8w电阻。为提供负载能力,接16个2N5551的NPN三极管驱动。列选扫描信号则由4-16线译码器74HC154来选择控制。74HC154一端接89S52的P1.0~P1.3口,三块74HC154的片选为P1.4~P1.6。同样,驱动部分为16个2N5401的三极管。电路的供电为一片LM7805三端稳压器,耗电电流为100mA左右 。

为方便调试,添加了与PC通信的串行接口,使用MAX232芯片,采用RS232标准。

3程序设计

3.1 主程序

整个程序由几个部分组成:主程序、显示汉字子程序、串口通讯子程序、内码转换与显示子程序、延时子程序。主程序主要在系统接通电流后初始化,之后开串口中断接受PC机端的信息,经过内码转换后,在单片机内部字库查找汉字的扫描代码,将高位传给P0口,低位传给P2。再通过译码器逐次控制正确的列接通,由上往下列扫描,就可以在LED显示屏上正确的显示汉字了。具体流程图见图3。

主要代码如下:

MAIN:

MOV A,#00H;初始化IO口

MOV P0,A;清P0口

MOV P2,A;清P2口

MOV20H,#00H;取码指针的初值

JMP DDS;跳到串口接收程序

JMPWORD_ALL;跳到汉字显示程序

3.2 显示汉字子程序

要在LED显示屏上显示汉字,需要正确地读取汉字的扫描代码,然后控制P0口和P2口输出,这就需要通过显示子程序.具体流程图请见图4。

主要代码:

MOV 20H,#00H;取码指针的初值

MOV R6,#16;每个字16个码

MOV R4,#00H;扫描指针清零

MOV R0,20H;取码指针存入R0

MOV A,R4;扫描指针存入A

MOV P1,A;扫描输出

CLR P1.4;选择第一片74HC154

SETB P1.5

SETB P1.6

INC R4;扫描指针加1,(扫描下一个)

MOV A,R0; 取码指针存入A

MOV DPTR,#WORD_TABLE;字模表首地址送DPTR

MOVC A,@A+DPTR;取数据表的上半部分的代码

MOV P0,A ;输出到P0

INC R0;取码指针加1,取下一个码。

MOV A,R0

MOV DPTR,#WORD_TABLE;字模表首地址送DPTR

MOVC A,@A+DPTR;取数据表下半部份的代码

MOV P2,A;输出到P2口

3.3 内码转换与显示子程序

汉字的扫描代码存储在单片机内,需先将PC机传过来的内码转换成区位码,再利用区位码找到字模首址。从PC机端传过来的汉字内码占两个字节,分为高位和低位,将高低位都减去A0H即可转换成区位码 。再依照区位码查表,即可找到所属汉字的扫描代码,然后就可以输出到单片机的P0口和P2口从而正确完成汉字的显示。流程如图5所示。以本模块为例,因为AT89S52存储空间有限,只建立部分汉字的字库,选19区全部汉字共94个,从"场"(区位码1901)字到"楚"(区位码1994)字 。根据区位码表,建立94块字模的索引表,每个字模32位,共32×94=3008(0BC0H)位,故只需根据位码就能找到索引表的首地址。

主要程序:

MOV A,SBUF;接收缓冲器数据送内部RAM(40H-45H)

MOV @R0,A

INC R0

CLR RI

DJNZ R6,WAIT;三个汉字6个字节接收是否完成?

MOV A,40H ;第一个汉字的内码的高位送累加器

SUBB A,#0B3H;减100-19,内码转换成汉字区码

MOV 30H,A ;转换后送30H

MOV A,41H;第一个汉字的内码的低位送累加器

SUBB A,#0A0H ;减100,内码转换成汉字位码

MOV 31H,A ;转换后送31H

ACALL RT_ADDRESS;(30H31H) ;调查地址码子程序

ACALL DIS_WORD ; 调汉字显示程序

4结语

本文根据LED汉字显示原理,制作了由AT89S52主控的LED汉字显示模块,给出了硬件电路图和控制软件。详细介绍了汉字内码到字模的转化,以及到LED显示屏显示汉字的过程。该模块扩展柔性大,易于扩展字库容量和LED显示屏数量,可以同时显示多个汉字和字符,另外成本较低,电路与控制方案简洁明了,容易实现,具有应用推广价值。

参考文献

[1] 沈晶. 汉字字模的拾取及其在LED显示系统中的应用[J]. 陕西科技大学学报 ,2004,(6).

[2] 李朝清. 单片机原理及接口技术[M] .北京:北京航空航天大学出版社, 1994.

[3] 罗绮,赵双萍. LCD/LED 汉字多点阵字模提取[J]. 微计算机信息(测控自动化),2005,(5).

[4] 《中华人民共和国汉字区位码表》(GB2312)[S].省略。

上一篇:基于点对点架构TCON的研究与设计 下一篇:基于半导体光刻技术的自动调焦