热门频道

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

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

    在日常生活中,除了各大汽车站、火车站、航班信息公告栏可以见到LED汉字显示屏之外,商铺广告和户外广告也经常应用这一设备.以下介绍一种实用的汉字显示屏制作方法.
    同时为了降低制作难度, 仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数.

    汉字显示的原理:
    以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口.
    程序清单:
    双击代码全选
    电路中行方向由p0口和p2口完成扫描,由于p0口没有上拉电阻,因此接一个4.7k*8的排阻上拉. 如没有排阻,也可用8个普通的4.7k 1/8w电阻.为提供负载能力,接16个2n5551的NPN三极管驱动.
    列方向则由4—16译码器74LS154完成扫描,它由89C51的P1.0---P1.3控制.同样,驱动部分则是16个2N5401的三极管完成的.
    电路的供电为一片LM7805三端稳压器,耗电电流为100Ma左右.
    在看过上面的文章之后,是不是对于LED汉字显示屏有了一定的了解了呢?

编辑声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。本站部分作品是由网友自主投稿和发布、编辑整理上传,对此类作品本站仅提供交流平台,不为其版权负责。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。联系方式:020-38814986
最新评论