lcd(lm016l)学习

上传人:飞*** 文档编号:47423909 上传时间:2018-07-02 格式:PDF 页数:7 大小:179.49KB
返回 下载 相关 举报
lcd(lm016l)学习_第1页
第1页 / 共7页
lcd(lm016l)学习_第2页
第2页 / 共7页
lcd(lm016l)学习_第3页
第3页 / 共7页
lcd(lm016l)学习_第4页
第4页 / 共7页
lcd(lm016l)学习_第5页
第5页 / 共7页
点击查看更多>>
资源描述

《lcd(lm016l)学习》由会员分享,可在线阅读,更多相关《lcd(lm016l)学习(7页珍藏版)》请在金锄头文库上搜索。

1、实验十三字符 LCD 显示实验一、实验目的1、了解字符 LCD 模块的使用方法2、掌握 8051 单片机控制字符LCD 模块显示程序的设计方法。二、实验原理字符 LCD 模块是一种专用显示字符、数字或符号的液晶显示模块。这种模块每一个符号由57、58 或5 11 的点阵像素排列组成的,字符间隔为一个点距,行间隔为一个行距,模块本身附有显示驱动控制电路,可以与单片机的I/O 口线直接连接, 使用方便。 目前广泛使用的字符 LCD 模块其显示驱动控制电路多是HD44780 或兼容品, 其接口信号、 操作指令相同。本实验选用的字符LCD 模块是香港精电公司生产的规格为161 的字符 LCD 模块,可

2、以在一行上显示 16 个字符。该模块与 8051 单片机 I/O 口线直接连接的电路如下图所示。1、字符 LCD 模块的接口信号 GND、VCC :电源, VCC=+5V 。 Vee : 液晶显示对比度调节电压输入。可以通过调节 LCD 左上角的多圈电位器RW2 来调节。 DB7 DB0:数据总线,三态。用于与模块之间传送信息。这里连接P1.0 P1.7。以下 3 个信号为控制信号: RS:寄存器选择信号,输入。这里连接P3.3(INT1) 。模块中有两类寄存器,一类是指令寄存器,用于写入指令; 另一类是数据寄存器,用于写入的数据。RS=0 ,选择指令寄存器。RS=1 ,选择数据寄存器。 R/

3、W :读 / 写信号,输入。这里连接P3.4(T0) 。R/W =1,读操作;R/W =0,写操作。 E :使能信号,输入。模块的读/ 写控制信号。这里连接P3.5(T1) 。读操作时, E 为高电平时,模块的数据或状态输出至DB7DB0 上,供单片机读取;写操作时, E 信号的下降沿将单片机送至数据总线上的数据或指令写入模块中。这里 3 个控制信号,均通过单片机的I/O 口线产生。字符LCD 模块的写时序与读时序如下。2、字符 LCD 模块的编程字符 LCD 模块的编程主要有两方面的内容: 向模块写入有关指令,设定其初始状态、工作方式、显示格式、数据长度、内部RAM 地址等。字符液晶显示模块

4、的指令有11 条,后面将作一简单介绍。 写入数据,亦将所显示字符的代码写入模块的显示存储器DDRAM 中, DDRAM 的一个存储单元与液晶上一个字符位置对应。本实验选用的161 字符 LCD 模块,其字符位置与DRAM单元的对应关系如下表。例如,若在液晶屏上第一个字符位置上显示“A” , 只需向 DDRAM 的00H 单元写入代码 “ 41H” 。字符 LCD 模块可显示的符号的代码如下表所示。英文字母、 数字的代码与 ASCII 码相同。 代码00H0FH 的显示内容可由用户在其CGRAM 中自定义。3、HD44780 的指令简介 清屏指令: 01H 该指令完成下列功能:将20H (空格)

5、写入 DDRAM 所有单元,使显示消失;并将地址指针计数器 AC=0 ,光标返回显示屏第一字符位置。地址指针计数器AC, 是模块的一个重要的计数器,当向 DRAM 单元写入数据后AC 可以自动加1,指向下一单元(或自动减1)。 归位指令: 02H 将地址指针计数器AC=0 ,光标返回显示屏第一字符位置,但DDRAM 中的内容不变。 输入方式设置指令:04H07H 该指令用于设置显示字符的输入方式。指令码如下:其中位 I/D=1 ,向 DRAM 写入一个字符码后,AC 自动加 1,光标右移一个字符位;I/D=0 ,向 DDRAM 写入一个字符码后,AC 自动减 1,光标左移一个字符位;位S=1,

6、写入字符时,允许显示画面移动。S=0, 写入字符时,显示画面不移动。 显示开关控制指令码如下:D:显示开关:D=1,开显示, D=0 关显示。关显示后显示代码仍在DRAM 中,开显示后,立即再现。C:光标显示控制:D=1,光标显示;D=0,光标不显示。B:闪烁显示控制:B=1,闪烁; D=0,不闪烁。 光标或显示画面移动指令码如下:可使光标或显示画面在没有读写显示数据的情况下,向左或向右移动。S/C:S/C=1,显示移位、 S/C=0,光标移位。R/L:R/L =1 ,右移、 R/L =0 ,左移。 工作方式设置指令码如下:该指令是字符液晶显示模块的初始化指令。DL: 设置接口方式。DL=1,

7、数据总线为8 位,使用 DB7DB0 。DL=0,数据总线为4 位,使用 DB7DB4 ,8 位数据要分 2 次传送。N: 设置显示的字符行数。N=0,为 1 行, N=1 为2 行。F: 设置显示字符的字体。F=0,为 58 点阵; F=1,为 5 11 点阵(自定义时)。另外: 该指令还是软件复位指令。软件复位的方法是对它写入3 条30H 指令, 每条 30H 指令之间加入延时,时间大于4.1ms。HD44780 操作前必须先复位。 CGRAM 地址设置指令码如下:CGRAM 是字符液晶显示模块中用于存放用户自定义字符点阵字模库的存储器地址为00H3FH ,共64 个字节。用户可以利用它自

8、定义8 个58 点阵的字模库, 或4 个511 的点阵字模库。前者每个字符代码的点阵占用CGRAM 的8 个字节,后者每个字符代码的点阵占用CGRAM 的 16 个字节。当用户需要向 CGRAM 写入点阵字模时, 需要先设置 CGRAM 地址。本指令的 ACG5ACG0 是欲设置的 6位CGRAM 地址指针至 AC 中。随后对 CGRAM 写(读)操作即从此新址开始。 DDRAM 地址设置指令码如下:本指令用于设置DDRAM 的地址指针至AC 中。随后对 DDRAM 写(读) 操作即从此新地址开始。 读“忙”标志BF 和地址指针 AC 格式:当RS=0,R/W =1 时, E 高电平时, DB

9、7 输出“忙” 标志 BF,DB6DB0 输出地址指针 AC 的值。BF=1,表示模块的显示驱动控制电路忙,不能接收指令或数据。BF=0,表示模块的显示驱动控制电路闲,可以接收指令或数据。单片机在向模块写指令或数据前必须先查询BF 的状态。读出的 AC6AC0 是当前 AC 的值。由于 AC 是CGRAM、DDRAM 公用,它所指区域与前一条指令操作区域相同。 写数据格式:当RS=1、R/W =0 时、 E 信号的下降沿,将单片机送至DB7DB0 上的数据写入模块。若AC 为DDRAM 的地址指针,写入DDRAM 中;若 AC 为CGRAM 的地址指针,写入CGRAM 中。写入的数据先进入模块

10、中的数据寄存器DR 中,再由模块的内部操作自动送入AC 所指单元。 读数据格式:当RS=1、R/W =1 时、 E 高电平时, AC 所指的 DDRAM 或CGRAM 单元的内容被读出。读出的数据先进入模块中的数据寄存器DR 中,再由模块的内部操作自动送至DB7DB0 上。三、实验内容将字符 LCD 模块与单片机相连接,编程在显示屏上显示:How are you ? 四、参考程序实验LCD.ASM ORG 0000H RS EQU P3.3 ;寄存器选择信号RW EQU P3.4 ;读 / 写控制信号E EQU P3.5 ;使能信号COM EQU 20H ;命令字暂存单元CLR RS CLR

11、RW MOV P1,#30H ;向LCD 写入 3 条30H 指令 , 使之复位MOV R7,#03H INT: SETB E ;使E 产生下降沿CLR E CALL DELAY ;延时大于 4.1ms DJNZ R7,INT MOV P1,#38H ;工作方式设置命令字:设置8 位数据总线,5 8 点阵SETB E ;使E 产生下降沿CLR E MOV COM,#01H ;清屏指令 01H CALL PR1 ;调向 LCD 写指令子程序MOV COM,#06H ;设置输入方式命令字:AC 加1 计数,光标右移1 个字符CALL PR1 MOV COM,#0FH ;显示开关控制命令字:开显示,

12、光标显示;闪烁CALL PR1 MOV R6,#16 ;R6 作字符计数器MOV DPTR,#DATA1 MOV R4,#0 DISPLY: CALL F_BUSY ;调判忙子程序MOV A,R4 MOVC A,A+DPTR ;取数SETB RS ;以下 5 条指令为向 LCD 写数CLR RW MOV P1,A SETB E CLR E INC R4 CJNE R4,#08H,NEXT ;不到显示位置9 转MOV COM,#0C0H ;设置地址 40H 至AC,调整显示位置为9 CALL PR1 NEXT: DJNZ R6,DISPLY SJMP $ PR1: CALL F_BUSY ;写指令子程序CLR RW MOV P1,COM SETB E CLR E RET F_BUSY: CLR RS ;判忙子程序SETB RW F_BY1: MOV P1,#0FFH SETB E MOV A,P1 CLR E JB ACC.7,F_BY1 ; 忙转RET DELAY: MOV R0,#8H ;延时子程序DLY0: MOV R1,#0C8H DLY1: DJNZ R1,DLY1 DJNZ R0,DLY0 RET DATA1: DB 20H,20H, How are you ? ,20H END

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号