跳转到主内容
新派编程网 - 新潮编程理念,全新技术课堂!

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>引脚说明 序号引脚说明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); }

更多内容可以前往 我的博客 查看 文章属与自创内容, 欢迎在评论区留言, 转载请标明出处, 感谢大家的支持。

相关文章