LCD12864液晶的使用之字库型液晶(一).doc

上传人:cl****1 文档编号:562882968 上传时间:2022-08-23 格式:DOC 页数:13 大小:845KB
返回 下载 相关 举报
LCD12864液晶的使用之字库型液晶(一).doc_第1页
第1页 / 共13页
LCD12864液晶的使用之字库型液晶(一).doc_第2页
第2页 / 共13页
LCD12864液晶的使用之字库型液晶(一).doc_第3页
第3页 / 共13页
LCD12864液晶的使用之字库型液晶(一).doc_第4页
第4页 / 共13页
LCD12864液晶的使用之字库型液晶(一).doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

《LCD12864液晶的使用之字库型液晶(一).doc》由会员分享,可在线阅读,更多相关《LCD12864液晶的使用之字库型液晶(一).doc(13页珍藏版)》请在金锄头文库上搜索。

1、LCD12864液晶的使用之字库型液晶(一)2011年02月15日 星期二 16:44下面介绍下带字库的液晶,由于Proteus中没有,就以实物为准吧!我手头上这块液晶是QY128*64HZ1,它的驱动器是ST7920,想必大家很熟悉了,百度、谷歌一下它的芯片手册很多!在学习此块液晶之前,建议大家好好看看它的驱动芯片的手册!它的驱动和LCD1602很像,甚至,读忙、写指令和写数据函数都是一样的,就初始化不一样,因为指令系统不同嘛!下面是我手头字库液晶的实物图。(手机拍的,图片质量差了些,大家见谅!)字库型液晶显示可以分为串行方式和并行方式两种,通过引脚PSB进行选择,它只有一个驱动芯片,不像P

2、roteus中无字库液晶有两个驱动芯片。显示是整体显示,而不是左右屏的显示!大家一定要注意!1、控制口信号说明:RSRW功能00单片机写指令到指令暂存器(IR)01读出忙标志(BF)及地址计数器(AC)的状态10单片机写数据到数据暂存器(DR)11单片机从数据暂存器中读出数据注:忙标志Bust_flag=1说明LCD内部正忙,此时不能对LCD进行操作,忙标志的判断由DB7也就是数据口的最高位所决定!这和LCD1602一样!上面对RS和RW的操作需配合使能信号EN来操作!否则无效!1、显示说明(1)、字符产生ROM(CGROM)里面提供了8192(213)个汉字GB2132宋体(2)、显示数据R

3、AM(DDRAM)内部提供64*2位空间,最多可控制4行16字,也就是16个中文字型显示,当写入显示数据RAM时,可分别显示CGROM和CGRAM的字型,可以用来显示三种字型:半角英文数字型、CGRAM字型和CGROM的中文字型,三种字型的选择,由在DDRAM总写入的编码选择,在0000H0006H的编码中(其代码分别为0000、0002、0004、0006共四个)将选择CGRAM的自定义字型,02H7FH的编码中将显示半角英文数字型的字型(也就是ASCII码,大小为16*8),至于A1以上的编码将自动结合下一个位元组,组成两个位元组的编码,从而形成一个中文字型的编码,也就是说显示一个汉字要两

4、个ASCII码显示的位置,即大小为16*16。BIG(A140D75F),GB(A1A0F7FF)。(3)、字型产生RAM上面已经介绍了该种液晶提供四组可定义显示,是16*16大小的自定义图像空间,通过在特定的编码位置,写入我们要显示的自定义图像即可,这个和LCD1602液晶的自定义显示字符的原理是一样的!这个将在下文加以详细介绍由于串行方式比较慢,在此采用并行方式。一、显示ASCII码显示ASCII码和LCD1602是一样的,只需将字符对应的ASCII的数据送入液晶进行显示即可。具体的参看LCD1602部分二、显示字库中的汉字一个汉字的大小是16*16,占两个ASCII字符的位置,将相应的汉

5、字的编码分两次送入液晶显示即可。也可以用数组的方式,编译器编译时自动将转换成对应的编码。三、显示四个自定义字符刚才说了,此块液晶可以自定义显示四个16*16字符,对应的编码为0000、0002、0004和0006,这个到底是什么意思呢?其实就是说自定义显示字符在RAM区的编码,我们通过向自定义字符地址中送入自定义的数据,然后调用自定义编码就可以将自定义字符显示在液晶上面了!上面说了三种显示,代码就集中在一起写了,这个程序是显示ASCII码、字库汉字和自定义显示:取模设定和Proteus中的128*64不一样:取模软件是一样的!设定如下图所示代码:/*=自定义汉字函数:CGRAM自定义显示字符地

6、址 显示编码0x40 0x00000x50 0x00020x60 0x00040x70 0x0006共可显示四个自定义字符! 显示自定义字符前,先要设定显示的位置,否则会乱码 =*/void main() uchar num; init_LCD(); while(1) write_LCD_command(0x80); for(num=0;num8;num+) write_LCD_data(table6num); write_LCD_command(0x84); for(num=0;num8;num+) write_LCD_data(table4num); write_LCD_command(0

7、x90); for(num=0;num14;num+) write_LCD_data(table5num); CGRAM(); write_LCD_command(0x98); write_LCD_data(0x00); write_LCD_data(0x00);/第一个自定义显示字符编码为:0x0000 write_LCD_command(0x99); write_LCD_data(0x00); write_LCD_data(0x02);/第一个自定义显示字符编码为:0x0002 write_LCD_command(0x9A); write_LCD_data(0x00); write_LCD_data(0x04);/第一个自定义显示字符编码为:0x0004 write_LCD_command(0x9B); write_LCD_data(0x00); write_LCD_data(0x06);/第一个自定义显示字符编码为:0x0006 通过上面的学习,大家应该学会了怎么显示ASCII码、字库汉字和自定义显示了!下面介绍怎么显示图片。下篇继续.http:/

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 生活休闲 > 社会民生

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号