介绍:LCD1602液晶显示屏是一种字符型液晶显示模块,可以显示ASCll码的标准字符和其他一些内置的特殊字符,还可以内置8个自定义字符。

显示容量:16✖2个字符,每个字符为5*7点阵或5*10点阵

一、引脚介绍:

VO:对比度调节电压

RS:数据 / 指令选择,1为数组,0为指令

RW:读 / 写选择,1为读,0为写

E:数据使能,下降沿执行命令

D0~D7:数据的输入 / 输出

A:背光灯电源正极

K:背光灯电源负极

二、存储器结构:D2RAM(数据显示区)和G2RAM、G2ROM(内置字模库)

D2RAM(数据显示区)

G2RAM、G2ROM(内置字模库)

三、LCD1602显示指令集

四、时序结构:

写指令/数据

读指令/数据

五、模块函数化集成使用:

代码:

void LCD_WriteCommand(unsigned char Command) //写指令
{LCD_RS=0;          LCD_RW=0;          // 指令 写LCD_DataPort=Command;  //并口:可以直接发送8位LCD_E=1;LCD_Delay1ms();LCD_E=0;LCD_Delay1ms();
}

代码:

void LCD_WriteData(unsigned char Data) //写数据
{LCD_RS=1;LCD_RW=0;//数据 写LCD_DataPort=Data;  //并口:直接发送8位LCD_E=1;LCD_Delay1ms();LCD_E=0;LCD_Delay1ms();
}

代码:

/***   @brief        LCD1602初始化*   @param             无*   @retval            无
**/void LCD_Init()
{LCD_WriteCommand(0x01);   //清屏LCD_WriteCommand(0x0C);   //显示开,光标关,闪烁开LCD_WriteCommand(0x06);   //数据读,写操作后,AC自动+1,画面不动LCD_WriteCommand(0x38);   //八位数据接口,两行显示,5✖7点阵
}

代码:

/***   @brief         确定显示的首位置*   @param          Line,Column*   @retval            无
**/void LCD_Cursor(unsigned char Line,Column)  //位置函数
{if(Line==1)   //根据数据显示区的地址可以得出 行和列 的关系{LCD_WriteCommand(0x80|(Column-1));}else{LCD_WriteCommand(0x80|(Column-1)+0x40);}
}

代码:

/***   @brief           显示一个字符*   @param          Line,Column,Char*   @retval              无
**/
void LCD_ShowChar(unsigned char Line,Column,char Char)
{LCD_Cursor(Line,Column);  //确定位置LCD_WriteData(Char);      //发送字符
}

代码:

/***   @brief       显示一个字符串*   @param       Line,Column,*String*   @retval            无
**/void LCD_ShowString(unsigned char Line,Column,char *String)
{char Strlen=strlen(String),i; //确定字符串长度LCD_Cursor(Line,Column);      //确定首位置for(i=0;i<Strlen;i++){LCD_WriteData(String[i]);}}

代码:

/***   @brief       显示一个数字*   @param     Line,Column,Num,lenth*   @retval           无
**/void LCD_ShwoNum(unsigned char Line,Column,unsigned int Num,lenth)
{char i;LCD_Cursor(Line,Column);for(i=lenth;i>0;i--){LCD_WriteData(Num/(int)pow(10,i-1)%10+'0'); }/*345/100%10   ->      3345/10%10    ->      4345/1%10     ->      5*/}

代码:

/***   @brief    显示一个有符号的数字*   @param      Line,Column,Num,lenth       *   @retval        无
**/void LCD_ShowSignedNum(unsigned char Line,Column,int Num,unsigned int lenth)
{char i;if(Num>=0){LCD_ShowChar(Line,Column,'+');}else{LCD_ShowChar(Line,Column,'-');Num=-Num;}for(i=lenth;i>0;i--){LCD_WriteData(Num/(int)pow(10,i-1)%10+'0');}/*345/100%10   ->      3345/10%10    ->      4345/1%10     ->      5*/}

代码:

/***   @brief    显示一个十六进制的数*   @param     Line,Column,Num,lenth *   @retval         无
**/void LCD_ShowHexnum(unsigned char Line,Column,unsigned int Num,lenth)
{unsigned char i;unsigned char SingleNum;LCD_Cursor(Line,Column);for(i=lenth;i>0;i--){SingleNum=((Num/(int)pow(16,i-1)%16));/*345/16^2%16   ->     1345/16%16    ->      5345/1%16     ->      9*/   if(SingleNum<10)   //根据ASCll码进行补码{LCD_WriteData('0'+SingleNum);}else{LCD_WriteData('A'+SingleNum-10);}}
}

代码:

/***   @brief           显示一个二进制数字*   @param         Line,Column,Num,lenth  *   @retval                 无
**/void LCD_BinNum(unsigned char Line,Column,unsigned int Num,lenth)
{unsigned char i;LCD_Cursor(Line,Column);for(i=lenth;i>0;i--){LCD_WriteData((Num/(int)pow(2,i-1)%2)+'0');    /*345/2^2%2   ->      101345/2%2     ->      011345/1%2     ->      001*/ }
}

LCD1602液晶显示屏相关推荐

  1. 和12岁小同志搞创客开发:如何驱动LCD1602液晶显示屏?

     目录 1.简介和驱动原理 2.实践 机缘巧合在网上认识一位12岁小同志,从零开始系统辅导其创客开发思维和技巧. 项目专栏:https://blog.csdn.net/m0_38106923/cate ...

  2. STC89C52单片机 LCD1602液晶显示屏

    LCD1602显示 VVcat #include <reg52.h>typedef unsigned char uchar; typedef unsigned int uint;sbit ...

  3. 51单片机——LCD1602液晶显示屏

    如下图:红框就是LCD1602液晶显示屏,他是可插拔的,插上去后数码管就会乱码无效了,因为他两共用了MCU的8个P0口 LCD1602原理图 从上面两幅图可以看出来 LCD1602的LCD_D0~LC ...

  4. 外设驱动库开发笔记33:LCD1602液晶显示屏驱动

      LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符.LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,即可以显示出图形.在这一章我们就来讨论LCD ...

  5. STM32通过(软/硬IIC)控制LCD1602液晶显示屏(IIC转8位并口的PCF8574转接板的使用)原创

    STM32通过(软/硬IIC)控制LCD1602液晶显示屏(IIC转8位并口的PCF8574转接板的使用)原创 A0,A1,A2全部悬空,那么PCF8574的IIC地址为0x4e.(具体原因,看PCF ...

  6. 51单片机用c语言在液晶1602上显示汉字,lcd1602与单片机连接图,基于51单片机的lcd1602液晶显示屏连接电路图...

    描述 LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符.LCD1602液晶显示原理 LCD1602液晶显示的原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示, ...

  7. LCD1602液晶显示屏模块资料

    模块实例https://blog.csdn.net/qq_38393591/article/details/108643827 LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符. ...

  8. LCD1602液晶显示屏的工作原理图是什么呢?

    本文重点是由深圳市兴宇合电子技术人员为大家介绍LCD1602液晶显示屏的工作原理以及原理图,希望对大家有所帮助. (1)LCD1602液晶显示屏工作原理如下: LCD1602液晶显示屏通过电压来改变填 ...

  9. LCD1602液晶显示屏用51单片机怎么驱动?(详细笔记附设计源码)

    LCD1602液晶显示 (一)LCD1602简介 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母.数字.符号的点阵型液晶模块.它是由若干个5x7或者5x10的点阵字符位组成,每个点阵字符 ...

  10. LCD1602液晶显示屏使用方法

    LCD1602介绍 LCD1602(Liquid Crystal Display)液晶显示屏是一种字符型液晶显示模块,可以显示ASCII码的标准字符和其它的一些内置特殊字符,还可以有8个自定义字符 显 ...

最新文章

  1. 远程为服务器安装Windows 2008 Server
  2. 【怎样写代码】工厂三兄弟之抽象工厂模式(一):问题案例
  3. MySQL行(记录)的详细操作
  4. hdu-4686 Arc of Dream
  5. 关于谨防诈骗的温馨提示
  6. OpenCV SURF FLANN匹配单应性的实例(附完整代码)
  7. mysql教程详解之多表联合查询,MYSQL教程mysql多表联合查询返回一张表的内容实现代码...
  8. 中国到底有多少个.NET 程序员?都在哪个城市写代码?
  9. AI赋能DevOps:数据驱动的全栈工程师实践
  10. HbuliderX 历史版本下载
  11. HDFView3.1.2的安装问题(闪退)
  12. 电子绘本pdf_1100多本RAZ(Reading A-Z),电子点读版PDF有声书,最全版本
  13. 《JavaSE-第十四章》之文件(一)
  14. linux穷举pppoe密码,Ubuntu/Linux下如何用rp-pppoe3.8通过ADSL上网
  15. oracle产生连续的数字
  16. 关于isalpha——计算英文单词的个数
  17. 高输入阻抗和低输出阻抗
  18. 计算机辅助cad职称报考,计算机辅助设计绘图员(AUTO CAD)中级证
  19. (转自zzmseo,只为学习方便)1.1 什么是SEO
  20. ssm+easyUI之分页查询

热门文章

  1. ArrayList底层原理简单代码实现实例
  2. 解决EPSON R230打印机驱动程序安装错误
  3. win7系统还原点来还原系统
  4. 【脚本小子狂喜】日常实用脚本推荐
  5. python怎么读取xls文件
  6. L1-6 烤地瓜 (15 分)
  7. Vue / axios / props 调用后端接口数据并渲染到页面
  8. js实现搜索历史记录功能
  9. 电影记忆之20(恐怖游轮)
  10. 学霸的迷宫 - 广搜例题