之前我在51hei网站上看到教程,但按照网站上的教程做了好几遍了都没成功,一直出现乱码,也不知道错在那里,现在终于找到了新的方法点亮 LCD1602而且在上面现实"hello,world!");",代码也比较简短,因为Aruidno的I/O口有限,所以我也使用4-bit模式。
先看连接Arduino和LCD的线路连接图:
脚位连接说明:以上图为例,是从左到右第一脚开始数起:
1Vss接地 (0V)
2Vdd电源 (+5V)
3Vo或与Vee - 对比度调整(0-5V), 可接一颗1K的电阻或接一个5K的电位器
4RSRegister Select: 参数:{1: D0 – D7 设置为1时当作资料解释 0: D0 – D7 设置为0时当作指令解释}
5R/WRead/Write mode: 参数:{1:从LCD读取资料 0: 写资料到LCD(一般情况下很少从LCD读取资料,把这个脚接地可省I/O脚位)}
6EEnable
7D0Bit 0 LSB
8D1Bit 1
9D2Bit 2
10D3Bit 3
11D4Bit 4
12D5Bit 5
13D6Bit 6
14D7Bit 7 MSB
15A+背光(串联一个1K的电阻接地或串联一个5K的电位器调整背光)
16K-背光(GND)
在极客工坊网站上弄来下面这个图:
下面是代码:
#include <LiquidCrystal.h>
LiquidCrystal lcd(12,11,5,4,3,2); //定义脚位
void setup()
{
lcd.begin(16,2); //设置LCD显示的数目。16 X 2:16格2行。
lcd.print("hello,world!"); //将hello,world!显示在LCD上
}
void loop()
{
lcd.setCursor(0,1); //将闪烁的光标设置到column 0, line 1 (注释:从0开始数起,line 0是显示第一行,line 1是第二行。)
lcd.print(millis()/1000); //开机后屏幕现实以秒几时的时间
}
代码上传到Arduino之后显示如下图