字模提取软件的使用(pctolCD2002,基于FPGA的VGA显示汉字)

  1. 字模软件http://pan.baidu.com/s/1kVHrjL1(有问题的留言)
  2. 设置参数
    参数设置
    选择逐行式(指的是一个字模,按行计数)
    取模方向:顺向,高位在前
    本人取得字模是基于FPGA的VGA显示,而virilog hdl语言的数组是高位在前 ,符合其语法规则,如 reg [120:0]
    输出数制:16进制,(h),一个16进制相当于4位二进制如3aH=0010_1010,其中1表示该出有像素点,0表示没有像素点。
  3. 举例说明
    输入文字
    下方的编辑框里输入想显示的字符,点击生成字符如下:
    你(0) 好(1)
    DB 08H 80H 08H 80H 08H 80H 11H FEH 11H 02H 32H 04H 34H 20H 50H 20H 91H 28H 11H 24H 12H 24H 12H 22H;
    DB 14H 22H 10H 20H 10H A0H 10H 40H;”你”,0

DB 10H 00H 10H FCH 10H 04H 10H 08H FCH 10H 24H 20H 24H 20H 25H FEH 24H 20H 48H 20H 28H 20H 10H 20H;
DB 28H 20H 44H 20H 84H A0H 00H 40H;”好”,1
“你”的第一行:为08H80H,对应的二进制:0000_1000_1000_0000
“好”的第一行:为10H00H,对应的二进制:0001_0000_0000_0000
则在VGA上显示的第一行为 parameter line00=08801000;
下面的15行如上这样定义。
4. 应用代码说明
部分显示代码如下 (Verilog hdl)
reg[8:0] char_bit;
always@(posedge CLK_to_DAC)
if(X==10’d50)char_bit<=9’d500; //当显示到144像素时准备开始输出图像数据
else if(X>10’d50&&X<10’d550) //左边距屏幕144像素到416像素时 416=144+272(图像宽度)
char_bit<=char_bit-1’b1; //倒着输出图像信息
reg[29:0] vga_rgb; //定义颜色缓存
always@(posedge CLK_to_DAC)
if(X>10’d50) //X控制图像的横向显示边界:左边距屏幕左边144像素 右边界距屏幕左边界416像素
begin case(Y) //Y控制图像的纵向显示边界:从距离屏幕顶部160像素开始显示第一行数据
10’d0:
if(char_line000[char_bit])vga_rgb<=30’b0000000000_1111111111_0000000000; //如果该行有数据 则颜色为绿色
else vga_rgb<=30’b0000000000_0000000000_0000000000; //否则为白色
10’d1:
if(char_line001[char_bit])vga_rgb<=30’b0000000000_1111111111_0000000000; //如果该行有数据 则颜色为绿色
else vga_rgb<=30’b0000000000_0000000000_0000000000;

定义如下:
reg[499:0]
char_line20=500’h0000000000000000000000,
char_line21=500’h0000000000000000000000,
char_line22=500’h0000000000000000000000,
char_line23=500’h3FFC3E007CC7FCE7FE0000,
char_line24=500’h4242420010624242920000,
char_line25=500’h4242420010624242100000,
char_line26=500’h8042800010524242100000,
char_line27=500’h807C800010524242100000,

补充代码:
如何让文字左右滚动起来
方法:移位
always@(posedge VGA_VS or negedge KEY[0])begin
char_line000<={char_line000[499:0],char_line000[0]};
char_line001<=char_line001<<1;
char_line002<=char_line002<<1;
char_line003<=char_line003<<1;
char_line004<=char_line004<<1;
char_line005<=char_line005<<1;
char_line006<=char_line006<<1;
char_line007<=char_line007<<1;
char_line008<=char_line008<<1;
char_line009<=char_line009<<1;
char_line00a<=char_line00a<<1;
char_line00b<=char_line00b<<1;
char_line00c<=char_line00c<<1;
char_line00d<=char_line00d<<1;
char_line00e<=char_line00e<<1;
char_line00f<=char_line00f<<1;
char_line010<=char_line010<<1;
char_line011<=char_line011<<1;
char_line012<=char_line012<<1;
char_line013<=char_line013<<1;
char_line014<=char_line014<<1;
char_line015<=char_line015<<1;
char_line016<=char_line016<<1;
char_line017<=char_line017<<1;

end
可以通过KEY[0],加上初始化的信息,便于控制。

  • 15
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
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询问

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值