主题 : lcd上怎么显示汉字 复制链接 | 浏览器收藏 | 打印
步步为营
级别: 新手上路
UID: 24745
精华: 0
发帖: 10
金钱: 50 两
威望: 10 点
综合积分: 20 分
注册时间: 2010-07-13
最后登录: 2012-11-13
楼主  发表于: 2010-09-19 20:27

 lcd上怎么显示汉字

这几天一直在弄lcd显示,不过可以划线,画图。去不知道怎么显示汉字!请高手指教!
专注于嵌入式&Linux
级别: 骑士
UID: 12802
精华: 3
发帖: 237
金钱: 1355 两
威望: 271 点
综合积分: 534 分
注册时间: 2010-01-13
最后登录: 2014-03-18
1楼  发表于: 2010-09-19 23:12
会画点么?汉字就是由一个个点组成的。。。
级别: 新手上路
UID: 47150
精华: 0
发帖: 4
金钱: 20 两
威望: 4 点
综合积分: 8 分
注册时间: 2011-05-19
最后登录: 2011-05-19
2楼  发表于: 2011-05-19 17:52
是加入汉字字库,调用画点画线的函数
级别: 新手上路
UID: 39770
精华: 1
发帖: 32
金钱: 220 两
威望: 44 点
综合积分: 84 分
注册时间: 2011-03-12
最后登录: 2014-11-04
3楼  发表于: 2011-05-27 18:37
{
   __X_____,
   _XX_____,
   __X_____,
   __X_____,
   __X_____,
   __X_____,
   _XXX____,
   ________}
上面定义了一个8X8的字符,看出来就是数字1的点阵,每一行是8bit(一个字节)一共8行。假设需要显示的字符处在LCD的(x,y)开始的地方。显示步骤:
(1)取第一个字节,判断次字节的最高位是否为'X',如果是就在当前(x,y)写1,不是则写0;将上面一个字节像左移1位,再判断最高位是否为1,是就在(x+1,y)处画点,以此类推,直到判断玩了这个字节的每一位是否为1,并在LCD上对应的点处写1,或者写0。这样当前光标处在了LCD上(x+7,y)的地方。
(2)取第二个字节,并将光标归位到(x,y+1)即下一行,也顺次判断此字节的每一位是否为1,如果是则在此时的x+i(i为判断字节的第i位)处写1,y不变。
(3)按照上面的步骤写完8个字节,也即使LCD上8行,每一行8个点上写如了0或者1,布局跟上面的字符完全一样,这样数字1就显示到LCD上了,汉字的显示原理相通的。