还剩2页未读,继续阅读
文本内容:
点阵式汉字LED显示屏电路原理与制作类别单片机制作 阅读7474 本电路图所用到的元器件89C5174LS154-p.htmtarget=_blanktitle=74LS154货源和PDF资料74LS1547805汉字显示屏广泛应用与汽车报站器,广告屏等本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块,而是直接使用了256个高量度发光管,组成了16行16列的发光点阵同时为了降低制作难度,仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数1汉字显示的原理我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示即国标汉字库中的每一个字均由256点阵来表示我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分一般我们把它拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00---p07口方向为p00到p07显示汉字“大”时,p05点亮由上往下排列,为p
0.0灭,p
0.1灭p
0.2灭p
0.3灭p
0.4灭p
0.5亮p
0.6灭p
0.7灭即二进制00000100,转换为16进制为04h.上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h然后单片机转向上半部第二列,仍为p05点亮,为00000100,即16进制04h.这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h.依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“大”的扫描代码为04H00H04H02H04H02H04H04H04H08H04H30H05H0C0H0FEH00H05H80H04H60H04H10H04H08H04H04H0CH06H04H04H00H00H由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上不过现在有很多现成的汉字字模生成软件,我们就不必自己去画表格算代码了软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可我们把行列总线接在单片机的i0口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了在这个例子里,由于一共用到16行,16列,如果将其全部接入89c51单片机,一共使用32条io口,这样造成了io资源的耗尽,系统也再无扩充的余地实际应用中我们使用4-16线译码器74ls154来完成列方向的显示而行方向16条线则接在p0口和p2口程序清单ORG00HLOOP:MOVA#0FFH;开机初始化,清除画面MOVP0A;清除P0口ANLP2#00;清除P2口MOVR2#200D100MS:MOVR3#250;延时100毫秒DJNZR3$DJNZR2D100MSMOV20H#00H;取码指针的初值l100:MOVR1#100;每个字的停留时间L16:MOVR6#16;每个字16个码MOVR4#00H;扫描指针清零MOVR020H;取码指针存入R0L3:MOVAR4;扫描指针存入AMOVP1A;扫描输出INCR4;扫描指针加1,扫描下一个MOVAR0;取码指针存入AMOVDPTR#TABLE;取数据表的上半部分的代码MOVCA@A+DPTRMOVP0A;输出到P0INCR0;取码指针加1,取下一个码MOVAR0MOVDPTR#TABLE;取数据表下半部份的代码MOVCA@A+DPTRMOVP2A;输出到P2口INCR0MOVR3#02;扫描1毫秒DELAY2:MOVR5#248;DJNZR5$DJNZR3DELAY2MOVA#00H;清除屏幕MOVP0AANLP2#00HDJNZR6L3;一个字16个码是否完成?DJNZR1L16;每个字的停留时间是否到了?MOV20HR0;取码指针存入20HCJNER0#0FFHL100;8个字256个码是否完成?JMPLOOP;反复循环TABLE:;汉字“倚”的代码db01H00H02H00H04H00H1FH0FFHdb0E2H00H22H00H22H0FCH26H88Hdb2AH88H0F2H88H2AH0FAH26H01Hdb63H0FEH26H00H02H00H00H00H;以下分别输入天,一,出,宝,刀,屠,龙,的代码,略end电路中行方向由p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个
4.7k*8的排阻上拉如没有排阻,也可用8个普通的
4.7k1/8w电阻为提供负载能力,接16个2n5551的NPN三极管驱动列方向则由4—16译码器74LS154-p.htmtarget=_blanktitle=74LS154货源和PDF资料74LS154完成扫描,它由89C51的P
1.0---P
1.3控制同样,驱动部分则是16个2N5401-p.htmtarget=_blanktitle=2N5401货源和PDF资料2N5401的三极管完成的电路的供电为一片LM7805三端稳压器,耗电电流为100Ma左右采用一块12*20cm的万能电路板,应当选用质量好些的发光管,(否则有坏点现象,更换起来较麻烦)首先将256个发光管插入电路板,注意插入方向,同时使高度一致,行方向直接焊接起来,列方向则搭桥架空焊接,完成后用万用表测试一下如有不亮的更换掉然后找一个电脑硬盘的数据线,截取所需的长度,分别将行,列线引出至电路的相关管脚即可原理图为了简洁,故只画出了示意图,行列方向只画出了2个三极管,屏幕只画出4个发光管,实际上发光管为256只,三极管行列方向各16只,一共32只焊接过程认真仔细一天时间即可完成全部制作将程序编译后烧写入89c51插入40pinIc座,即可看到屏幕轮流显示“倚天一出宝刀屠龙”当然,你可将程序的汉字代码部分更换为您所需要的代码即可显示你所需要的汉字上图为实物的照片,对本文感兴趣的读者可在本期无线电杂志的配套光盘中找到他的完成程序,或者到作者网站www.51c
51.com下载元件清单名称数量规格4.7k1/8w32电阻
4.7k*8排阻12n555116小功率NPN三极管2n540116小功率PNP三极管led2563mm白发红高亮度22P2瓷片电容10uf/50v1电解电容100uf/25v2电解电容AT89C511或AT89S5140pinIc座1插89c51用12M1晶体74LS154-p.htmtarget=_blanktitle=74LS154货源和PDF资料74LS1541或74HC154LM78051稳压IC电源插座1稳压电源1。