从硬件到驱动程序完全掌握使用LED1206..docVIP

  • 3
  • 0
  • 约1.24万字
  • 约 15页
  • 2019-01-03 发布于湖北
  • 举报

从硬件到驱动程序完全掌握使用LED1206..doc

PAGE PAGE 10 LCD1206实用概述 by bangou 2013-7-14 一、1602硬件架构 主要特性如下: ◆8 位并行数据接口,适配 M6800 系列时序: ◆可选 4 位并行数据方式 ◆具有字符发生器 ROM,含 10880 位 ◇192 种 5×8 点字体字符 ◇64 种 5×10 点字体字符 ◆具有字符发生器 RAM,含 512 位 ◇8 种 5×8 点字体字符 ◇4 种 5×10 点字体字符 ◆低功耗,高可靠性 对于单片机的学习而言,掌握1602的用法是每一个学习者必然要经历的过程。 ? ?? ???所谓1602是指显示的内容为16*2,即可以显示两行,每行16个字符。目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 ? ?? ???字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚),其控制原理与14脚的LCD完全一样,引脚定义如下表所示: ? ??二、概述1602DDRAM、CGROM和CGRAM及其指令集 HD44780内置了DDRAM、CGROM和CGRAM。 CGROM 1602是一款最常用也是最便宜的液晶显示屏。最多可以显示两行标准字符,每行最多可以显示16个字符。1602可以显示内部常用字符(包括阿拉伯数字,英文字母大小写,常用符号和日文假名等),也可以显示自定义字符(单或多个字符组成的简单汉字,符号,图案等,最多可以产生8个自定义字符)。 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码(41H),显示时模块把地址41H中的点阵字符图形显示出来,我们就能看到字母“A” . ? ?? ???上表中的字符代码与我们PC中的字符代码是基本一致的。因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1=A这样的方法。PC在编译时就把“A”先转为41H代码了。 ? ?? ???字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组,5X10点阵的字符,存放4组),就是CGRAM了。 ? ?? ???0x20~0x7F为标准的ASCII码,0xA0~0xFF为日文字符和希腊文字符,其余字符码(0x10~0x1F及0x80~0x9F)没有定义。 二、DDRAM (Display Data RAM) ? ?? ???DDRAM就是显示数据RAM,用来寄存待显示的字符代码。LCD控制器的指令系统规定,在送待显示字符代码的指令之前,先要送DDRAM的地址(即待显示的字符显示位置)。16×2的字符型LCD的DDRAM地址与显示位置的对应关系如下:共80个字节,其地址和屏幕的对应关系如下表:? DDRAM地址与显示位置的对应关系 设定DDRAM地址指令 0X80+x(00H-2FH,40H-67H) x(0,63) 27=128 功能:设定下一个要存入数据的CGRAM的地址。 ?? ?? ???DDRAM地址与显示位置的对应关系 0x80 0x81 0x82 0x83 0x84 0x85 0x86 0x87 0x88 0x89 0x8A 0x8B 0x8C 0x8D 0x8E 0x8F 0xC0 0xC1 0xC2 0xC3 0xC4 0xC5 0xC6 0xC7 0xC8 0xC9 0xCA 0xCB 0xCC 0xCD 0xCE 0xCF ?? 第一行的显示地址是0x80-0x8F,第二行的显示地址是0xC0-0xCF。(0xC0=0x90+0x40=0xc0H) (注意这里我们送地址的时候应该是0x80+Address,这也是前面说到写地址命令的时候要加上0x80的原因) ? ?? ???也就是说想要在LCD1602屏幕的第一行第一列显示一个A字,就要向DDRAM的00H地址写入“A”字的代码就行了。那么一行可有40个地址呀?是的,在1602中我们就用前16个就行了。第二行也一样用前16个地址。对应如下: ? ?? ???(事实上我们往DDRAM里的00H地址处送一个数据,譬如0x31(数字1的代码)并不能显示1出来。这是一个令初学者很容易出错的地方,原因就是如果你要想在DDRAM的00H地址

文档评论(0)

1亿VIP精品文档

相关文档