LCD1602屏幕简介(全网最详细教程)

这篇具有很好参考价值的文章主要介绍了LCD1602屏幕简介(全网最详细教程)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

1.接线说明

2.LCD1602显示原理

3.LCD1602时序分析

4.LCD1602显示一个字符

 5.LCD1602显示一行


1.接线说明

lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网

lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网

第1引脚:GND为电源地

第2引脚:VCC接5V电源正极

第3引脚:V0为液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高(对比度过高时会 产生“鬼影”,使用时可以通过一个10K的电位器调整对比度)。

第4引脚:RS为寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器。

第5引脚:RW为读写信号线,高电平(1)时进行读操作,以51为例的简单原理图低电平(0)时进行写操作。

第6引脚:E(或EN)端为使能(enable)端,高电平(1)时读取信息,负跳变时执行指令。

第7~14引脚:D0~D7为8位双向数据端。第15~16脚:空脚或背灯电源。第15引脚背光正极,第16引脚背光负极。

开发板接线图:

2.LCD1602显示原理

要想搞懂1602如何显示,就只需搞懂两个问题(在哪显示,如何显示)。

首先来说一下在哪显示这个问题:

lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网

LCD1602可以显示16*2个字符且通过D0-D7八个引脚传输数据八位数据,每一个显示的位置都对应上图的一个地址。例如我想在第一行的第三个位置显示,那么就可以锁定上表中的“02”,换算成二进制就是0000 0010。听上去很简单,但是LCD1602有个特点就是写入显示地址时要求最高位 D7 恒定为高电平。所以我们想显示真实的地址应该为1000 0010。

在哪显示说清楚了,现在来搞怎么显示这个问题:

lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网

 在LCD1602的手册中给出了这样一个表格,我们想显示表格中的字符只需获取某个字符的高位和低位即可。例如我想显示“B”这个字符,就是0100 0010转换成16进制就是0x42,刚好对应‘B’的ASCLL码66。当然我们在编程的时候无需这样操作,只需输入字符即可,编译器会自动编译成对应的ASCLL码。

说到这里会发现无论是传输地址的指令还是传输字符的指令都是通过D0-D7这八根线进行传输,那么我们什么时候传输的数据,说明时候传输的是地址呢。我们靠的是在1602上的RS引脚,RS为高电平1时选择数据寄存器(写数据)、低电平0时选择指令寄存器(写地址)。

3.LCD1602时序分析

LCD1602的时序分为读操作时序和写操作时序,我们先分析一下最重要的写操作时序。我们无论是写入数据还是写入地址都必须要执行写操作,因此我们在编程是最好封装两个函数(写地址函数,写数据函数)。

写时序分析

lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网

 首先看RS,RS的时序分析非常简单就正如上文所说我们只需搞清楚到底是是写地址还是写数据 ,写地址为0,写数据为1即可,没有太多好分析的。

R/W:可以从途中看出来R/W的时序低电平贯穿了整个时序,因此我们将R/W置0即可。

E:初始状态为0,然后延时至少tR之后置1(tR的值参考上表,25ns执行一个_nop_();函数即可),置1后要延时至少tPW(上图给出的tPW值为150ns,建议执行两个_nop_();函数),接着再至少延时tF(执行一个_nop_();函数)后置0。

代码如下(基于51单片机),其它单片机此原理都可适用。

#include "reg52.h"
#include "intrins.h"
#include "delay.h"

#define databuffer P0  //定义D0-D7引脚
sbit EN = P2^7;
sbit RS = P2^6;
sbit RW = P2^5;

void Write_cmd_Func(char cmd)  //写命令函数
{
	check_busy();   //检测忙信号函数
	RS = 0;    //RS为低电平:写指令
	RW = 0; 
	
	EN = 0;
	_nop_(); //执行一个空函数,延时约1us
	databuffer = cmd;
	_nop_();
	EN = 1;
	_nop_();
	_nop_();
	EN = 0;  
	_nop_();	
}

void Write_data_Func(char datashow) //写命令函数
{
	check_busy();  //检测忙信号函数
	RS = 1; //RS为高电平:写内容
	RW = 0;	
	
	EN = 0;
	_nop_();
	databuffer = datashow;
	_nop_();
	EN = 1;
	_nop_();
	_nop_();
	EN = 0;  
	_nop_();	
}

读操作时序:

读操作时序主要应用在检测忙信号,忙信号也在手册初始化中使用到,下文会提到。所以我们分析读操作时序的目的也就是为了写检测忙信号函数。 

lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网

lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网

RS:置0,写命令

RW:高电平贯穿整个时序,因此置1。

E:初始状态为0,延时tR后拉高,之后再延时tPW后拉低。

读操作时序与写操作时序的区别在于:写操作时序在E=0的时候就开始传输数据,而读操作时序要等E=1之后才开始传输数据。

lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网

代码如下:

void check_busy()//检测忙信号函数
{
	char tmp = 0x80; //创建一个变量,存放数据

	databuffer=0x80; //初始值为忙,只要当单片机发数据后高位变低后才为不忙
	while(tmp & 0x80){  //检测tmp的高位bf的值是否为高电平,如果为忙程序卡住不往下执行         
                        //高电平:忙   低电平:不忙
	RS = 0;
	RW = 1;
	EN = 0;
	_nop_();
	EN = 1;
	_nop_();	
	_nop_();
	tmp=databuffer;
  EN = 0;
	_nop_();	
	}
}

LCD1602初始化:

当然这里还需注意LCD1602的手册给出了使用前还需将LCD1602初始化,具体初始化内容如下,我们只需调用我们刚刚封装好的写命令函数一步一步执行手册所给的内容即可。

(1)延时 15ms

(2)写指令 38H(不检测忙信号)

(3)延时 5ms

(4)以后每次写指令,读/写数据操作均需要检测忙信号

(5)写指令 38H:显示模式设置

(6)写指令 08H:显示关闭

(7)写指令 01H:显示清屏

(8)写指令 06H:显示光标移动设置

(9)写指令 0CH:显示开及光标设置

void LCD1602_Init() //LCD1602初始化
{

	Delay15ms();
	Write_cmd_Func(0x38);
	Delay5ms();
	Write_cmd_Func(0x38);
	Write_cmd_Func(0x08);
	Write_cmd_Func(0x01);
	Write_cmd_Func(0x06);
	Write_cmd_Func(0x0c);
}

4.LCD1602显示一个字符

我们上面已经把写命令函数,写数据函数,初始化函数等都已经写完了,现在就可以在main函数里面操作让我们的LCD1602显示一个字符了。

代码如下:

void main()
{
	char position = 0x80 + 0x08;  //定义显示的位置
	char datashow = 'E'           //定义显示的字符
	
	LCD1602_Init();
	Write_cmd_Func(position);
	Write_data_Func(datashow);
}

效果如下:

lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网

 5.LCD1602显示一行

想要显示一行我们只需基于上面的内容封装一个函数即可。

代码如下:

void LCD1602_ShowLine(char row,char col,char *string) //row:行 col:列 *string:显示内容
{
	switch(row){
		case 1:
		Write_cmd_Func(0x80+col);
		while(*string){
		Write_data_Func(*string);
		string++;
		}
		break;
			
	  case 2:
		Write_cmd_Func(0x80+0x40+col);
		while(*string){
		Write_data_Func(*string);
		string++;
		}
		break;
	}
}

效果如下:

lcd1602怎么接线,51单片机,嵌入式硬件,单片机,硬件工程,arm,物联网

有关LCD1602的内容就分享完了,欢迎广大嵌入式爱好者交流!文章来源地址https://www.toymoban.com/news/detail-811967.html

到了这里,关于LCD1602屏幕简介(全网最详细教程)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 液晶LCD1602使用介绍

    液晶LCD1602简介       LCD1602 液晶也叫1602字符型液晶模块,LCD1602液晶是一种专门用来显示字母、数字、符号的点阵型液晶模块。LCD1602液晶是由若干个5x7点阵字符位组成,每个点阵字符位都可以显示一个字符(包括字母、数字、符号),一共可以显示16x2个字符 。LCD1602液晶的每

    2024年01月16日
    浏览(45)
  • STM32—LCD1602

    LCD1602(Liquid Crystal Display)是一种工业字符型液晶,能够同时显示 16×02 即 32 字符(16列两行) 第 1 脚: VSS 为电源地 第 2 脚: VDD 接 5V 正电源 第 3 脚: VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度 过高时会产生“鬼影”,使用时可以通过一个

    2024年02月04日
    浏览(24)
  • 【单片机】16-LCD1602和12864和LCD9648显示器

    (1)显示器,常见显示器:电视,电脑 (2)LCD(Liquid Crystal Display),液晶显示器,原理介绍 (3)LCD应用领域:手机,电脑 (4)将来取代LCD:LED,OLED【全面屏---软性】 1.像素(分辨率) 显示单元【液晶分子】 但是实际上: 像素!=分辨率 比如:出厂时电脑的像素已经确

    2024年02月08日
    浏览(52)
  • 实验(四):LCD1602显示实验

            实验目的:                 1. 掌握LCD1602显示控制方法;                 2. 掌握利用Proteus进行单片机控制系统的仿真及调试方法。                 3. 掌握单片机开发板的使用。         任务:                 1.根据要求编写程

    2024年02月02日
    浏览(34)
  • LCD1602的使用及显示

    第 1 脚: VSS 为电源地 第 2 脚: VDD 接 5V 正电源 第 3 脚: VL 为液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个 10K 的电位器调整对比度。 第 4 脚: RS 为寄存器选择 , 高电平时选择数据寄存器、低电平时

    2024年02月07日
    浏览(76)
  • LCD1602液晶显示模块

    1、概述: LCD1602(Liquid Crystal Display)是一种工业字符型液晶,能够同时显示 16×02,32个 字符(16列两行)。是我们接触引脚最多的模块。 LCD1602我们的非标准协议(标准协议有IIC、IIS、SPI)中比较容易懂的玩法。 2、引脚说明:翻阅LCD1602说明书 共有16根引脚,如下表: 编号 符号

    2024年02月16日
    浏览(40)
  • LCD1602液晶显示屏

    主函数 LCD1602.c LCD1602.h 接线图:   1、1602屏幕=16x2=32个字符,总共有32个字符  2、每个字符由35个像素组成 每个像素由一小块液晶控制 --------------------------------------------------------------------------------------------------------------------------------- 液晶的控制原理: 不施加电压——液晶完

    2024年02月07日
    浏览(40)
  • 51单片机——LCD1602模块

    一.LCD1602介绍 1.LCD1602 (Liquid Crystal Display )液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符。 2.显示容量:16x2个字符,每个字符为5*7点阵。 二.LCD1602接口介绍 引脚 功能 VSS 接地 VDD 电源正极(4.5v-5.5v) VO 对

    2024年02月07日
    浏览(34)
  • 51单片机入门——LCD1602

    LCD ( Liquid Crystal Display 的简称) 液晶显示器 。 LCD 的构造是在两片平行的玻璃基板当中放置液晶盒,下基板玻璃上设置TFT(薄膜晶体管),上基板玻璃上设置彩色滤光片,通过TFT上的信号与电压改变来控制液晶分子的转动方向,从而达到控制每个像素点偏振光出射与否而达

    2024年02月09日
    浏览(34)
  • 单片机lcd1602的显示

    首先,你需要了解LCD1602的引脚功能。LCD1602有16个引脚,其中包括: Gnd:电源地脚 Vcc:5V电源正极 VL:液晶显示器对比度调整端,接正电源时对比度最弱,接地电源时对比度最高 RS:寄存器选择,高电平1时选择数据寄存器、低电平0时选择指令寄存器 RW:读写信号线,高电平(

    2024年01月17日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包