- 1、本文档共21页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
1602液晶(LCD) 什么是1602LCD液晶 1602液晶也叫1602字符型液晶 它是一种专门用来显示字母、数字、符号等的点阵型液晶模块 它有若干个5X7或者5X11等点阵字符位组成,每个点阵字符位都可以显示一个字符。每位之间有一个点距的间隔 每行之间也有也有间隔 起到了字符间距和行间距的作用,正因为如此 所以他不能显示图形 (用自定义CGRAM,显示效果也不好) 1602LCD是指显示的内容为16X2,即可以显示两行,每行16个字符液晶模块(显示字符和数字)。 目前市面上字符液晶绝大多数是基于HD44780液晶芯片的,控制原理是完全相同的,因此基于HD44780写的控制程序可以很方便地应用于市面上大部分的字符型液晶。 1602LCD的特性 +5V电压,对比度可调 内含复位电路 提供各种控制命令,如:清屏、字符闪烁、光标闪烁、显示移位等多种功能 有80字节显示数据存储器DDRAM 内建有160个5X7点阵的字型的字符发生器CGROM 8个可由用户自定义的5X7的字符发生器CGRAM 字符型LCD1602通常有14条引脚线或16条引脚线的LCD,多出来的2条线是背光电源线VCC(15脚)和地线GND(16脚), 锐志开发板液晶接口 HD44780内置了DDRAM(显示数据存储RAM)、CGROM(字符存储ROM)和CGRAM(用户自定义RAM)。? DDRAM就是显示数据RAM,用来寄存待显示的字符代码。共80个字节,其地址和屏幕的对应关系如下表: 我们往DDRAM里的00H地址处送一个数据,譬如0x31(数字1的代码)并不能显示1出来。这是令初学者很容易出错的地方,原因就是如果 你要想在DDRAM的00H地址处显示数据,则必须将00H加上80H,即0X80+0x00,若要在DDRAM的01H处显示数据,则必须将01H加上80H即 0X80+0x01。依次类推。一会讲控制指令的的第8条DDRAM地址的设定时,你就可以明白了 1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,如下表所示,这些字符有:阿拉伯数字、英文字母的大小写、常 用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码(41H),显示时模块把地址41H中的点 阵字符图形显示出来,我们就能看到字母“A” 上表中的字符代码与我们PC中的字符代码是基本一致的。因此我们在向DDRAM写C51字符代码程序时甚至可以直接用P1=A这样的方法。PC在编译时就把“A”先转为41H代码了。字符代码0x00~0x0F为用户自定义的字符图形RAM(对于5X8点阵的字符,可以存放8组),就是CGRAM了。后面我会详细说的。? ? ? 对DDRAM的内容和地址操作,HD44780的指令集及其设置说明,共有11条指令: 基本操作时序: 读状态?????????? 输入:RS=L,RW=H,E=H???????????????????? 输出:DB0~DB7=状态字 写指令?????????? 输入:RS=L,RW=L,E=下降沿脉冲,DB0~DB7=指令码 输出:无 读数据?????????? 输入:RS=H,RW=H,E=H???????????????????????????????? 输出:DB0~DB7=数据 写数据?????????? 输入:RS=H,RW=L,E=下降沿脉冲,DB0~DB7=数据 输出:无 1.清屏指令 2.光标归位指令 4.显示开关控制指令 6.功能设定指令 (非常重要的指令) 8.设定DDRAM地址指令 10.数据写入DDRAM或CGRAM指令 如何显示一个自定义的字符 我们从CGROM表上可以看到,在表的最左边是一列可以允许用户自定义的CGRAM,从上往下看着是16个,实际只有8个字节可用。它的字符码是00000111这8个地址,表的下面还有8个字节,但因为这个CGRAM的字符码规定0-2位为地址,3位无效,4-7全为零。因此 CGRAM的字符码只有最后三位能用也就是8个字节了。等效为0000X111,X为无效位,最后三位为000-111共8个。? 如果我们要想显示这8个用户自定义的字符,操作方法和显示CGROM的一样,先设置DDRAM位置,再向DDRAM写入字符码,例如“A”就是41H。现 在我们要显示CGRAM的第一个自定义字符,就向DDRAM写(00H),如果要显示第8个就写08H),简单 吧!? 现在我们来看怎么向这八个自定义字符写入字模。 设置CGRAM地址的指令 ??? 从这个指令可以看出指令数据的高2位已固
文档评论(0)