因为像素比较低,只有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>引脚说明 序号引脚说明1GND电源地2VDD电源5V3V0对比度调整。
电压越大,对比度越小4RS数据/命令 选择5RW读/写选择6E使能信号,电平由高到低时执行命令7-14D0-D78位双向数据线15BLALCD背光电源正极16BLKLCD背光电源负极 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 2008
by David A. Mellis
library modified 5 Jul 2009
by Limor Fried (http://www.ladyada.net)
example added 9 Jul 2009
by Tom Igoe
modified 22 Nov 2010
by Tom Igoe
modified 7 Nov 2016
by Arturo Guadalupi
此示例代码位于公共域中。
http://www.arduino.cc/en/Tutorial/LiquidCrystalHelloWorld
*/
//包含库代码:
#include
//通过关联任何需要的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);
}
更多内容可以前往 我的博客 查看 文章属与自创内容, 欢迎在评论区留言, 转载请标明出处, 感谢大家的支持。
