LCD1602帮助手册_第1页
LCD1602帮助手册_第2页
LCD1602帮助手册_第3页
LCD1602帮助手册_第4页
LCD1602帮助手册_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、.LCD1602帮助手册正面图背面图正面图为第一图,管脚应排列在左上方,左边第一脚为管脚1,向右依次为2,3,415,16。背面一般也有标注,并且附带了管脚对应的作用。其中第三脚VO为对比度调节脚,一般外接滑动变阻器,调节输入的电压,来调节明暗度(可以直接接地,不过直接接地,需要斜着屏幕,才能看见LCD是否显示字符,正面看都是黑黑的一格一格的)。15,16角一般为背光LED灯源,一个接VCC(一般为15脚),一个接GND(一般为16脚),最好接入限流电阻,不接也可使用,不过会缩短寿命,这两角可以不接,如果不接,在黑暗的室内,显示效果欠佳。管脚编号如下图所示:管脚对应符号对LCD的操作,有四种操

2、作,分别为:读状态,读数据,写指令和写数据,一般常用的为读状态,写指令和写数据。操作图如下:当RS端为低电平,RW端为高电平,E为高电平是,对LCD1602的操作为读状态操作,这时,可以对LCD的状态进行读取,读取通过D0D7的端口读取。其他操作相似,对照图,即可完成,但是有个读写时序的要求,时序图见下图:读操作时序对LCD进行读操作时,先将RS置为低电平(0V),然后将RW样置为高电平(+5V),然后有个tsp1的延迟(但是一般这个延迟为ns级,一个单片机的指令周期通常都为us级,一般不需要特别延迟,如果程序有一定错误的时候,可以稍微延迟一下),然后再将E置为1,然后延迟td时间(td一般也

3、为ns级,可以适当延迟一点点),然后读取D0D7的数据。写操作也是类似的,将RS,RW,E端口进行相应操作即可完成,写数据和写命令的操作,延迟的时间都很短,程序不稳定的话,可以延迟个1us,一般就可以了。LCD1602的指令有11条,如下图:(指令表)从之前的操作来看,对照此表,不难看出,指令表的前8条都是命令指令,RS,RW都为0,所以操作时,都是写命令操作,D7D0的数值的不同,代表了操作的不同,比如D0D7为0x01时,对LCD的操作命令就为清屏显示,第二条指令为光标返回指令,在D0处有个标记,这表示,不论此位的数据为1还是为0,对此命令都无效,即D0D7端口写入0x20为光标返回指令,

4、D0D7端口写入0x03,此命令也为光标返回指令。其他带的也是如此,不过我一般都将为置为0,这样在写数据的时候比较好算,否则还要加加减减的,比较麻烦。指令表中的第三条指令为设置输入模式,数据D2D7已经定型,但是D0和D1不是号,也没定型,这就是我们要选择的指令,比如D1框内为I/D,I/D如果为1,则为光标增量式后移,如果I/D为0,则减量式左移。S位为1,则表示整体可以移位,S为0,则表示整体不能移位。表中的这些参数,可在LCD使用手册中查看,这里就不多讲了。显存地址DDRAM接下来,讲解上面这个图,上面写着LCD 16字X2行,这代表的意思是,LCD1602一行可以显示16个字符,最多可

5、以显示2行,左边有一个斜线,右边有一个斜线,这表示,在这里面的地址的都是可以直接显示在LCD屏幕上的,即地址为:000f,404f都是直接显示出来的,我们只要将字符写入到这个地址就可以显示在屏幕上,000f,正好是16个,但是0f地址后面还有一串地址,1027的地址,这个地址是不能直接显示在LCD屏幕上的,但是并不代表,不能显示在LCD屏幕上,这些地址也可以写入字符,但是LCD屏幕上,并不能看到,但是我们可以通过整体左移的命令,将这些地址上的写的字符显示在LCD屏幕上,这是他们存在的价值。0x500x67的地址也是一样的。但是我们将字符写入LCD可以显示的地址(显存地址,即可以显示字符的地址)

6、的指令是一个写命令,对应指令表,即第7条指令,从指令表中可以看出,指令中的数据的D7位被置为1,所以我们写指令时,必须加上故,显存地址为0x00的地址,写入指令时,就变成了0x80,0x0F的显存地址写入命令时,就变成了0x8f。上图为CGROM表,也就是LCD1602已经写好了的字符,这些字符都存在CGROM表,比如说我们要写字符H,那么对应表中就是0x48,对CGROM的操作为写数据操作(只有指令表的前8条是命令),我们在LCD上写字符时,先将光标定位到你要写的位置,然后再查找你要写入的字符的CGROM地址,LCD屏幕即显示你要的字符了,由于LCD中CGROM的字符表的代码和电脑的ASII

7、C是对应的,所以我们在写数据时,也可以直接写为P0=H,电脑会自动将H字符代码转换为0x48,,这样我们写字符就很方便。看到这里,你已经大概知道LCD是怎么一回事了,只是还没实践过,所以你需要写代码了,在对LCD操作时,我们首先需要对工作方式进行设置,显示状态进行设置,然后清屏显示,设置输入方式,这是你在写字符之前要对LCD进行的设置,对照指令即可了,然后你可以随意写入你想写的任何字符了。下面要讲的就是,如何自己进行字符的写入,有时候你想在LCD1602上写入自己想要显示的字符,但是CGROM中显然没有,这就需要你自己去写了,所以你首先需要使用字模软件,去你想要的字符进行取模,比如你要写入一个

8、“日”字到LCD中,你首先要对它取模,因为LCD1602液晶只支持5X7和5X10,所以你取模也要在这个范围内,如下图:这是一个5X8大小的取模,因为最后一行为光标行,所以我们只能对上面七个进行取模,所以也就是5X7大小的,因为16进制,四个为一个,所以第一行的代码也就是1F,其他也是按规则取的,取模后,你就得到了8个字节的数据,这8个字节数据就是一个“日”字,但是我们没办法把它写入到LCD的显存00H27H位 ,我们只能先写入CGRAM,CGRAM其实也就是CGROM,CGRAM只是在CGROM上很小的一块,如下图:这是我们之前讲的CGROM图,这个是LCD自带的,按照电脑的ASIIC码规则

9、存放的,但是其中高位为0000H的一列,下面写着一个CGRAM,其实这一列就是我们可以自己写入字符的地址,可以看到这个就是CGRAM,它是CGROM的第一列,数一下,就可以知道一共有16个,理论上应该是可以写16个自定义的字符才对。但是这只是理论,其实我们只能写入8个和4个,为什么呢?因为我们这个操作被指令表里的指令限制了。这是之前讲的指令表,我们要讲字符写入CGRAM,我们就要使用表格中的第7个指令,可以看到指令表中D6和D7被限制了,只能是01,D7D4是高位,而我们将字符写入CGRAM不用考虑高位地址,因为他们都一样是0000,我们只要考虑地位地址就可以,但是因为指令表限制了,所以10001111我们是没有办法使用了,所以我们能用的只有00000111的这八个,所以我们需要使用D5D3,因为有八个地址,我们需要3位,才能表示完,而且我们自定义的字符也需要八位才能写入所以,D0D2我们需使用,这样我们才能表示完000表示第一行,

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论