C51批量字模提取工具v1.1
汉字字模存储和提取的方法

汉字字模存储和提取的方法
汉字字模的存储和提取是汉字信息处理系统中的重要环节,常用的方法有以下几种:
1. 存储在程序存储器中:这是在程序不大或单片机无外部扩展数据存储区功能的情况下使用的方法。
2. 通过外扩的EEPROM存储汉字字模数据:采用哈佛结构的单片机,如8051单片机及其派生产品,程序存储器(ROM)和数据存储器(RAM)可分别寻址。
将提取的汉字字模数据存放在EPROM或EEPROM内,并设定该芯片的片选地址,只要知道某个汉字字模数据在该芯片的存储位置,通过程序计算出偏移地址,即可实现显示功能。
3. 使用外扩的EEPROM存储整个汉字库:某些高端单片机,如Motorola 的M68300系列32位单片机,寻址范围可达8M。
以上信息仅供参考,如有需要,建议查阅计算机科学和电子工程相关书籍或咨询专业人士。
DM Tool字模提取工具使用说明书V1.0

目录
1 入门 ................................................................................................................................................................ 1 1.1 主要功能简介 ......................................................................................................................................... 1 1.2 安装DM Tool .......................................................................................................................................... 1 1.3 快速上手 ................................................................................................................................................. 1
2.2.4 [Picture] ......................................................................................................................... 3
点阵字库生成的原理

所有的汉字或者英文都是下面的原理,由左至右,每8个点占用一个字节,最后不足8个字节的占用一个字节,而且从最高位向最低位排列。
生成的字库说明:(以12×12例子)一个汉字占用字节数:12÷8=1····4也就是占用了2×12=24个字节。
编码排序A0A0→A0FE A1A0→A2FE依次排列。
以12×12字库的“我”为例:“我”的编码为CED2,所以在汉字排在CEH-AOH=2EH区的D2H-A0H=32H个。
所以在12×12字库的起始位置就是[{FE-A0}*2EH+32H]*24=104976开始的24个字节就是我的点阵模。
其他的类推即可。
英文点阵也是如此推理。
51单片机的13×14点阵缩码汉卡我们历时数载,开发成"51单片机13×14点阵缩码汉卡",适用于目前国内外应用最为广泛的MCSX-51及其兼容系列单片机.与此同时,还开发了13×14点阵汉字字模.13×14点阵字模,可完全与目前通用的16×16点阵汉字字模媲美,其在单片机和嵌入式系统的汉字显示应用中也具有明显的经济价值和实用意义.1.单片机目前的汉字显示信息交流的最主要方式之一即文字交流,但由于我国方块汉字数量繁多,构形迥异,使汉字显示一直是我国计算机普及的障碍.随着计算机技术的迅速发展,PC机的汉字显示已不成问题.但对于成本低、体积小、应用灵活且用量极为巨大的单片机而言,因其结构简单,硬件资源十分有限,其汉字显示仍面对着捉襟见肘,力不从心的窘境.目前单片机的汉字显示有三种基本方法.①采用标准字库法.即将国标汉字库固人ROM中,将单片机的硬件和软件进行特别扩展后以显示汉字.众所周知,即使是16×16点阵标准字库,也须占用200KB以上的单元内存,而就目前主流5l系列单片机而言,最大寻址范围仅64KB,即使程序区与数据区合起来也仅128KB内存.因此,若不加特别的扩展设计,不要说检字程序和用户空间,仅字库都装不下.这种方法虽然可以方便地使用现成标准字库,但却需占用大量的硬件和软件资源,增加很大一部分成本和设计难度,所以不经常使用.②字模直接固化法.即将所显示的汉字,依先后顺序将其字模一一从标准字库中提取后,重新固化,予以显示.此法虽为简捷,但只适于显示少量汉字,且字模的制取繁琐,软件的修改维护都很困难.③带索引小字库法.即将欲显示文件中的汉字字模,从标准字库中逐一提取固化,制成小型字库,并按其在小字库中的位置制成索引表,显示时从索引表查出其新的字模取码地址,取码显示.此方法虽比较灵活,可显示较多的汉字,但仍然局限于只能显示固定文件内容,且字模制取同样麻烦.一种较新的单片机"汉字动态编码与显示方案"(见《单片机与嵌入式系统应用》杂志2003年第1期和第9期),实际上也是一种动态的"小字库"法,只是字库的制取,索引的编写及文件的改码皆由PC机自动完成,免去了繁琐的人工处理.由上可见,目前单片机各种汉字显示方案均不理想.标准字库法,单片机不堪重负;而其它方法最大且又无法克服的缺点是,所显示文字皆有局限.显示内容也皆须专业人员设计而定,用户难于更改.这便极大地限制了单片机在各个领域的开拓和应用.究其原因,皆为单片机本身无汉卡,而这也正是我们致力于"51汉卡"开发的初衷.2.13×14点阵汉字字模为垫定"5l汉卡"的字型基础,首先开发成了l3×14点阵汉字字模.在目前通用的汉字字模中,最简单的是16×16点阵字模.在微型打字机中,也偶见有12×12点阵字模,但实用中不多见.字模点阵数直接决定着每一汉字所占单元内存值,能否在保证字模准确、美观的基础上,寻找一种较少的点阵字模呢?这便是我们最初的想法.于是我们经过反复选择比较,终于在国内首个推出了13×14点阵字模.此设计,一是基于我国汉字为方块字,故其行、列值需相近;二是汉字多有对称1生,故其列值宜奇不宜偶.设计实际表明,若行、列值很少,则难保证字模的准确性和美观性.?13×14点阵字模,是以我国现行简化字为准,并在此基础上设计而成.与目前通用的汉字16×l6点阵字模相比,其准确性和美观性并不逊色.然而其单字所占内存却由32个单元降至26个单元;另外使得每个单字显示由原来的256个像素降至l82个像素,使显示成本和空间均减少近三分之一.100×200点阵LED字屏,可显示16×l6点阵汉字72个,而l3×14点阵汉字便可显示l05个,且显示效果并无太大差异.这无疑对单片机和嵌入式系统汉字显示产品的开发和应用,具有明显的经济价值和实用意义.3.51单片机13×14点阵缩码汉卡"51汉卡"依据我国的汉字特点和单片机的快速构字功能,在13×14点阵字模基础上,以缩码形式开发而成单片机汉卡的开发,应以目前通用的主流单片机为研发对象,还应在囊括国标一、二级汉字及常用字符的前提下,使内存占用必须降至主流单片机可寻址范围内,且需留有足够的检字程序和用户应用空间.另外,字模设计必须准确、美观.字模提取速度也必须满足实用要求."51汉卡"的开发正是依据原则,并达到了以上各项要求.顾名思义,"51汉卡,即以MCS-51系列及其兼容单片机为研发对象.以51系列为代表的8位单片机,在过去、现在以及可以予见的将来,都将是嵌入式系统低端应用的主流机型.此乃业界专家的共识."51汉卡"囊括了"GB2312-80"国标字库的全部一、二级汉字,并增补汉字86个;同时包括了大、小英文字母、阿拉伯数字等160个常用字符和不到4KB的构字程序,却仅总共占用了不足66KB的内存.每字平均约占9.8个单元,相对于16×16点阵每字占32单兀内存而言,尚不到其三分之一.这对于具有相互独立的64KB程序区和64KB数据区的51系列单片机而言,若适当配置内存,可为检字程序和用户留出90%以上的程序空间及相当数量的数据空间,对于一般用户的应用,都将绰绰有余.另外,为使"51汉卡''更便于使用和进一步节省内存,在上述基础上又开发成一套简化版本,删去了部分较偏僻的二级汉字.简化版本包括约5580个汉字,共占用内存58KB.实际上,按有关权威部门的统计,一般文本99%的文字是由2400个字写成的,因此使用简化版本,并配以简单的造字程序,一般亦可满足我们的使用要求."51汉卡"所用字模,即我们开发的完全可与16×16点阵字模媲美的I3×14点阵汉字字模.字模提取速度是我们最为关心的问题之一.经测试及实际使用表明,"51汉卡''的提模速度完全可满足单片机汉字显示的实用要求.我们使用INTEL公司MCS-51经典系列87C51单片机在24MHz频率下测试,平均字模提取速度为2.1ms/字.因人的视觉暂留时间为0.1s,无论理论还是实际使用都表明,50字字模提取并显示,并无迟滞和待机之感.即使在1?2MHz频率下,20字取模,即点即出,在一般拼音检字和少量汉字显示中,完全可满足使用要求.随着单片机技术的迅速发展,目前,INTEL公司、Atmel 公司、philips公司、我国台湾华邦等公司生产的MCS-51兼容单片机时钟频率可达33MHz,增强型可达40MHz,以至达60MHz;现市售的"ST C89LE"系列单片机,最高频率可达90MHz.这些芯片都完全能与MCS-51芯片兼容,对于更高需求的场合,更新升级也十分简便.另外,在单片机和嵌入式系统中,文字显示速度要求并不高,只要满足换屏时的视觉要求即可.其汉字显示字数,一般也不太多.如用LCD显示屏,128×64点阵,才显示32个字;192×64点阵才显48个字;即使使用l3×14点阵字模,满屏也才56个汉字.4."51汉卡"设计依据及说明"51汉卡"设计依据是,我国汉字虽然数量繁多,字型各异,但其中复合结构者占大部分,并素有"偏旁取义,正字取音"之说.如"寸"字与不同偏旁可组成"村"、"付"、"讨"、"守"、"过"等字.因此"51汉卡"除单结构字基本以全码设计外,复台结构字多用相应的单体字及其偏旁,以结构代码写成.利用单片机快速的单元积木式构字程序,便可迅速生成字模代码.这既保证了提码速度,又节省了大量的汉卡内存.有关"51汉卡"的几点说明如下:①凡汉字库中简、繁体字都有的用简体.如"後"以"后"代,"馀"以"余"代等;②《新华字典》未收入字,多未收入,如"酏"、"鼽"等字,但"婧"、"弪"等字仍收入;③对于多体字,一般以常用字代,如"摺"以"折"代,"镟"以"旋,代等,但"吒"不以"咤"代,"雠"不以"仇"代等;④对通常已由其它字取代的字,都以这些字代替,如"岽"以"东"代,"肛''以"船"代等;⑤二级汉字中,不单独构成汉字的偏旁未收入;⑥依据名篇名著,生活用语等,增补汉字86个;⑦收编大、小写英文字母、阿拉伯数字、标点符号等各种常用字符160个.5."51单片机汉卡"应用举例利用"51单片机汉卡",将使51系列单片机的汉字显示轻而易举,并可大为降低成本、体积和设计开发的难度,为单片机在生产控制、信息通信、文化教育和日常生活等领域,特别是计算机终端和手持产品的开发提供极大的便利和支持.?我们现已初步开发成"51汉卡"的"区位码输入法"和"拼音输入法,检字程序,并利用"51汉卡"成功地开发了带有廉价单片机控制器的LED汉字显示屏.这不仅大幅度降低了成本费用.而且用户可以通过单片机控制器,随心所欲地改变显示内容.51硬件设计CPU--87C51、12MHz晶振.程序存储器一1片EPROM?27C512.数据存储器一1片EPROM?27C512;1片EEPROM28C64A;1片6116.控制器显示屏一LCD?HY一19264B(深圳秋田视佳实业有限公司).LED屏选240×16点阵.本系统用标准小键盘检字,一次可予选4000字;控制器LCD满屏显示l3×14点阵汉字56个;LED屏满屏显示汉字19个.地址分配及用途如表l所列.5.2程序设计框图程序设计流程如图1所示.本系统采用12MHz晶振,若LCD取满屏56字,换屏时有约0.1s 的延时,这对人的实际视觉并无大影响.标准点阵汉字字库芯片1 概述GT23L24M1W是一款内含24X24点阵的汉字库芯片,支持GB18030国标汉字(含有国家信标委合法授权)及ASCII字符.排列格式为横置横排.用户通过字符内码,利用本手册提供的方法计算出该字符点阵在芯片中的地址,可从该地址连续读出字符点阵信息.1.1 芯片特点●数据总线: SPI 串行总线接口PLII 精简地址并行总线接口●点阵排列方式:字节横置横排访问速度:SPI 时钟频率:20MHz(max.)PLII 访问速度:130ns(max.) @3.3V●工作电压:2.7V~3.6V●电流:工作电流:12mA待机电流:10uA●封装:SO20W●尺寸(SO20W):12.80mmX10.30mm●工作温度:-20℃~85℃(SPI 模式下);-10℃~85℃(PLII 模式下)2.2 SPI 接口引脚描述串行数据输出(SO):该信号用来把数据从芯片串行输出,数据在时钟的下降沿移出.串行数据输入(SI):该信号用来把数据从串行输入芯片,数据在时钟的上升沿移入.串行时钟输入(SCLK):数据在时钟上升沿移入,在下降沿移出.片选输入(CS#):所有串行数据传输开始于CE#下降沿,CE#在传输期间必须保持为低电平,在两条指令之间保持为高电平.总线挂起输入(HOLD#):2.3 SPI 接口与主机接口电路示意图SPI 与主机接口电路连接可以参考下图(#HOLD管脚建议接2K 电阻3.3V 拉高).若是采用系统电压为5V的,则需要进行电平转换匹配连接GT23 芯片,可以参考下图(#HOLD 管脚建议接2K 电阻3.3V 拉高).2.4 PLII 接口引脚描述2.5 PLII 接口与主机接口电路示意图SPI/PLII_SEL(管脚内部有100K 上拉电阻)接地,字库芯片选择PLII 接口模式,与主机接口电路连接可以参考下图.2.6 PLII 总线接口寻址说明在PLII 总线模式下,芯片内部有3个地址寄存器,主机需要把要读取数据的地址写入这3个地址寄存器,然后再从数据寄存器中读出数据.主机每读一次数据寄存器,芯片内部的地址寄存器会自动增一,从而使主机只写一次首地址,就可以连续读取数据.3 字库调用方法3.1 汉字点阵排列格式每个汉字在芯片中是以汉字点阵字模的形式存储的,每个点用一个二进制位表示,存1的点,当显示时可以在屏幕上显示亮点,存0的点,则在屏幕上不显示.点阵排列格式为横置横排:即一个字节的高位表示左面的点,低位表示右面的点(如果用户按word mode读取点阵数据,请注意高低字节的顺序),排满一行的点后再排下一行.这样把点阵信息用来直接在显示器上按上述规则显示,则将出现对应的汉字.3.1.1 24X24点汉字排列格式24X24 点汉字的信息需要72个字节(BYTE 0 – BYTE 71)来表示.该24X24 点汉字的点阵数据是横置横排的,其具体排列结构如下图:命名规则:最大字符集及字数S:GB2312 6,763汉字M:GB18030 27,484汉字T:GB12345 6,866汉字BIG5 5,401 / 13,060汉字U:Unicode V3.0 27,484汉字。
文件名字批量提取

文件名字批量提取
在日常工作中,我们经常需要处理大量的文件,这时候如果能够批量提取文件名就显得非常方便了。
然而,很多人在操作时往往会遇到一些问题,比如文件名中包含空格、特殊字符或者格式不统一等,导致提取时出现错误。
为了解决这个问题,我们可以使用一些工具或者方法来批量提取文件名。
首先,我们可以使用命令行工具来批量提取文件名。
在Windows 系统中,我们可以使用命令提示符(CMD)或者PowerShell来执行命令。
例如,在命令提示符中输入以下命令:
```shell
dir /b > 文件名列表.txt
```
这个命令将会列出当前目录下的所有文件名,并将它们保存到一个名为“文件名列表.txt”的文本文件中。
如果你想要提取某个文件夹中的文件名,可以将“/b”参数改为“/s”参数,并指定文件夹的路径。
另外,我们也可以使用一些第三方软件来批量提取文件名。
比如“拖把更名器”就是一个非常实用的软件,它不仅可以批量修改文件名,还可以将文件名导出到Excel、CSV等格式的文件中。
使用拖把更名器批量提取文件名的步骤如下:
1. 首先打开拖把更名器软件,并切换到“文件列表”选项卡。
2. 然后单击“添加文件”按钮,选择需要提取文件名的文件夹。
3. 在文件列表中选中所有需要提取文件名的文件,并单击“导出到Excel”按钮。
4. 在弹出的对话框中设置导出的路径和文件名,单击“保存”按钮即可将文件名导出到Excel文件中。
总之,批量提取文件名的方法有很多种,我们可以根据实际需求选择适合自己的方法。
无论使用哪种方法,都需要注意文件名的格式和特殊情况的处理,以免出现错误。
字模提取方法举例详解

1 2 3 4 5 6 7 8 1 2 3 4 5 6 7 8 1 1 2 2 3 3 4 4 5 5 6 6 7 7 8 8 1 1 2 2 3 3 4 4 5 5 6 6 7 7 88逐列式:0x00,0x10,0x04,0x10,0x04,0x90,0xF4,0x5F, 0x54,0x35,0x54,0x15,0x54,0x15,0x5F,0x15, 0x54,0x15,0x54,0x15,0x54,0x35,0xF4,0x5F,0x04,0x90,0x04,0x10,0x00,0x10,0x00,0x00,/*"真",1*/ 逐行式:0x80,0x00,0x80,0x00,0xFE,0x3F ,0x80,0x00, 0xF8,0x0F,0x08,0x08,0xF8,0x0F,0x08,0x08, 0xF8,0x0F,0x08,0x08,0xF8,0x0F ,0x08,0x08,0xFF,0x7F,0x10,0x04,0x08,0x08,0x04,0x10,/*"真",0*/ /* (16 X 16 , 宋体 )*/字模中每一点使用一个二进制位(Bit)表示 字模提取有两种排列方式:逐列式、逐行式 逐列式:即从左端起,每列开头第1个点最后一个点。
逐行式:即从第1列起,每行第1个点到最后一个点。
两种取码方式:阴码、阳码 阴码:亮为1,灭为0 阳码:亮为0,灭为1下面以16*16点阵取“真”字为例,有逐列式和逐行式两段程序,且都为阴码。
程序中是十六进制,在字模提取时转换为二进制,逐列式:从第1列开始,每列16位,且从低位到高位,需2个十六进制数,如第列:0x00,0x10,转二进制:0000 0000;0001 000;对应方格中相应的位。
依次类推24*24点阵取模方法。
字摸提取软件应用

步骤1:双击打开软件,打开界面如图1所示:图1:软件初始界面步骤2:设置字体。
点击“”选项,可打开“参数设置”选项栏,单击“”按钮可对字体、字形、大小等参数进行设置。
如图2、图3所示:图2:“参数设置”选项栏图3:“字体设置”对话框步骤3:设置其他选项。
单击“”按钮,对其他参数进行设置。
其中包括“横向取模或纵向取模、是否保留文字字摸数据的最后一个逗号”等。
如图4所示:图4:“其他参数”设置对话框步骤4:输入文字。
单击“”选项,回到“基本操作”选项栏,单击“”新建图像按钮,程序将自动弹出点阵大小设置对话框,根据硬件进行设置。
(以16×16为例)然后,在“文字输入区”输入要取模的文字。
(以“欢迎”为例)如图5所示:图5:“输入文字”对话框步骤5:生成字摸。
输入文字后按住“Ctrl+Enter”键,文字将自动进入白色区域。
然后,设置取模方式。
点击“”选项打开“取模方式”选项栏,单击“”按钮。
字摸将自动出现在屏幕下方(由于本书采用C语言进行编程,所以选择C51模式)。
如图6、图7所示:图6:输入文字“欢迎”图7:字摸生成最后,“点阵生成区”中的内容即为所要提取的字摸。
/*-- 文字: 欢--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x01,0x00,0x01,0x3F,0x01,0x20,0x3F,0xA0,0x20,0x92,0x10,0x54,0x02,0x28,0x02, 0x08,0x02,0x14,0x05,0x24,0x05,0xA2,0x08,0x81,0x08,0x40,0x10,0x20,0x20,0x10,0x40,/*-- 文字: 迎--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x00,0x04,0x01,0xC8,0x3C,0x48,0x24,0x40,0x24,0x40,0x24,0x4F,0x24,0x48,0x24,0x48,0x24,0x48,0x2D,0xC8,0x14,0x48,0x04,0x08,0x04,0x14,0x04,0xE2,0x7F,0x00,0x00,。
取模软件

12.旋转,翻转,平移等字符模式下的功能也可用与对BMP图象的处理
版本为pctolcd1.94
5月1日晚上发布第二测试版
更新如下:
1.增加锁定点阵大小功能,例如可锁定24X24点阵大小,然后调节独立调节字点阵的大小
5。加入新的字模数据格式调整项,允许用户更自由的定制自己需要的数据格式
6。最重要的更新:全面支持保存当前设置功能,用户设置的字模格式,主窗口状态和字库生成窗口选项信息均可保存,下一次打开窗口时不用重新设置。
7。修正了新建图象时会自动跳到图形模式的BUG
8。增加输出紧凑格式数据选项,可以生成不包含空白行的字模数据。
字节……)
7.支持阴码(亮点为1),阳码(亮点为0)取模
8.支持纵向(第一位为低位)(,倒向第一位为高位)取模
9.输出数制可选16进制或10进制
10.可生成索引文件,用于在生成的大量字库中可快速检索到需要的汉字
11.动态液晶面板彷真,可调节彷真面板象素点大小和颜色
更新说明:
1。界面采用新的字体,不会再有那种难看的黑色粗体字,比以前的要漂亮多了。
2。加入全面的提示帮助,尽量减少普通用户的各种疑惑。
3。修正生成文件的扩展名的一些BUG,不会总是加上FON的扩展名了。
4。修正生成字模数据的一些格式BUG,现在生成的C51格式字模数据基本上可以直接粘贴到源程序中使用而不需要修改了
定义出新的数据输出格式;每行输出数据个数可调。
6.支持四种取模方式:逐行(就是横向逐行取点),逐列(纵向逐列取点),行列(先
横向取第一行的8个点),
列行(先纵向取第一列的前8个点作为第一个字节,然后横向取第二列的前8个点作为第二个
LCD使用方法

LCD使⽤⽅法LCD12864图形点阵液晶显⽰模块使⽤说明书----------------------------------------------------------------------------------------⼀、LCD12864液晶显⽰模块概述lcd12864液晶显⽰模块是128×64点阵型液晶显⽰模块,可显⽰各种字符及图形,可与CPU直接接⼝,具有8位标准数据总线、6条控制线及电源线。
采⽤KS0108控制IC。
⼆、外形尺⼨图(略)三、最⼤⼯作范围1、逻辑⼯作电压(Vcc):4.5~5.5V(12864-3、12864-5可使⽤3V供电)2、电源地(GND):0V3、⼯作温度(Ta):0~55℃(常温) / -20~70℃(宽温)4、保存温度(Tstg):-30~80℃四、电⽓特性(测试条件 Ta=25,Vdd=5.0+/-0.25V)1、输⼊⾼电平(Vih):3.5Vmin2、输⼊低电平(Vil):0.55Vmax3、输出⾼电平(Voh):3.75Vmin4、输出低电平(Vol): 1.0Vmax5、⼯作电流:5.0mAmax (注:不开背光的情况下)五、接⼝说明1.12864-1,12864-2,12864-5接⼝说明表管脚号管脚⽅向说明1 VSS - 逻辑电源地。
2 VDD - 逻辑电源+5V。
3 V0 I LCD调整电压,应⽤时接10K电位器可调端4 RS I 数据\指令选择:⾼电平:数据D0-D7将送⼊显⽰RAM;低电平:数据D0-D7将送⼊指令寄存器执⾏。
5 R/W I 读\写选择:⾼电平:读数据;低电平:写数据。
6 E I 读写使能,⾼电平有效,下降沿锁定数据。
7 DB0I/O数据输⼊输出引脚。
8 DB1I/O数据输⼊输出引脚。
9 DB2I/O数据输⼊输出引脚。
10 DB3I/O数据输⼊输出引脚。
11 DB4I/O数据输⼊输出引脚。
12 DB5I/O数据输⼊输出引脚。
1.STM32取字模软件的使用

1.STM32取字模软件的使⽤关于取字模软件的使⽤1.24*24 指屏幕是24*24个点2.通过这⾥可以改变在LCD上显⽰字体⼤⼩3.在这⾥输⼊你想在LCD上显⽰的字然后点击⽣成字模,得到⼀些16进制的代码,但在点击⽣成字模之前,还有重要的设置步骤:1.点击,进⼊在这⾥注意以下⼏点在(1)“⾃定义格式”那⾥选择“C51格式”如果选择了A51,⽣成的字模代码是汇编格式的(2)在这⾥我们选择点阵72和索引8 主要是为了写程序⽅便⽐如const u8 font[1][72]={{0x00,0x00,0x00,0x00,0x40,0x00,0x00,0x61,0x8C,0x01,0xE3,0x88,0x06,0x45,0x10,0x1C,0x49,0x10,0x30,0x71,0x12,0x00,0x61,0x24,0x01,0x81,0x28,0x03,0x02,0x30,0x08,0x00,0x22,0x08,0x01,0xC2,0x0F,0xFF,0x04,0x0F,0xF8,0x04,0x08,0x06,0x08,0x08,0x01,0x90,0x08,0x60,0x60,0x0B,0xA0,0xF0,0x0E,0x23,0x98,0x18,0x3E,0x0C,0x00,0x70,0x06,0x00,0x00,0x04,0x00,0x00,0x0 4,0x00,0x00,0x00},/*"级",1*/在计算机⼀个汉字占两个字节,英⽂数字占1个字节当我们选择的是字⾼和字宽是24*24时,共有576个点,我们⽤16进制来表⽰8个点,也就是每个位代表⼀个点,当这个点是有颜⾊时,该位为1,否则为0. 所以我们总共有576/8=72个,72也就是数组的长度,所以调⽤起来很⽅便。
(3)我们选这种显⽰⽅式,意思是显⽰⼀串字体时,显⽰的顺序是从左到右,先是y轴填满,再到x轴,向右偏移4.改变字体的⼤⼩当我们在取字模软件中把字⾼和字宽设置为32*32时,经计算32*32=1024,1024/8=128 所以要把数组长度改为128。
LCD5110字模提取软件PCtoLCD2002使用指南

PCtoLCD2002作为LCD5110字模提取软件的使用方法Yuan 坤2012.8.28LCD5110简述:5110使用PCD8544进行控制。
5110每行有84列点阵,通过一个十六进制数据来控制每列的8个点阵的亮灭;5110共有6行。
5110在默认情况下使用的是水平扫描模式,如图2中,0、1、2、3……代表的是第几列,控制器扫描完第0列后,水平向右扫描,即扫描第1列,之后第2列……图2举个显示“P ”的例子,注意其数据的写入值:左边为最高位D7……图3由图3可以看出,要显示“P ”,首先写入0x1f ,则第一列显示一个竖杠,之后控制器自动水平右移到下一列,再写入0x05,则出现两个小横杆,这个两个横杆就是0x05中00000101中两个1所处的位置,写完第二列后,控制器自动跳到第三列,再写入0x07,第四列写入0x00后,P 就显示出来了。
端显示一个小点,你也得控制写入一个8位的二进制数置设置好,即写入0x01。
即你不能一次性控制一个点阵,只能一介绍部分,这些部分设置之后是不用再改的:图4图6由图5和图6总结软件的设置:1.主界面中的“字宽”与“字高”的设置才是真正对显示到液晶屏上的字体的大小的设置。
2.对话框中“点阵”的值会对字模的编码产生影响。
因为5110是从第一列水平向右写入数据,取模时也是从左往右的那样的取,所以就拿一个16*16的汉字来讲,将汉字的上半截16列数据,可以分成很多份,而点阵=字宽/份数即16*16的汉字,字宽为16,若将其分为两份,则每份存8列的数据若将其分为一份,则每份存16列的数据例“元”字宽16字高16:点阵=8{0xDF,0xDF,0xDD,0xDD,0xDD,0x1D,0xDD,0xDD },{0xDD,0x1D,0xDD,0xDD,0xDD,0xDF,0xDF,0xFF },{0x7F,0xBF,0xDF,0xEF,0xF3,0xFC,0xFF,0xFF },{0xFF,0xC0,0xBF,0xBF,0xBF,0xBF,0x87,0xFF }点阵=16{0xDF,0xDF,0xDD,0xDD,0xDD,0x1D,0xDD,0xDD,0xDD,0x1D,0xDD,0xDD,0xDD,0xDF,0xDF,0xFF },{0x7F,0xBF,0xDF,0xEF,0xF3,0xFC,0xFF,0xFF,0xFF,0xC0,0xBF,0xBF,0xBF,0xBF,0x87,0xFF },可以出,点阵8和点阵16的数据是完全一样的,只不过就是这个二维数组中的每个一维的数据位数不同罢了。
C51多汉字显示(16x16点阵)

1 采用自编的软件 2 专用的C程序 3 专用的字模软件
系统可以逐个显示多个汉字 系统可以左移显示多个汉字 系统可以上移显示多个汉字
列触发方式采用低电平(0)触发,行触发方式采用高电平(1) 触发 当某点所处的行为1,列为0的时候,该点被点亮
行 列 16 15 14 13 12 11 10 9 8 7 6 5 16 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 4 3 2 1
void clrscr() { //行驱动低无效 RowLow=(unsigned char)0x00; RowHigh=(unsigned char)0x00; //列驱动高无效 ColLow=(unsigned char)0xff; ColHigh=(unsigned char)0xff; } void lockdisplay() { //行驱动低无效 RowLow=(unsigned char)0x00; RowHigh=(unsigned char)0x00; }
列(一次2个字节)的输入是字模数据,左边字节取 反放入高位字节,右边字节取反放入低位字节 行(一次2个字节)的输入是行选通数据,它与汉字 字模的对应关系是从上到下为
0x8000,0x4000,0x2000,0x1000,0x0800,0x0400,0x0200,0x0100,0x0080,0x0 040,0x0020,0x0010,0x0008,0x0004,0x0002,0x0001
E1 E2 E3
Q0 Q1 Q2 Q3 Q4 Q5 Q6 Q7
A0 A1
74LS138
A B C Y3 Y2 Y1 Y0 Y4 Y5 Y6 Y7
字模软件使用方法

字模软件如何使用现在以显示武汉谷鑫科技为例:1.点击基本操作---新建图像(可以选择字体的大小,现在选择16*16点阵宋体)2.在文字输入框输入“武汉谷鑫科技”,直接右键点击可以选择字体,字号,按CTRL+ENTER还可以直接在参数设置栏改变这个字体字号,3.选择取模方式,现在以C51格式为例,点击点阵生成区,选择C51格式。
4.在对应的文档区域,可看到生成的字摸代码,该代码可以直接复制到程序中。
显示“武汉谷鑫科技”的代码为:/*-- 文字: 武--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x00,0x40,0x00,0x50,0x3F,0x48,0x00,0x40,0xFF,0xFE,0x00,0x40,0x04,0x40,0x04,0x20, 0x27,0xA0,0x24,0x20,0x24,0x20,0x24,0x10,0x27,0x12,0x38,0x0A,0xE0,0x06,0x00,0x02/*-- 文字: 汉--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x20,0x00,0x10,0x00,0x17,0xFC,0x02,0x08,0x82,0x08,0x49,0x10,0x49,0x10,0x11,0x10, 0x10,0xA0,0x20,0xA0,0xE0,0x40,0x20,0xA0,0x21,0x18,0x26,0x0E,0x28,0x04,0x00,0x00/*-- 文字: 谷--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x08,0x40,0x0C,0x20,0x19,0x18,0x21,0x08,0x41,0x00,0x02,0x80,0x04,0x40,0x08,0x20, 0x10,0x18,0x2F,0xF6,0xC8,0x14,0x08,0x10,0x08,0x10,0x0F,0xF0,0x08,0x10,0x00,0x00/*-- 文字: 鑫--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x03,0x00,0x04,0x80,0x08,0x60,0x37,0x9C,0xC1,0x00,0x07,0xC0,0x09,0x20,0x3F,0xFC, 0x10,0x20,0x28,0x50,0x7E,0xF8,0x89,0x26,0x3C,0xF0,0x2A,0xA8,0x1E,0x70,0x71,0xFE/*-- 文字: 科--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x06,0x08,0x78,0x88,0x08,0x48,0x08,0x48,0xFE,0x08,0x18,0x88,0x1C,0x48,0x2A,0x48,0x28,0x0E,0x48,0x78,0x8B,0x88,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08,0x08/*-- 文字: 技--*//*-- 宋体12; 此字体下对应的点阵为:宽x高=16x16 --*/0x10,0x20,0x10,0x20,0x10,0x20,0xFD,0xFE,0x10,0x20,0x14,0x20,0x19,0xFC,0x31,0x08, 0xD0,0x88,0x10,0x90,0x10,0x60,0x10,0x60,0x10,0x90,0x11,0x0E,0x56,0x04,0x20,0x00。
基于C51单片机的ATM240128 液晶说明

A TM240128使用说明1.引脚说明注:9 res L 复位信号10—17 data 数据18 FS H/L 字体选择19 VOUT 0V LCD电源输出端20 A5V 背光电源正21 K 0V 背光电源负2.接线本说明书引脚及程序部分是根据SCH240128.PDF编写的,但其中的引脚说明(9号)和本实验用到的引脚稍有区别,请大家仔细连接。
电位器用来调节亮度根据引脚说明和程序内引脚定义接线,其中VDD,VO,VOUT,VSS按照下图接线3.程序该LCD采用东芝公司的T6963控制器,程序前几句的未定义即为各个引脚的连接信息,如图:⑴显示图像关键字:图像取模,bmp,240*128软件名称:字模提取V2.1 该软件非常简单,根据选项输入和修改图像即可注:在本实验中汉字的字模提取用另外一个软件,该软件不适合实验中所写的程序方法:在程序中打开一幅BMP位图图像,选取合适的尺寸,选择“修改图像“进行修改,将分辨率调整为液晶的分辨率:240*128图像生成的编码保存在程序的sch[ ]数组中,要改变图像,只需将新图像的编码导入该数组与用户有关的图像操作函数no_parameter(0x98);//TEXT OFF ,GRAPHIC ON(图像模式)void display_map(unsigned char *p) P为图像数组名(2)显示字符关键字:字符模式,ascii码,字符坐标与显示字符有关的函数:no_parameter(0x94)字符模式; all_display(0,0x00); disptext();其中,disptext()为试验程序,显示hello world,各位可以根据自己的需要对其进行更改,只要把其内部的函数display_ascii(&test+i,hang,lie)写入不同for语句中,就可以产生不同的文字效果;(3)显示汉字汉字看似很麻烦,其实也不是很难,只要把程序理顺的就大概明白了,多说几句关于在240*128分辨率下汉字的显示问题关键字:字模软件取模顺序汉字索引表相关程序首先,字模软件不能用转化图像的软件,因为它的取模顺序与程序所编写的读汉字编码顺序不同,如下程序段的注释,汉字读取顺序为左上右上,左下右下,而地址偏移为+0,+2,+1,+3,说明取模软件的取模顺序为ACBD(观察上面的截图便知分晓)void displayHZ_at_xyaddr(unsigned char addr,unsigned char hang,unsigned char lie){unsigned int temp;unsigned char low;unsigned char high;temp=(size_lie/8)*2*(hang-1)+2*(lie-1);//T EXT 模式下,T EXT 区域被分为size_hang/8 行、size_lie/8 列个8X8 点阵//行地址为0-(size_hang/8-1),列地址0 -(size_lie/8-1)//注意,本程序的hang 和 lie 都是从1 开始的,并且是16X16 的low=temp&0x00ff;high=(temp>>8)&0x00ff;double_byte_parameter(low,high,0x24);no_parameter(0xb0);check_sta3();wdata(addr);//左上check_sta3();wdata(addr+2);//右上check_sta3();wcom(0xb2);temp=(size_lie/8)*2*(hang-1)+(size_lie/8)+2*(lie-1);// 下半部分比上半部分的地址多(size_lie/8)low=temp&0x00ff;high=(temp>>8)&0x00ff;double_byte_parameter(low,high,0x24);no_parameter(0xb0);check_sta3();wdata(addr+1);check_sta3();check_sta3();wcom(0xb2);}第二,汉字编码的数组为CGTAB[1024],可存储32个即1024byte的字,本程序只有十八个字。
如何将文字或图形转成LCD上使用的C51字模数据

这一讲说说如何用取模软件将图形转成数据吧,有很多人反复问我这个问题,我就再罗嗦下吧!取字模的软件有很多款。
有的只能将文字转成字模数据,有的既可将文本文字转字模也能将图片转成点阵数据。
在这里我就介绍一款使用简单易用的,它能将文字或图形转成我们LCD模块使用的C51数据,其它的软件也大同小异。
界面很简单,左边是各种功能和设置修改栏,右边上半部分是显示你所工作的点阵图,右下部分是文字输入框和点阵数据查看框。
我们用它主要是想让它将文字或图形转成我们在LCD12864上显示的点阵数据。
所有我们就讲讲如何将文字和图形转成点阵数据。
点击左边功能栏里的“参数设置”,再点击“文字输入区字体选择”如下图。
我们选宋体,小五号字。
小五号字就是12X12的点阵。
然后在文字输入框里输入你想要转为字模的文字。
例如“你好”然后按住“CTRL”键的同时按“Enter”键。
文字就显示在左上部分的点阵图上了。
如下图:如果觉得字形不好看你还可以用鼠标在点阵图上修改,点左键画点,点右键擦除。
下面就要进行点阵的转换了。
在转换之前首先要弄清几个问题。
1、数据字节与点阵的关系我们的LCD12864是黑白显示的,没有灰度级。
也就是说任意一个点只有两种状态,要么是白(不显示),要么是黑(黑色显示)。
那么只要一位的数据就能表示出一个点,即0或1。
那么一个字节的数据就能表示LCD屏上的8个点。
所以一般LCD屏的宽和高的总点数都是8的倍数。
例如128X64。
2、LCD屏上每个字节点的排列顺序上面讲过一个字节的数据可以表示LCD上的8个点。
也就是说将一个字节的数据送到LCD模块,它就能相应地显示8个点,但这8个点是如何排列的呢?不同的LCD模块对每字节8个点的排列是不同的。
在LCD模块的产品说明书上会告诉你它的排列方式。
例如,我前面讲的那种采用KS0108控制器的并口LCD12864,它的每字节点阵排列方式是竖(纵)向排列的。
而我这篇前面讲的串行LCD12864采用ST7920控制器的模块就是按每字节横向排列的。
点阵LCD取模软件使用说明

点阵LCD显示信息的取模
自由软件zimo221是个比较好用的点阵液晶取模软件(有需要的读者可以从网上下载),本节重点介绍使用该软件的使用方法。
第一步:打开zimo221.exe进入图x.1的主界面;
图x.1
第二步:取摸参数配置。
点击左下侧的“参数配置”按钮,再点击“其他选项”,弹出配置对话框后,按图x.2进行设置后确定保存;
第三步:取摸字体配置。
点击左下侧的“参数配置”按钮,再点击“文字输入区字体选择”会弹出相应配置对话框后,根据需要进行配置后确定保存;
第四步:输入字符。
在文字输入区输入一个待取输入待去字模的汉字或字符,然后按“Ctrl+Enter”组合键结束输入;
第五步:获取字模。
点击左侧的“取摸方式”按钮,再点击“C51 格式”或“A51 格式”,即可在点阵生成区生成相应的字模。
1
更多资料请登陆本站主要探讨A VR、51、及Freescale8位单片机。
提供常用电
图x.2
更多资料请登陆 本站主要探讨A VR 、51、及Freescale8位单片机。
提供常用电2。
汉字字模点阵数据批量生成工具操作手册

汉字字模点阵数据批量生成工具操作手册软件功能简介:汉字字模点阵数据批量生成工具3.1版支持 1024x1024以内的任意点阵汉字支持汉字所有Windows字体设置支持汉字大小调整支持汉字位置调整支持单个汉字字模生成支持海量汉字批量字模生成支持按汉语拼音排序支持横扫纵扫两种扫描方式生成数据支持 4-32bit多种数据长度分组选择支持字模数据取反支持汉语拼音自动命名C语言数组格式支持汉语拼音自动命名汇编语言标号DB表格式支持 24位黑白图片Logo图片点阵数据生成集成汉字自动识别功能,清除非汉字字符,提取汉字功能适合用于产生点阵LED大屏幕、LCD液晶汉字字模,可用作开发辅助工具,得到精减汉字库,节约有限的ROM空间资源。
也可用作带点阵LCD显示系统的汉化工具或其它需要汉字点阵数据的地方。
安装说明:1.安装与运行环境1)、奔腾133M以上的CPU。
2)、32M以上的内存。
3)、简体中文 Windows 98/NT/2000/XP/2003 操作系统。
4)、在使用本软件之前必须安装微软拼音输入法(在Office2k的安装盘MSIME文件夹里可以找到微软拼音输入法的安装文件)。
5)、用户必须以管理员登录PC操作系统,程序必须运行在管理员权限下。
2.安装说明1)、运行汉字字模点阵数据批量生成工具安装程序.exe。
2)、选中我接受许可证协议中的条款(如果您觉得许可证协议条款内容不太合理,可以不接受,并退出安装程序)。
3)、单击下一步,进入下一个安装画面,输入用户名及公司名称。
4)、单击下一步,进入下一个安装画面,在这里直接单击下一步将把程序安装在默认路径下。
单击更改按钮更改安装路径。
5)、继续单击下一步,进入下一个安装画面,单击安装按钮进行软件的安装。
6)、单击完成按钮完成安装。
使用说明:1.得到精减字库在程序上方工具条上有一个横的长文本输入框,用户可以手工把需要的汉字输入,输入的汉字会自动添加到右边字库集文本框。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
C51批量字模提取工具帮助文档:
1、文字的转换
软件打开后在字符输入框里面输入想要转换的汉字就可以进行批量转换(1.1版本中由原来的20个汉字减少为19个)
点击开始转换或者回车键即可看到效果,输出结果在下方。
默认转换为16*16点阵字体。
按复制结果(ALT+C)即可快速复制。
1文字的转换
2文字方向
2、文字的方向
点击文字方向中的任意方向,软件即会转换出对应翻转文字的结果,如图2所示
3、读取顺序选择
根据不同单片机和不同的写程序习惯,这里提供读取顺序选择,当然,根据不同的顺序选择也可以制造出反字等效果。
大家可以自行学习研究。
4、字符反白
制作LCD菜单时经常使用的功能哦,操作很简单。
在转换之前或转换完成以后,点击字符反白,则当前的图片变成反白状,或所有字重新转换成反白字。
效果如图3:
图3 文字反白
5、字体点阵大小选择
每次文字转换之前都可以进行点阵选择,选择适当的字体大小。
12点阵比较节省空间以下为12点阵的介绍。
点击12中英之后,点击开始转换,则结果就出来了。
如图4所示
图4 12点阵测试
6、半角字符的使用
在字符输入框中输入一个半角字符,或清空字符框之后点击16*8,即可切换至半角字符模式。
(12点阵的直接输入半角字符即可,软件会自动识别)
此模式必须每个英文字母单独转换,切勿一起打进去。
后面有介绍英文字母数字的批量操作。
图5 半角字符
7、自定义绘图
在任何时候可以使用鼠标在绘图板中进行绘图,知道满意之后,点击开始转换(回车),即可得到结果,此时也可以进行反白操作哦!
8、半角字符的批量处理操作
因为软件不支持英文混排,此时便可以使用捕获到文件操作进行批处理。
点击捕获到文件,保存到随意的一个路径之后,我们之后进行的所有转换操作软件都会进行记录。
此时您可以按照这个顺序输入a回车b回车c回车d回车e回车f回车g回车等等,直到所有想要的半角字符转换完成,在次点击捕获到文件,以停止捕获,此时可以根据提示查看文件,也可以按快捷键(CTRL+O)查看内容。
右键点击捕获到文件可以删除临时文件,避免垃圾文件产生。
如图7、8、9所示:
图7 保存文件路径选择
图8、查看文件
图9、保存的文件
9、高级选项
选项中提供了画板色盘颜色选择,字体选择和风格选择。
其中风格选择前后缀就是在每一组数字的前后增加的修饰,以减少后期的处理量。
默认为笔者常用的51单片机的书写格式。
大写x就是指0x00中x的大小写,无影响,推荐不选;自动补零是0x04不写成0x4,这里推荐选中。
软件更新信息请访问:/reshurl
如果对软件的使用有任何问题请留言,如有任何意见和建议请访问我的个人博客
/reshurl。