目录
一、本节介绍
在本实验中,Arduino Uno板用于直接驱动LCD1602显示字符。
二、材料准备
- 1 * Arduino Uno板
- 1 *面包板
- 1 * LCD1602
- 1 *电位器(50kΩ)
-若干杜邦线
- 1 * USB数据线
三、原理讲解
一般来说,LCD1602具有并行端口,即需要同时控制多个引脚。LCD1602可以分为八端口和四端口连接。如果使用八端口连接,则SunFounder Uno板的数字端口基本上完全占用。如果要连接更多传感器,则不会有端口可用。因此,使用四端口连接。
LCD1602的引脚及其功能:
VSS:连接到地的引脚
VDD:连接到+ 5V电源的引脚
VO:调整LCD1602对比度的引脚
RS:一个寄存器选择引脚,用于控制正在写入数据的LCD存储器中的哪个位置。您可以选择数据寄存器,其中包含屏幕上的内容,还是选择指令寄存器,这是LCD控制器查找下一步做什么的指令。
R / W:读/写引脚,用于选择读写模式
E:使能引脚,当提供低电平能量时,使LDC模块执行相关指令。
D0-D7 :读写数据的引脚
A和K:控制LED背光的引脚
在本实验中,使用50KΩ电位器调节LCD1602的对比度,以显示所需的字符或数字。对于编程,它通过调用函数库进行优化。
四、实验步骤
步骤1:构建电路(请确保引脚连接正确,否则字符不会正确显示):
原理图
步骤2:编写程序
步骤3:编译程序。
步骤4:将程序上传到Arduino Uno板
您现在应该看到您的LCD1602以滚动的方式显示”Arduino“和“hello,world”的字符。
本节程序:
[scu name=”arduino-ide-post” platform=”arduino:avr:uno”]
/***********************************************************/
//LCD1602
//你现在应该看到你的LCD1602显示流动的字符“Arduino”和“hello,world!”
//2017.10.16
/**********************************************************/
#include <LiquidCrystal.h>
char array1[] = " Arduino "; //要在LCD上打印的字符串
char array2[] = "hello, world! "; //要在LCD上打印的字符串
int tim = 500; ///延迟时间的值
// 使用接口引脚
LiquidCrystal lcd(4, 6, 10, 11, 12, 13);
/*********************************************************/
void setup()
{
lcd.begin(16, 2); // 设置LCD的列和行数:
}
/*********************************************************/
void loop()
{
lcd.setCursor(15, 0); //将光标设置为第15列,第0行
for ( int positionCounter1 = 0; positionCounter1 < 26; positionCounter1++)
{
lcd.scrollDisplayLeft(); //S向左滚动显示一个空格的内容
lcd.print(array1[positionCounter1]); //打印一条消息给LCD.
delay(tim); //等待 500 ms
}
lcd.clear(); //清除液晶显示屏,将光标定位在左上角。
lcd.setCursor(15, 1); // /将光标设置为第15列,第1行为
for (int positionCounter2 = 0; positionCounter2 < 26; positionCounter2++)
{
lcd.scrollDisplayLeft(); //向左滚动显示一个空格的内容。.
lcd.print(array2[positionCounter2]); // 打印一条消息给LCD
delay(tim); //wait for 500 ms
}
lcd.clear(); //清除液晶显示屏,将光标定位在左上角.
}
/************************************************************/
[/scu]