LCD的连接图

RD    是读/写的模式(只读、只写、可读可写)

WR  是读/写

LCDE  使能端

P0   是数据的输出/读取


LCD1602头文件

#ifndef _LCD1602_H_
#define _LCD1602_H_#include <reg52.h>
#include<intrins.h>#define uchar unsigned char
#define uint  unsigned intsbit RS = P2^6;
sbit RW = P2^5;
sbit E = P2^7;
sbit LCD1602_DATA = P0;/********************************************************************
作  用:液晶显示屏初始化  LCD1602
参  数无
返回值:无
********************************************************************/
void LCD1602_Init();/********************************************************************
作  用:液晶显示屏命令的写入   LCD1602
参  数nCmd   是要发送的十六位进制的数字
返回值:无
********************************************************************/
void LCD1602_WriteCmd(uchar nCmd);/********************************************************************
作  用:写入字符串  LCD1602
参  数:szDat  是要写入的字符串
返回值:无
********************************************************************/
void LCD1602_WriteDataStr(char *pStr);/********************************************************************
作  用:写入数据  LCD1602
参  数:szDat  是要写入的字符
返回值:无
********************************************************************/
void LCD1602_WriteData(uchar szDat);/********************************************************************
作  用:判断是否处于繁忙状态   LCD1602
参  数无
返回值:0   是不繁忙1   是繁忙
********************************************************************/
int LCD1602_ReadBusy();/********************************************************************
作  用:延时
参  数:t    延时时间
返回值:无
********************************************************************/
void Delay(uchar t);/********************************************************************
作  用:计算字符串长度
参  数pStr  要计算的字符串
返回值:无
********************************************************************/
char strlen(char *pStr);#endif

LCD1602源文件

#include"LCD1602.h"/********************************************************************
作  用:液晶显示屏初始化  LCD1602
参  数:无
返回值:无
********************************************************************/
void LCD1602_Init()
{Delay(15);    //延时15毫秒LCD1602_WriteCmd(0x38);    //显示模式设置Delay(15);LCD1602_WriteCmd(0x0c);   //显示开Delay(15);LCD1602_WriteCmd(0x01);   //显示清屏Delay(15);LCD1602_WriteCmd(0x06);   //显示光标
}/********************************************************************
作  用:液晶显示屏命令的写入   LCD1602
参  数:nCmd   是要发送的十六位进制的数字
返回值:无
********************************************************************/
void LCD1602_WriteCmd(uchar nCmd)
{while(LCD1602_ReadBusy());   //判断LCD1602是否处于繁忙状态RS=0;    //命令RW=0;    //写_nop_();LCD1602_DATA = nCmd;    //准备发送命令_nop_();E=1;         //开始发送命令_nop_();_nop_();E=0;         //发送命令结束_nop_();_nop_();
}/********************************************************************
作  用:写入字符串  LCD1602
参  数:szDat  是要写入的字符串
返回值:无
********************************************************************/
void LCD1602_WriteDataStr(char *pStr)
{int nCount = strlen(pStr),i = 0;for(i;i < nCount;i++)LCD1602_WriteData(pStr[i]);
}/********************************************************************
作  用:写入数据  LCD1602
参  数:szDat  是要写入的字符
返回值:无
********************************************************************/
void LCD1602_WriteData(uchar szDat)
{while(LCD1602_ReadBusy());RS = 1;RW = 0;_nop_();LCD1602_DATA = szDat;_nop_();E=1;_nop_();_nop_();E=0;_nop_();_nop_();
}/********************************************************************
作  用:判断是否处于繁忙状态   LCD1602
参  数:无
返回值:  0   是不繁忙1   是繁忙
********************************************************************/
int LCD1602_ReadBusy()
{uchar temp;RS = 0;RW=1;_nop_();LCD1602_DATA = 0xff;_nop_();E=1;_nop_();temp = LCD1602_DATA;_nop_();E=0;return (temp&0x80);
}/********************************************************************
作  用:延时
参  数:t    延时时间
返回值:无
********************************************************************/
void Delay(uchar t)             //延时程序
{uint i,j;  for(i=t;i>0;i--)   for(j=110;j>0;j--);  } /********************************************************************
作  用:计算字符串长度
参  数pStr  要计算的字符串
返回值:无
********************************************************************/
char strlen(char *pStr)
{int i = 0;while (*pStr){pStr++;i++;}return i;
}

LCD1602的说明链接:https://blog.csdn.net/qq_38611124/article/details/90743900

LCD1602液晶屏相关推荐

  1. LCD1602液晶屏使用(51单片机七夕特别版)

    LCD1602液晶屏使用(51单片机七夕特别版) LCD1602简介 实现过程 操作时序 指令码 如何改变文本的样式 代码 效果图 今天是七夕节,周围的朋友啊小姐妹(伪)啊都跟对象出去玩了 囧rz,而 ...

  2. 通过 I2C 驱动 LCD1602 液晶屏(51单片机)

    通过 I2C 驱动 LCD1602 液晶屏(51单片机) 硬件实物 原理图 3.程序 #include <reg51.h> #include <intrins.h>#defin ...

  3. 【花雕动手做】有趣好玩的音乐可视化系列项目(31)--LCD1602液晶屏

    偶然心血来潮,想要做一个音乐可视化的系列专题.这个专题的难度有点高,涉及面也比较广泛,相关的FFT和FHT等算法也相当复杂,不过还是打算从最简单的开始,实际动手做做试验,耐心尝试一下各种方案,逐步积累 ...

  4. 【雕爷学编程】Arduino动手做(85)---LCD1602液晶屏模块

    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的.鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为 ...

  5. 51单片机进阶案例(1)——基于MATLAB GUI的单片机串口与PC的通信实现实时时钟和双向可调时钟功能(利用DS1302时钟芯片和LCD1602液晶屏)

    目录 一.案例描述 二.实现功能 三.51单片机部分实现 3.1 实时时钟的实现 3.2 串口通信的实现 3.2.1 接收数据 3.2.2 发送数据 四.MATLAB部分实现 4.1 GUI界面 4. ...

  6. 【C51单片机学习笔记----DS18B20温度传感器LCD1602液晶屏直流电机调速与呼吸灯AD模数转换红外外部中断】

    文章目录 一.DS18B20温度传感器 1.DS18B20温度传感器连接原理图 2.DS18B20温度传感器单总线通信时序 3.DS18B20温度传感器代码模块 二.LCD1602液晶屏 1.LCD1 ...

  7. Proteus仿真-LCD1602液晶屏使用方法(驱动一)

    一.硬件链接 在元件库中搜索LM016即可找到LCD1602液晶屏. 按下图方式链接单片机和屏幕. 二.软件驱动代码 //屏幕相关引脚接口定义 #define D P0 sbit E=P2^6; sb ...

  8. proteus仿真里面的LCD1602液晶屏初始化

    仿真里面的1602液晶屏跟实际几乎一样,所以使用者很多.不过,仿真里面对于初始化的要求不同. 1.实物中的初始化,一般用 enable(0x01);enable(0x38);enable(0x0c); ...

  9. [STC89C52RC]LCD1602液晶屏显示

    目录 一.引脚说明 二.开发逻辑 显示参考图 LCD1602模块指令 三.读写时序图 读操作时序图分析: 读操作(检查忙操作)的代码实现 写操作时序图分析: 写操作的代码实现 四.显示行字符 LCD1 ...

  10. 51单片机LCD1602液晶屏显示字符,字符串,(有)无符号整数,十六进制数,二进制数等

    1.前言 LCD1602液晶显示器是广泛使用的一种字符型液晶显示模块.液晶显示模块具有体积小.功耗低.显示内容丰富.超薄轻巧等优点,在嵌入式应用系统中得到越来越广泛的应用,这讲中向大家介绍的LCD16 ...

最新文章

  1. 硬件手册里经常出现的assert以及deassert
  2. OpenMV中AprilTag识别Python程序源码
  3. NYOJ 士兵杀敌(二) 树状数组
  4. 2.4.5 MySQL InnoDB重做与回滚介绍
  5. TypeScript reflect-metadata 结合方法装饰器实现的一个自定义语法检查的例子
  6. google搜索引擎优化指南_Google谷歌SEO怎么优化?|新手入门完全指南
  7. windows installer 3.2搞定
  8. 计算机基础知识 音频,计算机基础知识(总结+试题).pdf
  9. mysql profiling详解_使用mysql profiling功能剖析单条查询
  10. 最长公共子序列(模板 LCSL)
  11. 《Vim实用技巧(第2版)》——1.4 执行、重复、回退
  12. Python爬取抖音APP,竟然只需要十行代码
  13. 如何创建“搜狗词库”
  14. cad单位_CAD标注样式如何转换公制和英制
  15. VMLogin反指纹超级浏览器-模拟真人输入-使用方法
  16. 荆州水文水位查询_长江水位实时查询网(长江水位公告实时查询)
  17. 文献阅读--Scaling Laws for Neural Lauguage Models
  18. MJPEG和MP4——视频转换随想
  19. 蓝桥杯嵌入式总结(KEY配置_按键扫描(三行代码)_矩阵按键_GPIO口输入和输出类型)
  20. freeswitch 模块

热门文章

  1. php strpos无效,php问题:strpos功能不起作用
  2. 页面数据能够正常渲染,但控制台报错属性underfined
  3. JavaScrpit+Html实现“网页播放视频“效果(应用场景:腾讯PC端视频播放器、以及各视频网站页面开发设计)
  4. 贪心 + 优先队列:程序员PIPI
  5. 射影几何----极点极线割线共点四点调和定理
  6. php繁体转为简体的函数,繁体中文转换为简体中文的PHP函数
  7. Win系统使用WSL子系统Linux启动vGPU增强图形性能加速OpenGL
  8. Exploring Pre-trained Language Models for Event Extraction and Generation 论文阅读
  9. 【中级】2017项目集成管理工程师备考第五章-立项管理(上)
  10. 计算机默认登录用户名和密码是什么,Windows7默认管理员账户用户名和密码是什么...