1602液晶显示屏资料(液晶显示器1602使用手册)
发布时间: 9/17/2023 7:06:35 PM 来源: 吟似
引脚说明:
第1脚:GND 为地电源;
第2脚:VDD 接5V 正电源;
第3脚:V0 为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高,对比度过高时会产生“鬼影”,使用时可以通一个10K 的电位器调整对比度;
第4脚:RS 为寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器;
第5脚:RW 为读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW 共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据;
第6脚:EN 端为使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;
第7~14脚:D0~D7 为8位双向数据线;
第15~16脚:空脚。
字符表:
基本控制:
指令1:清显示,指令码01H,光标复位到地址00H位置
指令2:光标复位,光标返回到地址00H
指令3:光标和显示模式设置 I/D:光标移动方向,高电平右移,低电平左移 S:屏幕上所有文字是否左移或者右移。高电平表示有效,低电平则无效
指令4:显示开关控制。 D:控制整体显示的开与关,高电平表示开显示,低电平表示关显示 C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁
指令5:光标或显示移位 S/C:高电平时移动显示的文字,低电平时移动光标
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时双行显示 F: 低电平时显示5x7的点阵字符,高电平时显示5x10的点阵字符
指令7:字符发生器RAM地址设置
指令8:DDRAM地址设置
指令9:读忙信号和光标地址 BF:为忙标志位,高电平表示忙,此时模块不能接收命令或者数据,如果为低电平表示不忙。
指令10:写数据
指令11:读数据
RT-1602的内部显示地址:
RT-1602液晶显示模块和单片机AT89C51交互
液晶显示模块是一个慢显示器件,所以在执行每条指令之前一定要确认模块的忙标志为低电平,表示不忙,否则此指令失效。要显示字符时要先输入显示字符地址,也就是告诉模块在哪里显示字符,表3是RT-1602的内部显示地址.
比如第二行第一个字符的地址是40H,那么是否直接写入40H就可以将光标定位在第二行第一个字符的位置呢?这样不行,因为写入显示地址时要求最高位D7恒定为高电平1所以实际写入的数据应该是01000000B(40H)+10000000B(80H)=11000000B(C0H)
以下是在液晶模块的第二行第一个字符的位置显示字母“A”的程序:
ORG 0000H
RS EQU P3.7;确定具体硬件的连接方式
RW EQU P3.6 ;确定具体硬件的连接方式
E EQU P3.5 ;确定具体硬件的连接方式
MOV P1,#00000001B ;清屏并光标复位
ACALL ENABLE;调用写入命令子程序
MOV P1,#00111000B ;设置显示模式:8位2行5x7点阵
ACALL ENABLE ;调用写入命令子程序
MOV P1,#00001111B ;显示器开、光标开、光标允许闪烁
ACALL ENABLE ;调用写入命令子程序
MOV P1,#00000110B ;文字不动,光标自动右移
ACALL ENABLE ;调用写入命令子程序
MOV P1,#0C0H ;写入显示起始地址(第二行第一个位置)
ACALL ENABLE ;调用写入命令子程序
MOV P1,#01000001B ;字母A的代码
SETB RS ;RS=1
CLR RW ;RW=0 ;准备写入数据
CLR E ;E=0 ;执行显示命令
ACALL DELAY ;判断液晶模块是否忙?
SETB E ;E=1 ;显示完成,程序停车
AJMP $
ENABLE:
CLR RS ;写入控制命令的子程序
CLR RW
CLR E
ACALL DELAY
SETB E
RET
DELAY:
MOV P1,#0FFH ;判断液晶显示器是否忙的子程序
CLR RS
SETB RW
CLR E
NOP
SETB E
JB P1.7,DELAY ;如果P1.7为高电平表示忙就循环等待
RET
END
程序在开始时对液晶模块功能进行了初始化设置,约定了显示格式。注意显示字符时光标是自动右移的,无需人工干预,每次输入指令都先调用判断液晶模块是否忙的子程序DELAY,然后输入显示位置的地址0C0H,最后输入要显示的字符A的代码41H。
文件名称: LCD-driver-4bit下载 收藏√ [ 5 4 3 2 1 ] 所属分类: SCM 开发工具: VHDL 文件大小: 1 KB 上传时间: 2008-05-07 下载次数: 5 提 供 者: 马亮 详细说明:LCD1062的显示驱动,是4线并行显示-The LCD1062 display driver is a 4-wire parallel display
[上载源码成为会员下载此源码] [成为VIP会员下载此源码...] 相关搜索: lcd lcd vhdl
输入关键字,在本站70万海量源码库中尽情搜索: 帮助
[lcd12232FC51.rar] - lcd12232f的串口C51程序,可供参考
[ztj.rar] - 一个简单的状态机,本人已经验证过,大家可以放心使用
[1602-4bit-Driver.rar] - C51 lcd1602 4线并口通信源程序
[1602lcd.rar] - 用EPM1270实现的1602液晶驱动Verilog
[ps2_lcd_1602.rar] - 与PS2的通信,PS2按键值发给lcd显示,VHDL语言。
[DE2_lcd.rar] - 本源码是用verilog编写控制lcd——使用Quartusii,开发平台使用的是DE2开发板,可实现1602上任意字符显示
[lcd_control.rar] - lcd的驱动显示程序,在SP3实验板上实现.
[lcd1.rar] - 教你基础的lcd显示屏应用方法,清晰的编程,清楚的解释
[TG1602C.rar] - 1602液晶屏的使用说明手册,很实用哦,对于使用VHDL编写液晶屏驱动具有参考价值。
[lcd1602-verilog.rar] - 基于QuartusII的lcd1602-Verilog 源代码,可以直接应用于FPGA开发板。
文件列表(点击判断是否您需要的文件,如果是垃圾请在下面评价投诉):
LCD-driver-4bit.txt
1,lcd1602工作原理是什么?
线段的显示
点阵图形式液晶由M×N个显示单元组成,假设LCD显示屏有64行,每行有128列,每8列对应1字节的8位,即每行由16字节,共16×8=128个点组成,屏上64×16个显示单元与显示RAM区1024字节相对应,每一字节的内容和显示屏上相应位置的亮暗对应。例如屏的第一行的亮暗由RAM区的000H——00FH的16字节的内容决定,当(000H)=FFH时,则屏幕的左上角显示一条短亮线,长度为8个点;当(3FFH)=FFH时,则屏幕的右下角显示一条短亮线;当(000H)=FFH,(001H)=00H,(002H)=00H,……(00EH)=00H,(00FH)=00H时,则在屏幕的顶部显示一条由8段亮线和8条暗线组成的虚线。这就是LCD显示的基本原理。
字符的显示
用LCD显示一个字符时比较复杂,因为一个字符由6×8或8×8点阵组成,既要找到和显示屏幕上某几个位置对应的显示RAM区的8字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在LCD上开始显示的行列号及每行的列数找出显示RAM对应的地址,设立光标,在此送上该字符对应的代码即可。
汉字的显示
汉字的显示一般采用图形的方式,事先从微机中提取要显示的汉字的点阵码(一般用字模提取软件),每个汉字占32B,分左右两半,各占16B,左边为1、3、5……右边为2、4、6……根据在LCD上开始显示的行列号及每行的列数可找出显示RAM对应的地址,设立光标,送上要显示的汉字的第一字节,光标位置加1,送第二个字节,换行按列对齐,送第三个字节……直到32B显示完就可以LCD上得到一个完整汉字。
2,lcd1602工作原理-lcd1602的基本参数

显示容量:16×2个字符
芯片工作电压:4.5—5.5V
工作电流:2.0mA(5.0V)
模块最佳工作电压:5.0V
字符尺寸:2.95×4.35(W×H)mm
3,lcd1602工作原理-lcd1602与单片机连接电路图
lcd1602液晶显示模块可以只用D4-D7作为四位数据分两次传送。这样的话,可以节省MCU的I/O口资源。lcd1602可以显示2行16个字符,有8为数据总线D0-D7,和RS、R/W、EN三个控制端口,工作电压为5V,并且带有字符对比度调节和背光。
lcd1602液晶显示模块可以和单片机AT89C51直接接口,电路连接简单,如图1所示:

lcd1602和51单片机的连接图

lcd1602和51单片机的连接图

其中图中的JPBG直接接电源,第3引脚的可调电位器的两端一定要连接电源和地。P2.0,P2.1,P2.2分别是RS,R/W和E三个控制位,P0.0-P0.7是8位数据线。三个控制位详见说明,RS=0表示写或读指令,RS=1表示写数据。R/W是读写指令,R/W=1是读,R/W=0是写。E是使能端,要根据时序图去写对应的程序。

lcd1602和AT89S52单片机的连接图

此电路中,上拉电阻用4.7K的,液晶的3脚用一个10K可调电阻接地,调节液晶亮度。
4,lcd1602工作原理-lcd1602引脚图与引脚定义
lcd1602共16个管脚,但是编程用到的主要管脚不过三个,分别为:RS(数据命令选择端),R/W(读写选择端),E(使能信号);以后编程便主要围绕这三个管脚展开进行初始化,写命令,写数据。


1602采用标准的16脚接口,
第1脚:VSS为电源地
第2脚:VCC接5V电源正极
第3脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。
第4脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。
第5脚:RW为读写信号线,高电平(1)时进行读操作,低电平(0)时进行写操作。
第6脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。
第7~14脚:D0~D7为8位双向数据端。
第15~16脚:空脚或背灯电源。15脚背光正极,16脚背光负极。
5,lcd1602工作原理-读写操作指令编程表
各种液晶厂家均有提供几乎都是同样规格的lcd1602 模块或兼容模块,尽管各厂家的对其各自的产品命名不尽相同;但其最初采用的LCD 控制器采用的是HD44780,在各厂家生产的1602 模块当中,基本上也都采用了与之兼容的控制IC,所以从特性上基本上是一样的;当然,很多厂商提供了不同的字符颜色、背光色之类的显示模块。但是它们的读写操作是一样的。
lcd1602液晶模块内部的控制器共有11条控制指令,如下表所示。

lcd1602液晶模块的读写操作,屏幕和光标的操作都是通过指令编程来实现的。(说明1为高电平,0为低电平)
指令1:清显示,指令码01H,光标复位到地址00H位置
指令2:光标复位,光标返回到地址00H
指令3:光标和显示位置设置I/D,光标移动方向,高电平右移,低电平左移,S:屏幕上所有文字是否左移或右移,高电平表示有效,低电平表示无效。
指令4:显示开关控制。D:控制整体的显示开与关,高电平表示开显示,低电平表示关显示。C:控制光标的开与关,高电平表示有光标,低电平表示无光标 B:控制光标是否闪烁,高电平闪烁,低电平不闪烁。
指令5:光标或显示移位 S/C :高电平时显示移动的文字,低电平时移动光标
指令6:功能设置命令 DL:高电平时为4位总线,低电平时为8位总线 N:低电平时为单行显示,高电平时为双行显示,F:低电平时显示5X7的点阵字符,高电平时显示5X10的显示字符。
指令7:字符发生器RAM地址设置。
指令8:DDRAM地址设置。
指令9:读忙信号和光标地址 BF:忙标志位,高电平表示忙,此时模块不能接收命令或数据,如果为低电平表示不忙。
小编推荐阅读:
lcd1602液晶显示屏介绍_lcd1602引脚功能
lcd1602在proteus中怎么找_lcd1602proteus仿真
lcd1602只亮不显示_lcd1602简单显示程序
lcd1602地址设置_LCD1602内部的控制器指令
lcd1602的封装_lcd1602的初始化程序
lcd1602的a和k是什么引脚_lcd1602与单片机的连接方法

阅读原文
80是第一行,+40是第二行,+6是第二行第六个位置显示。
写命令(0x80+0x40)即可
这就是第二行的首地址
write_com(0x80+0x40);//第2行,第1字
write_date('c');//显示一个字符“c”
Delay1ms(12);//延时
lie 就是“列”的意思,a=a+lie-1 就是 等于第a行的第 lie-1列,比如 hang=1,lie=2 时,则 a=0x80,即指定LCD第一行左上角的位置,a=a+lie-1,即a=a+1,指定LCD第一行第2列。
#include reg52.h
#define uchar unsigned char
#define uint unsigned int
uchar data a[ ]="xian zai shi ";
sbit key0= P2^0;//功能键,对位进行选择
sbit key1=P2^1;// 加位
sbit key2= P2^2;// 减位
sbit EN= P3^4; //读写段
sbit RS= P3^5; //使能端
uchar miao,fen,shi;
扩展资料:
1602液晶模块内部的字符发生存储器(CGROM)已经存储了160个不同的点阵字符图形,这些字符有:阿拉伯数字、英文字母的大小写、常用的符号、和日文假名等,每一个字符都有一个固定的代码,比如大写的英文字母“A”的代码是01000001B(41H),显示时模块把地址41H中的点阵字符图形显示出来,就能看到字母“A”。
因为1602识别的是ASCII码,试验可以用ASCII码直接赋值,在单片机编程中还可以用字符型常量或变量赋值,如'A’。
参考资料来源:百度百科-1602字符液晶