0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

LCD1602显示屏如何使用

科技绿洲 来源:单片机实例设计 作者:单片机实例设计 2023-09-11 11:29 次阅读

1.芯片简介

LCD1602显示屏为字符显示屏,显示字符为16*2。采用 LCD 显示一个字符时比较复杂,因为一个字符由 6×8 或 8×8 点阵组成,既要找到和显示屏幕上某几个位置对应的显示 RAM 区的 8 字节,还要使每字节的不同位为“1”,其它的为“0”,为“1”的点亮,为“0”的不亮。这样一来就组成某个字符。但由于内带字符发生器的控制器来说,显示字符就比较简单了,可以让控制器工作在文本方式,根据在 LCD1602上开始显示的行列号及每行的列数找出显示 RAM 对应的地址,设立光标,在此送上该字符对应的代码即可。

图片

主要特点如下

  • 显示容量为16×2个字符;
  • 芯片工作电压为4.5~5.5V,最佳工作电压为5.0V;
  • 工作电流为2.0mA(5.0V);
  • 字符尺寸为2.95×4.35(W×H)mm。

2. 24C02引脚定义

  1. VSS(1) :显示屏电源地;
  2. VDD(2) :显示屏电源;
  3. V0(3) :V0为液晶显示器对比度调整端;
  4. RS(4)寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器;
  5. RW(5) :读写信号线,高电平时进行读操作,低电平时进行写操作。当RS和RW共同为低电平时可以写入指令或者显示地址,当RS为低电平RW为高电平时可以读忙信号,当RS为高电平RW为低电平时可以写入数据;
  6. EN(6) :使能端,当E端由高电平跳变成低电平时,液晶模块执行命令;
  7. D0-D7(7-14) :8位双向数据线;
  8. A(15) :背光正极;
  9. K(16) :背光负极;

图片

3.LCD1602控制时序

(1)读操作时序如图:

图片

(2)写操作时序如图

图片

4.LCD1602驱动程序

(1)LCD1602.h

#ifndef __LCD1602_H__
#define __LCD1602_H__


#include< reg52.h >


sbit LCD1602_RS = P2^6;
sbit LCD1602_RW = P2^5;
sbit LCD1602_E  = P2^7;
#define  LCD1602_Data  P0


void delay_50us_1602(unsigned int t);
void LCD1602_write_com(unsigned char com);
void LCD1602_write_data(unsigned int dat);
void LCD1602_init(void);
/*******************************************
函数名称:Disp_ZF
功    能:控制液晶显示字符
参    数:addr--显示位置的首地址
          pt--指向显示数据的指针
          num--显示字符个数
返回值  :无
********************************************/
void LCD1602_Disp_ZF(unsigned char addr,const unsigned char * pt,unsigned char num); 
#endif

(2)LCD1602.c

#include "LCD1602.h"
//延时函数
void delay_50us_1602(unsigned int t)
{
  unsigned char j;
  for(;t >0;t--)
    for(j=19;j >0;j--);
}
//LCD1602写指令
void LCD1602_write_com(unsigned char com) 
{
  LCD1602_E = 0;
  LCD1602_RS = 0;
  LCD1602_RW = 0;
  LCD1602_Data= com;
  delay_50us_1602(10);
  LCD1602_E = 1;
  delay_50us_1602(20);
  LCD1602_E = 0;
}
//LCD1602写数据
void LCD1602_write_data(unsigned int dat)
{
  LCD1602_E = 0;
  LCD1602_RS = 1;
  LCD1602_RW = 0;
  LCD1602_Data = dat;
  delay_50us_1602(10);
  LCD1602_E = 1;
  delay_50us_1602(20);
  LCD1602_E = 0;
}
//LCD1602初始化
void LCD1602_init(void)
{
   delay_50us_1602(300);
   LCD1602_write_com(0X38);
   delay_50us_1602(100);
   LCD1602_write_com(0X38);
   delay_50us_1602(100);
   LCD1602_write_com(0X38);
   LCD1602_write_com(0X38);
   LCD1602_write_com(0X08);
   LCD1602_write_com(0X01);
   LCD1602_write_com(0X06);
   LCD1602_write_com(0X0C);

}


void LCD1602_Disp_ZF(unsigned char addr,const unsigned char * pt,unsigned char num)
{
  unsigned char i;
  LCD1602_write_com(addr); 
  for(i = 0;i < (num*1);i++) 
    LCD1602_write_data(*(pt++)); 
}
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 控制器
    +关注

    关注

    112

    文章

    16151

    浏览量

    177247
  • 显示屏
    +关注

    关注

    28

    文章

    4445

    浏览量

    74087
  • 电平
    +关注

    关注

    5

    文章

    357

    浏览量

    39829
  • 发生器
    +关注

    关注

    4

    文章

    1361

    浏览量

    61612
  • lcd1602显示
    +关注

    关注

    0

    文章

    10

    浏览量

    7921
收藏 人收藏

    评论

    相关推荐

    lcd1602求助

    各位朋友,请问我用的是STC90c516rd+开发板,为何lcd1602显示屏显示啊,是亮的,不显任何数据字母,1602后面写的是“
    发表于 07-24 09:14

    用什么芯片可以实现一个单片机接8个LCD1602显示屏

    [qq]用什么芯片可以实现一个单片机接8个LCD1602显示屏
    发表于 09-08 08:49

    如何控制LCD1602显示屏的光标?

    (账号里只有一积分了)本人新手一枚,正在做一个单片机开发的小项目,想问一下如何控制LCD1602显示屏里的光标啊?在网上找到了这个函数//获取光标位置的函数void LCD_cursor(uchar
    发表于 04-10 20:56

    小白求助,求分享单片机控制LCD1602显示屏动态显示字符串

    小白求助,求分享单片机控制LCD1602显示屏动态显示字符串
    发表于 10-13 06:16

    LCD1602显示屏怎么连线呢

    一般无特殊计划 买的LCD1602显示屏是5V版本的,不是3.3特殊版本,这时候怎么连线。下图画正方形的2个孔,上面是5V,下面是板子的GND。下图右上角的VCC是3.3V.接线方式:成功:
    发表于 11-29 07:17

    分享一个不错的基于STM32单片机的LCD1602显示屏输出实验

    分享一个不错的基于STM32单片机的LCD1602显示屏输出实验
    发表于 12-03 06:23

    LCD1602显示屏的相关资料分享

    说明 本文并非原创,而是结合了两篇博文,需要看两篇博文原创的可以直接点击本文最后的链接。一、LCD1602显示屏的具体引脚与基本配置一般来说,LCD1602显示屏共有16个引脚,各个厂
    发表于 12-03 06:34

    I2C显示屏乱码怎么办

    救救,是LCD1602显示屏,朋友的显示屏也是这样的乱码。
    发表于 01-20 21:52

    请问LCD1602显示屏显示中文汉字吗?

    LCD1602显示屏是外文显示屏,它本身带的ROM固化的字型库,只有英文数字特殊符号和日语假名,没中文。这样的显示中文吗?
    发表于 10-28 08:07

    使用STM8S003单片机驱动LCD1602显示屏的程序和工程文件免费下载

    本文档的主要内容详细介绍的是使用STM8S003单片机驱动LCD1602显示屏的程序和工程文件免费下载。
    发表于 10-15 08:00 64次下载
    使用STM8S003单片机驱动<b class='flag-5'>LCD1602</b><b class='flag-5'>显示屏</b>的程序和工程文件免费下载

    LCD1602显示屏的资料合集免费下载

    LCD1602显示屏的资料合集免费下载包括了:LCD1602显示屏技术手册,库文件,Arduino参考程序,1602基本
    发表于 05-27 08:00 58次下载
    <b class='flag-5'>LCD1602</b><b class='flag-5'>显示屏</b>的资料合集免费下载

    使用51单片机实现LCD1602显示屏显示的仿真文件免费下载

    本文档的主要内容详细介绍的使用51单片机实现LCD1602显示屏显示的仿真文件免费下载。
    发表于 03-23 11:05 70次下载

    单片机控制LCD1602显示屏动态显示字符串

    仿真电路图:仿真实验结果:C语言程序代码:/*-----------------------------------------------名称:LCD1602论坛:www.doflye.net编写
    发表于 11-18 12:36 10次下载
    单片机控制<b class='flag-5'>LCD1602</b><b class='flag-5'>显示屏</b>动态<b class='flag-5'>显示</b>字符串

    (单片机/FPGA)LCD1602基础理论

    说明 本文并非原创,而是结合了两篇博文,需要看两篇博文原创的可以直接点击本文最后的链接。一、LCD1602显示屏的具体引脚与基本配置一般来说,LCD1602显示屏共有16个引脚,
    发表于 11-23 17:51 15次下载
    (单片机/FPGA)<b class='flag-5'>LCD1602</b>基础理论

    基于51单片机的羽毛球计分器设计

    系统使用的模块有AT89C51单片机+LCD1602显示屏+矩阵键盘+蜂鸣器。
    的头像 发表于 09-29 10:15 1951次阅读