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

JacksonLiang 2009-03-09 10:20:52
汉字字模如下:

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语言原代码,最好是亲自测试通过的,谢谢!
...全文
881 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
JacksonLiang 2009-03-11
  • 打赏
  • 举报
回复 1
虽然没有得到答案,不过还是谢谢大家的支持与帮助。
结账啦,
1602的中文与图案显示方法有兴趣的朋友可以参考以下网址:http://www.neoic.cn/bbs/read-htm-tid-1840.html
zhujinqiang 2009-03-10
  • 打赏
  • 举报
回复
帮顶.
shuiyan 2009-03-10
  • 打赏
  • 举报
回复
字模数据可以以数组形式保存,读取,不过关键不在这里。

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

源代码除非不是自己做的,一般都不会无偿提供的。
JacksonLiang 2009-03-10
  • 打赏
  • 举报
回复
这两天也在看相关的资料,也试过一下C51的C代码,但就是编译不通过。
JacksonLiang 2009-03-10
  • 打赏
  • 举报
回复
我知道这款液晶本身没有中文字符的,不过可以根据字模点阵的方法实现中文显示。
我现在就是想通过单片机读取字模数据的,字模数组的定义如下:

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,
}
yuexianhanshu 2009-03-10
  • 打赏
  • 举报
回复
不一定要用带汉字库的显示,如果你要显示的汉字不多,也可以找个取模软件自己写,

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

如果你没看明白数据手册上的地址从什么地方开始,则可以先写一个字到你觉得可能的地址,等你看到显示的时候,很容易就明白它的地址是如何计算的了
ydy8762 2009-03-10
  • 打赏
  • 举报
回复
mark,1602只能显示ASCII字符,up
那外接一个字库芯片不行吗?
azmao 2009-03-10
  • 打赏
  • 举报
回复
楼上正确,1602只能显示ASCII字符。
显示汉字需要12832之类的点阵液晶。
显示汉字可以用ST7920的带汉字字库的液晶模块。
guetcw 2009-03-10
  • 打赏
  • 举报
回复
1602 只能显示ASSI字符大哥
shuiyan 2009-03-10
  • 打赏
  • 举报
回复
你所谓的“显示不正常”是什么状态?什么都不显示?还是显示了但是不是希望的东西?
lcd现在能正常显示非汉字吗?
爪哇鹅 2009-03-10
  • 打赏
  • 举报
回复
字模必须根据液晶型号来做,否则地址不正确就无法正常显示。
JacksonLiang 2009-03-10
  • 打赏
  • 举报
回复
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)
guetcw 2009-03-10
  • 打赏
  • 举报
回复
字模应该是没错的,你可以自己去下个取模软件去取字模,单片机的软件不是windows软件,你的硬件跟人家不一样怎么能用,把人家的看懂再改一下,你也不说是什么屏,光看这个字模能看出什么。

27,374

社区成员

发帖
与我相关
我的任务
社区描述
硬件/嵌入开发 单片机/工控
社区管理员
  • 单片机/工控社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧