《(12)--LCD1602液晶显示器-1602使用.ppt》由会员分享,可在线阅读,更多相关《(12)--LCD1602液晶显示器-1602使用.ppt(16页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、LCD1602液晶显示器液晶显示器 LCD1602液晶的应用液晶的应用LCD1602液晶的应用单片机对单片机对LCD模块有四种基本操作:模块有四种基本操作:读状态、读数据、读状态、读数据、写指令、写数据写指令、写数据,具体操作由,具体操作由LCD1602模块的三个控制模块的三个控制引脚引脚RS、R/W和和E的不同组合状态确定。的不同组合状态确定。读状态操作:通过判断忙标志,确定是否进行读写操作读状态操作:通过判断忙标志,确定是否进行读写操作读数据操作:将显示存储区的数据反读出来,一般比较少用读数据操作:将显示存储区的数据反读出来,一般比较少用写指令操作:用于初始化、清屏、光标定位等写指令操作:
2、用于初始化、清屏、光标定位等写数据操作:写入要显示的内容写数据操作:写入要显示的内容提示:提示:在进行在进行读数据、读数据、写指令、写数据三种操作前,必须先进写指令、写数据三种操作前,必须先进行读状态操作,查询忙状态为行读状态操作,查询忙状态为0时,才能进行这三种操作。时,才能进行这三种操作。LCD1602液晶的基本操作液晶的基本操作LCD1602液晶的应用1)读状态操作)读状态操作输入:输入:RS=L,R/W=H,E=H输出:输出:D0D7=状态字状态字LCD内部有一个内部有一个8位的状态字,通过读取状态字的内容,位的状态字,通过读取状态字的内容,知道知道LCD当前内部情况,其格式如下所示:
3、当前内部情况,其格式如下所示:最高位表示当前最高位表示当前LCD是不是是不是“忙忙”,如果是,如果是“1”,表示正,表示正忙,禁止读写操作;如果是忙,禁止读写操作;如果是“0”,则可以进行读写操作。,则可以进行读写操作。LCD1602液晶的应用读状态程序段如下:读状态程序段如下:LCD1602_DB=0 xFF;LCD1602_RS=0;LCD1602_RW=1;do LCD1602_E=1;sta=LCD1602_DB;/读取状态字读取状态字 LCD1602_E=0;/读完撤销使能,防止液晶输出读完撤销使能,防止液晶输出 数据干扰数据干扰 P0 总线总线 while(sta&0 x80);/
4、bit7 等于等于 1 表示液晶正忙,重复表示液晶正忙,重复 检测直到其等于检测直到其等于 0 为止为止LCD1602液晶的应用2)读数据操作)读数据操作输入:输入:RS=H,R/W=H,E=H输出:输出:D0D7=数据数据将显示存储区的数据反读出来,一般比较少用。将显示存储区的数据反读出来,一般比较少用。3)写指令操作)写指令操作输入:输入:RS=L,R/W=L,D0D7=指令码,指令码,E=高脉冲高脉冲输出:输出:无无注意:注意:E=高脉冲,高脉冲,意思就是意思就是E 使能引脚先从低拉高,再使能引脚先从低拉高,再从高拉低,形成一个高脉冲。从高拉低,形成一个高脉冲。4)写数据操作)写数据操作
5、输入:输入:RS=H,R/W=L,D0D7=指令码,指令码,E=高脉冲高脉冲输出:输出:无无LCD1602液晶的操作指令液晶的操作指令序号序号指令指令RSRSR/WR/WD7D7D6D6D5D5D4D4D3D3D2D2D1D1D0D01 1清显示清显示0 00 00 00 00 00 00 00 00 01 12 2光标返回光标返回0 00 00 00 00 00 00 00 01 1*3 3输入模式输入模式设置设置0 00 00 00 00 00 00 01 1N NS S4 4显示开显示开/关关控制控制0 00 00 00 00 00 01 1D DC CB B5 5光标或字符光标或字符移
6、位移位0 00 00 00 00 01 1S/CS/CR/LR/L*6 6工作方式工作方式设置设置0 00 00 00 01 1DLDLN NF F*7 7置字符发生置字符发生存贮器地址存贮器地址0 00 00 01 1字符发生存贮器地址字符发生存贮器地址8 8置数据存贮置数据存贮器地址器地址0 00 01 1显示数据存贮器地址显示数据存贮器地址9 9读忙标志或读忙标志或地址地址0 01 1BFBF计数器地址计数器地址1010写数到写数到CGRAMCGRAM或或DDRAMDDRAM1 10 0要写的数据内容要写的数据内容1111从从CGRAMCGRAM或或DDRAMDDRAM读数读数1 11
7、1读出的数据内容读出的数据内容LCD1602液晶功能介绍LCD1602液晶功能介绍1.初始化设置初始化设置1 1)显示模式设置指令)显示模式设置指令指令码指令码0 x38,设置,设置162显示,显示,57点阵,点阵,8位数据接口位数据接口第第6 6条指令:条指令:DL DL1 1:数据总线为:数据总线为8 8位位 0 0:数据总线为:数据总线为4 4位位 N N1 1:显示:显示2 2行行 0 0:显示:显示1 1行行 F F1 1:510510点阵点阵/每字符每字符 0 0:5757点阵点阵/每字符每字符 2 2)显示开)显示开/关设置及光标设置指令关设置及光标设置指令第一条指令设置整体显示
8、开关、光标开关、光标位字符第一条指令设置整体显示开关、光标开关、光标位字符闪烁。闪烁。8 位中的高位中的高 5 位是固定的位是固定的 0b00001,低,低3位用位用DCB从高到低表示从高到低表示 D D 1 1:显示功能开:显示功能开 0 0:显示功能关:显示功能关 C C 1 1:有光标:有光标 0 0:无光标:无光标 B B 1 1:光标闪烁:光标闪烁 0 0:光标不闪烁:光标不闪烁 LCD1602液晶功能介绍第二条指令高第二条指令高 6 位是固定的位是固定的 0b000001,低,低2位用位用NS从高从高到低表示到低表示N N 1 1:增量方式右移:增量方式右移 0 0:减量方式左移:
9、减量方式左移 S S 1 1:显示字符左移:显示字符左移(N=1)(N=1)或右移或右移(N=0)(N=0),光标不移动,光标不移动 0 0:显示字符不移动:显示字符不移动3 3)清屏指令)清屏指令指令码指令码0 x01,将光标设置为第一行第一列。,将光标设置为第一行第一列。4 4)RAM 地址设置指令地址设置指令指令码的最高位为指令码的最高位为 1,低,低 7 位为位为 RAM 的地址,通常在读的地址,通常在读写数据之前都要先设置好地址,再进行数据的读写操作。写数据之前都要先设置好地址,再进行数据的读写操作。LCD1602液晶功能介绍2.应用实例应用实例#include#define LCD
10、1602_DB P0sbit LCD1602_RS=P10;sbit LCD1602_RW=P11;sbit LCD1602_E=P15;void InitLcd1602();void LcdShowStr(unsigned char x,unsigned char y,unsigned char*str);void main()unsigned char str =Kingst Studio;InitLcd1602();LcdShowStr(2,0,str);LcdShowStr(0,1,Welcome to KST51);while(1);LCD1602液晶功能介绍/*等待液晶准备好等待液
11、晶准备好*/void LcdWaitReady()unsigned char sta;LCD1602_DB=0 xFF;LCD1602_RS=0;LCD1602_RW=1;do LCD1602_E=1;sta=LCD1602_DB;/读取状态字读取状态字 LCD1602_E=0;while(sta&0 x80);/bit7 等于等于 1 表示液晶正忙,表示液晶正忙,重复检测直到其等于重复检测直到其等于 0 为止为止LCD1602液晶功能介绍/*向向 LCD1602 液晶写入一字节命令,液晶写入一字节命令,cmd-待写入命令值待写入命令值*/void LcdWriteCmd(unsigned c
12、har cmd)LcdWaitReady();LCD1602_RS=0;LCD1602_RW=0;LCD1602_DB=cmd;LCD1602_E=1;LCD1602_E=0;LCD1602液晶功能介绍/*向向 LCD1602 液晶写入一字节数据,液晶写入一字节数据,dat-待写入数据值待写入数据值*/void LcdWriteDat(unsigned char dat)LcdWaitReady();LCD1602_RS=1;LCD1602_RW=0;LCD1602_DB=dat;LCD1602_E=1;LCD1602_E=0;LCD1602液晶功能介绍/*设置显示设置显示 RAM 起始地址,
13、亦即光标位置,起始地址,亦即光标位置,(x,y)-对应屏幕上的字符坐标对应屏幕上的字符坐标*/void LcdSetCursor(unsigned char x,unsigned char y)unsigned char addr;if(y=0)/由输入的屏幕坐标计算显示由输入的屏幕坐标计算显示 RAM 的地址的地址 addr=0 x00+x;/第一行字符地址从第一行字符地址从 0 x00 起始起始 else addr=0 x40+x;/第二行字符地址从第二行字符地址从 0 x40 起始起始 LcdWriteCmd(addr|0 x80);/设置设置 RAM 地址地址LCD1602液晶功能介绍
14、/*在液晶上显示字符串,在液晶上显示字符串,(x,y)-对应屏幕上的起始坐标,对应屏幕上的起始坐标,str-字符串指针字符串指针*/void LcdShowStr(unsigned char x,unsigned char y,unsigned char*str)LcdSetCursor(x,y);/设置起始地址设置起始地址 while(*str!=0)/连续写入字符串数据,直到连续写入字符串数据,直到 检测到检测到结束符结束符 LcdWriteDat(*str+);/先取先取 str 指向的数据,指向的数据,然后然后 str 自加自加 1 LCD1602液晶功能介绍/*初始化初始化 1602 液晶液晶*/void InitLcd1602()LcdWriteCmd(0 x38);/16*2 显示,显示,5*7 点阵,点阵,8 位数据接口位数据接口 LcdWriteCmd(0 x0C);/显示器开,光标关闭显示器开,光标关闭 LcdWriteCmd(0 x06);/文字不动,地址自动文字不动,地址自动+1 LcdWriteCmd(0 x01);/清屏清屏谢谢 谢谢!