汉字显示

2024-08-06

汉字显示(精选八篇)

汉字显示 篇1

一、结构分析

亚龙汉字显示屏为32×16点阵屏。一个屏最多能显示2个16×16汉字, 它的结构原理如下, 分水平2×8=16行, 垂直4×8=32列, 每个汉字占2×8行2×8列。用六个数据锁存器74HC573进行2×8行4×8列数据锁存。在行数据中加入2个ULN2803进行驱动。因此, 要使某行中某点点亮, 必须行数据为“1”, 列数据为“1”。显示时, 必须采用动态扫描方式。分16行逐行进行扫描。

二、编程思路

为了防止汉字显示与其它程序之间产生相互干扰, 程序处理时思路如下:

采用定时器进行汉字显示, 每隔1MS时间送入4×8列列数据并选通1行进行显示。

若对显示的汉字编码制表为code tabd[], 则32个数据为一个汉字, 若i为行号, 显示时从第一个汉字开始, 则4×8列数据分别为tabd[2*i];

若要从第N个汉字开始显示, 则4×8列数据分别为tabd[2*i+32N];tabd[2*i+1+32N];tabd[2*i+32+32N];tabd[2*i+33+32N];当然N=0时, 为第一个汉字开始显示。因此在主程序中可根据实际情况进行改变N值, 从而实现不同汉字的显示。如果code tabd[]中存入“电子制作”四个汉字共128个8位数据, 则令N=0, 则显示“电子”, 若令N=2, 则显示“制作”。

每一次送行数据与列数据时, 为了防止显示错乱, 必须进行一次屏消隐。即关闭显示再改变行列数据。

三、实例编程

本程序经PROTEUS模拟验证通过, 但未加ULN2803, 请注意!数据取反了。 (仿真图如图2所示) code tabd[]中请自行加入横向取模数据。

1. 主程序

下面对主程序语句详细说明:

(1) 头文件包含。对单片机特殊功能寄存器进行设置。

(2) 宏定义dzdat。对P1口进行别名定义, 操作P1可以用别名dzdat代替;宏定义COL1, COL2, COL3, COL4, ROW1, ROW2。同上理, 对P2口的某些位进行别名定义。这样做的目的是为了便于以后程序的阅读、调试与移植。

(3) 定义无符号字符变量N和i。N用于指示显示时从第N号开始两个字显示。i用于改变显示时的行号。

(4) 定义显示汉字的码表。如“电”字:显示时效果与对应的码如图3所示。

电子制作码表为:

(5) 定义显示汉字的行码表。

(6) 初始化子程序段。完成初始屏消隐, 定时器模式、初值设置, 开中断, 开定时器。

(7) 延时子程序段。可根据设置的变量值进行延时。

(8) 主程序进入后首先进行初始化程序操作。

(9) 进入循环操作体, 进行无限循环。

(10) 无限循环体中延时一段时间改变N值, 当N=0时, 显示“电子”, 当N=2时, 显示“制作”。N不允许为其它数值。

2. 定时器中断程序

下面对定时器中断程序语句详细说明

(1) 置初值。若晶振为12MHZ, 则定时为1MS, 每1MS进入中断程序一次, 进行一行的显示及行号i的修改。

(2) 判断为前8行时, 顺序运行 (3) ~ (8) 的程序。

(9) 判断为后8行时, 顺序运行 (10) ~ (15) 的程序。

(3) 、 (10) 屏消隐。把16行的点阵全部关闭。

(4) 、 (11) 送行选通信号。根据i值, 查出行码, 通过P1送入74HC573数据口, 然后选通前8行的74HC573或者后8行的74HC573, 并且锁存进来。

(5) 、 (12) 送第1×8列数据。根据N, i值, 查出第N号字第1×8列码, 通过P1送入74HC573数据口, 然后选通第1×8列的74HC573, 并且锁存进来。此时第i行第1×8列点亮。

(6) 、 (13) 送第2×8列数据。根据N, i值, 查出第N号字第2×8列码, 通过P1送入74HC573数据口, 然后选通第2×8列的74HC573, 并且锁存进来。此时第i行第2×8列点亮。

(7) 、 (14) 送第3×8列数据。根据N, i值, 查出第N+1号字第1×8列码, 通过P1送入74HC573数据口, 然后选通第3×8列的74HC573, 并且锁存进来。此时第i行第3×8列点亮。

(8) 、 (15) 送第4×8列数据。根据N, i值, 查出第N+1号字第2×8列码, 通过P1送入74HC573数据口, 然后选通第4×8列的74HC573, 并且锁存进来。此时第i行第4×8列点亮。

(16) 每进入一次中断, 则对行号i进行自加1。

(17) 判断当行号i等于16时, 让行号i归0, 让行号在 (0~15) 共16行运行。

3. 仿真效果

汉字的动态编码与显示方案 篇2

因为汉字本身的特点,显示汉字始终是计算机在我国应用普及的一个障碍。最初,为了能在PC机上显示、处理汉字,国人发明了一种硬件设备”汉卡“,后来各种各样的采用纯软件技术的中文DOS逐渐成熟,其中、西文软件的运行速度和性能还是有明显的差距。最终在软件进入支持UNICODE、真正实现国际化的WIN95以后,硬件跨入”奔腾“时代,才实现了汉字与西文的统一显示,但是这一切是以硬件资源的飞速发展为前提的。以国际GB2312为例,一、二级汉字库共收录了6000多个汉字,每个字按16×16点阵计算,字模需要占用32字节的存储空间,整个字库的规模在200k字节以上,高点阵(24点阵以上)和矢量字库以及Windows用的TrueType字体的字库规模都是几兆字节大小,这在早期的386时代是难以想象的。单片机因为使用灵活、结构简单、体积小、成本低而在工业和生活中得到广泛应用,也正是因此,它的硬件资源很有 限,寻址和计算机能力都远低于PC机,显示汉字更受限制。人们不满足单片机系统采用LED数码管的简单显示,根据单片机的特点,开发出了很多种汉字显示方法。

1 几种常用单片机显示汉字方法

(1)采用标准字[1]

这种方法仿器中文DOS的办法,将一个标准的汉字库装入ROM存储器,再根据汉字的机内码在字库中寻址,找到对应的字模,提取后送到显示器显示。因为采用了和PC机相同的编码(机内码),软件的开发和维护非常简单,基本上与写PC机软件差不多。而对单片机系统自身的要求则相对高多了,16×16点阵的字库需要256K字节,但是一般8位单片机的寻址能力只有64K字节,要进行存储器扩充,除增加很大一部分硬件成本外,还因为要进行存储器分页管理、地址切换,显示速度明显受影响,而且只能显示一种点阵字体。

(2)直接固化显示字模[2]

将要显示的语句中全部汉字的字模数据依次提取出来,顺序存放在存储器中,当显示时,直接取出字模数据送至显示器即可。这种方法占用空间少,程序实现简单,显示速度快;但是字模数据的提取和存储安排是一件委有繁琐的事件,要想大量显示汉字或进行程序修改几乎是不可能的,软件的可维护性很差。

(3)建立带索引的小字库[3]

屏幕显示汉字的未来趋势 篇3

正当我们飞速的挺进互联网时代的同时,对于汉字设计面临了犹如空降般前所未有的挑战。传播媒介从纸张飞跃的革新到网络后,屏幕早已为人们接受信息的重要途径。汉字除了具备传达信息这一基本的功能以外,还兼具美化页面,传情达意的使命,因此基于互联网传播的汉字字型设计,就用户体验来说尤为重要。目前欠缺的就是设计有针对性的汉字字体,互联网汉字字型设计就是根据字体显示的介质特点来完成的工作,汉字的输入技术已经相当成熟,新的笔划组字的输入法也正处于研发中,如果想要在字体艺术性上有所突破或者是提升显示效果的话,就必须要有设计者的介入,从美学和版面设计方面重新审视现有字体,甚至人体工学的结合,来创造出更多能够适应各种情形下屏幕清晰显示字体的局面。

目前99%的网页是用来在屏幕上阅读的,但屏幕的解析度要比纸张低得多,所以如果直接把字体按照纸张上印刷的那个大小显示,肯定显示模糊,仅就英文字体而言,许多细微的点划、衬线都无法在极低的解析度下表现。

在屏幕显示字体相对发达的英文领域,字体的优劣也是参差不齐的。

有人认为,尽管纸张印刷中都倾向于有衬线 (serif) 的字体比无衬线 (sans-serif) 的要易读,但屏幕上无衬线的字体反而要好一些。所以微软把 Verdana 吹捧为了最适合网页使用的字体。但也有人认为使用 Verdana、Arial 多于 Times、Georgia。就中文来说,中文字体在屏幕上的清晰显示依赖的是点阵字体,或者简单的说,就是微软随Windows提供的宋体和新宋体 (simsun & nsimsun),这套字体是华康公司 (Dynalab)设计的,对9pt到12pt左右的字体都设计了对应的点阵字体,又或者是我们一直谈到的由方正开发的微软雅黑。

在今年发布的New iPad 的 9.7 英寸的屏幕空间内,其像素数量达到了310万,甚至比 HDTV(超高清电视)甚至还多100万像素。这些像素非常密集,人眼在正常观看距离下已经难以分辨单个像素。于是在这块先进的Retina屏幕上文字显示就会更加清晰,并充分释放出了苹果一直以来的字体渲染技术。从最开始,苹果对于字体的渲染就一直保持独树一帜。

如果同时对比 Windows 系统 和苹果系统(Mac & iOS)的字体的话,你就会发现苹果的字体给人一种毛茸茸的感觉,边界不是很清晰。这其是因为它的渲染算法更忠实于字体的原始设计,在高清晰度状态下能够像印刷品那样呈现出字体设计的细微差别,这样在屏幕上呈现的结果与印刷品更加接近。(对于这一点相信用过 MacType 的 Windows 用户会深有感触)但是一直以来,低 ppi 在一定程度上限制了其字体渲染的效果,这次 Retina 屏幕的出现使得系统的字体渲染效果比以前要更好。在这些细腻的提升下,色彩的还原也达到了前所未有的最高水平。

此外高清屏幕也使得之前受限于低 ppi 的衬线字体可以在一定程度上缓解长时间注视背光 IPS 屏幕带来的眼睛疲劳问题。

另一方面就目前“TrueType环境下”的对字体有很大影响的方面就是载体硬件部分的渲染技术。虽然在选择字体方面,已有了相应的灵活性,然而将其转换成像素的过程并不流畅自然,操作系统厂商在字体渲染上采取不同的策略,而且还在随时间剧烈的演变中。随着对屏幕上字体的深入了解,我们会发现,这些字形(glyphs)的渲染会因操作系统和字体格式而存在明显差异。另外,如果字体缺少关键的微调步骤,一款设计优秀的字体在Windows操作系统下可能非常难看。针对不同的字体渲染的原理,形成以及各类操作系统和浏览器所采用的渲染技术及原因,来选择恰当的字体更能保证良好的阅读体验。

常见的渲染策略

栅格化(Rasterization)

数字形态下,字符是用抽象化的图案绘制成的。当文本显示在屏幕上时,位置非常精确,理想的字体形状需要用一定数量的像素栅格显示。随着屏幕从单纯的打印输出预览设备变成实际的阅读载体,工业界开发出了越来复杂且先进的字体渲染方法,确保屏显字体易于阅读。

黑白渲染

最早人们是用黑白像素来显示字符形状,有时这种方法也被称为二值渲染(bi-level rendering)。目前打印机就仍在使用这种方法,由于打印机的高输出分辨率,打印的结果能很好地再现原图。但是在屏幕上,有限的像素无法很好地传递字体形状的微妙之处。虽然我们无法分辨单个像素,但是肉眼仍可觉察到弧形轮廓线上的毛刺。

灰度渲染

在上世纪90年代中期,操作系统开始采用非常巧妙的手段。尽管屏幕的分辨率非常低,但是操作系统可以控制每个像素的明暗。这就可以在栅格化图像中存储更多信息。

在灰度渲染模式下,处于字形边界上的像素变成灰色。该像素亮度取决于自身被理想字体形状所覆盖的面积比值所决定。这样,字体轮廓看起来就更平滑,字体设计的细节也得以再现。字体在屏幕上看起不仅清晰——而且还能体现字体本身特征及风格。这种被称为抗锯齿的原理与图片从高分辨率转换成低分辨率时所用的重采样(resampled)原理是相同的。我们的眼睛和大脑可以解读灰色像素中的信息,并补充到原先锐利的字体轮廓中,因此,我们感觉到的字体形状与初始的形状就很接近。如果我们把报纸拿远点,报纸上印刷品质相对糟糕的图片着色看起来也会不错,这背后的原理是类似的。最近,加里·安德鲁·克拉克(Gary Andrew Clarke)在Art Remixed系列作品中就把这一原理运用到了极致。

次像素渲染

彩色像素增加了分辨率。第三代渲染技术的一个重要特征是引入彩色像素。如果我们将屏幕截屏放大,发现字体边缘呈红色和蓝色,那么我们便可断言它采用的是次像素渲染技术。

在LCD屏上,用来控制像素颜色和亮度的红、绿和蓝色次像素紧密排列。当次像素非常小时,我们不会把次像素视为单独的色点。我们对上图白点标注的“红色”像素近距离观察就会发现它采用的策略:所有次像素都可单独控制开与关。如果“空白”像素最右边的次像素是红色次像素,则其对应的像素点从技术上讲就是红色的。

LCD屏幕上的次像素渲染

如果我们需要降低图片色彩的饱和度,采用该技术的好处就显而易见。与单纯的灰度渲染相比,水平方向的分辨率翻了三倍。竖笔(vertical stems)的位置及粗细就可表现的更为精确,文本外观也就更为清晰。

利用FPGA实现LED汉字显示 篇4

随着电子技术的迅猛发展,高新技术日新月异,传统的设计方法正逐步退出历史舞台,取而代之的是基于EDA技术的芯片设计技术,它正成为电子系统设计的主流。大规模可编程器件现场可编程门阵列FPGA(Field Programmable Gate Array)是当今应用最广泛的可编程专用集成电路(ASIC)之一。由于其性能好、可靠性高、容量大、体积小,微功耗、速度快、使用灵活、设计周期短、开发成本低,静态可重复编程、动态在系统重构、硬件功能可以像软件一样通过编程来修改,因此极大地提高了电子系统设计的灵活性和通用性[2]。

本文主要阐述了利用FPGA实现LED汉字显示的有关问题,介绍了点阵汉字显示原理,给出了点阵汉字显示控制器的原理图。

1 点阵汉字显示原理

图一是一个8×8的LED点阵发光显示器,该发光显示器共8行,每行8只发光二极管,共64只发光二极管。扫描分为点扫描、行扫描和列扫描三种方式。一般按动态扫描方式显示汉字或图形。现以列扫描为例,简单说明其显示的原理。每列的8只发光二极管的所有负极(阴极)相连,点阵发光显示器在同一时间只能点亮一列,每列点亮的情况是根据从显示器H1~H8送入的数据点亮。要使一个字符在显示器整屏显示,点阵发光显示器就必须通过快速逐列点亮,而且是周而复始的循环点亮,使人眼的暂留视觉效应形成一个全屏字符[3]。因此在使用列扫描方式时,其扫描频率必须大于16×64=1 024 Hz,周期小于1 ms。

2 硬件实现

在FPGA设计中,芯片采用的是Altera公司出品的ACEX1K系列的EP1K30QC208-2芯片,使用的开发软件为MAX+PLUS II。它集设计、输入、编译、仿真和编程为一体,支持各种类型的HDL语言,并且提供了丰富的库元件供设计者使用。

设计的基本思路如下:将预先存放在汉字数据区RAM/ROM内的汉字数据按一定顺序快速正确地送往发光显示器。其电路构成如下:由DZ1~DZ4四块8×8阵列的点阵发光显示器和一个包含着RAM/ROM的由FPGA芯片型号为ACEX1K30QC208承担的输送汉字数据的汉字显示电路。其中DZ1、DZ2、DZ3、DZ4连接关系为:DZ1和DZ2(L1~L8)、DZ3和DZ4(L1~L8)的列相互连接,点阵LED的H1—H16(2个点阵H1—H8叠加的结果)与FPGA的16个I/O口(CI/O0~CI/O15)相连。DZ1和DZ2的列选信号与地址译码器的输出相连(Y0~Y7);DZ3和DZ4的列选信号与地址译码器的输出相连(Y8~Y15)。地址译码器的输入端A、B、C、D与FPGA的4个I/O口(I/O16~I/O19)相连。

在存储汉字数据时,直接是使用FPGA内部的RAM/ROM,这样可以把RAM/ROM的16位数据线的输出直接定义在点阵的数据端口上,从而减少编程的复杂性。

2.1 建立字符库

将点阵汉字显示的字符库建立在FPGA芯片ACEX1K30QC208的片内RAM/ROM中,在该芯片中共有6块RAM/ROM,每块大小均为4K位,可构成2048×2、1024×4、512×8、256×16等四种类型RAM/ROM中的任意一种。在这里,我们选择256×16这项。

MAX+PLUS II能接受的LPM_ROM模块中初始化数据文件的格式有两种:mif格式文件和hex格式文件。实际应用中只要使用其中一种格式的文件即可。下面采用mif格式文件,调出产生ROM数据文件大小的选择窗。根据存储情况,可选ROM的数据数Number为256,数据宽Word size取16位。

2.2 显示电路设计

电路原理图如图三所示。其原理如下:图中74161为16进制计数器。首先利用16进制计数器产生一个4位的序列信号,将这个序列信号输入给扫描译码器,用于控制16×16点阵的列显示。在一个时钟脉冲周期里,16进制计数器产生一个序列信号,在一个时钟脉冲周期里将对应的列激活。当计数16次后,即16个时钟周期后,产生一个进位信号,使得下一个16进制计数器开始工作,这样依次循环。通过ROM模块完成连续显示不同的汉字,ROM模块已经存有要显示的汉字字模信息,该信息是以列的形式抽取一个16位序列信号,分别对应一个地址。当计数器产生一个进位信号脉冲时,ROM内部响应脉冲信号进行加法计数,产生一个地址信号,同时将该地址对应的序列信号输出。当下一个脉冲信号到来时,将前一序列左移存入一空地址,输出当前地址序列信号。16进制计数器完成16列显示在正确的位置上,从而达到汉字显示的目的。

3 结束语

本设计基于FPGA完成LED汉字显示控制电路,在Altera公司的MAX+PLUS II环境下,实现该电路。所制作的LED点阵控制器,由于是纯硬件行为,具有速度快、可靠性高、抗干扰能力强、开发周期短等显著优点。

参考文献

[1]孟宪元.可编程FPGA集成数字系统[M].北京:电子工业出版社,1998.

[2]王道宪.CPLD/FPGA可编程逻辑器件应用与开发[M].北京:国防工业出版社,2004.

[3]孙振华,唐征兵.基于FPGA控制的LED汉字滚动显示器设计[J].现代电子技术,2010,(13):152-155.

汉字显示 篇5

广东纺织职业技术学院 单片机与接口技术实习报告

题目 16*16 LED点阵汉字显示

院(系)

机电工程系

学生姓名

指导教师

起始日期: 2009年12月16日

广东纺织职业技术学院

单片机与接口技术实习计划及任务书

一、实习任务

《单片机与接口技术》实训课是理论课程的实践教学环节,它是机电技术专业的主要实践技能课程。课程内容包括单片机软件编程与仿真和调试。单片机硬件设计安装与调试,单片机应用系统综合设计,安装与调试等。实训课程的基本任务是:使学生在掌握单片机基础知识的基础上,掌握单片机软硬件的设计、开发、调试能力。具有较好的单片机实际应用能力。为今后从事生产一线的技术工作以及进一步提高科学技术水平打下坚实的基础。同时,结合本课程的特点,逐步培养学生观察分析问题和动手解决问题的能力。

二、项目设计

汉字显示屏广泛应用于汽车报站器,广告屏等。在本实训中,汉字显示屏采用了16*16的点阵模块;汉字显示的原理以在UCDOS中文宋体字库为例,每一字由16行16列的点阵组成显示。即国际汉字库中的每一字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。所以在这个汉字屏上不仅可以显示汉字,也可以显示在256像素范围内的任何图形。

项目要求在16*16的点阵模块上实现一组可移动的汉字或一副简图。

三、报告及方案

1、了解、熟悉单片机开发的特点、方法及趋势。

2、熟悉软件编制、调试的方法、流程。

3、理解单片机控制的原理和特点。

4、养成良好的设计习惯、培养正确的思路和工作态度。

5、熟练运用单片机开发软件——Keill。

四、原理介绍

广东纺织职业技术学院

1、电路原理图如图所示

广东纺织职业技术学院

2、电路工作原理分析:

汉字显示在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。即国标汉字库中的每一个字均由256点阵来表示。我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一副图像。所以在这个汉字屏上不仅可以显示汉字,也可以显示在256像素范围内的任何图形。我是显示汉字“施”,扫描原理如下:在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。如果用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分,一般我们拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。

单片机首先显的是左上角的的第一列的上列的上半部分,即第0 列的p00---p07口。方向为p00到p07,显示汉字“施”时,由上而下排列,为P0.0灭,P0.1灭,P0.3亮,P0.4灭,P0.5灭,P0.6灭,P0.7亮。即二进关系00100011, 转换为16进制国23H。上半部第一列完成后,继续扫描下半部的第一列,为了接线方便,我们使用仍设计成由上往下扫描,即从p27向p20方向扫描,从右图可以看到,这一列为,P2.7亮,P2.6亮,P2.5灭,P2.4灭,P2.3灭,P2.4灭,P2.3亮,P2.2亮,即为1100001,16进制为0C3H.然后单片机转向上半部每二列,仍为00100010,即22H,16进制为22H,这一列完成后继续进行下半部分,二进制为01000001,即16进制41H。依照这个方法,继续进行下面的扫描,一共扫描32个8位,可以得出汉字“施”。

3、显示原理图

1)静态显示原理图 2)静态显示程序编写

3)静态显示工作原理分析

静态显示方式下,所有LED显示器的COM公共极接地(共阴极显示器)或接电源(共阳极显示器),显示器的8个段与并行输出端口的输出端相连。所谓静态显示,就是每一个显示器各笔画段都要独占具有锁存功能的输出口线,CPU把欲显示的字形代码送到输出口上,就可以使显示屏显示出所需的数字或符号。此后,即使CPU不再去访问它,显示的内容也不会消失(因为各笔画段接口具有锁存功能)。

静态显示法的优点是,显示程序十分简单,显示亮度大,由于CPU不必经常扫描显示器,所以节约了CPU的工作时间。但静态显示也有其缺点,主要是占用的I/O口线较多,硬件成本也较高。所以,静态显示法常用在显示器数目较少的应用系统中。

五、心得体会

时间如白驹过隙,一晃一个星期就过去了,在这个星期里,我们迎来了单片机与接口技术的实习。此次我们实习的内容是了解矩阵LED显示的基本原理和功能,掌握16*16矩阵LED和单片机的硬件和软件接口设计方法以及完成驱动程序的编程。

这次实习的要求是在16*16的点阵模块上实现一组可移动的汉字或一幅简图,因为这前我们在课堂上还没有学习到这个程度,所以在开始实习的时候老师就为我们讲解了一下,在显示一个点的基础上显示不同的点,从而组成汉字或简图。在认真听了老师对实验的讲解后,广东纺织职业技术学院

我们就开始画点阵图,编写自己的程序。

这次实习,我们是以小组为单位的。在编写程序时,我却忘了点阵图里面每个点的表示方法,后来通过同学的帮忙,我终于编写出静态“施”的程序。

在实验室中,老师先教我们接线,怎样检查线的好坏,因为这关系到后面编写的程序能否显示。当这些准备工作都做好时,我就把我要显示的“施”字的程序打到电脑上,但却发现程序有错误,经过反复的检查才发现原来有一步程序中的00H,打成了ooH。程序没问题时,就操作保存——复位——显示,在显示屏上,清晰鲜艳的“施”字宣告我静态显示实验成功了。接下来,就开始我们的动态显示的编程,这就需要我们去查找相关的资料了。经过了我们的努力和请教老师,我们终于把动态的程序编出来了,看着显示屏上从左到右,不断循环走过的“施”字,一种成就感油然而生。

在这次实习过程中,我发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。但我们通过查阅大量有关资料,并在小组中互相讨论,交流经验和自学,若遇到实在搞不明白的问题就会及时请教老师,使自己学到了不少知识,也经历了不少艰辛,但收获同样巨大。其次,在这次实习中,我们运用到了其它所学的专业课知识,如:电子CAD,这让我明白各个学科都不可能独立的,知识是相通的,这是我这次实习的又一收获。

另外,这次实习让我感到了团队合作的重要性。在团队中,我们互帮互助,对整个实习来说,这是至关重要的。还有要感谢指导老师在我们遇到困难时,给予我们的建议与鼓励。

一个星期的实习虽然结束了,但是从中学到的知识会让我受益终身。发现、提出、分析、解决问题和实践能力的提高都会受益于我在以后的学习、工作和生活中。

附件一:动态点阵信息图 2

5

广东纺织职业技术学院 8 1113 14

6

广东纺织职业技术学院

附件二:动态显示程序编写

ORG 0000H AJMP START ORG 0030H START: MOV P0,#00H MOV P3,#00H L1: MOV P1,#00H MOV R4,#250 MOV R5,#13 MOV DPTR,#TAB1 L2: LCALL DISPLAY MOV A,DPL ADD A,#32 MOV DPL,A MOV A,DPH ADDC A,#0 MOV DPH,A DJNZ R5,L2 AJMP L1 DISPLAY: MOV R3,#16 MOV R1,#00H MOV R2,#00H L3: MOV A,R1 MOV P1,A MOV A,R2 MOVC A,@A+DPTR MOV P0,A INC R2 MOV A,R2 MOVC A,@A+DPTR MOV P3,A INC R1 INC R2 DJNZ R3,L3 DJNZ R4,DISPLAY

广东纺织职业技术学院

RET TAB1: DB 22H,41H,23H,0C3H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB2: DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB3: DB 22H,01H,22H,01H,2FH,0C1H,22H,01H DB 22H,41H,23H,0C3H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB4 : DB F2H,00H,27H,FFH,22H,01H,22H,01H DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB5: DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH DB 22H,01H,22H,01H,2FH,0C1H,22H,01H DB 22H,41H,23H,0C3H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB6: DB 21H,03H,21H,01H,25H,0FFH,08H,00H DB F2H,00H,27H,0FFH,22H,01H,22H,01H DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H DB 00H,00H,00H,00H,00H,00H,00H,00H TAB7: DB 0AFH,00H,79H,00H,21H,03H,21H,01H DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH DB 22H,01H,22H,01H,2FH,0C1H,22H,01H DB 22H,41H,23H,0C3H,00H,00H,00H,00H TAB8: DB 20H,0FH,20H,F0H,0AFH,00H,79H,00H DB 21H,03H,21H,01H,25H,0FFH,08H,00H DB F2H,00H,27H,0FFH,22H,01H,22H,01H DB 2FH,0C1H,22H,01H,22H,41H,23H,0C3H TAB9: DB 00H,00H,00H,00H,20H,0FH,20H,F0H, DB 0AFH,00H,79H,00H,21H,03H,21H,01H DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH DB 22H,01H,22H,01H,2FH,0C1H,22H,01H TAB10: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 20H,0FH,20H,F0H,0AFH,00H,79H,00H DB 21H,03H,21H,01H,25H,0FFH,08H,00H DB F2H,00H,27H,0FFH,22H,01H,22H,01H TAB11: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,20H,0FH,20H,F0H DB 0AFH,00H,79H,00H,21H,03H,21H,01H

广东纺织职业技术学院

DB 25H,0FFH,08H,00H,F2H,00H,27H,0FFH TAB12: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 20H,0FH,20H,F0H, 0AFH,00H,79H,00H DB 21H,03H,21H,01H,25H,0FFH,08H,00H TAB13: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,20H,0FH,20H,F0H DB 0AFH,00H,79H,00H,21H,03H,21H,01H TAB14: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 20H,0FH,20H,F0H,0AFH,00H,79H,00H TAB15: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,0AFH,00H,79H,00H TAB16: DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H DB 00H,00H,00H,00H,00H,00H,00H,00H

汉字显示 篇6

LED电子显示屏随着计算机及相关的微电子、光电子技术的迅猛发展而形成的一种新型信息显示媒体,被广泛应用于商场、学校、银行、邮局、机场、车站、码头、金融证券市场、文化中心、信息中心休息设施等公共场所。而使LED电子显示屏能够稳定显示和便利的控制是关键问题之一。

单片机是最小的计算机,它具有结构简单、应用方便而且性价比高等优点,是嵌入式系统中普遍选用的控制器件。在传统的单片机应用系统的开发过程中,先要根据目标系统要求做出硬件系统,然后通过仿真器对系统硬件和软件进行调试,最后将调试成功的程序固化到单片机中。在这一过程中,先要做出硬件系统,后才能调试,给设计带来不小的麻烦。而Proteus软件可以仿真、分析各种模拟器件和集成电路,利用它可随时搭建一个单片机应用系统并对其仿真,提高了开发效率、降低开发成本、缩短开发周期[1,2,3,4,5,6,7,8,9,10]。在此 基础上设计了一款 基于Proteus仿真平台的汉字点阵显示系统。

1 汉字点阵显示系统的硬件设计

汉字点阵显示系统的硬件包括控制模块、行驱动模块、列驱动模块和LED点阵显示模块等。以256像素显示一个汉字为例,设计的汉字点阵显示原理图如图1所示。

1.1 控制模块设计

控制模块采用美国ATMEL公司生产的AT89C51单片机。它是一款低电压、高性能COMS 8位单片机。晶振采用的12MHz。主要使用它的P1和P2口分别来驱动汉字点阵显示系统的行和列。当要用P0口为驱动I/O口时,要使用上拉电阻。连线如图1所示。

1.2 行驱动模块设计

行驱动模块采用8位串行输入/输出或者并行输出移位寄存器74HC595。它的使用步骤是:第一步,将要准备输入的数据移入74HC595的数据输入端14脚,即SI数据线;第二步,使74HC595的11脚SH_CP移位寄存器时钟输入产生一个上升沿,将位数据逐位移入74HC595中;第三步,使74HC595的12脚ST_CP移位寄存器时钟输入产生一个上升沿,将并行输出数据。

1.3 列驱动模块设计

列驱动模块采用4线-16线译码器74HC154。当控制端E1、E2都为底电平时,A、B、C、D电平输入都有效。

1.4 点阵显示模块设计

256像素需要16行和16列的点阵LED构成,由于PROTEUS中没有16×16的点阵LED显示屏,只有8×8的点阵MATRIX-8×8-RED,所以要有4块8×8的点阵LED显示屏构成1块16×16的点阵LED显示屏。

1.4.1 8×8的点阵LED显示器原理

要使8×8点阵LED相应的点亮,要满足这个点的行Y为高电平和列X为底电平。8×8点阵LED内部等效电路如图2所示。

1.4.2 16×16点阵LED显示屏的构成

先把8×8的点阵MATRIX-8×8-RED放好,如果元件名称在左上方,那么左边的端口就是行,右边的端口就是列。左右两块8×8的点阵MATRIX-8×8-RED分别是行相连,上下两块8×8的点阵MATRIX-8×8-RED分别是列相连,构成16×16的点阵LED显示屏的如图3所示。图3中左边构成的行的端口由上到下是从低位到高位的过程,右下方构成的端口分别和74HC154的输出端口8到1和端口16到9相连。

1.5 汉字显示原理

根据视觉的暂留现象,如果周期小于0.1s,那么,人感觉灯一直在亮。所以可以让每列轮流显示,当16列显示完成时,人的视觉会感觉16列同时在亮,要求每一列显示在6.25ms内完成。

2 汉字点阵显示系统的软件设计

汉字点阵显示系统的软件包括码字的生成,码字的行信息传送,码字列信息传送并最终显示。汉字点阵显示系统的程序流程图如图4所示。

部分主程序代码如下:

2.1 码字的生成

码字是表示要显示的汉字,就是让相应的灯亮,这里数字“1”代表亮,数字“0”代表灭。码字可以用软件生成,也可直接生成。如“中国”这两个汉字的码字放在mazi[][32]数组中,如下所示,

2.2 码字的行信息传送

码字的行信息传送主要是由单片机P2端口控制74HC595芯片驱动LED点阵的行。

向74HC595写数据的代码如下:

2.3 码字列信息传送并最终显示

码字的列选择主要是由单片机P1端口控制74HC154芯片驱动LED点阵的列。

列选函数代码如下:

3 仿真及结果

在Keil uVision软件中进行C语言编写与调试。

然后生成*.hex”文件。将*.hex加载到单片机中即可开始虚拟仿真。仿真结果如图5所示,“中国”轮流显示。

4 结束语

Proteus软件是一款操作简单,易于仿真与调试,仿真结果准确的仿真工具,为嵌入式开发者提供了一个虚拟的开发平台。开发者可以在没有硬件的条件下对基于单片机某种的系统功能进行仿真调试,特别是针对功能扩展时,节约了资源,缩短了开发周期。从某种意义上讲,Proteus软件的仿真结果可直接应用于实际工程中,因利用软件画出的电路图可直接生成相应的PCB板图,从而制造出相应的硬件系统。

参考文献

[1]王波.基于Proteus的51单片机16×64LED的设计[J].西安航空技术高等专科学校学报,2011,29(1):67-70.

[2]王孟,陈林.基于Proteus的Led大屏幕的设计与仿真[J].微计算机信息,2008,24(61):223-225.

[3]陈立.基于Proteus的单片机汉字LED点阵滚动显示[J].电脑知识与技术,2010,6(8):2012-2013.

[4]杨延宁,刘立军,张志勇,等.基于Proteus的单片机汉字点阵显示电路设计[J].液晶与显示,2009,24(1):98-100.

[5]石长华,周杰.基于Proteus的单片机汉字点阵显示设计与仿真[J].景德镇高报,2007,22(4):1-3.

[6]季晓松,李正生,等.基于Proteus的单片机系统设[J].机电工程技术,2009,39(9):33-34.

[7]赵艳辉,赵修良,黄顺,等.基于Proteus的核信号输入LCD处理显示单元[J].电子设计工程,2011,19(6):27-29.

[8]郭循钊,邝帆,邵平,许宏科,等.基于单片机的多功能交通灯控制系统设计与仿真实现[J].公路交通技术,2010(1):128-130.

[9]李云刚,邹逢兴,龙志强,等.单片机原理与应用系统设计[M].北京:中国水利水电出版社,2008.

汉字显示 篇7

1 LED点阵显示系统的构成

1.1 LED点阵模块

LED点阵模块,是组成显示屏的基本单元[1],但各厂家的模块参数有所不同。点阵(阵列)常用的为8×8、16×16,点阵都是单管芯,分共阴和共阳,一般都用5 V供电;图1为8×8点阵。

1.2 LED点阵显示系统(见图2)

上下位机之间的数据传送采用串行异步通信方式,通信接口电平可选用RS232RS422或RS485标准。

2 上位机界面设计

2.1 上位机界面概述

本次设计的上位机界面如图3所示,由字符输入窗口、字符显示窗口、通信窗口组成。

2.2 上位机界面功能

上位机界面实现了字符的输入、模拟显示器显示内容以及与下位机通信等功能。由上位机发送命令,下位机接受并执行命令,通过驱动模块由LED点阵模块显示出来。在实际应用的过程中,LED显示器是由多个16×16点阵组成的屏幕;本次设计上位机界面模拟使用了16×16LED显示区域,仅相当于LED显示屏的作用。

3 汉字点阵的生成

3.1 点阵汉字原理

汉字在计算机中处理时是采用图形的方法,即每个汉字就是一个图形。显示一个汉字就是显示一个图形符号,这个图形符号称为汉字字模。点阵汉字是汉字字型最基本的表示法。点阵字模的原理是把汉字的方形区域细分为若干小圆,每个小圆便是一个基本点。在一定范围内,凡笔画经过的小圆便形成黑点,不经过的形成白点,若黑点代表1,白点代表0,那么小圆恰好可以用一个十六进制位表示。

3.2 点阵字库的文件结构和读取方法

本软件可以显示楷体、黑体、宋体等不同种类字体。例如要显示一个16×16点阵字库:首先用户选择点阵类型,确认16×16点阵类型,然后选择字体,在文本框输入一个要生成的汉字;(因为本文所设计的点阵扫描是以8×8点阵为单位扫描的,也就是说一个16×16点阵字库要扫描四个8×8个点阵)凡笔画经过的小圆便形成黑点,不经过的形成白点,若黑点代表1,白点代表0,那么一个小圆恰好可以用一个十六进制位表示。这样就可以显示出来一个16×16的点阵汉字,然后将所对应点阵信息数据通过串行口传递给下位机显示。

3.3 点阵汉字的显示

16×16点阵汉字字模是由四个8×8点阵组成的。一个16×16的点阵要扫描四次完成, 0的地方不填充,1的地方填充为黑色,如此循环把16×16个圆全填充好后,将其数字转化为十六进制,这样就显示了一个完整的汉字。同时,也生成了一组数据,这些数据就是所产生汉字的信息。

4 汉字点阵显示系统上位机软件的系统设计

4.1 软件的基本构成

(1) 编程工具的选择

随着计算机的发展,微机的软件开发平台已由DOS转入Windows,在图形化的Windows操作系统下,提出了可视化的软件开发方法。LED点阵显示屏的使用需要一个可以输入在显示器上显示文字信息的操作平台。所以本设计以VB语言编写了一个上位机的控制界面以控制LED点阵显示器。

(2) 软件的基本构成

根据微机功能的需求,主控软件必须具有更改显示内容、设置字体、设置字体大小及精细度、数据通信等功能,因此上位机控制软件的流程图如图5所示。

根据功能要求,整个上位机软件是由显示字符模块、设置字体模块、设置点阵类型模块和数据通信模块四部分构成。主程序流程如图6所示,主控软件的各部分功能与相应的程序模块一一对应。

4.2 软件的具体实现

软件直接利用Visual Basic(VB)提供的各种可视化编程控件,如Mscomm,OptionButton,Image,Lable,CommonDialong等[3]。

更改显示内容模块、设置点阵类型模块、设置字体模块等主控软件的功能模块具体程序流程如图7,图8和图9所示。

部分关键代码:

4 结束语

本文对一种可靠、新颖、易于开发的16×16LED点阵汉字显示系统的上位机设计进行了论述。该系统通过通讯接口由上位机发送数据,可方便地实现点阵屏显示信息的实时更新,所设计的系统性能稳定、操作方便、占用存储空间少,有着可随意进行拼接等功能,具有广阔的市场前景。

摘要:介绍了一款以PC机为控制器的LED点阵显示系统的上位机设计。上位机发送控制命令,下位机接收并处理控制命令,由显示驱动模块驱动LED点阵显示屏的扫描显示。该系统可实现中英文字符显示、字符滚动、字体设置并可根据实际需求实现任意规格LED点阵的拼装。系统经试验后运行稳定,功耗低,且有很大的扩展空间。

关键词:LED点阵,上位机,拼装

参考文献

[1]关积珍.我国LED显示屏产业冷思考[J].电子产品世界,1998(9):27-28.

[2]诸昌钤.LED显示屏系统原理及工程技术[M].成都:电子科技大学出版社,2000.

汉字显示 篇8

Proteus是嵌入式系统软硬件设计仿真平台,它的特点是能够把用户编写的应用程序下载到微处理器(MCU)中,并结合外界连线及模拟、数字电路对微处理器进行系统逻辑功能的控制。常用的微处理器有MCS-51系列和AT89系列等,Proteus的使用彻底改变了传统单片机的学习和开发方式,可在没有硬件条件的基础上进行逻辑控制电路设计,大幅缩短了开发周期,节约了开发成本,极大的提高了设计效率和设计水平[2]。本文在Proteus仿真平台上完成了单片机控制的32×128 LED汉字点阵滚动显示电路的设计。

1 汉字显示硬件电路设计

系统硬件电路主要由单片机、行线驱动器、列线驱动器、8×8LED显示屏单元构成。单片机控制LED显示屏硬件电路设计框图如图1所示。

单片机选用AT89C52,LED行线驱动器选取74154译码器来扫描,共需2片。LED列线驱动器选用16片74LS595移位寄存器,一个移位寄存器驱动4个8×8的LED点阵的列线。本例的LED点阵显示屏由64个8×8的LED点阵组成,每16个8×8 LED点阵组成一个32×32的LED点阵。

1.1 8×8 LED点阵内部原理

8×8的LED点阵内部是由64个发光二极管组成的一个阵列,其内部接线如图2所示,图2是一种8×8的LED点阵单色行共阴模块的内部结构图,发光特点是当某一行线为低电平并且某一列线为高电平时,其行列交叉的点就被点亮;而当某一行线为低电平并且其某一列线为低时,其行列交叉的点为暗;当某一行线为高电平时,无论列线是高电平还是低电平,对应这一行的点全部为暗[3]。

1.2 32×32 LED点阵的组成

在Proteus中。选取16个8×8的LED点阵元件,把这些点阵元件进行级联以达到动态显示效果,把四个8×8LED点阵组成一小块,其中行号从左到右分别是R1-R32,每小块的列号从左到右分别是L1-L8、L9-L16、L17-L24、L25-L32,按照列号从小到大级联,即L1-L8在最上面,L9-L16在L1-L8的下面,L17-L24在L9-L16的下面,L25-L32在最下面。组成后的图是3,这样就组成一大块32×32的点阵液晶屏可以显示一个完整汉字。

1.3 4×32×32 LED点阵显示屏的构建

本实例由4个32×32 LED点阵组合成一个能够显示多个汉字的滚动效果的显示屏。上一小节已经介绍了如何级联16个8×8的LED点阵来显示一个完整的汉字,按照上一小节的行线和列线的连接方法,把4个汉字显示单元的行线引脚接成一样,即每个汉字显示单元的行都是从R1-R32,由两个译码器74154来选择这32行,这样译码器每次只选中一行,然后选中下一行形成扫描32行的效果;列线的连接方法也是按照上一小节的方法,列线分别是L1-L32、L33-L64、L65-L96、L97-L128,每8列来自一个移位寄存器74LS595,总共有16个移位寄存器。

2 LED点阵显示器的扫描方法

LED扫描方式有很多种类,主要有四种扫描方式,分别是逐行式、逐列式、列行式、行列式,各种扫描方式应用在不同的场合,逐行式扫描主要是应用在行数较少并且非滚动显示的场合,优点是数据稳定,缺点是较难实现滚动显示汉字,不能合理利用有限的LED液晶屏数目;逐列式扫描主要应用在列数较少行数较多的场合,也较难实现滚动显示;列行式扫描、行列式扫描都可以应用在滚动显示场合,并且显示的汉字有多个不受LED液晶屏数目限制,可以循环显示,应用在较多的地方,合理的利用了LED液晶屏的数目节约了资源和经济,本例是采用列行式扫描方法。

3 汉字显示软件设计

由于本例是采用列行式扫描,即先扫描LED点阵显示屏每一列的最上面的8个点,然后是下面的8个点,逐渐扫描直到最下面的8个点,所以用字模软件产生的32×32的数据每个汉字有128个十六进制数据,这些数据按照顺序分4个数组存放,即每个数组存放32个十六进制数据,每个数组存放的是一个汉字生成的码的1/4。本例的LED点阵数据是由单片机的串口发送的,采用Keil C语言对单片机进行控制以达到想实现的功能,根据矩阵选址的驱动原理,通过行扫描列选址的原理对程序进行设计,整个程序的设计流程如下:

1)对P2口和P3口清零,为了避免其它数据的影响。

2)对串口进行配置,设置SM0=0,SM1=0,采用方式0,移位寄存器方式,用于(I/O口扩展)。

3)选中LED点阵第一列,分别发送四个数组汉字码的第一个十六进制数据,完成了显示第一个汉字的第一列。

4)分别选中LED点阵第三十三列,第六十五列,第九十七列,按照3)的步骤分别发送四个数组的第三十三个,第六十五个,第九十七个十六进制数据,这样就分别显示了四个汉字的第一列。

5)延迟一段时间

6)消隐,防止上一次的显示产生的余晖影响下一次。

7)按照3)-4)的步骤逐步显示第一个汉字到第四个汉字的所有列。

8)经过一段时间,按照3)-7)的步骤在LED点阵显示屏上面第一列显示第一个汉字的第二列,然后在第三十三列显示第二个汉字的第二列,逐步显示第三个汉字和第四个汉字的第二列,后面的数据依次向前推进一步,这样就产生移动的效果。

9)当所有的汉字码全部移动到尾,然后从3)步骤开始,周而复始的显示,以产生循环滚动显示的效果。

4 仿真结果显示

在Keil uVision2编程软件中进行C语言编写与调试,然后生成“*.hex”文件。将*.hex加载到单片机中即可开始虚拟仿真。仿真结果如图4所示,“长江大学电子信息学院欢迎你”从左至右滚动显示。

5 结论

Proteus软件是一个操作简单,易于仿真与调试,仿真结果准确的仿真工具,为单片机开发者提供了一个虚拟的开发平台,开发者可以在没有硬件条件下对基于单片机所要实现的功能进行仿真调试,节约了资源,缩短了开发周期,从某种意义上讲,Proteus软件的仿真结果基本上可以应用在实际工程上面,本例设计了32×128的LED点阵滚动显示,图像清晰,其中的滚动显示思想可以应用在很多地方,本例设计的电路图方便进行扩展。同时利用电路图可以画出相应的PCB板,生成具体电路板,应用在工程中。

摘要:该文介绍了LED点阵显示的原理,如何将8×8的LED点阵级联成4×32×32点阵,硬件电路构成和软件的设计,并且在Proteus平台上实现了汉字的滚动显示,体现了Proteus在单片机仿真中优势。

关键词:Proteus,点阵,LED显示

参考文献

[1]郭兆正.LED点阵显示屏系统设计[J].渤海大学学报:自然科学版,2005,26(4):302.

[2]杨延宁,刘立军,张志勇.基于Proteus的单片机汉字点阵显示电路设计[J].液晶与显示,2009,24(1):98.

本文来自 360文秘网(www.360wenmi.com),转载请保留网址和出处

【汉字显示】相关文章:

单片机实习报告 LED点阵汉字显示06-03

LED显示屏使用显示屏注意事项05-01

显示07-10

平板显示05-08

频率显示05-22

光电显示05-28

点阵显示06-07

数码显示06-15

显示面板07-13

机载显示07-25

上一篇:烧结环冷机下一篇:初中英语新教材及教学