LED汉字点阵显示系统设计_第1页
LED汉字点阵显示系统设计_第2页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

工业控制计算机)2008年21卷第6期基于单片机的LED汉字点阵显示系统设计DesignofLEDChineseCharacterLatticeDisplayBasedonSCM田金云(南阳理工学院电子系,河南南阳473004)张广超孟艳霞王玲玲(中国矿业大学(北京)化环学院,北京100083)摘要首先介绍了LED汉字点阵显示的设计思想及编码原理;接着介绍了基于89S52单片机的LED汉字点阵显示的硬件设计与软件设计;最后在KeiI软件平台上编译了LED汉字点阵显示程序并在Proteus软件平台上实现了LED汉字点阵显示的仿真。一关键词:LED,点阵,编码,显示AbstractThispaperfirstlyintroducesthedesignthoughtandthecodeprincipleofLEDChinesecharacterlatticedisplayThenthehardwareandsoftwareofLEDChinesecharacterlatticedisplaybasedon89S52MCUaredesignedFinallythepro-gramiscompiledbyusingKeUplatformandthesystemissimulatedbyusingProteusplatformKeywords:LED,lattice,coding,display在一些所需显示信息容量不多的场所,往往采用基于单片机的LED汉字点阵显示系统,成本低,效果好。因此掌握基于单片机的LED汉字点阵显示系统的设计具有一定的实际意义。1系统概述LED汉字点阵显示系统是通过控制与组成这些文字的各个点所在位置相对应的LED器件发光来实现的。通常事先把需要显示的文字转换成点阵图形,在按照显示控制的要求以一定的格式形成显示数据。对于只控制通断的文字显示屏来说,每个LED发光器件占据数据中的1位(1bit),在需要该LED器件发光的数据中相应的位填1。否则填O。当然,根据控制电路的安排,相反的定义同样时可行的。这样依照所需显示的文字,按显示屏的各行各列逐点填写显示数据,就可以构成一个显示数据文件,其格式相对自由,只要能够满足显示控制的要求即可。文字的点阵格式比较规范,可以采用现行计算机通用的字库字模。组成一个字的点阵,其大小也可以有16x16、24x24、32x32、48x48等不同规格。用点阵方式构成文字,是非常灵活的,可以根据需要任意组合和变化,只要设计好合适的数据文件,就可以得到满意的显示效果。因而对于文字经常需要变化的信息,采用LED汉字点阵显示系统是非常有效的。为了增强显示效果,LED汉字点阵显示系统可以有多种显示模式。最简单的显示模式是静态显示。与静态显示模式相对应,有各种动态显示模式,它们所显示的文字是动态的。按照文字运动的特点可分为闪烁、平移、旋转、缩放等多种显示模式。产生不同显示模式的方法可以通过一定的算法从原来的显示数据直接生成。例如,按顺序调整行号,可以使显示图文产生上下平移;而顺序调整列显示数据的位置,就可以达到左右平移的目的;同时调整行列顺序,就能得到对角线平移的效果。其它模式的数据刷新,也可找到相应的算法。不过当算法太复杂,太浪费时间的话,也可以考虑预先生成刷新数据,存储备用。2汉字编码原理在计算机中,所有的数据都是以O和1保存的,按不同的数据操作,可以得到不同的结果。而对于中文显示操作,就是将ASCII表的高128个很少用到的数值以两个为一组来表示汉字,即汉字的内码。这样就可以用一组数字来表示汉字的内码,数字的各位信息来记载汉字的形状,即:字模,如图1所示。图1汉字编码图只要将汉字的相应字模信息文件存入ROM,形成汉字编码;在使用时,先根据汉字编码组成语句,添加到程序的相应位置,即可显示相应的汉字。3系统结构整个系统由单片机、74HC595、74LSl64和LED点阵组成,显示由16x16的LED点阵块组成,以89S52系列单片机为控制核心。单片机的P20一P23连接74LSl64的输入口A、B、C、D;P24一P27连接74HC595的输入口SI、SCK、RCK、SCLK。译码器74LSl54的16个输出端连接汉字点阵的16个列线控制端。点阵的16行数据线驱动由2片74HC595级联组成,前一片74HC595的QH引脚连接下一片的SI引脚,各片的SCK、RCK、SRCLR、G引脚分别并联。4显示原理本系统采用动态显示模式,所谓动态显示模式简单的说就是逐行轮流点亮。我们把所有同一行发光管的阳极连接在一起,把所有同一列发光管的阴极连在一起,先送出对应第一行发光管亮灭的数据并锬存,然后选圈2系统框图万方数据基于单片机的LED汉字点阵显示系统设计延时子程序是一个循环延时的设计,利用循环的方法实现延时的设计。这里设计一个延时时间长度为1ms的程序来实现刷新率的问题。6程序编译本程序编译采用Keil软件,Keil软件平台支持多种语言的编译,功能强大,它提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。生成的汇编代码紧凑,容易理解。其界面如图5。图3硬件电路连接图通第一行使其点亮一定的时间,然后熄灭;再送出第二行的数据并锁存,然后选通第二行使其点亮相同的时间,然后熄灭;直到第十六行显示完后又重新点亮第一行,这样反复轮回。采用扫描方式进行显示时,每行有一个行驱动器,各行的同名列共用一个列驱动器。显示数据通常存储在单片机的存储器中,按8位一个字节的形式顺序排放。显示时要把一行中各列的图5编译界面圈数据都送到相应的列驱动器上去。数据传输可以采用并行方式7程序仿真或串行方式。采用并行方式时,相应的硬件数目多,当列数很多本系统在Proteus软件中所需要调用的元件,分别为:时,并行传输方案是不可取。74HC595、74HCl54、AT89C51、MATRIX-8x8RED,然后将线采用串行传输方案,可以只用一根信号线,将列数据按顺序路连接好,加载上Keil软件所生成的HEX文件点击开始后可得一位一位地输出给列驱动器,只有一行的各列数据都已经传输到如下结果(本系统中取的汉字为“电子系”三个字):到位之后,这一行的各列才能并行的进行显示。这样,对于一行的显示过程就可以分解成列数据准备传输和列数据显示两个部分。对于串行传输方式来说,列数据准备时间可能相当长,在行扫描周期确定的情况下,留给行显示的时间就太少,这就存在列数据准备与列数据显示时间相矛盾的问题,可以采用重叠处理的方法来解决,即在显示本行各列数据的同时,传输下一行的列数据。这就要求对于列数据准备来说,它应能实现串入并出的移位功能;对于列数据显示来说,应具有并行锁存的功能。这样,本行已准备好的数据打入并行锁存器进行显示时,串并移位寄存器就可以准备下一行的列数据,而不影响本行的显示。5程序设计本程序主要包括三大部分,分别为主程序、显示子程序、延时子程序。程序流程图如图4所示。主程序主要完成整个硬件系统的初始化,主要包括对IO口的定义和初始化、程序中的所用到的各个参数的设置与定义。接着依次调用字模程序和延时程序。显示子程序是将按组顺序存储的点阵数据,按行扫描依次取出,图4程序流程图逐行点亮LED。在一屏汉字显示完毕后,循环显示一段时问后,点阵地址偏移32个字节,接着显示下一屏数据。在取数据时,要考虑清楚汉字取模的原理,16x16的显示取模有按行和按列两种取法,在这里采用的是后者按列取模。先调用字模的程序,然后将每一个16进制发送出去,先调用每一列的上半部分,在调用下半部分,接着等二列、第三列依次调用显示。图6仿真界面图8结束语当需要显示的信息比较多的时候,应在电路中扩展外部数据存储器,把汉字的字模存储在外部的数据存储器中,其整体设计思

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论