Arduino--LCD1602(4bit)

(1)简介

如下图所示,LCD1602是工业现场中比较常用的一款液晶显示器,管脚比较多,本文介绍一种4位传输线的控制方法(可节省4个IO口)

可显示字母、数字等,不能显示汉字
在这里插入图片描述

(2)接线

LCD1602UNO
VSSGND
VDDVCC
VO接3k电阻接地,或10k电位器调节
RS12
RWGND
EN11
D45
D54
D63
D72
AVCC
KGND

其中,D0–D3这4个管脚悬空不使用

(3)程序

/*
 引脚说明
 * LCD VSS-----GND
 * LCD VDD-----VCC
 * LCD VO(接3k电阻然后接GND,实际阻值根据电流调节)
 * LCD RS-----12
 * LCD RW-----GND
 * LCD En-----11
 * LCD D4-----5
 * LCD D5-----4
 * LCD D6-----3
 * LCD D7-----2
 * LCD A-----VCC
 * LCD K-----GND
 */
 
#include <LiquidCrystal.h>    //液晶显示头文件
 
LiquidCrystal lcd(12, 11, 5, 4, 3, 2);//initialize the library with the numbers of the interface pins
 
void setup() {
        lcd.begin(16, 2);             // set up the LCD's number of columns and rows:
        lcd.print("hello, world!");  // Print a message to the LCD.
}

 
void loop() {
        // set the cursor to column 0, line 1
        // (note: line 1 is the second row, since counting begins with 0):
        lcd.setCursor(0,1);
        lcd.print(millis()/1000);  // print the number of seconds since reset:
}

(4)补充——Arduino中其他LCD语法

函数名功能语法其他
ps一些说明语法位置为空意味着默认加上函数即可例如lcd.clear()、lcd.home()
LiquidCystal()构造函数,用来初始化LCDLiquidCrystal(rs,rw,enable,d4,d5,d6,d7)rs为连接至RS引脚,rw同理,enable为E引脚
8线连接时LiquidCrystal(rs,rw,enable,d0,d1,d2,d3,d4,d5,d6,d7)
begin设置显示宽高led.bdgin(cols,rows)因为时1602,所以为begin(16,2)
clear清楚所有内容并把光标固定在左上角
home光标复位至左上角
print文本输出lcd.write(data,BASE)data为需要输出的数据(char、byte、int、string。。)BASE为输出进制形式
setCursor移动光标位置lcd. serCursor(col,row)setCursor(3,0)是将光标固定在第一排第四列
cursor显示光标,在光标所在位置划出一条线
noCursor隐藏光标
blink开启闪烁光标需提前开启显示光标
noBlink关闭闪烁光标
display开启LCD显示会显示noDisplay函数发生之前的内容
noDisplay关闭LCD显示
autoscroll自动滚屏
noAutoscroll关闭自动滚屏
leftToRight从左到右输入
rightToLeft从右到左输入
scrollDisplayLeft向左滚屏,将LCD上显示的所有内容都向左移动一格
scrollDisplayRight向右滚屏
createChar创建自定义字符,最多支持8个(num最多到8),每个自定义字符使用一个8B的数组进行保存lcd.createChar(num.date)num为自定义字符的编号,data为自定义字符的像素数据,但需要输出时还要用到write()函数
setRowOffsets应该是纵向滚屏,因为没有lcd,查看了下源码lcd.serRowOffsets(1,2,3,4)输入数字为多少,向下滚屏多少行
### Arduino LCD1602字符液晶屏使用教程 #### 一、硬件连方式 LCD1602可以通过两种主要的方式与Arduino相连:4位数据模式和I2C模式。 1. **4位数据模式** 当采用4位数据模式时,LCD1602通过较少的引脚与Arduino通信。这种模式下,通常需要7根信号线(RS、E以及D4-D7)加上电源和地线[^1]。具体连如下: | LCD Pin | Function | Connected to | |------------|------------------|-------------| | RS (Pin 4) | Register Select | Digital Pin X | | E (Pin 6) | Enable | Digital Pin Y | | D4 (Pin 11)| Data Bit 4 | Digital Pin Z | | D5 (Pin 12)| Data Bit 5 | Digital Pin A | | D6 (Pin 13)| Data Bit 6 | Digital Pin B | | D7 (Pin 14)| Data Bit 7 | Digital Pin C | 需要注意的是,在此配置中,Arduino会占用较多的数字端口资源。 2. **I2C模式** 如果使用带有I2C口的版本,则仅需两根线即可完成通信——即SCL(串行时钟线)和SDA(串行数据线)。这种方式极大地减少了所需的GPIO数目,并简化了布线过程[^2][^4]。一般情况下,默认地址为`0x27`或者`0x3F`,取决于模块的具体设计。 #### 二、所需库文件安装 无论是哪种连形式都需要加载相应的软件支持包。“LiquidCrystal”适用于标准并/串行口;而“I2C”的情况则需要用到专门针对该协议开发出来的类库比如“LiquidCrystal_I2C”。 可以在IDE菜单栏依次点击 `工具 -> 管理库...`, 输入关键词查找上述提到的相关名称进行下载安装操作。 #### 三、示例程序展示 以下是利用I2C驱动LCD1602的一个简单例子: ```cpp #include <Wire.h> #include <LiquidCrystal_I2C.h> // 设置lcd对象, 地址可能是不同的设备上有所区别,请查阅产品手册确认实际使用的iic地址 LiquidCrystal_I2C lcd(0x27, 16, 2); void setup() { lcd.init(); // 初始化lcd屏幕 lcd.backlight(); // 打开背光灯 lcd.setCursor(0, 0); lcd.print("Hello World!"); // 显示字符串于第一行位置零处开始打印"hello world!" } void loop() {} ``` 以上代码片段实现了向LCD屏幕上输出固定文字的功能。 --- #### 四、注意事项 - 在初次调试前建议先检测所购买型号的确切I2C地址以防设置错误引发无法正常工作的情况发生。 - 对于初学者而言推荐优先尝试官方文档里给出的基础范例以便熟悉整个流程后再逐步深入探索更多高级特性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

541板哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值