24h購物| | PChome| 登入
2012-06-05 00:46:45 | 人氣1,255| 回應2 | 上一篇 | 下一篇

Arduino 控制16*2 LCD

推薦 0 收藏 0 轉貼0 訂閱站台

各式各樣的液晶顯示器對於arduino 要顯示資料來說是非常必要的東西


自己做得要弄得很麻煩, 目前有內建直接輕易控制的函式庫
LiquidCrystal函式庫 - for controlling liquid crystal displays (LCDs)

以16*2這種市面上到處買的到的LCD來說
可以輕易用這樣的方式來控制


#include

LiquidCrystal lcd(12, 11, 10, 5, 4, 3, 2);

void setup()
{
  lcd.print("hello, world!");
}

void loop() {}

 

一行而已, 看起來就很爽!!!
以下解釋一下用法
LiquidCrystal 這個類別宣告的方式有下列幾種, 一般都選第二種最容易
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)

 

LCD的顯示資料可允許使用4bit或是8bit的方式來傳送
前者只要四條訊號線,後者要八條,但後者比較快,因為通道大一倍嘛
rs: 連到LCD的RS腳位
rw: 連到LCD的RW腳位
enable: 連到LCD的enable腳位
d0~d7: 資料傳輸用腳位
以上腳位到底如何接得看LCD的說明書,通常買來都會內附
必須有這個才能用,因為筆者手上的16*2LCD就有四種不同接法,沒說明書亂接會比較危險

 

常用指令
lcd.begin(cols, rows) 可以輕易設定要顯示的行列數量


lcd.clear() 清畫面


lcd.print(data)  用來印出一堆資料,
他的兄弟lcd.print(data, BASE),裡面的BASE可以指定用哪一種進位方式來顯示


lcd.write(data) 用來印一個字

lcd.blink() lcd.noBlink() 可用來控制游標的顯示方式要不要閃爍


lcd.cursor() and noCursor() 用來控制要不要顯示游標

lcd.setCursor(x,y); 控制游標位置,起點為左上角,這和我們熟知的數學座標是顛倒的,但電腦裡面幾乎所有的座標系都這樣

lcd.scrollDisplayLeft()  lcd.scrollDisplayRight()  控制往左或是往右捲動一格

lcd.autoscroll()  lcd.noAutoscroll() 控制要不要自動捲,但鯨魚通常使用後者

 

大概就是這些常用指令囉
他其實還有別的指令
但有以上這些已經無所不能了

 

 

 

台長: 小鯨魚
人氣(1,255) | 回應(2)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 教育學習(進修、留學、學術研究、教育概況) | 個人分類: Arduino 技術 |
此分類下一篇:Arduino 的MAP(資料自動對應轉換)
此分類上一篇:Arduino控制SERVO

(悄悄話)
2012-08-25 23:43:30
(悄悄話)
2012-08-26 13:56:12
是 (本台目前設定為強制悄悄話)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文