实验十一LCD1602实验目的1、掌握LCD1602液晶屏的使用。实验设备与文件PC机、Stc89c52实验箱、USB线、Stc89c52实验板原理图、LCD1602液晶屏模块。LCDILCD1602&点阵接口排母LCD1602035889386VO10KVCCV3对比度电位器1602液晶接口电路图1原理图三、实验原理3.1LCD1602液晶显示模块简介LCD1602是最常见的字符型液晶显示模块,单片机系统中常用。由于LCD显示面板较为脆弱,厂商已将LCD控制器、驱动器、RAM、ROM和液晶显示器用PCB连接到一起,称为液晶显示模块(LCDModule,LCM)。单片机只需向LCD显示模块写入相应命令和数据就可显示需要的内容。1
1 实验十一 LCD1602 一、 实验目的 1、掌握 LCD1602 液晶屏的使用。 二、 实验设备与文件 PC 机、stc89c52 实验箱、USB 线、stc89c52 实验板原理图、LCD1602 液晶 屏模块。 图 1 原理图 三、 实验原理 3.1 LCD1602 液晶显示模块简介 LCD1602 是最常见的字符型液晶显示模块,单片机系统中常用。由于 LCD 显 示面板较为脆弱,厂商已将 LCD 控制器、驱动器、RAM、ROM 和液晶显示器用 PCB 连接到一起,称为液晶显示模块(LCD Module,LCM)。单片机只需向 LCD 显示模 块写入相应命令和数据就可显示需要的内容
3.2字符型液晶显示模块LCD1602特性与引脚字符型LCD模块常用的有16字X1行、16字×2行、20字×2行、20字×4行等模块,型号常用×××1602、X××1604、×××2002、×××2004来表示,其中×××为商标名称,16代表液晶显示器每行可显示16个字符,02表示显示2行。LCD1602内部具有字符库ROM(CGROM),能显示出192个字符(5X7点阵),如图2所示:高4位0110010000100TRAM保00000000010001101000101191113001010011110110111巴111 IE(8图2字符库由字符库可看出显示器显示的数字和字母部分代码,恰是ASCII码表中编码。单片机控制LCD1602显示字符,只需将待显示字符的ASCII码写入内部的显示,用数据存储器(DDRAM)内部控制电路就可将字符在显示器上显示出来。例如,显示字符“A”,单片机只需将字符“A”的ASCII码41H写入DDRAM,控制电路就会将对应的字符库ROM(CGROM)中的字符“A”的点阵数据找出来显示在LCD上。模块内有80字节数据显示RAM(DDRAM),除显示192个字符(5X7点阵)的字符库ROM(CGROM)外,还有64字节的自定义字符RAM(CGRAM),用户可自行定义8个5×7点阵字符。LCD1602工作电压4.5~5.5V,典型5V,工作电流2mA。引脚包括8条数据线、3条控制线和3条电源线,见表1所示。通过单片机向模块写入命令和数据,就可对显示方式和显示内容做出选择。2
2 3.2 字符型液晶显示模块 LCD 1602 特性与引脚 字符型 LCD 模块常用的有 16 字×1 行、16 字×2 行、20 字×2 行、20 字×4 行等模块,型号常用×××1602、×××1604、×××2002、×××2004 来表 示,其中×××为商标名称,16 代表液晶显示器每行可显示 16 个字符,02 表示 显示 2 行。LCD1602 内部具有字符库 ROM(CGROM),能显示出 192 个字符(5×7 点阵),如图 2 所示: 图 2 字符库 由字符库可看出显示器显示的数字和字母部分代码,恰是 ASCII 码表中编码。 单片机控制 LCD 1602 显示字符,只需将待显示字符的 ASCII 码写入内部的显示, 用数据存储器(DDRAM)内部控制电路就可将字符在显示器上显示出来。例如, 显示字符“A”,单片机只需将字符“A”的 ASCII 码 41H 写入 DDRAM,控制电路 就会将对应的字符库 ROM(CGROM)中的字符“A”的点阵数据找出来显示在 LCD 上。 模块内有 80 字节数据显示 RAM(DDRAM),除显示 192 个字符(5×7 点阵)的 字符库 ROM(CGROM)外,还有 64 字节的自定义字符 RAM(CGRAM),用户可自行定义 8 个 5×7 点阵字符。LCD 1602 工作电压 4.5~5.5V,典型 5V,工作电流 2mA。 引脚包括 8 条数据线、3 条控制线和 3 条电源线,见表 1 所示。通过单片机 向模块写入命令和数据,就可对显示方式和显示内容做出选择
表1LCD1602的引脚功能LCD1602的引脚功能引脚引脚名称引脚功能1Ves电源地2VoD+5V逻辑电源3VEE液晶显示偏压(调节显示对比度)4RS寄存器选择(1一数据寄存器,0一命令状态寄存器)5RW读写操作选择(1一读,0一写)6E使能信号7~14DO~D7数据总线,与单片机的数据总线相连,三态背光板电源,通常为+5V,串联1个电位器,调节背光亮度,15BLA如接地,此时无背光但不易发热16BLK背光板电源地3.3LCD1602字符的显示及命令字显示字符首先要解决待显示字符的ASCII码产生。用户只需在C51程序中写入欲显示的字符常量或字符串常量,C51程序在编译后会自动生成其标准的ASCII码,然后将生成的ASCII码送入显示用数据存储器DDRAM,内部控制电路就会自动将该ASCII码对应的字符在LCD1602显示出来。让液晶显示器显示字符,首先对其进行初始化设置,还必须对有、无光标、光标移动方向、光标是否闪烁及字符移动方向等进行设置,才能获得所需显示效果。对LCD1602的初始化、读、写、光标设置、显示数据的指针设置等,都是单片机向LCD1602写入命令字来实现。命令字见表2所示:3
3 表 1 LCD1602 的引脚功能 3.3 LCD1602 字符的显示及命令字 显示字符首先要解决待显示字符的 ASCII 码产生。用户只需在 C51 程序中写 入欲显示的字符常量或字符串常量,C51 程序在编译后会自动生成其标准的 ASCII 码,然后将生成的 ASCII 码送入显示用数据存储器 DDRAM,内部控制电路 就会自动将该 ASCII 码对应的字符在 LCD1602 显示出来。 让液晶显示器显示字符,首先对其进行初始化设置,还必须对有、无光标、 光标移动方向、光标是否闪烁及字符移动方向等进行设置,才能获得所需显示效 果。 对 LCD1602 的初始化、读、写、光标设置、显示数据的指针设置等,都是单 片机向 LCD 1602 写入命令字来实现。命令字见表 2 所示:
表2LCD1602的命令字LCD1602的命令字编号RSRWD7D6DS命令D4D2D1D3DO0清屏1000100000光标返回0000n0000XID光标和显示模式设置00000001s显示开关及光标设置0DCB0-U0U0S/CRL光标或字符移位J0001XX功能设置oDL00NFX0.CGRAM地址设置0字符发生存储器地址70010DDRAM地址设置01显示数据存储器地址8BF0读忙标志或地址0计数器地址O0010写数据要写的数据01读数据1读出的数据表2中11个命令功能说明如下:命令1:清屏,光标返回地址00H位置(显示屏的左上方)。命令2:光标返回到地址00H位置(显示屏的左上方)。命令3:光标和显示模式设置。I/D一地址指针加1或减1选择位。I/D=1,读或写一个字符后地址指针加1;I/D=0,读或写一个字符后地址指针减1。S一屏幕上所有字符移动方向是否有效的控制位。S=1当写入一字符时,整屏显示左移(I/D=1)或右移(I/D=0);S=0整屏显示不移动。命令4:显示开/关及光标设置。D一屏幕整体显示控制位,D=0关显示,D=1开显示。C一光标有无控制位,C=0无光标,C=1有光标。B一光标闪烁控制位,B=0不闪烁,B=1闪烁。命令5:光标或字符移位。S/C一光标或字符移位选择控制位。S/C=1移动显示的字符,S/C=0移动光标。R/L一移位方向选择控制位。0:左移,1:右移,命令6:功能设置命令。DL一传输数据的有效长度选择控制位。1:8位数据线接口;0:4位数据线接口。N一显示器行数选择控制位。O:单行显示,1:两行显示。F一字符显示的点阵控制位。0:显示5×7点阵字符,1:显示5×10点阵字符。命令7:CGRAM地址设置。命令8:DDRAM地址设置。LCD内部有一个数据地址指针,用户可通过它访问内部全部80字节的数4
4 表 2 LCD1602 的命令字 表 2 中 11 个命令功能说明如下: 命令 1:清屏,光标返回地址 00H 位置(显示屏的左上方)。 命令 2:光标返回到地址 00H 位置(显示屏的左上方)。 命令 3:光标和显示模式设置。 I/D—地址指针加 1 或减 1 选择位。 I/D=1,读或写一个字符后地址指针加 1; I/D=0,读或写一个字符后地址指针减 1。 S—屏幕上所有字符移动方向是否有效的控制位。 S=1 当写入一字符时,整屏显示左移(I/D=1)或右移(I/D=0); S=0 整屏显示不移动。 命令 4:显示开/关及光标设置。 D—屏幕整体显示控制位,D=0 关显示,D=1 开显示。 C—光标有无控制位,C=0 无光标,C=1 有光标。 B—光标闪烁控制位,B=0 不闪烁,B=1 闪烁。 命令 5:光标或字符移位。 S/C—光标或字符移位选择控制位。S/C=1 移动显示的字符,S/C=0 移动 光标。 R/L—移位方向选择控制位。0:左移,1:右移, 命令 6:功能设置命令。 DL—传输数据的有效长度选择控制位。1:8 位数据线接口;0:4 位数据 线接口。 N—显示器行数选择控制位。0:单行显示,1:两行显示。 F—字符显示的点阵控制位。0:显示 5×7 点阵字符,1:显示 5×10 点 阵字符。 命令 7:CGRAM 地址设置。 命令 8:DDRAM 地址设置。 LCD 内部有一个数据地址指针,用户可通过它访问内部全部 80 字节的数
据显示RAM。命令格式为:80H+地址码。其中,80H为命令码和B=1,也就是写入命令“00001111B”,即0FH,就可实现所需的显示模式。命令9:读忙标志或地址。BF一忙标志。BF=1表示LCD忙,此时LCD不能接受命令或数据:BF=0表示LCD不忙。命令10:写数据。命令11:读数据。例如,将显示模式设置为“16×2显示,5×7点阵,8位数据接口”,只需要向1602写入光标和显示模式设置命令(命令3)“00111000B”,即38H即可。3.4字符显示位置的确定LCD1602内部有80字节DDRAM,与显示屏上字符显示位置一一对应,图3给出了LCD1602显示RAM地址与字符显示位置的对应关系:LCD16字×2行隐藏区域可显示区域O1501AL4244D14E4F67图3LCD1602显示RAM地址与字符显示位置的对应关系当向DDRAM的OOH~OFH(第1行)、4OH4FH(第2行)地址的任一处写数据时,LCD立即显示出来,该区域也称为可显示区域。而当写入10H~27H或50H~67H地址处时,字符不会显示出来,该区域也称为隐藏区域。如果要显示写入到隐藏区域的字符,需要通过字符移位命令(命令5)将它们移入到可显示区域方可正常显示。需说明的是,在向DDRAM写入字符时,首先要设置DDRAM定位数据指针,此操作可通过命令8完成。例如,要写字符到DDRAM的4OH处,则命令8的格式为:8OH+4OH=COH,其中80H为命令代码,40H是要写入字符处的地址。3.5LCD1602的复位LCD1602上电后复位状态为:清除屏幕显示设置为8位数据长度,单行显示,5×7点阵字符。显示屏、光标、闪烁功能均关闭。输入方式为整屏显示不移动,I/D=1。LCD1602的一般初始化设置为:写命令38H,即显示模式设置(16×2显示,5X×7点阵,8位接口)。5
5 据显示 RAM。命令格式为:80H+地址码。其中,80H 为命令码和 B=1,也就是 写入命令“00001111B”,即 0FH,就可实现所需的显示模式。 命令 9:读忙标志或地址。 BF—忙标志。BF=1 表示 LCD 忙,此时 LCD 不能接受命令或数据;BF=0 表示 LCD 不忙。 命令 10:写数据。 命令 11:读数据。 例如,将显示模式设置为“16×2 显示,5×7 点阵,8 位数据接口”,只需 要向 1602 写入光标和显示模式设置命令(命令 3)“00111000B”,即 38H 即 可。 3.4 字符显示位置的确定 LCD1602 内部有 80 字节 DDRAM,与显示屏上字符显示位置一一对应,图 3 给 出了 LCD1602 显示 RAM 地址与字符显示位置的对应关系: 图 3 LCD1602 显示 RAM 地址与字符显示位置的对应关系 当向 DDRAM 的 00H~0FH(第 1 行)、40H~4FH(第 2 行)地址的任一处写数据 时,LCD 立即显示出来,该区域也称为可显示区域。 而当写入 10H~27H 或 50H~67H 地址处时,字符不会显示出来,该区域也称为 隐藏区域。如果要显示写入到隐藏区域的字符,需要通过字符移位命令(命令 5) 将它们移入到可显示区域方可正常显示。 需说明的是,在向 DDRAM 写入字符时,首先要设置 DDRAM 定位数据指针,此 操作可通过命令 8 完成。 例如,要写字符到 DDRAM 的 40H 处,则命令 8 的格式为:80H+40H=C0H,其 中 80H 为命令代码,40H 是要写入字符处的地址。 3.5 LCD1602 的复位 LCD1602 上电后复位状态为: 清除屏幕显示 设置为 8 位数据长度,单行显示,5×7 点阵字符。 显示屏、光标、闪烁功能均关闭。 输入方式为整屏显示不移动,I/D=1。 LCD1602 的一般初始化设置为: 写命令 38H,即显示模式设置(16×2 显示,5×7 点阵,8 位接口)