首页 > 微机单片机 >单片机制作 > 点阵式汉字LED显示屏电路原理与制作

点阵式汉字LED显示屏电路原理与制作

来源:互联网发布者:三岁就很酷 更新时间: 2018/03/05

汉字显示屏广泛应用与汽车报站器,广告屏等。本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用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点亮,由上往下排列,为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进制04h. 这一列完成后继续进行下半部分的扫描,p21点亮,为二进制00000010,即16进制02h. 依照这个方法,继续进行下面的扫描,一共扫描32个8位, 可以得出汉字“大” 的扫描代码为: 04H,00H,04H,02H,04H,02H,04H,04H 04H,08H,04H,30H,05H,0C0H,0FEH,00H 05H,80H,04H,60H,04H,10H,04H,08H 04H,04H,0CH,06H,04H,04H,00H,00H 由这个原理可以看出, 无论显示何种字体或图像, 都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。 不过现在有很多现成的汉字字模生成软件, 我们就不必自己去画表格算代码了。 软件打开后输入汉字,点“检取”,十六进制数据的汉字代码即可自动生成,把我们所需要的竖排数据复制到我们的程序中即可。 我们把行列总线接在单片机的i0口,然后把上面分析到的扫描代码送入总线, 就可以得到显示的汉字了。 在这个例子里,由于一共用到16行,16列, 如果将其全部接入89c51 单片机, 一共使用32条io口,这样造成了io资源的耗尽,系统也再无扩充的余地。 实际应用中我们使用4-16线译码器74ls154来完成列方向的显示。 而行方向16条线则接在 p0口和p2口。 程序清单: ORG 00H LOOP: MOV A,#0FFH ;开机初始化,清除画面 MOV P0,A ;清除P0口 ANL P2,#00 ;清除P2口 MOV R2,#200 D100MS: MOV R3,#250 ;延时100毫秒 DJNZ R3,$ DJNZ R2,D100MS MOV 20H,#00H ;取码指针的初值 l100: MOV R1,#100 ;每个字的停留时间 L16: MOV R6,#16 ;每个字16个码 MOV R4,#00H ;扫描指针清零 MOV R0,20H ;取码指针存入R0 L3: MOV A,R4 ;扫描指针存入A MOV P1,A ;扫描输出 INC R4 ;扫描指针加1,扫描下一个 MOV A,R0 ; 取码指针存入A MOV DPTR,#TABLE ;取数据表的上半部分的代码 MOVC A,@A+DPTR MOV P0,A ; 输出到P0 INC R0 ;取码指针加1,取下一个码。 MOV A,R0 MOV DPTR,#TABLE ;取数据表下半部份的代码 MOVC A
提问/讨论

这里还没有内容,您有什么问题吗?

我要提问/讨论

推荐帖子 最新更新时间:2023-12-09 16:23

【 Atmel R21开发心得】+ AtmelStudio应用笔记——(2)启动SAM R21第一个工程
AtmelStudio 应用笔记——( 2 )启动 SAM R21 第一个工程 文档编号 AN-020 2 -A0 关键字 AtmelStudio, SAM R21 Xplained Pro, EDBG 摘要 本
 mars4zhuMicrochip MCU
用87C196NT单片机实现CAN总线通信
1 CAN总线简介 CAN(Controller Area Network)即控制器局域往,主要用于各种设备检测及控制的一种现场总线。CAN总线最初是由德国Bosch公司为汽车的检测、控制系统而设计的。CAN总线具有独特的设计思想、良好的功能特性和极高的可靠性,现场抗干扰能力
 frozenviolet汽车电子
MSP430_C语言扩展部分
C 语言扩展部分 1.1.1 扩展关键字 1. asm 也可以写成 _asm 。功能是在 c 程序中直接嵌入汇编语言。 Asm(“string”); 其中 string 必须是有效的汇编语句。
 GodfreyARM技术
ti的se555 应该是业界最高精度的555
这些天因为需要测量距离,备选的一个方案是 电容式测量 测量电容不是一个容易的事情,特别是我这种一缺乏经验二缺乏家伙的人。 然而我想起了之前做的那个lc meter,说实话这么简单的东西可以做到如此之高的精度实在震撼了我。 然后我在一点一点查资料过程中意识到,通过频率法测量电容这个
 辛昕模拟与混合信号
ARM9开发板PB下,编译错误
BUILD: NMAKE : U1073: don\'t know how to make \'E:\\WINCE500\\platform\\common\\lib\\ARMV4I\\retail\\ChipSelect_at91sam926x.lib\' BUILD: N
 lychome198ARM技术
滤波
我设计了一个300hz的高通滤波,但是当输入10hz正弦,仍能得到一个较好的正弦,我什么地方错了吗 滤波
 果啸模拟电子

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版 版权声明

EEWORLD 电路图 站点相关: 下载中心 Datasheet 参考设计

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2023 EEWORLD.com.cn, Inc. All rights reserved