液晶LCD1602使用介绍

2023-11-07

液晶LCD1602简介

      LCD1602液晶也叫1602字符型液晶模块,LCD1602液晶是一种专门用来显示字母、数字、符号的点阵型液晶模块。LCD1602液晶是由若干个5x7点阵字符位组成,每个点阵字符位都可以显示一个字符(包括字母、数字、符号),一共可以显示16x2个字符。LCD1602液晶的每位之间都有一个点距的间隔,每行之间也都有间隔,起到字符间距和行间距的作用。LCD1602液晶只能显示字符(包括字母、数字、符号),不能显示图片。

      LCD1602液晶模块具有体积小,功耗低等优点。在各种工业设备、家用电子产品、仪器仪表、嵌入式系统等场合都有非常广泛的应用。

液晶LCD1602技术参数

液晶LCD1602管脚说明

      LCD1602液晶模块各管脚的功能介绍如下:

      1、LCD1602液晶的管脚1:VSS接5V电源负极,即GND。

      2、LCD1602液晶的管脚2:VDD接5V电源正极。

      3、LCD1602液晶的管脚3:VL为液晶的显示偏压信号,用于对液晶显示对比度调整,接电源正极时对比度最弱,接地时对比度最高。对比度过高时会产生“鬼影”现象,导致液晶显示的字符不清晰。我们可以通过使用一个10kΩ的电位器来调整对比度。

      4、LCD1602液晶的管脚4:RS为液晶的寄存器选择脚,该管脚为高电平时选择数据寄存器,该管脚为低电平时选择指令寄存器

      5、LCD1602液晶的管脚5:R/W为读/写选择管脚,当该管脚为高电平时进行读操作,当该管脚为低电平时进行写操作。

      a 当RS和R/W管脚都为低电平时可以写入指令或显示地址。

      b 当RS管脚为低电平,R/W管脚为高电平时,可以读忙信号。

      c 当RS管脚为高电平,R/W管脚为低电平时,可以写入数据。

      6、LCD1602液晶的管脚6:E管脚为使能端,当E管脚由高电平跳变为低电平时,液晶模块执行命令。

      7、LCD1602液晶的管脚7~14:D0~D7为液晶8位双向数据线。

      8、LCD1602液晶的管脚15:液晶模块背光源正极。

      9、LCD1602液晶的管脚16:液晶模块背光源负极。

液晶LCD1602指令

液晶LCD1602时序

      读操作时序

       写操作时序

 

       时序参数

液晶LCD1602初始化过程

      1、延时15ms。

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

      3、延时5ms。

      4、写指令38H(不检测忙信号)。

      5、延时5ms。

      6、写指令38H(不检测忙信号)。

      (以后每次写指令、读写数据操作之间均需检测忙信号)。

     7、写指令38H:显示模式设置。

     8、写指令08H:显示关闭。

     9、写指令01H:显示清屏。

     10、写指令06H:显示光标移动设置。

     11、写指令0CH:显示开及光标设置。 

液晶LCD1602例程

/****************LCD驱动基本代码*****************      

*单片机型号:STC89C52RC,晶振频率:11.0592M

*开发环境:KEIL

*说明:LCD1602显示字母、数字、符号。   

******************************************************/

#include<reg52.h>

#include<intrins.h>

#define LCD_Data P0

#define Busy 0x80

sbit LCD_RS = P1^0;

sbit LCD_RW = P1^1;

sbit LCD_E  = P2^5;

unsigned char code welcome[] = {"YOU ARE WELCOME"};

unsigned char code mcu[] = {"SL-51A"};

void Delay5Ms(void);

void WriteDataLCD(unsigned char WDLCD);

void WriteCommandLCD(unsigned char WCLCD,BuysC);

unsigned char ReadDataLCD(void);

unsigned char ReadStatusLCD(void);

void LCDInit(void);

void DisplayOneChar(unsigned char X, unsigned char Y, unsigned char DData);

void DisplayListChar(unsigned char X, unsigned char Y, unsigned char code *DData);

void Info_display(void);

void Delay5Ms(void)

{

 unsigned int TempCyc=3552;

 while(TempCyc--);

}

void WriteDataLCD(unsigned char WDLCD)

{

 ReadStatusLCD();

 LCD_Data=WDLCD;

 LCD_RS=1;

 LCD_RW=0;

 LCD_E=0;    

 LCD_E=0;

 LCD_E=1;

}

void WriteCommandLCD(unsigned char WCLCD,BuysC)

{

 if(BuysC)ReadStatusLCD();

 LCD_Data=WCLCD;

 LCD_RS=0;

 LCD_RW=0;

 LCD_E=0;

 LCD_E=0;

 LCD_E=1;

}

unsigned char ReadStatusLCD(void)

{

 LCD_Data=0xFF;

 LCD_RS=0;

 LCD_RW=1;

 LCD_E=0;

 LCD_E=0;

 LCD_E=1;

 while(LCD_Data&Busy);

 return(LCD_Data);

}

void LCDInit(void)

{

 LCD_Data = 0;

 WriteCommandLCD(0x38,0);Delay5Ms();

 WriteCommandLCD(0x38,0);Delay5Ms();

 WriteCommandLCD(0x38,0);Delay5Ms();

 WriteCommandLCD(0x38,1); 

 WriteCommandLCD(0x08,1);

 WriteCommandLCD(0x01,1);

 WriteCommandLCD(0x06,1);

 WriteCommandLCD(0x0C,1);

}

void DisplayOneChar(unsigned char X,unsigned char Y,unsigned char DData)

{

 Y&=0x1;X&=0xF; 

 if(Y)X|=0x40;

 X|=0x80;

 WriteCommandLCD(X,0);

 WriteDataLCD(DData);

}

void DisplayListChar(unsigned char X,unsigned char Y,unsigned char code *DData)

{

 unsigned char ListLength;

 ListLength=0;

 Y&=0x1;X&=0xF;

 while(DData[ListLength]>=0x20)

 {

  if(X<=0xF)

  {

   DisplayOneChar(X,Y,DData[ListLength]);

   ListLength++;

   X++;

  }

 }

}

void main(void)

 LCDInit(); 

 DisplayListChar(5,0,mcu);

 DisplayListChar(0,5,welcome);

 while(1){;}

}

液晶LCD1602应用电路图

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

液晶LCD1602使用介绍 的相关文章

  • Kubeflow Pipeline - 构建自定义的 Workflow

    文章目录 1 Overview 2 Steps 2 1 理解 component 和 pipeline 2 2 Python SDK 构建 component 和 pipeline 2 3 上传 pipeline 3 Summary 1 O
  • 亮度、对比度与饱和度

    亮度是指图片的明暗程度 对比度是指图片明暗的差异 饱和度则是图片颜色的饱满程度 图片文件一般是RGB格式 当然也有的是YCBR格式 前者主要用于显示 后者则主要用于印刷 当然世上没有绝对的事情 也有人喜欢在电脑或手机上看YCBR格式的 至于
  • 消息队列-msgget

    msgget 获取系统V消息队列标识符 获取消息队列的id 头文件 include
  • 动态规划——JavaScript

    目录 什么是动态规划 怎么用动态规划 动态规划经典例题 斐波那契数 题目描述 思路 代码 爬楼梯 题目描述 思路 代码 不同路径 题目描述 思路 例题 不同路径 打家劫舍 打家劫舍 买卖股票的最佳时期 买卖股票的最佳时期 使用最小花费爬楼梯

随机推荐

  • 【STM32】keil环境下移植cJSON

    前言 由于工作需要 需要在STM32上使用Json 所以把一个JSON库移植到了STM32 keil MDK 实际上keil已经有了JSON扩展包 Jansson 只需要从keil官网上下载JSON Pack再导入就行 有兴趣的可以看这篇文
  • SQLi Labs Lesson22

    Lesson 22 Cookie Injection base64 encoded Double quotes 用admin账号登陆后 查看cookie 发现cookie为 YWRtaW4 有了上一节的经验 admin的base64编码为
  • 接口型模式之Bridge(桥接)模式

    1 如果你期望将实现与抽象相分离以便二者独立演化 可使用Bridge 桥接 模式 2 举例 抽象平台 public abstract class ImpLog public abstract void execute String msg
  • google v8 编译 运行遇到的问题

    环境 window os window sdk 10 vs2017 方法 官网提供的方法 https github com v8 v8 wiki Building from Source 问题1 cmd中执行命令时 tools dev v8
  • mysql_pycharm连接虚拟机上的mysql

    虚拟机上的系统是ubuntu 16 04 LTS 关于虚拟机安装mysql 5 7 参考以下的连接 Ubuntu安装Mysql 5 7 安装成功之后 执行赋予局域网可以访问虚拟机上的mysql mysql gt GRANT ALL PRIV
  • 网站工作原理,你搞懂了吗?

    网站工作原理 你搞懂了吗 网站工作原理 输入网站地址 按下回车会发生啥 1 DNS解析 2 TCP连接 2 1 TCP介绍 3 发送HTTP请求 3 1 HTTPS协议 3 2 HTTPS过程 3 3 HTTP请求 4 服务器处理请求并返回
  • 用户多设备多账户同时在线场景、匿名用户行为同步到注册用户

    TOC随着移动设备的普及和社交媒体的发展 用户在多个设备上同时访问同一个应用成为了一种常见的现象 这些设备可能属于同一个用户 也可能属于不同的用户 而且有些用户可能没有注册账户 只是以匿名的方式访问应用 在这种多设备 多账户 匿名用户同时在
  • vue动态合并行

    这个 处理数据 将表格数组传入 在获取到数组时调用 getSpanArr data this spanArr for var i 0 i lt data length i if i 0 this spanArr push 1 空数组 用来记
  • Linux下生成patch和打patch

    通过diff工具生成补丁 patch工具打上补丁 在使用diff之前 你需要保留一份未修改过的源码 然后在其它地方修改源码的一份拷贝 diff对比这两份源码生成patch 修改过的源码必须保留原来的文件名 例如 如果你修改源码中的a c文件
  • chinesecalendar 模块判断节假日

    chinesecalendar是python 中判断date类型的日期是工作日 还是节假日 比较准确地模块 先安装该模块 pip install chinesecalendar 导入模块的用法如下 import datetime from
  • PowerShell 基本知识

    常见的 powershell 攻击工具 PowerSploit powershell 后期漏洞利用框架 常用于信息探测 特权提升 凭证窃取 持久化等操作 Nishang 基于 PowerShell 的渗透测试专用工具 集成了框架 脚本和各种
  • Android 自定义控件+下拉选择框实现

    自定义控件 下拉选择框实现 当系统自带的控件不能满足我们的需求 而我们又会经常使用到 这个时候我们就可以自定义控件 下拉框是我们在做项目中经常会需要用到的 上图就是一个自定义的控件 点击显示下拉框进行选择 pop view xml 自定义控
  • docker-compose 部署JavaWeb

    目录结构 1 迅雷提取上面tar文件包 里面有一个项目 别TM反编译我的项目 链接 https pan xunlei com s VNDqngi2KD6Go2SmYGZiAizjA1 pwd b2w5 提取码 b2w5 2 搭建Linux
  • linux后台启动seata,yearning

    1 yearning nohup Yearning run b 8 142 131 56 p 9000 gt opt yearning log yearning log 2 gt 1 2 seata nohup sh seata serve
  • Vue项目部署到Linux服务器

    首先用到一个软件为finalshell 下面是我的百度网盘文件 永久有效嗷 链接 https pan baidu com s 1fUPI1RtHwTsvbfqctO1WDw 提取码 ymme FinalShell 简介 FinalShell
  • mysql 主从 mysqldump_MySQL5.7基于mysqldump的主从复制

    1创建账号 创建用于复制的账号 GRANT REPLICATION SLAVE ON TO repl 192 168 1 IDENTIFIED BY PASSWORD repl4salve 创建用于监控的账号 grant replicati
  • javascript模块化理解(通俗易懂)

    http www ruanyifeng com blog 2012 10 javascript module html http www ruanyifeng com blog 2012 10 asynchronous module def
  • epoll多路复用-----epoll_create1()、epoll_ctl()、epoll_wait()

    include
  • 虚幻引擎程序化资源生成框架PCG 之 常用撒点方法小结

    PCG真好玩 门槛很低 天花板很高 文章目录 前言 1 基本撒点 1 1 Landscape上撒点 1 2 使用射线检测在地表面撒点 1 3 使用曲线撒点 1 3 1 沿曲线撒点 1 3 2 在闭合曲线内部撒点 1 4 在StaticMes
  • 液晶LCD1602使用介绍

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