原文地址:NOKIA5110 LCD使用心得之坐标与字模(多原理少代码版
作者:小桥加加
1.
2.
如果概念掌握不好,就会把字库的方式取错了,写出来了也不是汉字,是乱码了。
下面讨论:
1.
字库分3类
(1)
(2)
(3)
一般应用不建议采用第(1)项来显示数字与字母,一是字体太小,二是不便于和汉字混排,不好对齐。
我们来看看标准的HZK16的存储方式和读取方式,贴一段代码(我亲自在VC6的console建个新工程,加入这些代码编译运行):
//hzk汉字点阵
#include
#include
int
{
unsigned
unsigned
unsigned
char
FILE
int
//每个汉字,占两个字节,
qh
wh
offset
if((HZK=fopen("hzk16.bin",
{
printf("Can't
getchar();
return
}
fseek(HZK,
fread(mat,
fclose(HZK);
//显示
for(i=0;
{
for(j=0;
{
for(k=0;
{
if(mat[i][j]
{//测试为1的位则显示
printf("%c",'.');
}
else
{
printf("%c",'
}
}
}//for(j=0;
printf("n");
}//for(i=0;
getchar();
return
}
原理是这样:
![[转载]NOKIA5110 <wbr>LCD使用心得之坐标与字模(多原理少代码版 [转载]NOKIA5110 <wbr>LCD使用心得之坐标与字模(多原理少代码版](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
HZK16汉字存储方式
运行结果:
![[转载]NOKIA5110 <wbr>LCD使用心得之坐标与字模(多原理少代码版 [转载]NOKIA5110 <wbr>LCD使用心得之坐标与字模(多原理少代码版](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
HZK一字运行结果
我们可以再到WINHEX里面打开HZK16.BIN来看一下读到的字模,也正是“一”字的字模
![[转载]NOKIA5110 <wbr>LCD使用心得之坐标与字模(多原理少代码版 [转载]NOKIA5110 <wbr>LCD使用心得之坐标与字模(多原理少代码版](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
一字的字模在WINHEX里打开HZK16.BIN
2.
液晶NOKIA5110的X,Y概念及写屏方式:
液晶5110由84点*48点组成。
液晶5110的规格书上是这样描述它的写入坐标概念的,首先,每次写入命令是写一个竖着的8个bit即一个字节,这是它的一个最基本的写入元单元。(写入时先写高位,这一点对掌握整体概念不重要,先不讨论)。以这样的元单元为计数,屏幕整个被分成了84*6
![[转载]NOKIA5110 <wbr>LCD使用心得之坐标与字模(多原理少代码版 [转载]NOKIA5110 <wbr>LCD使用心得之坐标与字模(多原理少代码版](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
NOKIA5110的LCD的XY坐标概念
写入一个汉字“一”,字模如下
0x00,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0x80,0xC0,0x80,0x00,
0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
写入过程的函数一般是这样的:
LCD_set_XY(row*8,
for(i=0;
{
LCD_write_byte(pgm_read_byte(hanzi+c*32+i),1);
}
for(i=16;
{
LCD_write_byte(pgm_read_byte(hanzi+c*32+i),1);
}
写入示意图如下:
![[转载]NOKIA5110 <wbr>LCD使用心得之坐标与字模(多原理少代码版 [转载]NOKIA5110 <wbr>LCD使用心得之坐标与字模(多原理少代码版](https://i-blog.csdnimg.cn/blog_migrate/a4c26d1e5885305701be709a3d33442f.gif)
NOKIA5110LCD写入汉字一的过程
======================================================================================================================
继续完善