LCD1602设计(1)

 

本文为博主 日月同辉,与我共生,csdn原创首发。希望看完后能对你有所帮助,不足之处请指正!一起交流学习,共同进步!

> 发布人:@日月同辉,与我共生_单片机-CSDN博客

> 欢迎你为独创博主日月同辉,与我共生点赞❤❤❤+关注👍+收藏🌹+评论☺。

系列专栏: CSDN-LCD1602系列🎁

> 我的格言是:“尽最大努力,做最好的自己!💪

要转载,请提前告知!!!

版权声明:本文为CSDN博主「日月同辉,与我共生」的原创文章,CSDN独一份。

目录

一、LCD1602简介

二、LCD1602接法

三、DDRAM

四、CGROM&CGRAM

五、代码提供

5.1显示字符

5.2位置功能函数

5.3自定义字符函数

一、LCD1602简介

LCD1602是一种工业字符型液晶,能够同时显示16x02即32个字符。它是一种专门用来显示字母、数字、符号等的点阵型液晶模块。这种液晶显示器的显示原理是利用液晶的物理特性,通过电压对其显示区域进行控制,有电就有显示,这样即可以显示出图形。此外,1602液晶也叫1602字符型液晶,它由若干个5X7或者5X10等点阵字符位组成,每个点阵字符位都可以显示一个字符,每位之间有一个点距的间隔,每行之间也有间隔,起到了字符间距和行间距的作用。

二、LCD1602接法

LCD1602的基本参数及引脚功能包括:

⛄显示容量:16×2个字符;

⛄芯片工作电压:4.5—5.5V;

⛄工作电流:2.0mA(5.0V);

⛄模块最佳工作电压:5.0V;

⛄字符尺寸:2.95×4.35(W×H)mm。

LCD1602采用标准的14脚(无背光)16脚(带背光)接口。

引脚号

功能说明

1

VSS:地电源(接地)

2

VDD:接5V正电源

3

VL:液晶显示器对比度调整端,接正电源时对比度最弱,接地时对比度最高,对比度过高时会产生“鬼影”,使用时可以通过一个10K的电位器调整对比度

4

RS:寄存器选择,高电平时选择数据寄存器、低电平时选择指令寄存器

5

R/W:读写信号线,高电平时进行读操作,低电平时进行写操作。RSR/W共同为低电平时可以写入指令或者显示地址,当RS为低电平R/W为高电平时可以读忙信号,当RS为高电平R/W为低电平时可以写入数据

6

E端:使能端,当E端由高电平跳变成低电平时,液晶模块执行命令

7-14

D0-D7:8位双向数据线

15

背光源正极(接电源)

16

背光源负极(接地)

LCD1602原理图:

LCD1602仿真图:

三、DDRAM

LCD1602可以显示16*2=32个字符,即LCD1602有32个位置用于显示字符,若一个字符要在某个位置显示,就要给每个位置规定一个显示地址(DDRAM地址)

四、CGROM&CGRAM

LCD1602如何显示一个字符呢?CGROM是中文字库的意思,它代表液晶屏内部存储的160个不同的点阵字符图形,这些字符包括阿拉伯数字等每个字符有对应的CGROM地址(8位二进制,与ASCII地址一样)。在液晶模块中,字符产生器(CGROM)会自动读出字符的字形点阵数据,并将字符显示在液晶屏上。另外,CGRAM最多可以自定义8个字符,如摄氏度符号℃。

五、代码提供

5.1显示字符

#include "lcd1602.h"void main()
{unsigned char str[]="hello world";unsigned char str2[]="123abc";unsigned char str3[]={1,2,3,4,5,6};unsigned char str4[]={10,11,12,13,14,15};LCDInit();while(1){LCDShowStr(0,0,str);LCDShowStr(0,1,"hello world");}
}

5.2位置功能函数

void LCDSetPosition(unsigned char x,unsigned char y) //位置函数  y:行  0-1
{                                                    //          x:列  0-7if(y==0){LCDWriteCmd(0x80|x);}else{LCDWriteCmd(0x80|(x+0x40));}
}void LCDShowStr(unsigned char x,unsigned char y,unsigned char *str)
{LCDSetPosition(x,y);while(*str!='\0'){LCDWritedata(*str++);}
}	

5.3自定义字符函数

void LCD_Write_CGRAM(unsigned char *str)
{unsigned char i;LCDWriteCmd(0x48);//1.自定义字符for(i=0;i<8;i++){LCDWritedata(str[i]);}LCDWriteCmd(0x80|0x00);//2.显示字符->在哪显示+显示哪个字符LCDWriteCmd(0x01);
}void LCDSetChar(unsigned char x,unsigned char y,unsigned char pos,unsigned char *str)
{unsigned char i;for(i=0;i<8;i++) //1.自定义字符{LCDWriteCmd(0x40+8*pos+i);LCDWritedata(*(str+i));}LCDSetPosition(x,y);//2.显示位置LCDWriteCmd(0x00+pos);//3.调用自定义字符
}

下一文将继续介绍 LCD1602,亲爱的读者敬请期待,下一文更精彩!!!

一日不读书,胸臆无佳想。我叫不白吃,喜欢我的,可以支持我,博主名叫@日月同辉,与我共生

@日月同辉,与我共生_单片机基础,单片机串口通信-CSDN博客@日月同辉,与我共生擅长单片机基础,单片机串口通信,等方面的知识,@日月同辉,与我共生关注stm32,c语言,51单片机,proteus,单片机领域.https://blog.csdn.net/LIN___IT?spm=1000.2115.3001.5343

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/169414.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

基于SSM的微博网站的设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;采用JSP技术开发 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#x…

STM32-HAL库09-CAN通讯(loopback模式)

一、所用材料&#xff1a; STM32F103C6T6最小系统板 STM32CUBEMX&#xff08;HAL库软件&#xff09; MDK5 串口调试助手 二、所学内容&#xff1a; 初步学习如何使用STM32的CAN通讯功能&#xff0c;在本章节主要达到板内CAN通讯的效果&#xff0c;即32发送CAN信息再在CAN接收…

一个java文件的JVM之旅

准备 我是小C同学编写得一个java文件&#xff0c;如何实现我的功能呢&#xff1f;需要去JVM(Java Virtual Machine)这个地方旅行。 变身 我高高兴兴的来到JVM&#xff0c;想要开始JVM之旅&#xff0c;它确说&#xff1a;“现在的我还不能进去&#xff0c;需要做一次转换&#x…

2023年11月在线IDE流行度最新排名

点击查看最新在线IDE流行度最新排名&#xff08;每月更新&#xff09; 2023年11月在线IDE流行度最新排名 TOP 在线IDE排名是通过分析在线ide名称在谷歌上被搜索的频率而创建的 在线IDE被搜索的次数越多&#xff0c;人们就会认为它越受欢迎。原始数据来自谷歌Trends 如果您相…

jQuery HTML/CSS 参考文档

jQuery HTML/CSS 参考文档 文章目录 应用样式 示例属性方法示例 jQuery HTML/CSS 参考文档 应用样式 addClass( classes ) 方法可用于将定义好的样式表应用于所有匹配的元素上。可以通过空格分隔指定多个类。 示例 以下是一个简单示例&#xff0c;设置了para标签 <p&g…

恒源云之oss上传数据、云台下载数据

目录 一、本地cmd上传数据二、使用云平台下载数据 一、本地cmd上传数据 需要下载恒源云客户端oss需要先将数据&#xff08;代码、数据集&#xff09;压缩成zip文件。 本地cmd打开oss&#xff0c;测试是否安成功 oss输入oss命令&#xff0c;并正确输入账号密码 oss login在个人…

按键编程 pal库和标准库

按钮的电路设计 电路的搭建 原理与编程 创建了两个变量 用来捕捉按键的状态 先让两个变量都为1 previous和current都为1 &#xff08;按键没按下&#xff09; 然后让current去捕捉按键的状态通过读gpioA的pin0 如果为0就是按键按下 如果为1就是按键没按下 然后赋值给current …

将 Ordinals 与比特币智能合约集成:第 4 部分

控制 BSV-20 代币的分配 在上一篇文章中&#xff0c;我们展示了智能合约可以在铸造后控制 BSV-20 代币的转移。 今天&#xff0c;我们演示如何控制此类代币的分发/发行。 无Tick模式 BSV-20 在 V2 中引入了无Tick模式&#xff0c;并采用了与 V1 不同的方法。 部署 (Deploy) …

ENVI IDL:如何将txt文本文件转化为GeoTIFF文件?

01 前言 此处的文本文件形式如下&#xff1a; 里面包含了众多点位信息&#xff08;不是站点数据&#xff09;&#xff0c;我们需要依据上述点的经纬度信息放到对应位置的像素点位置&#xff0c;放置完后如下&#xff1a; 可以发现&#xff0c;还存在部分缺失值&#xff0c;我们…

【强化学习】18 —— SAC( Soft Actor-Critic)

文章目录 前言最大熵强化学习不同动作空间下的最大熵强化学习基于能量的模型软价值函数最大熵策略 Soft Q-learningSoft Q-IterationSoft Q-Learning近似采样与SVGD伪代码 Soft Actor-Critic伪代码代码实践连续动作空间离散动作空间 参考与推荐 前言 之前的章节提到过在线策略…

基于STC12C5A60S2系列1T 8051单片机串口通信信应用

基于STC12C5A60S2系列1T 8051单片机串口通信应用 STC12C5A60S2系列1T 8051单片机管脚图STC12C5A60S2系列1T 8051单片机串口通信介绍STC12C5A60S2系列1T 8051单片机串口通信的结构基于STC12C5A60S2系列1T 8051单片机串口通信的特殊功能寄存器列表基于STC12C5A60S2系列1T 8051单片…

冯·诺依曼结构

一、约翰冯诺依曼---计算机之父 约翰冯诺依曼&#xff08;John von Neumann&#xff0c;1903年12月28日—1957年2月8日&#xff09;&#xff0c;出生于匈牙利布达佩斯&#xff0c;匈牙利裔美籍数学家、计算机科学家、物理学家和化学家&#xff0c;美国国家科学院院士&#xff…