最近做个项目,要用到一块12864的液晶CM12864-12,使用ST7920控制器,这款控制器内置了汉字库显示字符汉字方便,但是汉字库是16*16点阵的,我要显示点别的怎么??可以用图形RAM画图。我想显示12*12的汉子,这样就能显示五行了!我的实现思路是实现画点函数,画点函数需要对GDRAM读,不然显示一团糟!这里用7920的并行模式,串行模式虽然节省IO口,但是不能读出数据!那就开始吧!
在网上找了7、8个版本的7920驱动,发现几乎都只用了基本的显示字符汉字功能,即使使用的画图,也没有画点!!
自己写!看着液晶手册写,但是显示乱七八糟,怎么改都不行,以前也过KS0108的画点函数不难啊??怎么这个就不行了!一点点着,发现读GDRAM数据有问题,读出的数据不正确!液晶手册不是很详细,还是看7920的手册!
终于找到问题所在:原来7920读出数据时,需要DUMMY READ,就是要读两次!!液晶手册很害人,就说个大概!看来以后要注意啊,要从跟上看!!!
简单一改,就OK了!!
LCD12864 PIN脚与单片机连接图:
显示效果:
附件内容截图:
1