前言:LiquidCrystal是一个1602的IIC库,使用IIC协议可以极大节约用线数量,十分方便。当然,前提是1602要使用LCD1602 I2C模块。

一、库函数快速查询

  1. LiquidCrystal()     //构造函数
  2. begin()                        //指定显示屏尺寸
  3. clear()                      //清屏并将光标置于左上角
  4. home()                    //将光标置于左上角(不清屏)
  5. setCursor()             //将光标置于指定位置
  6. write()                     //(在光标处)显示一个字符
  7. print()                     //显示字符串
  8. cursor()                  //显示光标(就是一个下划线)
  9. noCursor()             //不显示光标
  10. blink()                       //光标闪烁(和8,9一起使用时不保证效果)
  11. noBlink()                  //光标不闪烁
  12. noDisplay()              //关闭显示,但不会丢失内容
  13. display()                   //(使用noDisplay后)恢复显示
  14. scrollDisplayLeft()      //将显示的内容向左滚动一格
  15. scrollDisplayRight()    //将显示的内容向右滚动一格
  16. autoscroll()              //打开自动滚动
  17. noAutoscroll()         //关闭自动滚动
  18. leftToRight()           //从左向右显示内容(默认)
  19. rightToLeft()           //从右向左显示内容
  20. createChar()           //创造字符

二、库函数详细释义

2.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(, , , , , , );    

void setup()
{
    lcd.print("hello, world!");
}

void loop() {}

2.2  begin ()

内容:

    指定显示屏的尺寸(宽度和高度)。

语句:

    lcd.begin(cols, rows)

参数设置:

    lcd: 液晶类型的名称变量 
    cols: 显示器可以显示的列数(1602是16列) 
    rows: 显示器可以显示的行数(1602是2行)

2.3  clear ()

简介:

    清除LCD屏幕上内容,并将光标置于左上角。

语法:

    lcd.clear()

参数:

    lcd:LiquidCrystal类的对象

2.4  home()

内容:

    将光标定位在屏幕左上角. 就是说,接下来的字符从屏幕左上角开始显示.如果同时要清除屏幕上的内容,请使用clear()函数代替.

语法:

    lcd.home()

参数设置:

    lcd: LiquidCrystal类的对象

2.5 setCursor()

简介:

    将光标定位在特定的位置。

语法:

    lcd.setCursor(col, row)

参数:

    lcd:LiquidCrystal类的对象
    col: 你要显示光标的列 (从0开始计数) 
    row: 你要显示光标的行 (从0开始计数)

2.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());
    }
}

2.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() {}

2.8  cursor()

内容:

    显示光标(光标所在的位置, 就是下一个字符将会被显示的位置)。

语法:

    lcd.cursor()

参数设置:

    lcd: 液晶类型的名称变量

2.9  noCursor()

内容:

    隐藏光标。

语法:

    lcd.noCursor()

参数:

    lcd: 液晶类型的名称变量

2.10 blink()

内容:

    显示闪烁的光标。如果和cursor()一起使用,最终结果将取决于您使用的LCD屏幕.

语法:

    lcd.blink()

参数设置:

    lcd: 液晶类型的名称变量

2.11 noBlink()

内容:

    关闭 光标闪烁功能.

语句:

    lcd.noBlink()

参数设置:

    lcd: 液晶类型的名称变量

2.12 noDisplay()

内容:

    关闭液晶显示,但原先显示的内容不会丢失. 可使用display()恢复显示.

语法:

    lcd.noDisplay()

参数:

    lcd: 液晶类型的名称变量

2.13 display()

简介:

    调用noDisplay()隐藏LCD上显示内容后,调用本函数恢复显示.

语法:

    lcd.display()

参数:

    lcd: 液晶类型的名称变量

2.14 scrollDisplayLeft()

简介:

    使屏幕上内容(光标及文字)向左滚动一个字符。

语法:

    lcd.scrollDisplayLeft()

参数:

    lcd: 一个LiquidCrystal类的对象

2.15 scrollDisplayRight()

简介:

    使屏幕上内容(光标及文字)向右滚动一个字符。

语法:

    lcd.scrollDisplayRight()

参数:

    lcd: 一个LiquidCrystal类的对象

2.16 autoscroll()

简介:

  打开液晶显示屏的自动滚动,将会使得当一个字符输出到LCD时,令先前的文本移动一个位置.如果当前写入方向为由左到右(默认方向),文本向左滚动.反之,文本向右滚动.它的功能可以理解为,当输出单个字符时,会使得字符总是输出在LCD上的同一个位置.

语法:

    lcd.autoscroll()

参数:

    lcd: a variable of type LiquidCrystal

2.17 noAutoscroll()

简介:

    关闭自动滚动功能。(后输入的字符可能无法显示)

语法:

    lcd.noAutoscroll()

参数:

    LCD:LiquidCrystal类的对象

2.18 leftToRight()

内容:

    默认的方向,将文本从左到右写入屏幕.这意味着,后续字符的显示将是从左向右的,但是这不会影响先前已经显示的字符.

语法:

    lcd.leftToRight()

参数设置:

    lcd: a variable of type LiquidCrystal

2.19 rightToLeft()

简介:

    设置文本写入LCD的方向为从右向左(默认是从左向右)。这意味着,后续字符将会由右至左写入,但不影响先前的文本的显示。

语法:

    lcd.rightToLeft()

参数:

    lcd: 一个LiquidCrystal类的对象

2.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(, , , , , );

] = {    //1表示亮,0表示不亮,此例显示一个笑脸
    B00000,
    B10001,
    B00000,
    B00000,
    B10001,
    B01110,
    B00000,
};

void setup() {
    ;    //x可以为0~7的任何数字
    lcd.createChar(x , smiley);    //将x号字符设置为smiley数组表示的样子
    lcd.begin(, );
    lcd.write(x);
}

void loop() {}

参考自:https://www.cnblogs.com/Dumblidor/p/5394302.html

和https://wenku.baidu.com/view/f0551a3deefdc8d376ee327d.html

-END-

Arduino-1602-LiquidCrystal库的更多相关文章

  1. Arduino下LCD1602综合探究(下)——如何减少1602的连线,LiquidCrystal库,LiquidCrystal库中bug的解决方法

    一.前言: 上文中,笔者系统的阐述了1602的两种驱动方式,并简单的提到了Arduino的LiquidCrystal库.本文紧接上文,对以下两个问题进行更加深入的探讨:如何能够使1602对Arduin ...

  2. arduino中SCoop库的简单应用案例

    转载:https://www.csdn.net/gather_27/MtTaggzsMDExMS1ibG9n.html arduino中SCoop库的简单应用案例首先这篇文章来在视频https://v ...

  3. Arduino 1602液晶屏实验和程序

    在Arduino IDE中, 项目->加载库->管理库中搜索LiquidCrystal,然后安装即可 1.接线图 2.引脚图 3.最简单程序 #include <LiquidCrys ...

  4. arduino红外遥控库IRremote的IRsend类sendRaw函数溢出问题及其解决方法

    最近在调试红外遥控格力空调,在论坛中学到了不少东西.参考: (1)<解决问题系列(4)——红外编码分析利器使用> (2)<315Mhz模块传输替代315Mhz遥控器> 调试环境 ...

  5. 关于Arduino 步进电机Stepper库的一些想法

    官方提供了一些库,使Arduino入门起来更加快速,我们连原理都不用懂,就能通过函数控制终端.但是,这样也带来了很多的缺陷,比如,库函数的功能有限,有些无法实现.然后还有库函数因为要考虑其他的情况,你 ...

  6. 手把手教你看懂并理解Arduino PID控制库——引子

    介绍 本文主要依托于Brett Beauregard大神针对Arduino平台撰写的PID控制库Arduino PID Library及其对应的帮助博客Improving the Beginner’s ...

  7. Arduino学习——u8glib库资料整理

    第一部分,u8glib标准语法格式: 本文使用的是DFRobot出品的LCD12864 Shield V1.0 端口占用情况: SPI Com: SCK = 13, MOSI = 11, CS = 1 ...

  8. Arduino利用TimerOne库产生固定频率和占空比的方波

    TimerOne地址: https://code.google.com/archive/p/arduino-timerone/downloads ex: #include "TimerOne ...

  9. Arduino 使用舵机库时 其它引脚输出怪异 解决方案

    使用Servo.h时,不管你在初始化时用的是9还是10脚,都不要把这两个脚作为舵机以外的用途! 例: servo.attach(9); digitalWrite(10,1);//错,不能把第10脚用作 ...

  10. Arduino Micro USB库

    USBCore.cpp #define D_DEVICE(_class,_subClass,_proto,_packetSize0,_vid,_pid,_version,_im,_ip,_is,_co ...

随机推荐

  1. dubbo之泛化实现

    实现泛化调用 泛化接口调用方式主要用于客户端没有 API 接口及模型类元的情况,参数及返回值中的所有 POJO 均用 Map 表示,通常用于框架集成,比如:实现一个通用的服务测试框架,可通过 Gene ...

  2. 【sqli-labs】 less10 GET - Blind - Time based. - Double quotes (基于时间的双引号盲注)

    这个和less9一样,单引号改完双引号就行了 http://localhost/sqli/Less-10/?id=1" and sleep(5)%23 5s后页面完成刷新 http://lo ...

  3. Entity FrameWork 操作使用详情

    Entity FrameWork 是以ADO.net为基础发展的ORM解决方案. 一.安装Entity FrameWork框架 二.添加ADO.Net实体数据模型 三.EF插入数据 using Sys ...

  4. Node.js常用express方法

    Node.js 手册查询-Express 方法 1.send方法 send 方法向浏览器发送一个响应信息,并可以智能处理不同类型的数据 send方法在输出响应时会自动进行一些设置,比如HEAD信息.H ...

  5. C#写上位机中写曲线图的知识点(VS2019-WPF)

    最近在写一个上位机,为了与下位机软件串口进行通信以及一些数据的形象显示,做到曲线图这一块的时候出现了一些问题,我用的是VS2019(个人不能吐槽VS2019新版本,因为平时也很少用VS,下载的时候就直 ...

  6. [系统资源]/proc/meminfo和free输出解释

    High Level statistics RHEL 5, RHEL 6 and RHEL 7 MemTotal: Total usable memory MemFree: The amount of ...

  7. SSH(远程登录)

    在linux中SSH服务对应两个配置文件: ssh特点:在传输数据的时候,对文件加密后传输. ssh作用:为远程登录会话和其他网络服务提供安全性协议. ssh小结: 1.SSH是安全的加密协议,用于远 ...

  8. jQuery cxSelect 联动下拉菜单

    插件简介 cxSelect 是基于 jQuery 的多级联动菜单插件,适用于省市.商品分类等联动菜单. 列表数据通过 AJAX 获取,也可以自定义,数据内容使用 JSON 格式. 同时兼容 Zepto ...

  9. QuickTest Professional对web网站进行测试后没有生成脚本信息解决办法

    QTP是Quick Test Professional的简称,是一种自动测试工具.使用QTP的目的是想用它来执行重复的自动化测试,主要是用于回归测试和测试同一软件的新版本.因此你在测试前要考虑好如何对 ...

  10. 【习题 4-4 UVA - 253】Cube painting

    [链接] 我是链接,点我呀:) [题意] 在这里输入题意 [题解] 绕(x,y,z)三个轴旋转. 枚举x,y,z各4次的结果. (4次之后能还原.可以方便上一层枚举下一个情况.) [代码] #incl ...