LiquidCrystal库函数
主要资料来源:
(LiquidCrystal库地址:http://wiki.geek-workshop.com/doku.php?id=arduino:libraries:liquidcrystal)
参考:
http://blog.sina.com.cn/s/blog_5d940a1b0101344q.html
一、函数一览:
- LiquidCrystal() //构造函数
- begin() //指定显示屏尺寸
- clear() //清屏并将光标置于左上角
- home() //将光标置于左上角(不清屏)
- setCursor() //将光标置于指定位置
- write() //(在光标处)显示一个字符
- print() //显示字符串
- cursor() //显示光标(就是一个下划线)
- noCursor() //不显示光标
- blink() //光标闪烁(和8,9一起使用时不保证效果)
- noBlink() //光标不闪烁
- noDisplay() //关闭显示,但不会丢失内容(谁把灯关了?)
- display() //(使用noDisplay()后)恢复显示
- scrollDisplayLeft() //将显示的内容向左滚动一格
- scrollDisplayRight() //将显示的内容向右滚动一格
- autoscroll() //打开自动滚动(具体解释往下拉)
- noAutoscroll() //关闭自动滚动
- leftToRight() //从左向右显示内容(默认)
- rightToLeft() //从右向左显示内容
- createChar() //大奥义·字符创造之术(往下拉)
二、具体解释:
1 LiquidCrystal()
内容:
构造函数,创建一个LiquidCrystal的实例(LiquidCrystal是一个类)。可使用4线或8线方式作为数据线(请注意,还需要指令线).若采用四线方式,将d0-d3悬空不连接.RW引脚可接地而不用接在Arduino的某个引脚上;如果这样接,省略在函数中的rw参数.
语法:
LiquidCrystal(rs, enable, d4, d5, d6, d7)
LiquidCrystal(rs, rw, enable, d4, d5, d6, d7)
LiquidCrystal(rs, enable, d0, d1, d2, d3, d4, d5, d6, d7)
LiquidCrystal(rs, rw, enable, d0, d1, d2, d3, d4, d5, d6, d7)
参数设置:
rs: rs连接的Arduino的引脚编号
rw: rw连接的Arduino的引脚编号
enable:enable连接的Arduino的引脚编号
d0, d1, d2, d3, d4, d5, d6, d7: 连接的Arduino的引脚编号
例子:
#include <LiquidCrystal.h> LiquidCrystal lcd(, , , , , , ); //此处需根据具体连线调整,lcd为构造的实例(变量/对象/爱咋叫咋叫)名称 void setup()
{
lcd.print("hello, world!");
} void loop() {}
2 begin ()
内容:
指定显示屏的尺寸(宽度和高度)。
语句:
lcd.begin(cols, rows)
参数设置:
lcd: 液晶类型的名称变量
cols: 显示器可以显示的列数(1602是16列)
rows: 显示器可以显示的行数(1602是2行)
3 clear ()
简介:
清除LCD屏幕上内容,并将光标置于左上角。
语法:
lcd.clear()
参数:
lcd:LiquidCrystal类的对象
4
home()
内容:
将光标定位在屏幕左上角. 就是说,接下来的字符从屏幕左上角开始显示.如果同时要清除屏幕上的内容,请使用clear()函数代替.
语法:
lcd.home()
参数设置:
lcd: LiquidCrystal类的对象
5
setCursor()
简介:
将光标定位在特定的位置。
语法:
lcd.setCursor(col, row)
参数:
lcd:LiquidCrystal类的对象
col: 你要显示光标的列 (从0开始计数)
row: 你要显示光标的行 (从0开始计数)
6 write()
简介:
向LCD写一个字符。
语法:
lcd.write(data)
参数:
lcd: LiquidCrystal类的对象
data: 你要显示的字符(仅限英文和数字和你自己定义的字符)。
返回值:
byte //write() 将返回写入的字节数,虽然读这个数字是可选(照搬照抄,有兴趣自行研究)
示例:
#include <LiquidCrystal.h> LiquidCrystal lcd(, , , , , , ); void setup()
{
Serial.begin();
} void loop()
{
if (Serial.available())
{
lcd.write(Serial.read());
}
}
7 print()
内容:
将文本显示在LCD上.
语法:
lcd.print(data)
lcd.print(data, BASE)
参数:
lcd: 液晶类型的名称变量
data:要显示的数据,可以是char, byte, int, long或者string类型的
BASE (optional): 数制(可选),BIN,DEC,OCT,HEX分别将数字以二进制,十进制,八进制,十六进制方式显示出来.
返回值:
byte //这个返回值通常是用不到的
示例:
#include <LiquidCrystal.h> LiquidCrystal lcd(, , , , , , ); void setup()
{
lcd.print("hello, world!");
} void loop() {}
8 cursor()
内容:
显示光标(光标所在的位置, 就是下一个字符将会被显示的位置)。
语法:
lcd.cursor()
参数设置:
lcd: 液晶类型的名称变量
9 noCursor()
内容:
隐藏光标。
语法:
lcd.noCursor()
参数:
lcd: 液晶类型的名称变量
10 blink()
内容:
显示闪烁的光标。如果和cursor()一起使用,最终结果将取决于您使用的LCD屏幕.
语法:
lcd.blink()
参数设置:
lcd: 液晶类型的名称变量
11 noBlink()
内容:
关闭 光标闪烁功能.
语句:
lcd.noBlink()
参数设置:
lcd: 液晶类型的名称变量
12 noDisplay()
内容:
关闭液晶显示,但原先显示的内容不会丢失. 可使用display()恢复显示.
语法:
lcd.noDisplay()
参数:
lcd: 液晶类型的名称变量
13 display()
简介:
调用noDisplay()隐藏LCD上显示内容后,调用本函数恢复显示.
语法:
lcd.display()
参数:
lcd: 液晶类型的名称变量
14 scrollDisplayLeft()
简介:
使屏幕上内容(光标及文字)向左滚动一个字符。
语法:
lcd.scrollDisplayLeft()
参数:
lcd: 一个LiquidCrystal类的对象
15 scrollDisplayRight()
简介:
使屏幕上内容(光标及文字)向右滚动一个字符。
语法:
lcd.scrollDisplayRight()
参数:
lcd: 一个LiquidCrystal类的对象
16 autoscroll()
简介:
打开液晶显示屏的自动滚动,将会使得当一个字符输出到LCD时,令先前的文本移动一个位置.如果当前写入方向为由左到右(默认方向),文本向左滚动.反之,文本向右滚动.它的功能可以理解为,当输出单个字符时,会使得字符总是输出在LCD上的同一个位置.
语法:
lcd.autoscroll()
参数:
lcd: a variable of type LiquidCrystal
17 noAutoscroll()
简介:
关闭自动滚动功能。(后输入的字符可能无法显示)
语法:
lcd.noAutoscroll()
参数:
LCD:LiquidCrystal类的对象
18 leftToRight()
内容:
默认的方向,将文本从左到右写入屏幕.这意味着,后续字符的显示将是从左向右的,但是这不会影响先前已经显示的字符.
语法:
lcd.leftToRight()
参数设置:
lcd: a variable of type LiquidCrystal
19 rightToLeft()
简介:
设置文本写入LCD的方向为从右向左(默认是从左向右)。这意味着,后续字符将会由右至左写入,但不影响先前的文本的显示。
语法:
lcd.rightToLeft()
参数:
lcd: 一个LiquidCrystal类的对象
20 createChar()
内容:
创建用户自定义的字符.共可创建8个用户自定义字符,编号从0到7.字符外观由一个8字节数组定义,每行占用一个字节.最低的5个有效位决定像素点所在的行.若要在屏幕显示自定义字符,请使用write()函数.(参数为字符的编号0-7)
语法:
lcd.createChar(num, data)
参数设置:
lcd: a variable of type LiquidCrystal
num: 所创建字符的编号(0-7)
data: 字符的像素数据
例子:
#include <LiquidCrystal.h>
LiquidCrystal lcd(, , , , , );
byte smiley[] = { //1表示亮,0表示不亮,此例显示一个笑脸
B00000,
B10001,
B00000,
B00000,
B10001,
B01110,
B00000,
};
void setup() {
int x=; //x可以为0~7的任何数字
lcd.createChar(x , smiley); //将x号字符设置为smiley数组表示的样子
lcd.begin(, );
lcd.write(x);
}
void loop() {}
LiquidCrystal库函数的更多相关文章
- Arduino LiquidCrystal库函数中文对照
我之所以会试试看LCD+Shield,一是因为我本来就有这块板,但一直不会用,第二个原因则是Arduino+Cookbook这本书.O’Reilly的这本手册对你在Arduino实践中的各种问题(几乎 ...
- ARDUINO驱动LCD1602 (利用库函数)
LCD 1602简介 工业字符型液晶,能够同时显示16x02即32个字符.(16列2行) 1602液晶也叫1602字符型液晶,它是一种专门用来显示字母.数字.符号等的点阵型液晶模块.它由若干个5X7或 ...
- Arduino下LCD1602综合探究(上)——1602的两种驱动方式,如何使LCD的控制编程变得更简单
一.前言: LCD ( Liquid Crystal Display 的简称)液晶显示器,已经逐渐替代CRT成为主流的显示设备之一,因此也成为了单片机发烧友绕不过的话题之一:而LCD1602更是很多单 ...
- LCD1602 库函数
LCD1602 库函数 This library allows an Arduino board to control LiquidCrystal displays (LCDs) based on t ...
- Entity Framework 6 Recipes 2nd Edition(11-11)译 -> 在LINQ中调用数据库函数
11-11. 在LINQ中调用数据库函数 问题 相要在一个LINQ 查询中调用数据库函数. 解决方案 假设有一个任命(Appointment )实体模型,如Figure 11-11.所示, 我们想要查 ...
- Linux系统调用和库函数调用的区别
Linux下对文件操作有两种方式:系统调用(system call)和库函数调用(Library functions).系统调用实际上就是指最底层的一个调用,在linux程序设计里面就是底层调用的意思 ...
- Arduino下LCD1602综合探究(下)——如何减少1602的连线,LiquidCrystal库,LiquidCrystal库中bug的解决方法
一.前言: 上文中,笔者系统的阐述了1602的两种驱动方式,并简单的提到了Arduino的LiquidCrystal库.本文紧接上文,对以下两个问题进行更加深入的探讨:如何能够使1602对Arduin ...
- C标准I/O库函数与Unbuffered I/O函数
一.C标准I/O库函数.Unbuffered I/O函数 1. C标准I/O库函数是如何用系统调用的 fopen(3) 调用open(2)打开制定的文件,返回一个文件描述符(一个int类型的编号),分 ...
- [Django]模型提高部分--聚合(group by)和条件表达式+数据库函数
前言:本文以学习记录的形式发表出来,前段时间苦于照模型聚合中group by 找了很久,官方文章中没有很明确的说出group by,但在文档中有提到!!! 正文(最后编辑于2016-11-12): 聚 ...
随机推荐
- ArcGIS教程:加权总和
摘要 通过将栅格各自乘以指定的权重并合计在一起来叠加多个栅格. 插图 插图中,像元值与其权重因子相乘.两者所得结果相加创建输出栅格.以左上角像元为例.两个输入的值变为 (2.2 * 0.75) = 1 ...
- Linux下叹号!的用法
在定义包含!的字符串变量时,出现了以下提示错误. 注意:在centos系统下错误,在Fedora系统可以正常运行. 修正方法有以下几种: (1)将整个字符串用单引号引起来. (2)在!后添加空格. ( ...
- Linux 强行终止
kill -9 pid pid是进程号 -9 代表的是数字 INT 2 这个就是你在bash下面用Ctrl+C 来结束一个程序时,bash会向进程发送这个信号,默认的,进程收到这个程序会结束. 你可以 ...
- 如何让 ssh 允许以 root 身份登录
默认情况下,Pack 上的 root 用户不能用通过密码来远程登录,可以用一下命令来做:(注意要在 root 权限下) sed -i 's/PermitRootLogin\swithout-passw ...
- Linux内核OOM机制的详细分析【转】
本文转载自:http://blog.csdn.net/liukuan73/article/details/43238623 Linux内核根据应用程序的要求分配内存,通常来说应用程序分配了内存但是并没 ...
- xenserver 增加新硬盘
xenserver 增加新硬盘 1.XS创建本地存储 首先 分区好的的硬盘接到服务器上 查看所有硬盘了的id ls -l /dev/disk/by-id/ 记下硬盘的全称.接下来开始挂载 xe sr ...
- Kaggle之泰坦尼克号幸存预测估计
上次已经讲了怎么下载数据,这次就不说废话了,直接开始.首先导入相应的模块,然后检视一下数据情况.对数据有一个大致的了解之后,开始进行下一步操作. 一.分析数据 1.Survived 的情况 train ...
- python之路——迭代器和生成器
阅读目录 楔子 python中的for循环 可迭代协议 迭代器协议 为什么要有for循环 初识生成器 生成器函数 列表推导式和生成器表达式 本章小结 生成器相关的面试题 返回顶部 楔子 假如我现在有一 ...
- 【读书笔记】UEFI原理与编程(1)概述及开发环境的搭建
一.概述: 0.为什么会有这篇文章 说实在的,在2016初的时候,我就萌生了写一个操作系统的念头,但是这对于我一个菜鸟来说,犹如登天. 既然想了就去写,即使最后做不完,也不后悔. 抱着这样的念头,我开 ...
- maven使用杂记
maven test使用记录 运行指定的测试类: >mvn test -Dtest=[ClassName] 运行测试类中指定的方法:(这个需要maven-surefire-plugin: ...