之前我在51hei網站上看到教程,但按照網站上的教程做了好幾遍了都沒成功,一直出現亂碼,也不知道錯在那里,現在終于找到了新的方法點亮 LCD1602而且在上面現實"hello,world!");",代碼也比較簡短,因為Aruidno的I/O口有限,所以我也使用4-bit模式。
先看連接Arduino和LCD的線路連接圖:
腳位連接說明:以上圖為例,是從左到右第一腳開始數起:
1 Vss 接地 (0V)
2 Vdd 電源 (+5V)
3 Vo或與Vee - 對比度調整(0-5V), 可接一顆1K的電阻或接一個5K的電位器
4 RS Register Select: 參數:{1: D0 – D7 設置為1時當作資料解釋 0: D0 – D7 設置為0時當作指令解釋}
5 R/W Read/Write mode: 參數:{1: 從LCD讀取資料 0: 寫資料到LCD(一般情況下很少從LCD讀取資料,把這個腳接地可省I/O腳位)}
6 E Enable
7 D0 Bit 0 LSB
8 D1 Bit 1
9 D2 Bit 2
10 D3 Bit 3
11 D4 Bit 4
12 D5 Bit 5
13 D6 Bit 6
14 D7 Bit 7 MSB
15 A+ 背光(串聯一個1K的電阻接地或串聯一個5K的電位器調整背光)
16 K- 背光(GND)
1 Vss 接地 (0V)
2 Vdd 電源 (+5V)
3 Vo或與Vee - 對比度調整(0-5V), 可接一顆1K的電阻或接一個5K的電位器
4 RS Register Select: 參數:{1: D0 – D7 設置為1時當作資料解釋 0: D0 – D7 設置為0時當作指令解釋}
5 R/W Read/Write mode: 參數:{1: 從LCD讀取資料 0: 寫資料到LCD(一般情況下很少從LCD讀取資料,把這個腳接地可省I/O腳位)}
6 E Enable
7 D0 Bit 0 LSB
8 D1 Bit 1
9 D2 Bit 2
10 D3 Bit 3
11 D4 Bit 4
12 D5 Bit 5
13 D6 Bit 6
14 D7 Bit 7 MSB
15 A+ 背光(串聯一個1K的電阻接地或串聯一個5K的電位器調整背光)
16 K- 背光(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); //開機后屏幕現實以秒幾時的時間
}
{
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之后顯示如下圖