如何取大于32字体大小的ASCII字模(PCtoLCD2002)

        这篇文章主要教大家如何取ASCII的字模,以及大于32字体的字模要怎么取,要注意什么,我查了网上大量的资料都是只教了别人取12、16、24、32大小的字模,大于32的都没有介绍,我按照取32大小的方法取48的时候遇到了一些问题,最后我也是解决了成功显示,下面就分享给大家。

        成功显示48大小的字符

cbc734212af44233902d69550d7a4f96.jpeg

        软件下载地址https://pan.baidu.com/s/11vAQ8zX-tf65Dm9gMiKG5Q 
        提取码:waxt

附:ASCII码完整表:注第一个字符为空格,不要遗漏 

 !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`abcdefghijklmnopqrstuvwxyz{|}~
 

    1、打开取模软件

4ee25bc718a141598584a79af568773e.png

        2、左上角模式选择为字符模式

73c16824192a445d82eab890a3139b7f.png

        3、点击选项

b77d6f5483cc44f2a837673aa87b8126.png

        4、设置如下,然后点击确定。

18d17193ddab4de2b7dfb877bfb05e04.png

        5、选择你喜欢的字体,选择字体大小,如果你要取12*12的就选宽12高12,如果你要取16*16的就选宽16高16,后面不同大小的字模也是一样的操作。(大于32的要有多一部的处理,后面后说)

3bce1f40652147839c83e35457474242.png

      6、 然后在输入栏输入ASCII码表,点击生成字模

0b62de7492fc4cc19484b6a30e7387c5.png

        把字模复制到自己的字库文件中就可以了,下面示例是16大小的ASCII字模

15a49b8e953f40aba9b5cf71e2694c10.png

        如果你的字大小大于32,就要注意一个地方,以48大小为例,一个48*24大小的字符占48*24/8=144个字节,而字模软件最大是输出80个,所以大于80时输出会有一点问题需要自己处理。

        下面我取一个大小为48,字符‘1’的字模,软件取出来的字模是这样的

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x38,0x00,0xC0,0x3F,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38},
{0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",0*/
/* (24 X 48 , 宋体 )*/

e37d25c80f0f421d8d707d1272374d22.png

        正常来说一个字符对应一个括号,但是现在出现了两个,这是因为刚刚我们说的最大一个输出是80,所以大于80的就会被分成多组来输出,所以我们要人工把这些多的括号给去掉。修改后如下

{0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x20,0x00,0x00,0x30,0x00,0x00,0x38,0x00,0xC0,0x3F,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,
0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x38,0x00,0x00,0x7C,0x00,0xC0,0xFF,0x07,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00},/*"1",0*/
/* (24 X 48 , 宋体 )*/
        每一个字符都要这样修改才能用
        上面说的都改完后可以还会出现报错,..\Output\led.axf: Error: L6406E: No space in execution regions with .ANY selector matching malloc.o,这是因为你取得字模太多了,单片机内存不足了,需要释放一点不用的内存。
        以上就是所以内容,希望可以帮到大家,如果有错的地方欢迎大家批评指正。

         我最近建了一个嵌入式的QQ交流群,感兴趣的可以进群了解一下,我会在群里分享一些常用的代码封装,以及一些项目的源码。QQ群讨论也是完全开放,只要不打广告大家可以就嵌入式尽情的沟通和交流,大家对文章中的内容有疑问也可以在群中提出,有空会尽我所能给大家一些帮助。QQ群号:643408467

5月1日凌晨发布第一测试版 功能介绍: 1.生成中英文数字混合的字符串的字模数据. 2.可选择字体,大小,并且可独立调整文字的长和宽,生成任意形状的字符。 3.各种旋转,翻转文字功能 4.任意调整输出点阵大小,并任意调整字符在点阵中的位置。 5.字模数据输出可自定义各种格式,系统预设了C语言和汇编语言两种格式,并且可自己 定义出新的数据输出格式;每行输出数据个数可调。 6.支持四种模方式:逐行(就是横向逐行点),逐列(纵向逐列点),行列(先 横向第一行的8个点作为第一个字节,然后纵向第二行的8个点作为第二个字节……), 列行(先纵向第一列的前8个点作为第一个字节,然后横向第二列的前8个点作为第二个 字节……) 7.支持阴码(亮点为1),阳码(亮点为0)模 8.支持纵向(第一位为低位)(,倒向第一位为高位)模 9.输出数制可选16进制或10进制 10.可生成索引文件,用于在生成的大量字库中可快速检索到需要的汉字 11.动态液晶面板彷真,可调节彷真面板象素点大小和颜色 12.图形模式下可任意用鼠标作画,左键画图,右键擦图。 12.旋转,翻转,平移等字符模式下的功能也可用与对BMP图象的处理 版本为pctolcd1.94 5月1日晚上发布第二测试版 更新如下: 1.增加锁定点阵大小功能,例如可锁定24X24点阵大小,然后调节独立调节字点阵的大小 2.增加热键功能,可用光标配合Ctrl,Shift对文字大小和位置修改 3.增加精简输出格式选项 4.把文字输入框换成了文字输入组合框,这样就可以保存历史纪录。 5.输出数据会自动清除以前的数据 6.可隐藏自定义格式,简化操作 7.一些小的BUG修正。 版本为pctolcd2.03 5月3日凌晨发布第三测试版 更新如下: 1.增加了一些小东西,例如演示动画一类的,我懒的一一写了 2.改掉一些可恶的小BUG,例如点阵输入框的自动完成。 3.增加大量文字处理和导入TXT文本文件功能,并且可以去除文本中的空白和重复字符, 可以对文本进行排序,适合于生成小字库。我这里测试是3万多字的TXT文件在2分钟内转成16X16点阵的字库文件。 版本号为pctolcd2.53 由于本软件侧重于对字符的处理,所以在图象方面功能较弱,请见晾。 5月8日发布正式版 正式版已经开始朝着液晶字库生成软件的方向进化了,我在后来的更新中把主要精力也放 在这部分,由于我目前还没有发现有同类的软件具备这个功能,也无法得到任何的参考,只能 自己摸索前进,所以如果还有不方便的地方请大家多提意见. 具体更新如下: 1.重写大部分的内核代码以配合汉字库生成的功能,目前这个内核已经进行了反复的测试, 相信稳定性和速度较前一版本有了巨大的提高. 2.去掉那个比较愚蠢的热键区了,因为用处不大 3.增加汉字库生成功能,这是最重要的改进之处,下文将详细介绍. 4.修正许多小BUG,使软件更加成熟些. 5月12日发布完美版 这次发布的PCtoLCD2002完美版与前一版本相比没有增加太多的功能,因为我觉得现有的这些功能已经足够用于生成各种字模的需要了,所以完美版的主要工作是反复测试,精心去除各种BUG,以及调节一些细微之处,目的当然就是追求完美!不过世上不会有真正完美的东西,这个软件也不例外,而且这个软件从头至尾全部是我一个人编写完成,精力有限,难免会顾此失彼,如果大家发现了这个版本中存在的BUG,请及时告诉我。 更新说明: 1。界面采用新的字体,不会再有那种难看的黑色粗体字,比以前的要漂亮多了。 2。加入全面的提示帮助,尽量减少普通用户的各种疑惑。 3。修正生成文件的扩展名的一些BUG,不会总是加上FON的扩展名了。 4。修正生成字模数据的一些格式BUG,现在生成的C51格式字模数据基本上可以直接粘贴到源程序中使用而不需要修改了 5。加入新的字模数据格式调整项,允许用户更自由的定制自己需要的数据格式 6。最重要的更新:全面支持保存当前设置功能,用户设置的字模格式,主窗口状态和字库生成窗口选项信息均可保存,下一次打开窗口时不用重新设置。 7。修正了新建图象时会自动跳到图形模式的BUG 8。增加输出紧凑格式数据选项,可以生成不包含空白行的字模数据。 9。完善了每行数据显示个数的功能,可以任意设置每行显示的数据个数,并同时可以设置每行索引数据显示个数。 10。修正了模说明的一些错误,并改动了格式。 11。现在当用户选择10进制输出时,会自动去掉生成字模数据前的“0x",或后面的“H”,选择16进制时则会自动加上。 12。对各个窗体重新设计以全面适应最大化的需要,如果您觉得当前窗口不够大,可以最大化使用。 13。增加生成英文点阵字库功能,可自动生成ASCII码从0-127的任意点阵字库,使用方法同生成国标点阵字库功能。 14。再次优化代码,去掉各种调试信息,使程序速度再快一些。 15。还有许多细微的调整我记不清了…… 需要注意的地方: 在测试的过程中我发现了一个问题:在WIN98或WINME下当用户直接生成特大点阵的字模时(例如320*320,1024*768的汉字字模),此时由于数据量非常庞大,而WIN98/WINME会有64K的数据容量限制,所以在主窗口中是无法得到全部的字模数据的,这时您需要使用字库生成功能,通过形成一个数据文件才能得到完整的字模数据。 我认为到现在这个软件功能已经很完善了,但可能使用上有点不方便,如果你有什么不明白 的地方,可以发帖子或发MAIL询问
<think>嗯,用户想了解如何使用PCtoLCD2002工具将字模格式转换为目标格式,特别是以“院”字符为例的教程。首先,我需要回顾之前提供的引用内容,看看有没有相关的信息可以整合。根据引用[2],PCtoLCD2002主要用于汉字和图像模,支持配置文件和示例代码。引用[5]提到在OLED显示中,SSD1306芯片使用页寻址模式,需要将模方式设置为列行式。这可能涉及到软件中的模式设置。用户的问题可能集中在如何调整这些设置来生成正确的字模格式。用户提到了“院”字符的例子,所以需要具体步骤。首先,打开软件,输入字符,设置参数,比如点阵大小、模方向、数据格式等。引用[4]中的sed命令处理生成的数据,可能用户需要了解后续的数据处理步骤,比如删除无用行或格式化数据。但用户主要关注的是PCtoLCD2002本身的操作,所以重点应放在软件配置上。可能用户遇到的常见问题包括数据量不一致(如引用[1]中的16x16字模数据量差异),这可能与模方式有关。例如,汉字和字母的排列方式不同,导致数据量不同。需要解释如何正确设置参数以避免此类问题。此外,引用[3]提到如何生成大于32像素的字模,用户可能需要了解如何调整字体大小。但当前问题更侧重于格式转换,所以可能需要说明不同字体大小下的设置是否一致,或者是否需要特别处理。总结步骤应为:打开软件,输入字符,设置参数(如16x16,列行式,十六进制),生成字模,复制数据到代码中。同时,需要强调模方向和数据格式的重要性,确保与目标硬件兼容,比如SSD1306的页寻址模式需要列行式。可能还需要提醒用户注意数据排列顺序,高位在前或低位在前,这会影响显示效果。最后,生成相关问题,帮助用户深入理解,比如参数影响、数据处理、大字体模等,参考之前的引用内容,确保问题相关且有依据。</think>### 如何用PCtoLCD2002修改字模格式(以“院”字符为例) #### 步骤说明 1. **打开软件并输入字符** - 启动PCtoLCD2002,在文本输入框输入目标字符(如“院”)。 - 点击“生成字模”按钮,默认生成16x16点阵数据[^2][^5]。 2. **配置字模参数** - **点阵大小**:根据硬件需求设置(如16x16或32x32)。若需大于32像素的ASCII字模,需手动调整参数并注意数据对齐问题[^3]。 - **模方向**:针对OLED的SSD1306芯片,需设置为**列行式**(列优先,逐列填充数据)[^5]。 - **数据格式**:选择十六进制或二进制格式。例如,OLED常用十六进制,每字节表示一列8个像素点[^1][^5]。 - **高位在前/低位在前**:根据硬件驱动要求调整(默认高位在前表示顶部像素)。 3. **生成并提取字模数据** - 点击“生成字模”后,数据会显示在右侧窗口。 - 示例“院”字16x16字模(部分数据): ``` 0x00,0x40,0x20,0x18,0x0F,0xE8,0x08,0x08, 0x08,0xF8,0x00,0x00,0xFE,0x02,0x02,0x02 ``` 4. **数据后处理** - 若需脚本处理生成的数据,可用`sed`工具删除无用信息(如注释、空行)[^4]: ```bash sed -i '/(0)/d' output.txt # 删除首行路径描述 sed -i '/^\s*$/d' output.txt # 删除空行 ``` #### 关键配置示例 | 参数 | 推荐值 | 作用 | |------------|------------------|----------------------------------| | 模方向 | 列行式 | 适配SSD1306页寻址模式[^5] | | 数据排列 | 高位在前(MSB) | 控制像素点从顶部开始解析 | | 输出格式 | C语言数组 | 便于嵌入代码直接调用[^1][^2] | #### 注意事项 - **数据量差异问题**:16x16汉字与字母数据量差一倍,因汉字占两列(每列8像素),字母仅占一列[^1]。 - **大尺寸字模**:生成48x48字模时,需手动调整点阵大小,并确保数据对齐与硬件存储兼容[^3]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值