原创 关于LCD128*64(st7565)的驱动和自建汉字库的实现

2010-4-25 03:52 8947 4 8 分类: MCU/ 嵌入式

       手头有一块深圳拓普威公司的128*64的LCD液晶屏(型号为LCM6059B),驱动IC为Sitronix的ST7565,为132*65点阵。LCM6059B采用的是并口通信,(当然更改电路一些参数可以做到串行的),先不管了,凑合着用先,由于它不带字库,如果要显示GBK汉字那可麻烦了,单单一个字库就几百KB对于普通MCU来说是挺恐怖的了。对于那些需要显示汉字和中文的,ROM空间要大的惊人了。不过话有说回来,并不是所有的应用都需要用完所有的汉字,不过倒有一个不是办法的好办法,那就是自建字库,这样就可以根据所需自由裁减了。


     关于自建字库,以16*16格式为例,包括 机内码(2字节)+字模(1字节,共32个字节显示16*16点阵字) 方式存储,虽然会引入2个字节机内码的额外存储(GBK没有单独存储机内码空间),但对比于要全部存储GBK汉字字库来说,在一定条件下,所耗费的空间要小得多。这样通过查找机内码,来获取存储字模的初始地址,从而实现汉字显示。自建字库如下:


。。。


0xb8,0xe8, //机内码
//歌
0x80,0xBA,0xAA,0xAA,0xBA,0x82,0xFE,0xA2,0x90,0x0C,0xEB,0x08,0x28,0x18,0x08,0x00,
0x00,0x1E,0x12,0x12,0x5E,0x80,0x7F,0x40,0x20,0x18,0x07,0x08,0x30,0xE0,0x40,0x00,
0xc7,0xfa,


。。。
        基于ST7565驱动的128*64点阵LCD的驱动见附件。驱动中附有各种实用函数,如画图函数,ASCII与汉字显示函数,画线函数。可以在任意128*64点内开始和结束(不用考虑跨页操作,参数正确,直接调用即可),不说了,看图说话__呵呵


=============示例函数====================


     InitLCM6059B();
     PrintAscii(1,2,"    Hello World !   ");                    
     DrawLine(0,0,127,0);
     DrawLine(0,0,0,63);
     DrawLine(127,0,127,63);
     DrawLine(0,63,127,63);
     DrawLine(0,11,127,11);
     PrintText(48,13,"真的爱你#");
     ShowBMP(4,13,43,40,PicTAB);
     DrawLine(56,33,110,60);
     DrawLine(110,33,56,60);


效果图:


点击看大图


源码包下载:https://static.assets-stash.eet-china.com/album/old-resources/2010/4/9/b2031dc5-2324-46a6-b387-8a99de571fa2.rar

文章评论4条评论)

登录后参与讨论

用户377235 2016-5-5 18:43

感谢您的分享!!!

用户377235 2016-3-10 13:57

程序写的不错,但缺少用户头文件。

用户1446787 2015-6-26 16:52

程序写得不错

用户377235 2014-4-2 10:53

不错!
相关推荐阅读
用户264910 2010-04-27 06:45
Wire 与 Reg 的区别(Verilog)
数据类型 Wire 与 Reg 的区别,以下是网上资料的整理(不知道是不是官方的解释,学习ing...):====================================There are t...
用户264910 2010-04-26 00:28
基于FPGA/NiosII的等精度数字频率计的设计
基于FPGA/NiosII的等精度数字频率计的设计有以下特点:    1. CPU并行处理   32位软核处理器 NiosII 、处理速度为75MHZ         标准计数器,处理速度为100MH...
用户264910 2010-04-25 21:40
触摸式鼠标的设计实现
    利用CYPRESS的平台,做项目开发,可以节省好多时间(深有体会)。利用CY8C2489C这款IC,可以实现触摸式 USB 鼠标。通过初步硬件调试,发现效果还不错,基本上实现了USB 鼠标的相...
用户264910 2010-04-25 15:52
关于ACEX1K EP1K30TC144-3的配置资料
   关于ACEX1K  EP1K30TC144-3的配置资料      最近在学习关于单片机配置FPGA的知识,看了一些英文资料,现摘抄整理出来,从中可以了解FPGA配置的原理和流程.-------...
用户264910 2010-04-25 15:49
Avalon总线学习
Avalon总线具有以下基本特点:   ● 所有外设的接口与Avalon总线时钟同步,不需要复杂的握手/应答机制。这样就简化了Avalon总 线的时序行为,而且便于集成高速外设。Avalon总线以及整...
用户264910 2010-04-25 10:58
USB 驱动开发板
在产品设计开发中,常常感叹各种需要加入各种各样的驱动(包括加入硬件驱动IC和驱动程序的编写)。常常感到心有余而力不足啊。比如说,USB驱动。在这USB横行的年代,过去以往的串口已经退出历史的舞台了。虽...
我要评论
4
4
关闭 站长推荐上一条 /2 下一条