主要資料來源:
(LiquidCrystal庫地址:http://wiki.geek-workshop.com/doku.php?id=arduino:libraries:liquidcrystal)
參考:
http://blog.sina.com.cn/s/blog_5d940a1b0101344q.html
一、函數一覽:
- LiquidCrystal() //構造函數
- begin() //指定顯示屏尺寸
- clear() //清屏並將光標置於左上角
- home() //將光標置於左上角(不清屏)
- setCursor() //將光標置於指定位置
- write() //(在光標處)顯示一個字符
- print() //顯示字符串
- cursor() //顯示光標(就是一個下划線)
- noCursor() //不顯示光標
- blink() //光標閃爍(和8,9一起使用時不保證效果)
- noBlink() //光標不閃爍
- noDisplay() //關閉顯示,但不會丟失內容(誰把燈關了?)
- display() //(使用noDisplay()后)恢復顯示
- scrollDisplayLeft() //將顯示的內容向左滾動一格
- scrollDisplayRight() //將顯示的內容向右滾動一格
- autoscroll() //打開自動滾動(具體解釋往下拉)
- noAutoscroll() //關閉自動滾動
- leftToRight() //從左向右顯示內容(默認)
- rightToLeft() //從右向左顯示內容
- createChar() //大奧義·字符創造之術(往下拉)
二、具體解釋:
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的引腳編號
例子:
1 #include <LiquidCrystal.h> 2 3 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); //此處需根據具體連線調整,lcd為構造的實例(變量/對象/愛咋叫咋叫)名稱 4 5 void setup() 6 { 7 lcd.print("hello, world!"); 8 } 9 10 void loop() {}
2 begin ()
內容:
指定顯示屏的尺寸(寬度和高度)。
語句:
lcd.begin(cols, rows)
參數設置:
lcd: 液晶類型的名稱變量
cols: 顯示器可以顯示的列數(1602是16列)
rows: 顯示器可以顯示的行數(1602是2行)
3 clear ()
簡介:
清除LCD屏幕上內容,並將光標置於左上角。
語法:
lcd.clear()
參數:
lcd:LiquidCrystal類的對象
4 home()
內容:
將光標定位在屏幕左上角. 就是說,接下來的字符從屏幕左上角開始顯示.如果同時要清除屏幕上的內容,請使用clear()函數代替.
語法:
lcd.home()
參數設置:
lcd: LiquidCrystal類的對象
5 setCursor()
簡介:
將光標定位在特定的位置。
語法:
lcd.setCursor(col, row)
參數:
lcd:LiquidCrystal類的對象
col: 你要顯示光標的列 (從0開始計數)
row: 你要顯示光標的行 (從0開始計數)
6 write()
簡介:
向LCD寫一個字符。
語法:
lcd.write(data)
參數:
lcd: LiquidCrystal類的對象
data: 你要顯示的字符(僅限英文和數字和你自己定義的字符)。
返回值:
byte //write() 將返回寫入的字節數,雖然讀這個數字是可選(照搬照抄,有興趣自行研究)
示例:
1 #include <LiquidCrystal.h> 2 3 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); 4 5 void setup() 6 { 7 Serial.begin(9600); 8 } 9 10 void loop() 11 { 12 if (Serial.available()) 13 { 14 lcd.write(Serial.read()); 15 } 16 }
7 print()
內容:
將文本顯示在LCD上.
語法:
lcd.print(data)
lcd.print(data, BASE)
參數:
lcd: 液晶類型的名稱變量
data:要顯示的數據,可以是char, byte, int, long或者string類型的
BASE (optional): 數制(可選),BIN,DEC,OCT,HEX分別將數字以二進制,十進制,八進制,十六進制方式顯示出來.
返回值:
byte //這個返回值通常是用不到的
示例:
1 #include <LiquidCrystal.h> 2 3 LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2); 4 5 void setup() 6 { 7 lcd.print("hello, world!"); 8 } 9 10 void loop() {}
8 cursor()
內容:
顯示光標(光標所在的位置, 就是下一個字符將會被顯示的位置)。
語法:
lcd.cursor()
參數設置:
lcd: 液晶類型的名稱變量
9 noCursor()
內容:
隱藏光標。
語法:
lcd.noCursor()
參數:
lcd: 液晶類型的名稱變量
10 blink()
內容:
顯示閃爍的光標。如果和cursor()一起使用,最終結果將取決於您使用的LCD屏幕.
語法:
lcd.blink()
參數設置:
lcd: 液晶類型的名稱變量
11 noBlink()
內容:
關閉 光標閃爍功能.
語句:
lcd.noBlink()
參數設置:
lcd: 液晶類型的名稱變量
12 noDisplay()
內容:
關閉液晶顯示,但原先顯示的內容不會丟失. 可使用display()恢復顯示.
語法:
lcd.noDisplay()
參數:
lcd: 液晶類型的名稱變量
13 display()
簡介:
調用noDisplay()隱藏LCD上顯示內容后,調用本函數恢復顯示.
語法:
lcd.display()
參數:
lcd: 液晶類型的名稱變量
14 scrollDisplayLeft()
簡介:
使屏幕上內容(光標及文字)向左滾動一個字符。
語法:
lcd.scrollDisplayLeft()
參數:
lcd: 一個LiquidCrystal類的對象
15 scrollDisplayRight()
簡介:
使屏幕上內容(光標及文字)向右滾動一個字符。
語法:
lcd.scrollDisplayRight()
參數:
lcd: 一個LiquidCrystal類的對象
16 autoscroll()
簡介:
打開液晶顯示屏的自動滾動,將會使得當一個字符輸出到LCD時,令先前的文本移動一個位置.如果當前寫入方向為由左到右(默認方向),文本向左滾動.反之,文本向右滾動.它的功能可以理解為,當輸出單個字符時,會使得字符總是輸出在LCD上的同一個位置.
語法:
lcd.autoscroll()
參數:
lcd: a variable of type LiquidCrystal
17 noAutoscroll()
簡介:
關閉自動滾動功能。(后輸入的字符可能無法顯示)
語法:
lcd.noAutoscroll()
參數:
LCD:LiquidCrystal類的對象
18 leftToRight()
內容:
默認的方向,將文本從左到右寫入屏幕.這意味着,后續字符的顯示將是從左向右的,但是這不會影響先前已經顯示的字符.
語法:
lcd.leftToRight()
參數設置:
lcd: a variable of type LiquidCrystal
19 rightToLeft()
簡介:
設置文本寫入LCD的方向為從右向左(默認是從左向右)。這意味着,后續字符將會由右至左寫入,但不影響先前的文本的顯示。
語法:
lcd.rightToLeft()
參數:
lcd: 一個LiquidCrystal類的對象
20 createChar()
內容:
創建用戶自定義的字符.共可創建8個用戶自定義字符,編號從0到7.字符外觀由一個8字節數組定義,每行占用一個字節.最低的5個有效位決定像素點所在的行.若要在屏幕顯示自定義字符,請使用write()函數.(參數為字符的編號0-7)
語法:
lcd.createChar(num, data)
參數設置:
lcd: a variable of type LiquidCrystal
num: 所創建字符的編號(0-7)
data: 字符的像素數據
例子:
1 #include <LiquidCrystal.h> 2 3 LiquidCrystal lcd(12, 11, 5, 4, 3, 2); 4 5 byte smiley[8] = { //1表示亮,0表示不亮,此例顯示一個笑臉 6 B00000, 7 B10001, 8 B00000, 9 B00000, 10 B10001, 11 B01110, 12 B00000, 13 }; 14 15 void setup() { 16 int x=1; //x可以為0~7的任何數字 17 lcd.createChar(x , smiley); //將x號字符設置為smiley數組表示的樣子 18 lcd.begin(16, 2); 19 lcd.write(x); 20 } 21 22 void loop() {}