LCD1602帮助手册.docx
《LCD1602帮助手册.docx》由会员分享,可在线阅读,更多相关《LCD1602帮助手册.docx(18页珍藏版)》请在冰豆网上搜索。
LCD1602帮助手册
LCD1602帮助手册
正面图
反面图
正面图为第一图,管脚应摆列在左上方,左侧第一脚为管脚1,
向右挨次为2,3,4⋯⋯⋯15,16。
反面一般也有标明,并且附加
了管脚对应的作用。
此中第三脚VO为对照度调理脚,一般外
接滑动变阻器,调理输入的电压,来调理明暗度(能够直接
接地,可是直接接地,需要斜着屏幕,才能看见LCD能否显
示字符,正面看都是黑黑的一格一格的)。
15,16角一般为背
光LED灯源,一个接VCC(一般为15脚),一个接GND(一般
为16脚),最好接入限流电阻,不接也可使用,可是会缩短
寿命,这两角能够不接,假如不接,在黑暗的室内,显示效
果欠佳。
管脚编号以下列图所示:
管脚对应符号
对LCD的操作,有四种操作,分别为:
读状态,读数据,写
指令和写数据,一般常用的为读状态,写指令和写数据。
操
作图以下:
当RS端为低电平,RW端为高电平,E为高电平是,对LCD1602
的操作为读状态操作,这时,能够对LCD的状态进行读取,
读取经过D0~D7的端口读取。
其余操作相像,比较图,即可
达成,可是有个读写时序的要求,时序图见下列图:
读操作时序
对LCD进行读操作时,先将RS置为低电平(0V),而后将RW样
置为高电平(+5V),而后有个tsp1的延缓(可是一般这个延缓
为ns级,一个单片机的指令周期往常都为us级,一般不需要特
别延缓,假如程序有必定错误的时候,能够略微延缓一下),然
后再将E置为1,而后延缓td时间(td一般也为ns级,能够适
当延缓一点点),而后读取D0~D7的数据。
写操作也是近似的,
将RS,RW,E端口进行相应操作即可达成,写数据和写命令的操作,
延缓的时间都很短,程序不稳固的话,能够延缓个1us,一般就
能够了。
LCD1602的指令有11条,以下列图:
(指令表)
从以前的操作来看,比较此表,不难看出,指令表的前8条都是
命令指令,RS,RW都为0,因此操作时,都是写命令操作,D7~D0
的数值的不一样,代表了操作的不一样,比方D0~D7为0x01时,对
LCD的操作命令就为清屏显示,第二条指令为光标返回指令,在
D0处有个※标志,这表示,无论此位的数据为1仍是为0,对此
命令都无效,即D0~D7端口写入0x20为光标返回指令,D0~D7
端口写入0x03,此命令也为光标返回指令。
其余带※的也是这样,
可是我一般都将※为置为0,这样在写数据的时候比较好算,否
则还要加加减减的,比较麻烦。
指令表中的第三条指令为设置输
入模式,数据D2~D7已经定型,可是D0和D1不是※号,也没
定型,这就是我们要选择的指令,比方D1框内为I/D,I/D假如
为1,则为光标增量式后移,假如I/D为0,则减量式左移。
S位
为1,则表示整体能够移位,S为0,则表示整体不可以移位。
表
中的这些参数,可在LCD使用手册中查察,这里就不多讲了。
显存地点DDRAM
接下来,解说上边这个图,上边写着LCD16字X2行,这代表的
意思是,LCD1602一行能够显示16个字符,最多能够显示2行,
左侧有一个斜线,右侧有一个斜线,这表示,在这里面的地点的
都是能够直接显示在LCD屏幕上的,即地点为:
00~0f,40~4f都是
直接显示出来的,我们只需将字符写入到这个地点就能够显示在
屏幕上,00~0f,正好是16个,可是0f地点后边还有一串地点,
10~27的地点,这个地点是不可以直接显示在LCD屏幕上的,可是
其实不代表,不可以显示在LCD屏幕上,这些地点也能够写入字符,
可是LCD屏幕上,其实不可以看到,可是我们能够经过整体左移的命
令,将这些地点上的写的字符显示在LCD屏幕上,这是他们存在
的价值。
0x50~0x67的地点也是同样的。
可是我们将字符写入LCD
能够显示的地点(显存地点,即能够显示字符的地点)的指令是
一个写命令,对应指令表,即第7条指令,从指令表中能够看出,
指令中的数据的D7位被置为1,因此我们写指令时,一定加上
故,显存地点为0x00的地点,写入指令时,就变为了0x80,0x0F
的显存地点写入命令时,就变为了0x8f。
上图为CGROM表,也就是LCD1602已经写好了的字符,这些字
符都存在CGROM表,比方说我们要写字符H,那么对应表中就
是0x48,对CGROM的操作为写数据操作(只有指令表的前8条是
命令),我们在LCD上写字符时,先将光标定位到你要写的地点,
而后再查找你要写入的字符的CGROM地点,LCD屏幕即显示你
要的字符了,因为LCD中CGROM的字符表的代码和电脑的ASIIC
是对应的,因此我们在写数据时,也能够直接写为P0=’H’,电脑
会自动将H字符代码变换为0x48,,这样我们写字符就很方便。
看到这里,你已经大体知道LCD是怎么一回事了,不过还没实践
过,因此你需要写代码了,在对LCD操作时,我们第一需要对工
作方式进行设置,显示状态进行设置,而后清屏显示,设置输入
方式,这是你在写字符以前要对LCD进行的设置,比较指令即可
了,而后你能够任意写入你想写的任何字符了。
下边要讲的就是,怎样自己进行字符的写入,有时你想在
LCD1602上写入自己想要显示的字符,可是CGROM中明显没有,
这就需要你自己去写了,因此你第一需要使用字模软件,去你想
要的字符进行取模,比方你要写入一个“日”字到LCD中,你首
先要对它取模,因为LCD1602液晶只支持5X7和5X10,因此你
取模也要在这个范围内,如下图:
这是一个5X8大小的取模,因为最后一行为光标行,因此我们只
能对上边七个进行取模,因此也就是5X7大小的,因为16进制,
四个为一个,因此第一行的代码也就是1F,其余也是按规则取
的,取模后,你就获得了8个字节的数据,这8个字节数据就是
一个“日”字,可是我们没方法把它写入到LCD的显存00H~27H
位,我们只好先写入CGRAM,CGRAM其实也就是CGROM,
CGRAM不过在CGROM上很小的一块,以下列图:
这是我们以前讲的CGROM图,这个是LCD自带的,依据电脑的
ASIIC码规则寄存的,可是此中高位为0000H的一列,下边写着
一个CGRAM,其实这一列就是我们能够自己写入字符的地点,
能够看到这个就是CGRAM,它是CGROM的第一列,数一下,就
能够知道一共有16个,理论上应当是能够写16个自定义的字符
才对。
可是这不过理论,其实我们只好写入8个和4个,为何
呢?
因为我们这个操作被指令表里的指令限制了。
这是以前讲的指令表,我们要讲字符写入CGRAM,我们就要使
用表格中的第7个指令,能够看到指令表中D6和D7被限制了,
只好是01,D7~D4是高位,而我们将字符写入CGRAM不用考虑
高位地点,因为他们都同样是0000,我们只需考虑地位地点就
能够,可是因为指令表限制了,因此1000~1111我们是没有方法
使用了,因此我们能用的只有0000~0111的这八个,因此我们需
要使用D5~D3,因为有八个地点,我们需要3位,才能表示完,
并且我们自定义的字符也需要八位才能写入
因此,D0~D2我们需使用,这样我们才能表示完000表示第一行,
我们需要写入1FH,001表示第二行,我们需要写入11H,以此
类推,D5~D3则是表示CGRAM地点的,000表示第一个,001
表示第二个,向来表示到0111为止,自然LCD1602也能够显示
5X10的字符,因此你应当知道了,5X10,我们只好表示4个的
原由了吧,写入和5X7的“日”字是同样的。