问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

LCD1602液晶显示器实验指导书

创作时间:
作者:
@小白创作中心

LCD1602液晶显示器实验指导书

引用
CSDN
1.
https://blog.csdn.net/m0_62569287/article/details/127425711

LCD1602是一种常用的字符型液晶显示器,能够显示两行字符信息,每行可显示16个字符。它通过8位并行数据接口与单片机连接,支持显示字母、数字和特殊符号。本文将详细介绍LCD1602的硬件连接、软件编程以及具体实验步骤。

一、LCD1602介绍

1.1 LCD1602简介和引脚定义

LCD1602液晶也叫LCD1602字符型液晶,它能显示2行字符信息,每行又能显示16个字符。它是一种专门用来显示字母、数字、符号的点阵型液晶模块。它是由若干个5x7或者5x10的点阵字符位组成,每个点阵字符位都可以用显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用,正因为如此,它不能很好的显示图片。

图1:LCD1602液晶实物图

LCD1602有16个管脚,其功能定义如下:

  • 1 脚:VSS,接地。
  • 2 脚:VDD,电源正极(4.5~5.5V都可)。
  • 3 脚:VO,对比度调节。液晶显示偏压信号,用于调整LCD1602的显示对比度,一般会外接电位器用以调整偏压信号,注意此脚电压为0时可以得到最强的对比度。
  • 4 脚:RS,数据/指令选择端,1为数据,0为指令。当此脚为高电平时,可以对1602进行数据字节的传输操作,而为低电平时,则是进行命令字节的传输操作。
  • 5 脚:R/W,读/写选择端,1为读,0为写。当此脚为高电平可对LCD1602进行读数据操作,反之进行写数据操作。
  • 6 脚:E,使能信号,1为数据有效,下降沿执行命令。其实是LCD1602的数据控制时钟信号,利用该信号的上升沿实现对LCD1602的数据传输。
  • 7~14 脚:数据输入/输出。8位并行数据口,而51单片机一组IO也是8位,使得对LCD1602的数据读写大为方便。
  • 15 脚:A,背光灯电源正极。
  • 16 脚:K,背光灯电源负极。

图2:各引脚功能速览表

1.2 LCD1602内部结构

图3:LCD1602液晶原理图

LCD1602的内部结构主要包括以下几个部分:

  • DDRAM(Data Display Random Access Memory):数据显示存储器。可读取,可写入。如图5所示,可显示位置为40*2,共计80个字符。即是第一行00H27H,和第二行的40H67H。

  • CGRAM(Character Generation Random Access Memory):用户字符发生器。可以自定义用户的字模库(最多八个字符)。

  • CGROM(Character Generation Read Only Memory):字符发生器。出厂默认设置的字模库,与标准ASCII码基本一致。并在此基础上加入片假名和部分特殊符号的支持。具体支持范围如图六所示:

图4:内部结构框图

1.3 LCD1602常用指令

在使用LCD1602时,需要掌握一些常用指令,这些指令对于LCD1602的初始化是必须的。

  • 清屏指令:清除液晶显示器,即将DDRAM的内容全部填入"空白"的ASCII码20H;光标归位,即将光标撤回液晶显示屏的左上方;将地址计数器(AC)的值设为0。清屏指令是0x01。

  • 模式设置指令:设定每次写入1位数据后光标的移位方向,并且设定每次写入的一个字符是否移动。写入新数据后光标右移,显示屏不移动的命令是0x06。

  • 显示开关控制指令:控制显示器开/关、光标显示/关闭以及光标是否闪烁。显示开,光标关,闪烁关的指令是0x0c。

  • 功能设定指令:设定数据总线位数、显示的行数及字型。数据总线8位,显示2行,5*7点阵/字符的命令是0x38。

1.4 LCD1602的使用

要使用LCD1602,首先需要对其初始化,即通过写入一些特定的指令实现。然后选择要在LCD1602的哪个位置显示,并将所要显示的数据发送到LCD的DDRAM。使用LCD1602通常都是用于写数据进去,很少使用读功能。LCD1602操作步骤如下所示:

  1. 初始化
  • 发送指令0x38 //八位数据接口,两行显示,5*7点阵
  • 发送指令0x0C //显示开,光标关,闪烁关
  • 发送指令0x06 //数据读写操作后,光标自动加一,画面不动
  • 发送指令0x01 //清屏
  1. 写命令(RS=0),设置显示坐标
  2. 写数据(RS=1)

二、硬件设计

本实验使用到硬件资源如下:

  • LCD1602液晶:开发板上集成了一个LCD1602液晶接口,下面来看下开发板上LCD1602液晶接口电路,如下图所示:

图5:普中A2开发板LCD1602液晶接口电路

从上图中可知,LCD1602的8位数据口DB0-DB7与单片机的P0.0-P0.7管脚连接,LCD1602的RS、RW、E脚与单片机的P2.6、P2.5、P2.7管脚连接。RJ1是一个电位器,用来调节LCD1602对比度即显示亮度。

三、软件设计

本章所要实现的功能是:在LCD1602液晶上显示字符信息。程序框架如下:

  1. 编写LCD1602显示函数
  2. 编写主函数

本章软件的重点是如何对LCD1602进行写命令和数据。

3.1 LCD1602驱动函数

在第一步1.4 LCD1602的使用我们已经了解到了LCD1602的初始化,写命令及写数据操作,现在我们给出写命令和写数据时,11.0592MHz调用可延时1ms的代码(此代码可由辅助软件计算写出):

//函数定义:
/**
  * @brief  LCD1602延时函数,11.0592MHz调用可延时1ms
  * @param  无
  * @retval 无
  */
void LCD_Delay()
{
    unsigned char i, j;
    i = 2;
    j = 199;
    do
    {
        while (--j);
    } while (--i);
}

3.2 LCD1602显示函数

  • LCD1602设置光标位置:因为写入显示地址时要求最高位D7恒定为高电平1,所以命令的最高位要全赋为1,而显示位是从0开始的,所以第一行的写入命令是0x80| (lie-1)。而LCD1602的存储是每行40个字符,所以第二行第一位是在第一行的基础上加0x40。

  • 在LCD1602指定位置上显示一个字符

  • 在LCD1602指定位置开始显示所给字符串

  • 在LCD1602指定位置开始显示所给数字

四、实验现象

使用USB线将开发板和电脑连接成功后(电脑能识别开发板上CH340串口),把编译后产生的.hex文件烧入到芯片内,实现现象如下:在LCD1602液晶上显示字符信息。

图6:实验现象

注意:LCD1602液晶要正确插入到LCD1602接口J2位置,插反或者差错都会导致显示不正常。如果出现显示看不清的情况,可调节板子LCD1602接口下的RJ1电位器。如果LCD1602无法显示,可重启电源或复位。

图7:引脚和板子匹配示意图

一些有趣的LCD1602显示实验(基于普中A2开发板)

1. 温度传感器读取实验(利用DS18B20芯片)

这个实验展示了如何使用DS18B20温度传感器读取温度,并在LCD1602上显示当前温度。当用手捏住芯片,LCD1602上温度会上升,松开手温度会下降。

图8:显示当前温度

2. 密码锁实验

这个实验展示了如何使用矩阵键盘和LCD1602实现一个简单的密码锁系统。S1到S9分别是1~9,S10是数字0,S11是确定,S12是重新输入,S13密码退位,正确密码是2345,输入正确会显示0.5sOK,输入错误会显示0.5sERR。

图9:密码锁

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号