点阵LED显示原理与点阵汉字库的编码和从标准字库中提取汉字编码的方法

合集下载

点阵LED显示设计实验报告

点阵LED显示设计实验报告

点阵LED显示设计实验报告
姓名:刘根生1153530 贺晨曦
一:实验目的
1:了解实验器材以及学会连接实验电路和操作相关软件。

2:了解LED点阵显示的基本原理与方法。

3:掌握用CPU控制扫描的方式实现点阵LED显示器的字符,图形的显示。

4:掌握用单片机进行显式系统开发的方法。

5:掌握点阵汉字库的编码和从标准字库中提取汉字编码的方法。

二:实验内容与原理
三:实验结果
1:通过对取模字体的设置,确定点阵的大小为16*16;
2:通过对取模方式的设置,确定取点方式以及字节排序问题,使得汉字可以在显示屏上正常显示和阅读;
3:在软件的程序设计中,可以通过输出格式选出两种方式,可以为汇编格式或者C语言格式;
4:最终结果是在16*16点阵上显示我所在的学院,专业以及姓名,并且一一按顺序排布,字的长度覆盖16*16点阵,为“数学系统计专业刘根生贺晨曦”
四:实验体会
虽然本设计只使用16*16LED点阵,电路简单,但是已经包含了LED显示屏电路的基本原理和基本程序。

在设计过程中应该使
图形文字稳定,清晰无串扰。

图形或文字显示有静止或移入移出等显示方式,本系统具有硬件少,结构简单,容易操作,性能稳定可靠,成本低等特点,故具有非常大的科技以商业价值。

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

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

点阵式汉字LED显示屏电路原理与制作汉字显示屏广泛应用与汽车报站器,广告屏等。

本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块,而是直接使用了256个高量度发光管,组成了16行16列的发光点阵。

同时为了降低制作难度,仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。

1汉字显示的原理:我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。

即国标汉字库中的每一个字均由256点阵来表示。

我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。

事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。

用8位的AT89C51单片机控制,由于单片机的总线为8位,一个字需要拆分为2个部分。

一般我们把它拆分为上部和下部,上部由8*16点阵组成,下部也由8*16点阵组成。

在本例中单片机首先显示的是左上角的第一列的上半部分,即第0列的p00---p07口。

方向为p 00到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,04H04H,08H,04H,30H,05H,0C0H,0FEH,00H05H,80H,04H,60H,04H,10H,04H,08H04H,04H,0CH,06H,04H,04H,00H,00H由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。

单片机LED点阵显示

单片机LED点阵显示

目录1.前言 (1)1.1 LED的概念 (1)1.2 点阵LED的规格 (1)1.3 LED的过去 (1)1.4 LED的现在 (1)1.5 LED的未来 (2)1.6 LED的应用领域 (2)2.设计要求 (3)3.设计目的 (3)4.硬件设计 (3)4.1 硬件系统框图 (3)4.2 各片的简单介绍 (4)4.2.1 MD1216C-RG介绍 (4)4.2.2 74LS374芯片介绍 (5)4.2.3 74LS273芯片介绍 (6)5 LED点阵显示硬件原理 (7)5.1 P0—P1口的使用情况 (7)5.2 三总线的使用情况 (7)5.3 硬件原理图 (8)6 软件设计 (9)6.1 系统软件框图 (9)6.2 滚动显示自己的名字流程图及程序 (10)6.2.1 流程图 (10)6.2.2 对应程序 (11)6.3 计数器程序流程图及程序 (16)6.3.1 程序流程图 (16)6.3.2 程序 (17)7 测试结果 (22)7.1 滚动显示自己的名字 (22)7.2 十进制/十六进制计数器显示过程 (22)8 课题的实现过程 (23)9 心得体会 (24)10 参考资料 (25)11 附录 (25)1.前言1.1 LED的概念LED(Light Emitting Diode),即发光二极管,是一种半导体固体发光器件,它是利用固体半导体芯片作为发光材料,当两端加上正向电压,半导体中的载流子发生复合引起光子发射而产生光。

LED可以直接发出红、黄、蓝、绿、青、橙、紫、白色的光。

1.2 点阵LED的规格点阵LED显示器是把一些LED组合在同一个包装中,常见的规格有5*7,8*8,16*16等几种。

通常,若要显示阿拉伯数字、英文字母、特殊符号等,则可采用5*7的点阵即可够用,若要显示中文字,则需要4片8*8的点阵组成16*16的点阵显示器才能显示一个中文字。

1.3 LED的过去LED是发光二极管英文Light Emitting Diode 的简称,是六十年代末发展起来的一种半导体显示器件。

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

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

点阵式汉字LED显示屏的原理与制作汉字显示屏广泛应用与汽车报站器,广告屏等。

本文介绍一种实用的汉字显示屏的制作,考虑到电路元件的易购性,没有使用8*8的点阵发光管模块,而是直接使用了256个高量度发光管,组成了16行16列的发光点阵。

同时为了降低制作难度,仅作了一个字的轮流显示,实际使用时可根据这个原理自行扩充显示的字数。

1汉字显示的原理:我们以UCDOS中文宋体字库为例,每一个字由16行16列的点阵组成显示。

即国标汉字库中的每一个字均由256点阵来表示。

我们可以把每一个点理解为一个像素,而把每一个字的字形理解为一幅图像。

事实上这个汉字屏不仅可以显示汉字,也可以显示在256像素范围内的任何图形。

们以显示汉字“大”为例,来说明其扫描原理:在UCDOS中文宋体字库中,每一个字由16行16列的点阵组成显示。

如果用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,04H04H,08H,04H,30H,05H,0C0H,0FEH,00H05H,80H,04H,60H,04H,10H,04H,08H04H,04H,0CH,06H,04H,04H,00H,00H由这个原理可以看出,无论显示何种字体或图像,都可以用这个方法来分析出它的扫描代码从而显示在屏幕上。

点阵LED显示原理与点阵汉字库的编码和从标准字库中提取汉字编码的方法

点阵LED显示原理与点阵汉字库的编码和从标准字库中提取汉字编码的方法

点阵L E D显示原理与点阵汉字库的编码和从标准字库中提取汉字编码的方法-CAL-FENGHAI-(2020YEAR-YICAI)_JINGBIAN点阵LED显示原理与点阵汉字库的编码和从标准字库中提取汉字编码的方法。

2009年06月03日下午 04:27一.实验要求编程实现中英文字符的显示。

二.实验目的1.了解LED点阵显示的基本原理和实现方法。

2.掌握三.实验电路及连线点阵显示模块WTD3088的(红色)列输入线接至内部LED的阴极端,行输入线接至内部LED的阳极端(若阳极端输入为高电平,阴极端输入低电平,则该LED点亮)。

发光点的分布如图22-0所示。

Fig 22-0 WTD3088 LED分布如图22-1示,本实验模块使用74LS374来控制列输入线的电平值。

将74LS374的某输出置0,则对应的LED阴极端被置低。

如图22-2示,本实验模块使用74LS273来控制行输入线,并通过9013提供电流驱动。

将74LS273的某输出置1,则对应的LED阳极端被置高。

每次系统重新开启或总清后,74LS273输出为全0,LED显示被关闭。

通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。

Fig 22-1 LED模块及列扫描电路 Fig 22-2 行扫描电路Fig 22-3地址译码电路本实验模块使用4块WTD3088组成16×16点阵,以满足汉字显示的要求。

为了方便的控制四个单元,使用了一片74LS139译码,产生四个地址片选信号:CLKR1= CSLED,CLKR2= CSLED+1,用于行控制的两片74LS273;CLKC1= CSLED+2,CLKC2= CSLED+3,用于列控制的两片74LS374。

实验接线:按示例程序,模块的CSLED接51/96地址的8000H。

四.实验说明使用高亮度LED发光管构成点阵,通过编程控制可以显示中英文字符、图形及视频动态图形。

汉字点阵字库原理详解+例程

汉字点阵字库原理详解+例程

汉字点阵字库原理一、汉字编码1. 区位码在国标GD2312—80 中规定,所有的国标汉字及符号分配在一个94 行、94 列的方阵中,方阵的每一行称为一个“区”,编号为01 区到94 区,每一列称为一个“位”,编号为01 位到94位,方阵中的每一个汉字和符号所在的区号和位号组合在一起形成的四个阿拉伯数字就是它们的“区位码”。

区位码的前两位是它的区号,后两位是它的位号。

用区位码就可以唯一地确定一个汉字或符号,反过来说,任何一个汉字或符号也都对应着一个唯一的区位码。

汉字“母”字的区位码是3624,表明它在方阵的36 区24 位,问号“?”的区位码为0331,则它在03区3l位。

一级汉字16-55区二级汉字56-87区三级汉字1-9区空闲未用10-15区2. 机内码汉字机内码,又称“汉字ASCII码”,简称“内码”,汉字的机内码是指在计算机中表示一个汉字的编码。

机内码与区位码稍有区别。

如上所述,汉字区位码的区码和位码的取值均在1~94 之间,如直接用区位码作为机内码,就会与基本ASCII码混淆。

为了避免机内码与基本ASCII码的冲突,需要避开基本ASCII码中的控制码(00H~1FH),还需与基本ASCII码中的字符相区别。

为了实现这两点,可以先在区码和位码分别加上20H,在此基础上再加80H(此处“H”表示前两位数字为十六进制数)。

经过这些处理,用机内码表示一个汉字需要占两个字节,分别称为高位字节和低位字节,这两位字节的机内码按如下规则表示:高位字节= 区码+ 20H + 80H(或区码+ A0H)低位字节= 位码+ 20H + 80H(或位码+ AOH)由于汉字的区码与位码的取值范围的十六进制数均为01H~5EH(即十进制的01~94),所以汉字的高位字节与低位字节的取值范围则为A1H~FEH(即十进制的161~254)。

例如,汉字“啊”的区位码为1601,区码和位码分别用十六进制表示即为1001H,它的机内码的高位字节为B0H,低位字节为A1H,机内码就是B0A1H。

8×8LED点阵显示汉字

8×8LED点阵显示汉字
事实上,当利用8×8LED点阵显示时,是按照列显示的,比如先显示第一列,再显示第二列,一直显示到第八列,而不是同时显示的。比如,当显示第一幅图象时,先给RCOL1~ RCOL8送数据“0x0001”,再给COM1~COM8送数据“0x001C”点亮第一列的三个LED;接着给RCOL1~ RCOL8送数据一“0x0002” ,再给COM1~COM8送数据“0x0022”点亮第二列的两个 LED;之后给 RCOL1~ RCOL8 送数据一个“0x0004”,再给COM1~COM8送数据“0x0048”点亮第三列的两个LED;依次点亮第四列到第八列图中的LED,就可以构成一个完整的图中的时钟图形。学交流电时,曾学过当电流频率大于50Hz时,就不能感觉到灯泡的闪烁。图象的显示和它是同一个原理,由于CPU的速度很快,感觉不到先后顺序,而是看到一个完整的图象显示在8×8LED点阵上。所以,只要点亮8×8LED点阵不同位置的LED就可以显示任意的字符。取字原理:由于采用共阴极的LED显示模块,故在取字符时,取字符阴码,即点亮LED灯的信号为1。取模顺序是从左到右,逐行取位,即第一个点作为最高位。每取8个点作为一个字节。取字的字体由软件写入时的字体决定,每个LED灯的亮灭都是由一个数位来标志的。
图2-1 SPCE061A显示
2.2
1.8×8LED点阵的工作原理
双色8×8LED点阵是由64个双色LED构成,用它可以显示英文字符、数字和一些简单的图片和简单的汉字。实验箱双色8×8LED点阵电路原理图如图4-23,用行驱动和列驱动可以点亮LED点阵模块。图中RCOL1~RCOL8分别控制着8×8LED的每一列显示成红色,称为红色LED的列驱动,低电平有效;而GCOL1~GCOL8分别控制着8×8LED的每一列显示成绿色,称为绿色 LED 的列驱动,同样是低电平有效;COM1~COM8是他们的数据口,当送入其中一个口高电平时,相应行的LED被点亮,而当送入其中一个口低电平时,相应行 LED就会被熄灭,所以也称为行驱动。比如,当想要第一行(从下到上)的第一个 LED显示成红色的时候,只需送RCOL1一个低电平,而且送COM1一个高电平即可,也即选中红色的第一列(从右到左),并给第一行(从下到上)送一个高电平,就可以使得第一行第一列(同前)的LED显示成红色。注意J32、J33和J34中引针的接法, 1号引针引出的是RCOL8、GCOL8和COM8,这是因为在8×8LED点阵的实物图中, 如果按照从上到下的顺序RCOL8、GCOL8控制第一列LED点亮,按照从左到右的顺序COM8控制第一行LED点亮,在下文中都是按照这种顺序。只要让某些LED亮,就可以组成数字、英文字符、简单的汉字和图形。当然不管是哪种形式,哪种图案的哪些 LED亮必须是固定的。

点阵式LED滚动汉字显示屏原理及设计思路

点阵式LED滚动汉字显示屏原理及设计思路

点阵式LED滚动汉字显示屏原理及设计思路1.引言点阵式LED组成的汉字显示屏在公共场所应用非常广泛。

例如,车站发车时间提示、股票大厅中的股票价格显示板、商场的活动广告栏、候机厅的起飞时间表。

点阵显示器的特点是可以按照需要的大小、形状和颜色进行组合,用单片机控制实行各种文字或图型的变化,达到广告宣传和提示的目的。

Proteus是一款新颖的嵌入式系统软硬件设计仿真平台,特别适用于单片机仿真,能够在线、实时仿真多种类型的单片机,诸如MCS-51系列单片机、PIC 单片机、AVR单片机等,能够像硬件仿真器一样进行软硬件调试,而没必要花钱去购买和维护价格不菲的仿真器,对于初学单片机的人来说,既减少了学习成本,又达到了良好的学习效果。

2.硬件电路设计点阵式LED滚动汉字显示屏硬件电路设计框图如图1所示。

电路包括单片机、电源电路、时钟电路、复位电路、驱动电路和LED点阵电路等。

本设计的核心是利用单片机读取显示字型码,通过驱动电路对16×16 LED点阵进行动态列扫描,以实现汉字的滚动显示。

本设计选用的单片机为ATMEL公司的AT89C52,显示屏采用16×16 LED点阵。

电源电路通过变压整流元件为单片机和其他电路提供稳定的+5V工作电压。

时钟电路是单片机的驱动电路,复位电路可在需要时,手动使单片机程序计数器复位清零。

通过阳极驱动电路向16×16点阵送字型码,本设计采用74LS273。

通过阴极驱动电路对16×16点阵进行列扫描,本设计采用74HC138。

图1 硬件电路设计框图利用Proteus软件设计点阵式LED滚动汉字显示屏硬件电路原理图如图2所示。

在Proteus软件中,单片机模型本身包含了工作电源和可改变的工作频率,因此在仿真时无需设计电源电路和时钟电路。

需要说明的是在Proteus软件目前版本中还没有16×16点阵模块,本设计中采用Proteus软件中现有的8×8点阵模块组合成一个16×16点阵模块。

LED8×8点阵设计报告论文

LED8×8点阵设计报告论文

1.1摘要:现在的娱乐信息或新闻广告,大多数都是通过小型和大型的显示屏来向社会传递,而这显示屏大多就是由点阵所构成的。

为了适应社会科技的发展,掌握点阵的使用及显示方式,把科学技术应用到实践中。

整机以美国ATMEL 公司生产的40脚单片机AT89C51为核心,介绍了以它为控制系统的LED点阵电子显示屏的动态设计和开发过程。

通过该芯片控制一个列驱动74LS245来驱动显示屏显示。

该电子显示屏可以显示各种文字或单色图像,选用1块8×8点阵LED来进行显示。

显示采用动态显示,使得图形或文字能够实现静止、移入移出等多种显示方式。

文中详细介绍了LED点阵显示的硬件设计思路、硬件电路各个部分的功能及原理、相应软件的程序设计,以及使用说明等。

单片机控制系统程序采用单片机汇编语言进行编辑,通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。

所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库中提取。

LED显示以其组构方式灵活、显示稳定、功耗低、寿命长、技术成熟、成本低廉等特点在车站、证券所、运动场馆、交通干道及各种室内/外显示场合的信息发布,公益宣传,环境参数实时,重大活动倒计时等等得到广泛的应用。

经实践证明,该系统显示误差小,性能稳定,结构合理,扩展能力强。

关键字:点阵,单片机,电源,按键,晶振。

8*8 The lattice demonstrationMachine production in the United States ATMEL Corporation AT89C51 single-chip 40 feet at the core, introducing a control system for electronic display LED dot matrix dynamic design and development process. The chip is controlled through a drive out to drive the display shows 74LS245. The electronic screen can display a variety of text or monochrome images, choose an 8 × 8 dot matrix LED to show. Show that the use of dynamic display, making graphics or text can stationary, moved out of the way and many other shows. The article detailed the hardware LED dot matrix display design, the various parts of the hardware circuit of the function and principles of software programming, and the use of descriptions.Single-chip control system using single-chip assembly language program for editing, by programming the corresponding control points of the display LED anode and the negative extreme level, you can control the brightness of the display points out. Shown in the dot matrix character data can be prepared (that is, drawing a direct lattice), can also be extracted from the standard font.LED display with its flexible fabric, indicating a stable, low power consumption, long life, technology is mature, low-cost characteristics of the station, securities, sports venues, transportation corridors and a variety of indoor / outdoor display of information occasions, public advocacy, environmental parameters in real-time, major events and so the countdown to be a wide range of applications.Proven, the system shows error, stable performance, reasonable structure, strong ability to expand.Key words: AT89C51 Micro Controller Unit; LED; Lattice display; Dynamic display; Assembly language.Abstract :the present entertainment information or the news advertisement, majority all is comes through small and the large-scale display monitor to the society to transmit, but this display monitor mostly is constitutes by the lattice.In order to adapt the social science and technology development, the grasping lattice and the nixietube use, apply the science and technology in the practice.Key words : lattice,SCM,power supply,key-press,XTAL。

点阵汉字显示原理及其在点阵 LCD

点阵汉字显示原理及其在点阵 LCD

点阵汉字显示原理及其在点阵LCD&LED 中的应用※点阵汉字显示原理及其在点阵LCD&LED 中的应用※发表时间:2007-3-18 10:03:48 天气状况:心情指数:浏览次数:145本文由豪智软件工具自由职业者秦文豪提供下载本文摘要:本文主要论述汉字的显示原理,并详细阐述了如何创建点阵字库,如何在点阵LCD&LED 进行扫描显示的原理,还阐述了如何根据不同的字符编码标准,来存取数据,使您的系统可以和计算机兼容,并象计算机一样能显示各种字符。

关键字:位(bit )、字节(byte )、字模、计算机内码(ASCII )、UNICODE 编码提示:如果没有特别提示,本文所提到的字库都是指点阵字库问题引入大千世界中,有很多物质都可以看作是由很小很小的点(例如:分子、原子)组成的,当然,您所看到的字符也不例外。

假设我们把一个字符分成若干个可视的点组成,换句话来说,就是一个个点组成了我们看到的字符。

假设您的电脑显示器是液晶的,您不妨仔细的看看,每一个字符或图形都是由一个个的点组成的,只是这些点很小,小得让您不容易发现而已(仔细看看还是不难发现呀!);由此,我们引入点阵字符的概念,从微观的电子信号0 或1 ,到宏观可视的字符,足以让我们感叹这世界真是丰富多彩,奥妙无穷啊!字模数据首先,从我们常用的计算机系统谈起,再扩展到我们要开发设计的点阵LCD&LED显示系统中去,其实单片机系统的显示原理和计算机是一样的。

在计算机中,所有的数据(包括指令等)都是以0 和1 来表示的,这意味着,如果我们想要在显示器上显示字符,那么这些字符的信息将也会是以0 、1来保存显示的。

那么计算机是如何来存贮显示字符的呢?下面我们举例来说明点阵字符的数据存贮及显示原理(这里我们主要讨论的是点阵字符,故有关计算机矢量字符的显示及其原理这里就不作说明,而且单片机的寻址和计算能力远不及PC,故显示矢量的字符还是有一定的困难)。

点阵字库的显示原理

点阵字库的显示原理
以12×12字库的“我”为例:“我”的编码为CED2,所以在汉字排在CEH-AOH=2EH区的D2H-A0H=32H个。所以在12×12字库的起始位置就是[{FE-A0}*2EH+32H]*24=104976开始的24个字节就是我的点阵模。
其他的类推即可。
英文点阵也是如此推理。
当然也存在着不规则的点阵,这里说的不规则,指的是点阵的宽度不是8的倍数,比如 12*12
的点阵,那么这样的点阵数据又是如何存放的呢?其实也很简单,每一行的前面8个点存放在一个字节里面,每一行的剩下的4点就使用一个字节来存放,也就是说
剩下的4个点将占用一个字节的高4位,而这个字节的低4位没有使用,全部都默认的为零.这样做当然显得有点浪费,不过却能够便于我们进行存放和寻址.对于
2、16*16点阵字库
对于16*16的矩阵来说,它所需要的位数共是16*16=256个位,每个字节为8位,因此,每个汉字都需要用256/8=32个字节来表示。
即每两个字节代表一行的16个点,共需要16行,显示汉字时,只需一次性读取32个字节,并将每两个字节为一行打印出来,即可形成一个汉字。
dos所用字库,文件头结构很简单,如默认的8*16英文字库,文件头长度为4,跳过这四个字节就是字模数据;也有没有文件头的,从第一个字节开始就是字模数据。
点阵字库结构
1、点阵字库存储
在汉字的点阵字库中,每个字节的每个位都代表一个汉字的一个点,每个汉字都是由一个矩形的点阵组成,0代表没有,1代表有点,将0和1分别用不同颜色画出,就形成了一个汉字,常用的点阵矩阵有12*12,
点阵结构如下图所示:
第一字节 第二字节
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

点阵式LED显示汉字

点阵式LED显示汉字

单片机课程设计题目8×8点阵式LED显示汉字学院名称电气工程学院指导老师黄智伟朱卫华班级电子信息工程061班学号20064470120学生姓名胡含二00九年六月点阵式LED显示汉字一、实验目的利用8X8点阵循环移动显示“胡”字二、芯片介绍AT89S51是美国ATMEL公司生产的低功耗、高性能CMOS 8位单片机,片内含4k bytes的可系统编程的Flash只读程序存储器,器件采用ATMEL公司的高密度、非易失性存储技术生产,兼容标准8051指令系统及引脚。

主要性能参数:※与MCS-51产品指令系统完全兼容※4k字节在系统编程(ISP)Flash闪速存储器※1000次擦写周期※4.0—5.5V的工作电压范围※全静态工作模式:0Hz~33MHz※三级程序加密锁※128×8字节内部RAM※ 32个可编程I/O口线※ 2个16位定时/计数器※ 6个中断源※全双工串行UART通道※低功耗空闲和掉电模式※中断可以从空闲模式唤醒系统※看门狗(WDT)及双数据指针※掉电标识及快速编程特性※灵活的在系统编程(ISP—字节或页写模式)AT89S51功能特性概述:AT89S51提供以下标准功能:4k字节Flash闪速存储器,128×8字节内部RAM,32个可编程I/O口线,看门狗(WDT),两个数据指针,两个16位定时/计数器,一个5向量两级中断结构,一个全双工串行通信口,片内振荡器及时钟电路。

同时,AT89S51可降至0Hz的静态逻辑操作,并支持两种软件可选的节电工作模式。

空闲方式停止CPU的工作,但允许RAM,定时/计数器,串行通信口及中断系统继续工作。

掉电模式保存RAM中的内容,但振荡器停止工作并禁止其他所有硬件工作直到下一个硬件复位。

AT89S51的方框图及封装如下:引脚功能说明:※Vcc:电源电压.※GND:地※P0口:PO日是一组8位漏极开路型双向I/O口,也即地址/数据总线复用口。

LED汉字点阵屏制作经验谈

LED汉字点阵屏制作经验谈

LED汉字点阵屏制作经验谈本文介绍一种简单实用汉字显示屏的制作,谈到点阵屏点原理与制作中的难点问题。

该点阵屏是以MCS-51系列单片机为核心来控制点阵的显显示与流动。

同时显示四个汉字,有必要时可以扩展到8个字。

通过跳线来决定要显示的内容。

一、基本原理1.汉字字模的提取可用来提取点阵汉字字模的软件很多。

如:“汉字字库”、“字模提取”、“点阵字库软件”。

有的软件上可以对不满意的字模进行修改。

2.点亮时间为使在点阵屏上显示的内容没有闪烁感,点亮一屏的频率要大于24Hz,那么点阵一行的时间就要小于1.5ms。

时间太短就会对亮度造成影响。

这个时间的长度先可以取一个大概的值(如1ms),再对实际电路进行观察,如果闪烁感很强就减少每行的点阵时间;如果感到亮度不足就适当增加每行点亮的时间。

这样反复调节使得效果最佳。

3.单片机接口为有效单片机资源,点阵的16个行使用译码方式,列采用单片机的串口加串变并的器件来驱动3.驱动能力由点阵屏的连接方式,以4个字的点阵为例,共阳的一行就有4×16=64个LED管。

假设每个管子在点亮时的电流为15mA,那么一行全点亮时的最大电流为64×15=960mA。

这就要求点阵的驱动能动不能低于这值。

行使用源,点阵的16个行使用译码电阻加达林顿三级管来驱动。

4.单片机接口为有效单片机资方式,74LS154,列采用单片机的串口加串变并的器件来驱动,首选74HC595,595具有输出锁存功能,可有效防止移位时LED的闪烁与重影。

或用74LS164,但输出时会有重影,在74LS164输出端另加锁存器也可防止重影,不过电路太复杂。

不推荐。

二、元件及硬件连接1.8×8点阵的引脚关系点阵屏中的点阵选用市面上常见的8×8的点阵模块。

要使用时要注意它的引脚关系,不要想当然认为行在一起,列在一起。

应用一个电源加个1kΩ左右的电阻进行测试得到,下面是我的测试结果:x代表行,y代表列。

字模提取原理

字模提取原理

5.7点阵字模生成原理与方法[3]5.7.1 字模生成原理本设计中因为使用汉字的点阵显示,需要提取汉字字模,因此我们首先来了解汉字点阵字模的提取方法。

汉字的点阵字模是从点阵字库文件中提取出来的。

例如常用的16×16点阵HZK16文件,12×12点阵HZK12文件等等,这些文件包括了GB 2312字符集中的所有汉字。

现在只要弄清汉字点阵在字库文件中的格式,就可以按照自己的意愿去显示汉字了。

下面以HZK16文件为例,分析取得汉字点阵字模的方法。

HZK16文件是按照GB 2312-80标准,也就是通常所说的国标码或区位码的标准排列的。

国标码分为 94 个区(Section),每个区 94个位(Position),所以也称为区位码。

其中01~09 区为符号、数字区,16~87 区为汉字区。

而 10~15 区、88~94 区是空白区域。

如何取得汉字的区位码呢?在计算机处理汉字和ASCII字符时,使每个ASCII字符占用1个字节,而一个汉字占用两个字节,其值称为汉字的内码。

其中第一个字节的值为区号加上32(20H),第二个字节的值为位号加上32(20H)。

为了与ASCII字符区别开,表示汉字的两个字节的最高位都是1,也就是两个字节的值都又加上了128(80H)。

这样,通过汉字的内码,就可以计算出汉字的区位码。

具体算式如下:qh=c1-32-128=c1-160 wh=c2-32-128=c2-160或qh=c1-0xa0 wh=c2-0xa0qh,wh为汉字的区号和位号,c1,c2为汉字的第一字节和第二字节。

根据区号和位号可以得到汉字字模在文件中的位置:location=(94*(qh-1)+(wh-1))*一个点阵字模的字节数。

那么一个点阵字模究竟占用多少字节数呢?我们来分析一下汉字字模的具体排列方式。

例如下图中显示的“汉”字,使用16×16点阵。

字模中每一点使用一个二进制位(Bit)表示,如果是1,则说明此处有点,若是0,则说明没有。

LED点阵显示屏字符信息显示方法及应用

LED点阵显示屏字符信息显示方法及应用
中 图 分 类 号 : N9 75 + T 5 .2 9 1引言 文献 标识 码 : A
L D点 阵显 示 屏是 由一 系列 发 光二 极 管 E 排 列 组合 而成 的 点 阵 ,根 据 字形 控 制点 阵屏 局 部 发光 完成 字母 、 字 和汉字 显示 。E 数 L D屏 的显示 多 采用 计 算机 控 制 , 目前 生 产厂 家 提 供 的 L D屏 控 制 系 统都 是 通 过 控 制 L D屏 E E 来 显示 各 种数 据 的 。 由于数 据种 类 的多 样混 杂 , 据不 能 以一 种稳 定格 式进 行保 存 。 文 数 本 所 介 绍 的 显 示 方 法 用 到 的 系 统 虽 也 是 控 制 L D屏 显示 的软 件 ,但 它是 采用 表 格数 据库 E 保存数据, 将表 格 数 据库 和 L D屏 显示 直 接 E 连接 起 来 , L D屏 显 示表 格 数 据 库 中 的内 让 E 容, 从而 解 决 L D屏 不 能统 一 管 理 数据 显 示 E 的 问题 ,也 使 得各 种 文字 信 息 的公 布变 得 更 加 方便 。 显示 中 ,我们 需 用 到现 行计 算 机通 用 的 字 库字 模 , 个 字 的点 阵 分 为 1x 62 x 4 一 6 1 、4 2 、 3 x 2和 4 x 8等不 同规 格 。一 个 L D显 示 23 84 E 屏 成 品 主要 由控 制 卡 和单 元 板 两 部 分组 成 。 组 装 L D屏 时 ,必 须 先确 定 接 口的一 致性 , E 才方 便 组装 。 果接 口不 一致 , 自行 制作 转 如 需 换线 。 在 系统 中信 号先 由 P C机 发送 给 控制 卡 , 通过 控 制卡 识别 信 号 ,再根 据 识别 情 况返 回 个 信 号给 P C机 ,如果 控制 卡识 别成 功 , 将 把 显 示 信号 发 给 L D屏 ,让 其显 示 相 应 信 E

点阵字模原理与读取

点阵字模原理与读取

点阵字模原理与读取点阵字模原理与读取一、字模生成原理汉字的点阵字模是从点阵字库文件中提取出来的。

例如常用的16×16点阵HZK16文件,12×12点阵HZK12文件等等,这些文件包括了GB 2312字符集中的所有汉字。

现在只要弄清汉字点阵在字库文件中的格式,就可以按照自己的意愿去显示汉字了。

下面以HZK16文件为例,分析取得汉字点阵字模的方法。

HZK16文件是按照GB 2312-80标准,也就是通常所说的国标码或区位码的标准排列的。

国标码分为 94 个区(Section),每个区 94 个位(Position),所以也称为区位码。

其中01~09 区为符号、数字区,16~87 区为汉字区。

而 10~15 区、88~94 区是空白区域。

如何取得汉字的区位码呢?在计算机处理汉字和ASCII字符时,使每个ASCII字符占用1个字节,而一个汉字占用两个字节,其值称为汉字的内码。

其中第一个字节的值为区号加上32(20H),第二个字节的值为位号加上32(20H)。

为了与ASCII字符区别开,表示汉字的两个字节的最高位都是1,也就是两个字节的值都又加上了128(80H)。

这样,通过汉字的内码,就可以计算出汉字的区位码。

具体算式如下:qh=c1-32-128=c1-160 wh=c2-32-128=c2-160或qh=c1-0xa0 wh=c2-0xa0qh,wh为汉字的区号和位号,c1,c2为汉字的第一字节和第二字节。

根据区号和位号可以得到汉字字模在文件中的位置:location=(94*(qh-1)+(wh-1))*一个点阵字模的字节数。

那么一个点阵字模究竟占用多少字节数呢?我们来分析一下汉字字模的具体排列方式。

例如下图中显示的“汉”字,使用16×16点阵。

字模中每一点使用一个二进制位(Bit)表示,如果是1,则说明此处有点,若是0,则说明没有。

这样,一个16×16点阵的汉字总共需要16*16/8=32个字节表示。

点阵字库结构以及点阵字显示的实现原理

点阵字库结构以及点阵字显示的实现原理

点阵字库结构以及点阵字显示的实现原理在 DOS 下作游戏要实现汉字或英文的输出,一般都是使用的点阵字库技术。

这样可以使程序有更好的兼容性。

那么我们如何在程序中使用点阵字库呢,这片文档将会讲解这个。

先讲讲什么是点阵字库,我首先需要理解的是点阵字库是一个数据文件,在这个数据文件里面保存了所有文字的点阵数据。

至于什么是点阵,我想我不讲大家都知道的,使用过“文曲星”之类的电子辞典吧,那个的液晶显示器上面显示的汉子就能够明显的看出“点阵”的痕迹。

在 PC 机上也是如此,文字也是由点阵来组成了,不同的是,PC机显示器的显示分辨率更高,高到了我们肉眼无法区分的地步,因此“点阵”的痕迹也就不那么明显了。

点阵、矩阵、位图这三个概念在本质上是有联系的,从某种程度上来讲,这三个就是同义词。

点阵从本质上讲就是单色位图,他使用一个比特来表示一个点,如果这个比特为0,表示某个位置没有点,如果为1表示某个位置有点。

矩阵和位图有着密不可分的联系,矩阵其实是位图的数学抽象,是一个二维的阵列。

位图就是这种二维的阵列,这个阵列中的 (x, y) 位置上的数据代表的就是对原始图形进行采样量化后的颜色值。

但是,另一方面,我们要面对的问题是,计算机中数据的存放都是一维的,线性的。

因此,我们需要将二维的数据线性化到一维里面去。

通常的做法就是将二维数据按行顺序的存放,这样就线性化到了一维。

那么点阵字的数据存放细节到底是怎么样的呢。

其实也十分的简单,举个例子最能说明问题。

比如说 16*16 的点阵,也就是说每一行有16个点,由于一个点使用一个比特来表示,如果这个比特的值为1,则表示这个位置有点,如果这个比特的值为0,则表示这个位置没有点,那么一行也就需要16个比特,而8个比特就是一个字节,也就是说,这个点阵中,一行的数据需要两个字节来存放。

第一行的前八个点的数据存放在点阵数据的第一个字节里面,第一行的后面八个点的数据存放在点阵数据的第二个字节里面,第二行的前八个点的数据存放在点阵数据的第三个字节里面,...,然后后面的就以此类推了。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

点阵LED显示原理与点阵汉字库的编码和从标准字库中提取汉字编码的方法。

2009年06月03日下午 04:27一.实验要求编程实现中英文字符的显示。

二.实验目的1.了解LED点阵显示的基本原理和实现方法。

2.掌握三.实验电路及连线点阵显示模块WTD3088的(红色)列输入线接至内部LED的阴极端,行输入线接至内部LED的阳极端(若阳极端输入为高电平,阴极端输入低电平,则该LED 点亮)。

发光点的分布如图22-0所示。

Fig 22-0 WTD3088 LED分布如图22-1示,本实验模块使用74LS374来控制列输入线的电平值。

将74LS374的某输出置0,则对应的LED阴极端被置低。

如图22-2示,本实验模块使用74LS273来控制行输入线,并通过9013提供电流驱动。

将74LS273的某输出置1,则对应的LED阳极端被置高。

每次系统重新开启或总清后,74LS273输出为全0,LED显示被关闭。

通过编程控制各显示点对应LED阳极和阴极端的电平,就可以有效的控制各显示点的亮灭。

Fig 22-1 LED模块及列扫描电路Fig 22-2 行扫描电路Fig 22-3地址译码电路本实验模块使用4块WTD3088组成16×16点阵,以满足汉字显示的要求。

为了方便的控制四个单元,使用了一片74LS139译码,产生四个地址片选信号:CLKR1= CSLED,CLKR2= CSLED+1,用于行控制的两片74LS273;CLKC1= CSLED+2,CLKC2=CSLED+3,用于列控制的两片74LS374。

实验接线:按示例程序,模块的CSLED接51/96地址的8000H。

四.实验说明使用高亮度LED发光管构成点阵,通过编程控制可以显示中英文字符、图形及视频动态图形。

LED显示以其组构方式灵活、亮度高、技术成熟、成本低廉等特点在证券、运动场馆及各种室内/外显示场合得到广泛的应用。

所显示字符的点阵数据可以自行编写(即直接点阵画图),也可从标准字库(如ASC16、HZ16)中提取。

后者需要正确掌握字库的编码方法和字符定位的计算。

实验盘片中“字符转换”子目录下提供的,可方便的将单个字符的码表从标准字库Asc16,Hzk16中提取出来。

具体使用方法是运行上述可执行程序,根据提示输入所需字符(如是汉字还需要先启动dos下的汉字环境,如ucdos,pdos95等)。

程序将该字符的码表提取出来,存放在该字符ASC或区位码为文件名称的.dat 文件中。

用户只需将该文件中内容拷贝、粘贴到自己的程序中即可。

但需要注意字节排列顺序、字节中每一位与具体显示点的一一对应关系,必要时还要对码表稍作修改。

同一目录下还提供了上述可执行程序的源文件,使用编写,供用户参考。

五.实验程序框图v1.0 可编辑可修改用户应留心其中行扫描的实现及码表的处理。

六.实验程序:(一)提供LEDA51演示Asc16字符的简单点阵显示。

;*********LED 点阵显示示例程序*********************** ;** 该程序显示 Asc16字符 ** ;** 为了简单起见,程序只显示一个字符 ** ;** 该程序针对T598实验机的模块14 ** ;**************************************************** CSLED EQU 8000H CSR1 EQU CSLED ;行1 273 CSR2 EQU CSLED+1H ;行2 273 CSC1 EQU CSLED+2H ;列1 374 CSC2 EQU CSLED+3H ;列2 374 ORG 0000H MOV SP,#60H INIT: MOV A,#0H ;关闭行MOV DPTR,#CSR1 MOVX @DPTR,A MOV DPTR,#CSR2 MOVX @DPTR,A MOV A,#0FFH ;关闭列MOV DPTR,#CSC1 MOVX @DPTR,A MOV DPTR,#CSC2 MOVX @DPTR,A D: MOV R5,#00H MOV R4,#01H ;每次为单行扫描DISP: MOV A,R5 MOV DPTR,#ASCE ;此处设定所要显示的字符MOVC A,@A+DPTR CPL ACC ;代码取反,决定显示的阴阳MOVDPTR,#CSC2 MOVX @DPTR,A MOV DPTR,#CSR1 MOV A,R4 MOVX @DPTR,A RL ACC MOV R4,ACC INC R5 LCALL DELAY CJNE R5,#8H,DISP MOVA,#0H MOVX @DPTR,A MOV R5,#08H MOV R4,#01H DISP2: MOV A,R5 MOV DPTR,#ASCE MOVC A,@A+DPTR CPL ACC MOV DPTR,#CSC2 MOVX@DPTR,A MOV DPTR,#CSR2 MOV A,R4 MOVX @DPTR,A RL ACC MOVR4,ACC INC R5 LCALL DELAY CJNE R5,#10H,DISP2 MOV A,#0H MOVX @DPTR,A SJMP D ;******** 延时子程序,协调字符显示速度************* DELAY: MOV R7,#1H DL1: MOV R6,#00H DL2: DJNZR6,DL2 DJNZ R7,DL1 RET ;******** 字符点阵字库 *************** ; ASC16 字符编码排列; 0 ; 1 ; | ; | ; 14 ; 15 ; 高位 D7--D0 ; 请注意编码的排列次序和实际显示点阵分布的关系ASCA:DB00H,00H,10H,38H,6CH,0C6H,0C6H,0FEH DB0C6H,0C6H,0C6H,0C6H,00H,00H,00H,00H ASCE:DB00H,00H,0FEH,66H,62H,68H,78H,68H DB60H,62H,66H,0FEH,00H,00H,00H,00H ASCD:DB00H,00H,0F8H,6CH,66H,66H,66H,66H DB66H,66H,6CH,0F8H,00H,00H,00H,00H ASCK:DB00H,00H,0E6H,66H,66H,6CH,78H,78H DB6CH,66H,66H,0E6H,00H,00H,00H,00H ;********************************** ****************** END (二)LEDHZ51两个示例程序。

和Hz16字符的简单点阵显示。

;*********LED 点阵显示示例程序*********************** ;** 该程序显示 hz16字符 ** ;** 为了简单起见,程序只显示一个字符 ** ;** 该程序针对T598实验机的模块14** ;**************************************************** CSLED EQU 8000H CSR1 EQU CSLED ;行1 273 CSR2 EQU CSLED+1H ;行2 273 CSC1 EQU CSLED+2H ;列1 374 CSC2 EQU CSLED+3H ;列2 374 ORG 0000H MOV SP,#60H INIT: MOV A,#0H ;关闭LED显示MOV DPTR,#CSR1 MOVX@DPTR,A MOV DPTR,#CSR2 MOVX @DPTR,A MOV A,#0FFH ;关闭LED显示MOVDPTR,#CSC1 MOVX @DPTR,A MOV DPTR,#CSC2 MOVX @DPTR,A D: MOVR5,#00H MOV R4,#01H DISP: MOV A,R5 RL ACC MOV DPTR,#HZAI MOVC A,@A+DPTR CPL ACC MOV DPTR,#CSC2 MOVX @DPTR,A MOV A,R5 RLACC INC ACC MOV DPTR,#HZAI MOVC A,@A+DPTR CPL ACC MOVDPTR,#CSC1 MOVX @DPTR,A MOV DPTR,#CSR1 MOV A,R4 MOVX @DPTR,A RL ACC MOV R4,ACC INC R5 LCALL DELAY CJNE R5,#8H,DISP MOVA,#0H MOVX @DPTR,A MOV R5,#08H MOV R4,#01H DISP2: MOV A,R5 RL ACC MOV DPTR,#HZAI MOVC A,@A+DPTR CPL ACC MOV DPTR,#CSC2 MOVX@DPTR,A MOV A,R5 RL ACC INC ACC MOV DPTR,#HZAI MOVCA,@A+DPTR CPL ACC MOV DPTR,#CSC1 MOVX @DPTR,A MOV DPTR,#CSR2 MOV A,R4 MOVX @DPTR,A RL ACC MOV R4,ACC INC R5 LCALL DELAY CJNER5,#10H,DISP2 MOV A,#0H MOVX @DPTR,A SJMP D ;******** 延时子程序,协调字符显示速度 ************* DELAY: MOV R7,#1H DL1: MOVR6,#00H DL2: DJNZ R6,DL2 DJNZ R7,DL1 RET ;******** 字符点阵字库*************** ; HZ16 字符编码排列; 0 1 ; 2 3 ; | ; | ; 28 29 ;30 31 ; 高位 D7--D0 HZAI:DB 00H,78H,3FH,80H,11H,10H,09H,20H DB7FH,0FEH,42H,02H,82H,04H,7FH,0F8H DB04H,00H,07H,0F0H,0AH,20H,09H,40H DB10H,80H,11H,60H,22H,1CH,0CH,08H HZDI:DB00H,80H,40H,80H,20H,88H,2FH,0FCH DB08H,88H,08H,88H,0E8H,88H,2FH,0F8H DB28H,88H,28H,88H,28H,88H,2FH,0F8H DB28H,08H,50H,06H,8FH,0FCH,00H,00H HZKE:DB01H,00H,01H,04H,0FFH,0FEH,01H,00H DB01H,10H,1FH,0F8H,10H,10H,10H,10H DB10H,10H,1FH,0F0H,14H,50H,04H,40H DB04H,40H,08H,42H,10H,42H,60H,3EH ;*********************************** *****************。

相关文档
最新文档