16x16led-点阵原理

16x16led-点阵原理

ID:11287901

大小:115.00 KB

页数:6页

时间:2018-07-11

16x16led-点阵原理_第1页
16x16led-点阵原理_第2页
16x16led-点阵原理_第3页
16x16led-点阵原理_第4页
16x16led-点阵原理_第5页
资源描述:

《16x16led-点阵原理》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、点阵式汉字LED显示屏的原理与制作石学军注:本文版权属www.51c51.com51测试网所有如需要转载请著名出处!汉字显示屏广泛应用与汽车报站器,广告屏等。本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块,而是直接使用了256个高量度发光管,组成了16行16列的发光点阵。同时为了降低制作难度,仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。1汉字显示的原理:我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。即国标汉字库中

2、的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。 我们以显示汉字“大”为例,来说明其扫描原理:在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。如果用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。一般我们把它拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。在本例中单片机首先显示的是左上角的第一列的上半部分,即第

3、0列的p00---p07口。方向为p00到p07,显示汉字“大”时,p05点亮,由上往下排列,为p0.0灭,p0.1灭,p0.2灭p0.3灭,p0.4灭,p0.5亮,p0.6灭,p0.7灭。即二进制00000100,转换为16进制为04h.。上半部第一列完成后,继续扫描下半部的第一列,为了接线的方便,我们仍设计成由上往下扫描,即从p27向p20方向扫描,从上图可以看到,这一列全部为不亮,即为00000000,16进制则为00h。然后单片机转向上半部第二列,仍为p05点亮,为00000100,即16进制04

4、h.这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h.依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“大”的扫描代码为:04H,00H,04H,02H,04H,02H,04H,04H04H,08H,04H,30H,05H,0C0H,0FEH,00H05H,80H,04H,60H,04H,10H,04H,08H04H,04H,0CH,06H,04H,04H,00H,00H由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描

5、代码从而显示在屏幕上。不过现在有很多现成的汉字字模生成软件,我们就不必自己去画表格算代码了。软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。我们把行列总线接在单片机的i0口,然后把上面分析到的扫描代码送入总线,就可以得到显示的汉字了。在这个例子里,由于一共用到16行,16列,如果将其全部接入89c51单片机,一共使用32条io口,这样造成了io资源的耗尽,系统也再无扩充的余地。实际应用中我们使用4-16线译码器74ls154来完成列方向的显

6、示。而行方向16条线则接在p0口和p2口。程序清单:ORG00HLOOP:MOVA,#0FFH;开机初始化,清除画面MOVP0,A;清除P0口ANLP2,#00;清除P2口MOVR2,#200D100MS:MOVR3,#250;延时100毫秒DJNZR3,$DJNZR2,D100MSMOV20H,#00H;取码指针的初值l100:MOVR1,#100;每个字的停留时间L16:MOVR6,#16;每个字16个码MOVR4,#00H;扫描指针清零MOVR0,20H;取码指针存入R0L3:MOVA,R4;扫描指

7、针存入AMOVP1,A;扫描输出INCR4;扫描指针加1,扫描下一个MOVA,R0;取码指针存入AMOVDPTR,#TABLE;取数据表的上半部分的代码MOVCA,@A+DPTRMOVP0,A;输出到P0INCR0;取码指针加1,取下一个码。MOVA,R0MOVDPTR,#TABLE;取数据表下半部份的代码MOVCA,@A+DPTRMOVP2,A;输出到P2口INCR0MOVR3,#02;扫描1毫秒DELAY2:MOVR5,#248;DJNZR5,$DJNZR3,DELAY2MOVA,#00H;清除屏幕M

8、OVP0,AANLP2,#00HDJNZR6,L3;一个字16个码是否完成?DJNZR1,L16;每个字的停留时间是否到了?MOV20H,R0;取码指针存入20HCJNER0,#0FFH,L100;8个字256个码是否完成?JMPLOOP;反复循环TABLE:;汉字“倚”的代码db01H,00H,02H,00H,04H,00H,1FH,0FFHdb0E2H,00H,22H,00H,22H,0FCH,26H,88Hdb2AH,8

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。