arduino 的显示——LCD1602、LiquidCrystal库的使用
因为像素比较低,只有5X8,所以千万别大费周章的去寻找LCD1602如何显示中文 哈哈
跟OLED相比刷新率很高,但是显示的内容就没有OLED多样了。
示例代码在最后,建议按顺序看
目录
1.1 使用配件
1.2 1602LCD与arduino的连接
1>引脚说明
2>初始化函数
3>对比度、背光灯的调节
1.3 显示屏的使用
1> clear();
2> home();
3> setCursor();
4> write();
5> print();
6> cursor();
7> noCursor();
8> blink();
9> noBlink();
10> noDisplay();
11> display();
12> scrollDisplayLeft();
13> scrollDisplayRight();
14> autoscroll();
15> noAutoscroll();
16> leftToRight();
17> rightToLeft();
18> createChar();
示例代码
1.1 使用配件
只需要一个1602LCD,与一块arduino板!
1.2 1602LCD与arduino的连接
1>引脚说明
序号 | 引脚 | 说明 |
1 | GND | 电源地 |
2 | VDD | 电源5V |
3 |
V0 |
对比度调整。电压越大,对比度越小 |
4 | RS | 数据/命令 选择 |
5 | RW | 读/写选择 |
6 | E | 使能信号,电平由高到低时执行命令 |
7-14 | D0-D7 | 8位双向数据线 |
15 | BLA | LCD背光电源正极 |
16 | BLK | LCD背光电源负极 |
2>初始化函数
- LiquidCrystal();
语法:
要在setup函数之前使用
使用四个引脚传输数据时:
LiquidCrystal(RS,E,D4,D5,D6,D7);
或者也可以加上 RW 可以不接
LiquidCrystal(RS,RW,E,D4,D5,D6,D7);
使用八个引脚传输数据时:
LiquidCrystal(RS,E,D4,D5,D6,D7);
或者也可以加上 RW 可以不接
LiquidCrystal(RS,RW,E,D0,D1,D2,D3,D4,D5,D6,D7);
RS,RW,E,D0,D1,D2,D3,D4,D5,D6,D7 可以连接到arduino 的 digital 引脚
例如:
LiquidCrystal lcd(rs,rw,enable,d4,d5,d6,d7);
- begin();
语法:lcd.begin(列数,行数);
16 02 LCD 16为列数,02为行数
3>对比度、背光灯的调节
方法很简单,只要将V0(对比度调节)与BLA(背光灯亮度调节)arduino的pwm引脚连接即可。
通过调整pwm值,来控制V0的电压,与BLA的电压。
建议 V0 的初始值为100,BLA 的初始值为 50 即可
1.3 显示屏的使用
1> clear();
功能:清屏并将光标定位置左上角。
语法:lcd.clear();
2> home();
功能:光标复位。将光标定位置左上角。
语法:lcd.home();
3> setCursor();
功能:设置光标位置。
语法:lcd.setCursor(列数,行数);
注意:第一行的行数为0;第一列的列数为0.
4> write();
功能:输出一个字符到LCD上。每输出一个字符光标后退一格。
语法:lcd.write(要显示的字符);
返回值:输出的字符数;
5> print();
功能:将文本输出到LCD上。每输出一个字符光标后退一格。
语法:lcd.print(要显示的数据); 或者 lcd.print(要显示的数据,输出的进制形式);
输出的进制形式(BASE)有以下几种:
- BIN(二进制);
- DEC(十进制);
- OCT(八进制);
- HEX(十六进制);
6> cursor();
功能:显示光标。在当前的光标的位置会显示一条下划线。
语法:lcd.cursor();
7> noCursor();
功能:关闭显示光标。
语法:lcd.noCursor();
8> blink();
功能:开启光标闪烁,要先使用cursor显示光标。
语法:lcd.blink();
9> noBlink();
功能:关闭光标闪烁
语法:lcd.noBlink();
10> noDisplay();
功能:关闭lcd的显示功能,但是不会删除储存的内容。
语法:lcd.noDisplay();
11> display();
功能:打开lcd的显示功能。
语法:lcd.display();
12> scrollDisplayLeft();
功能:向左滚屏,将lcd的内容向左移动一格。
语法:lcd.scrollDisplayLeft();
13> scrollDisplayRight();
功能:向右滚屏,将lcd的内容向右移动一格。
语法:lcd.scrollDisplayRight();
14> autoscroll();
功能:自动滚屏。
语法:lcd.autoscroll();
15> noAutoscroll();
功能:关闭自动滚屏。
语法:lcd.autoscroll();
16> leftToRight();
功能:设置文本的输出方向为从左到右。
语法:lcd.leftToRight();
17> rightToLeft();
功能:设置文本的输出方向为从右到左。
语法:lcd.rightToLeft();
18> createChar();
功能:创建自定义的5X8像素的自定义字符,输出时使用write();函数
语法:lcd.createChar();
示例代码
下面是库文件的示例代码,我对其进行一点点的修改并翻译了注释:
/*LiquidCrystal Library - Hello World演示了使用16x2液晶显示器。的LiquidCrystal库与所有LCD显示兼容这张草图将“Hello World!”打印到液晶显示屏上
并显示时间。Library originally added 18 Apr 2008by David A. Mellislibrary modified 5 Jul 2009by Limor Fried (http://www.ladyada.net)example added 9 Jul 2009by Tom Igoemodified 22 Nov 2010by Tom Igoemodified 7 Nov 2016by Arturo Guadalupi此示例代码位于公共域中。http://www.arduino.cc/en/Tutorial/LiquidCrystalHelloWorld*///包含库代码:
#include <LiquidCrystal.h>
//通过关联任何需要的LCD接口引脚来初始化库与arduino pin号连接//一般先定义各自的引脚
int contrast = 2, backlight = 3, rs = 22, rw = 23, enable = 24, d4 = 25, d5 =26, d6 = 27, d7 = 28;
LiquidCrystal lcd(rs,rw,enable,d4,d5,d6,d7);void setup() {pinMode(backlight,OUTPUT);//初始化背光与对比度pwm引脚pinMode(contrast,OUTPUT);digitalwrite(backlight,50);//设置背光与对比度数据;digitalwrite(contrast,100);//设置LCD的列和行数:lcd.begin(16, 2);//输出信息到LCD。lcd.print("hello, world!");
}void loop() {
//设置光标为列0,第1行
//(注意:第1行是第二行,因为计数从0开始):lcd.setCursor(0, 1);//输出重置后的秒数:lcd.print(millis() / 1000);
}
文章属与自创内容,
欢迎在评论区留言,
转载请标明出处,
感谢大家的支持。
arduino 的显示——LCD1602、LiquidCrystal库的使用相关推荐
- 【Proteus仿真】Arduino UNO + PCF8563 +LCD1602时间显示
[Proteus仿真]Arduino UNO + PCF8563 +LCD1602时间显示 Proteus仿真 所需库 Rtc_Pcf8563库 LiquidCrystal库 编译信息 使用 1.0 ...
- 【Proteus】Arduino UNO + DS1307+LCD1602时间显示
[Proteus]Arduino UNO + DS1307+LCD1602时间显示 Proteus仿真演示 添加串口输出信息,只是为了方便调试时查看信息. 所需库 可以在Arduino IDE管理库( ...
- 【在线仿真】Arduino 超声波测距+LCD1602显示
[在线仿真]Arduino 超声波测距+LCD1602显示 程序代码 /*LiquidCrystal Library - Hello WorldThis sketch prints "Hel ...
- Arduino框架下通过TFT_eSPI库驱动ESP32+合宙1.54“ 电子墨水屏(e-paper)显示
Arduino框架下通过TFT_eSPI库驱动ESP32+合宙1.54" 电子墨水屏(e-paper)显示 demo演示效果 相关库 EPD_Libraries:https://github ...
- arduino 长传出错_请问Arduino IDE在编译时正常,却无法上传且显示找无效库是怎么回事?...
开发板:"Arduino Nano atmega328p" 警告:库 Mozzi 中的分类 'audio' 不可用.设置为 'Uncategorized' 项目使用了 2750 字 ...
- 基于Arduino的显示测量环境数据设计
题目: 基于Arduino的显示测量环境数据设计 目录 基于Arduino的显示测量环境数据设计... 3 第一章 课题任务... 4 1.1课题任务... 4 1.2任务分工... 4 1.3设计条 ...
- 【Proteus仿真】Arduino UNO+PCF8574+LCD1602+MPX4250电子秤
[Proteus仿真]Arduino UNO+PCF8574+LCD1602+MPX4250电子秤 基于VSM Studio Proteus仿真演示 原理图 所需库 可以在Arduino IDE管理库 ...
- Arduino配置WS2812及Adafruit_NeoPixel库的使用
1.WS2812 WS2812实物图如下所示: WS2812模块 WS2812的特点如下: WS2812智能外控集成LED 光源 主要特点: 控制电路与RGB芯片集成在一个5050封装 ...
- [arduino][u8g2][12864] oled—u8g2库使用说明(例子是12864液晶屏)
[arduino][u8g2][12864] oled-u8g2库使用说明(例子是12864液晶屏) 首先说一下写这个文档的目的,一是给自己做个笔记来以备后边使,二是写个文档给大家看,我从网上找了很多 ...
- svg上传服务器无法显示,让WordPress支持上传SVG格式图片并显示在媒体库中的方法...
让WordPress支持上传SVG格式图片并显示在媒体库中的方法 发布时间:2020-12-11 14:18:12 来源:亿速云 阅读:167 作者:小新 这篇文章将为大家详细讲解有关让WordPre ...
最新文章
- 我画了35张图就是为了让你深入 AQS
- 微信小程序实现滚动到指定位置
- 第七次团队作业——日不落战队
- php array分组,php数组分组简单例子
- LeetCode MySQL 1495. Friendly Movies Streamed Last Month
- Android之使用AlertDialog.Builder类创建带列表的对话框和带自己所布局视图的对话框
- Linux MTD子系统 _从模型分析到Flash驱动模板
- security工作笔记003---SpringSecurity框架启动报错.bcrypt.BCryptPasswordEncoder‘ that could not be found.
- 微软Tech·Ed与中国IT行业一同成长
- 判别模型和生成模型(Discriminative Model Generative Model)【转】
- php 怎样让 键 值 反转,PHP 控制和反转
- python turtle画房子详细解释_简述python的turtle绘画命令及解释
- 行为识别TSM训练ucf101数据集
- 武汉计算机管理学校,武汉这个区优质初中“多校划片”电脑派位入学,有你家娃想上的学校吗?...
- 基于C++的钻石金字塔问题算法设计
- 【更新】CVE-2020-0796:微软紧急发布SMBv3协议“蠕虫级”漏洞补丁通告
- 被迫营业:如何使用向日葵进行远程桌面控制(含MacOS)
- vue2中h(“router-view“) vue3如何写?
- 泛型的基础 装箱拆箱
- 计算机组成原理ACC中文含义,计算机组成原理 作业一