请教如何用C语言读取汉字点阵字模,单片机为C51

cranes_u   2009-3-9 22:20 楼主
汉字字模如下:

0x01,0xF0,0x21,0x10,0x11,0x10,0x11,0x10,//0"设",
0x01,0x10,0x02,0x0E,0xF4,0x00,0x13,0xF8,
0x11,0x08,0x11,0x10,0x10,0x90,0x10,0xA0,
0x14,0x40,0x18,0xB0,0x13,0x0E,0x0C,0x04,

0x02,0x00,0x01,0x00,0x7F,0xFE,0x40,0x02,//1"定",
0x80,0x24,0x1F,0xF0,0x01,0x00,0x01,0x00,
0x11,0x20,0x11,0xF0,0x11,0x00,0x11,0x00,
0x11,0x00,0x29,0x06,0x47,0xFC,0x80,0x00

0x02,0x00,0x01,0x00,0x7F,0xFE,0x48,0x02,//2"实",
0x86,0x84,0x02,0x80,0x10,0x80,0x0C,0x80,
0x04,0x84,0xFF,0xFE,0x01,0x00,0x01,0x40,
0x02,0x20,0x04,0x10,0x18,0x0C,0x60,0x04,

0x00,0x08,0x7D,0xFC,0x44,0x00,0x48,0x00,//3"际",
0x48,0x00,0x50,0x04,0x4B,0xFE,0x48,0x20,
0x44,0x20,0x44,0xA8,0x44,0xA4,0x69,0x22,
0x52,0x22,0x40,0x20,0x40,0xA0,0x40,0x40,

在网上下载了一些代码测试,仍无法正常显示,请问谁有这方面的C语言原代码,最好是亲自测试通过的,谢谢!

回复评论 (14)

字模数据可以以数组形式保存,读取,不过关键不在这里。

字模是针对显示来说的,你的屏跟这个配套吗?

源代码除非不是自己做的,一般都不会无偿提供的。
点赞  2009-3-10 09:49
帮顶.
点赞  2009-3-10 12:35
字模应该是没错的,你可以自己去下个取模软件去取字模,单片机的软件不是windows软件,你的硬件跟人家不一样怎么能用,把人家的看懂再改一下,你也不说是什么屏,光看这个字模能看出什么。
点赞  2009-3-10 14:30
sorry, 液晶屏是1602
LCD引脚号     引脚功能           程序中对应的单片机引脚
1               GND                (接电源GND)
2               VCC                (接电源VCC)
3               VL                  
4                 RS   -  >  P1.2     
5                 RW  -  >  P1.1
6                 E    -  >  P1.0
7                 D0   - 〉  P2.0
8                 D1   - 〉  P2.1
9                 D2   - 〉  P2.2
10                D3   - 〉  P2.3
11                D4   - 〉  P2.4
12                D5   - 〉  P2.5
13                D6   - 〉  P2.6
14                D7   - 〉  P2.7
15              BLA                 (接电源VCC)
16              BLK                 (接电源GND)
点赞  2009-3-10 14:42
字模必须根据液晶型号来做,否则地址不正确就无法正常显示。
点赞  2009-3-10 15:12
你所谓的“显示不正常”是什么状态?什么都不显示?还是显示了但是不是希望的东西?
lcd现在能正常显示非汉字吗?
点赞  2009-3-10 16:33
1602 只能显示ASSI字符大哥
点赞  2009-3-10 16:39
楼上正确,1602只能显示ASCII字符。
显示汉字需要12832之类的点阵液晶。
显示汉字可以用ST7920的带汉字字库的液晶模块。
点赞  2009-3-10 16:42
mark,1602只能显示ASCII字符,up
那外接一个字库芯片不行吗?
点赞  2009-3-10 17:11
不一定要用带汉字库的显示,如果你要显示的汉字不多,也可以找个取模软件自己写,

好像有的LCD分左右两块,左右两块的地址都是从0开始,所以要注意究竟是在写哪块

如果你没看明白数据手册上的地址从什么地方开始,则可以先写一个字到你觉得可能的地址,等你看到显示的时候,很容易就明白它的地址是如何计算的了
点赞  2009-3-10 17:29
我知道这款液晶本身没有中文字符的,不过可以根据字模点阵的方法实现中文显示。
我现在就是想通过单片机读取字模数据的,字模数组的定义如下:

unsigned char code DefHz[]=
{
0x01,0xF0,0x21,0x10,0x11,0x10,0x11,0x10,//0"设",
0x01,0x10,0x02,0x0E,0xF4,0x00,0x13,0xF8,
0x11,0x08,0x11,0x10,0x10,0x90,0x10,0xA0,
0x14,0x40,0x18,0xB0,0x13,0x0E,0x0C,0x04,

0x02,0x00,0x01,0x00,0x7F,0xFE,0x40,0x02,//1"定",
0x80,0x24,0x1F,0xF0,0x01,0x00,0x01,0x00,
0x11,0x20,0x11,0xF0,0x11,0x00,0x11,0x00,
0x11,0x00,0x29,0x06,0x47,0xFC,0x80,0x00

0x02,0x00,0x01,0x00,0x7F,0xFE,0x48,0x02,//2"实",
0x86,0x84,0x02,0x80,0x10,0x80,0x0C,0x80,
0x04,0x84,0xFF,0xFE,0x01,0x00,0x01,0x40,
0x02,0x20,0x04,0x10,0x18,0x0C,0x60,0x04,

0x00,0x08,0x7D,0xFC,0x44,0x00,0x48,0x00,//3"际",
0x48,0x00,0x50,0x04,0x4B,0xFE,0x48,0x20,
0x44,0x20,0x44,0xA8,0x44,0xA4,0x69,0x22,
0x52,0x22,0x40,0x20,0x40,0xA0,0x40,0x40,
}
点赞  2009-3-10 18:04
这两天也在看相关的资料,也试过一下C51的C代码,但就是编译不通过。
点赞  2009-3-10 18:08
虽然没有得到答案,不过还是谢谢大家的支持与帮助。
结账啦,
1602的中文与图案显示方法有兴趣的朋友可以参考以下网址:http://www.neoic.cn/bbs/read-htm-tid-1840.html
点赞  2009-3-11 15:59
先搞清楚硬件状况。
不然给你源码也没用。没有太多东西会这么通用。

做过12232
强者为尊,弱者,死无葬身之地
点赞  2011-12-10 10:01
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复