新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 无字库12864液晶的驱动方法

无字库12864液晶的驱动方法

作者:时间:2011-12-27来源:网络收藏


要在第2页、第6列开始显示“钟”,我们用一个函数:
LcdShow1616(unsigned x,unsigned y, const char *p);


其中参数x 是列,y是页,p指向字模数组,具体的代码为:
LcdShow1616(6,2, ZHONG);

这样,汉字就显出来了。

最后,交代一下取得点阵汉字字模的

编制字模数组的好帮手——字模软件的使用

因为我们现在需要的汉字量很少,所以可以使用一些字模提取软件自己制作所需的字模。以一个很好用的绿色免费“畔畔字模提取软件”为例加以说明。

此软件在各大程序网站都有下载,下载解压后就可使用,开启界面如图9所示。选取Shape :方形,Mode:C51,取模顺序选第4种,即点阵图右上为A,右下为B,左上为C,左下为D,这是按照先右半从上到下,后左半从上到下的顺序取模。

3.jpg

4.jpg

然后在下面输入框里输入汉字回车后,左边显示点阵字,见图10。对点阵自行修饰改动,用鼠标点选即可,例如竖笔加粗等,这里没改。

点右旋90度按钮,点阵汉字右旋90度,其目的是由上往下取码,相当于显示时从左往右显示。点“提取字模”按钮,字模代码呈现在点阵下面,见图11。注意字模码有2行,上行对应旋转后的右半区域从上往下取码,下行对应左半区域从上往下取码,这就等同于旋转前的汉字从左往右取码,而上行代码对应的是汉字的上半代码,下行则对应的是汉字的下半代码。正好符合上述汉字显示程序先显示上半部后显示下半部的要求。这样就取得了例子中的字模代码。

可以把所需的汉字逐一取码,然后存在二维表中,就形成了16×16点阵字模数组。

因为单片机FLASH ROM程序存储空间较大而RAM较小,而一个16点阵汉字占据32字节,10个字就320字节,对于RAM通常在几百到1K字节以下的单片机嫌太大,所以应该存放在FLASH区比较合理。但是读出FLASH中的数据,程序还要变一下,以使用GCC编程为例,前述字模常量和程序修改如下:

const unsigned char_[]PROGMEM{0x80,0x40,0x70,0xCF,0x48,0x48,0x00,0xF0,0x10,0x10,0xFF,0x10,0x10,0xF8,0x10,0x00,0x02,0x02,0x02,0x7F,0x22,0x12,0x00,0x07,0x02,0x02,0xFF,0x02,0x02,0x07,0x00,0x00,};

要在第2页第6列显示“钟”,用一个稍稍不同的函数:
LcdShowFlash1616(unsigned x,unsigned y, const char *p);

即:LcdShowFlash1616(6,2, ZHONG_);

就行了。

制作非标准的字模

有时我们需要一些“非标准的”字符,例如12宽×16高或者8×8字符,同样也可以使用上述工具,不过这时字符就要用鼠标在选定区域内逐点点出,因为他提取的时候还是针对16×16点阵,所以最后还要去除多余的0字节,如图12表示一个数字9的取模。得到的代码上下排都去掉最后4个0字节如图中下面画线的那8个。最后每个字就24字节,程序中循环此书作相应改变。

led显示器相关文章:led显示器原理



上一页 1 2 下一页

关键词: 方法 驱动 液晶 字库

评论


相关推荐

技术专区

关闭