查看(SKU:RB-01C020)1602液晶按鍵擴展板的源代碼
←
(SKU:RB-01C020)1602液晶按鍵擴展板
跳轉至:
導航
、
搜索
因為以下原因,你沒有權限編輯本頁:
您剛才請求的操作只有這個用戶組中的用戶才能使用:
用戶
您可以查看并復制此頁面的源代碼:
<br/> [[文件:Arduino LCD 1602 Keypad Shield01.jpg|400px|有框|右]] ==產品介紹== :Arduino LCD1602字符液晶擴展板v2.0集國內外多款擴展板優(yōu)點于一體所設計,PCB沉金工藝加工,用料十足,主板采用全新優(yōu)質2行16個字符液晶,不僅具有對比度調節(jié)旋鈕、背光燈選擇開關,還具4個方向按鍵、1個選擇按鍵和一個復位按鍵;4個傳感器模擬接口、RB URF v1.1超聲波傳感器接口、藍牙模塊接口、APC220無線數傳模塊通信接口、獨立擴出更加易用方便。對于Arduino初學者來說,不必為繁瑣復雜液晶驅動電路連線而頭疼了,這款1602液晶擴展板真正意義上的將電路簡化,直接將此板插到Arduino Duemilanove控制器上即可,傳感器也僅需一根通用3P傳感器連接線(不分數字連接線與模擬連接線)連接,可輕松實現傳感器數據的記錄顯示。 ==規(guī)格參數== 1.模塊尺寸:20.5mm×41mm<br/> 2.模塊重量:57g ==1602字符型LCD簡介== ===1602LCD主要技術參數=== 1.顯示容量:16×2個字符<br/> 2.芯片工作電壓:4.5—5.5V<br/> 3.工作電流:2.0mA(5.0V)<br/> 4.模塊最佳工作電壓:5.0V<br/> 5.字符尺寸:2.95×4.35(W×H)mm ===引腳功能說明=== 1602LCD采用標準的14腳(無背光)或16腳(帶背光)接口,各引腳接口說明如下表所示: [[文件:Arduino LCD 1602 Keypad Shield02.jpg|538px|有框|居中]] 第1腳:VSS為地電源。<br/> 第2腳:VDD接5V正電源。<br/> 第3腳:VL為液晶顯示器對比度調整端,接正電源時對比度最弱,接地時對比度最高,對比度過高時會產生“鬼影”,使用時可以通過一個10K的電位器調整對比度。<br/> 第4腳:RS為寄存器選擇,高電平時選擇數據寄存器、低電平時選擇指令寄存器。<br/> 第5腳:R/W為讀寫信號線,高電平時進行讀操作,低電平時進行寫操作。當RS和R/W共同為低電平時可以寫入指令或者顯示地址,當RS為低電平R/W為高電平時可以讀忙信號,當RS為高電平R/W為低電平時可以寫入數據。<br/> 第6腳:E端為使能端,當E端由高電平跳變成低電平時,液晶模塊執(zhí)行命令。<br/> 第7~14腳:D0~D7為8位雙向數據線。 <br/> 第15腳:背光源正極。<br/> 第16腳:背光源負極。 ===1602LCD的指令說明=== 1602液晶模塊內部的控制器共有11條控制指令,如表下表所示: [[文件:Arduino LCD 1602 Keypad Shield03.jpg|538px|有框|居中]] 1602液晶模塊的讀寫操作、屏幕和光標的操作都是通過指令編程來實現的。(說明:1為高電平、0為低電平) <br/> 指令1:清顯示,指令碼01H,光標復位到地址00H位置。<br/> 指令2:光標復位,光標返回到地址00H。<br/> 指令3:光標和顯示模式設置 I/D:光標移動方向,高電平右移,低電平左移 S:屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無效。 <br/> 指令4:顯示開關控制。 D:控制整體顯示的開與關,高電平表示開顯示,低電平表示關顯示 C:控制光標的開與關,高電平表示有光標,低電平表示無光標 B:控制光標是否閃爍,高電平閃爍,低電平不閃爍。<br/> 指令5:光標或顯示移位 S/C:高電平時移動顯示的文字,低電平時移動光標。<br/> 指令6:功能設置命令 DL:高電平時為4位總線,低電平時為8位總線 N:低電平時為單行顯示,高電平時雙行顯示 F: 低電平時顯示5x7的點陣字符,高電平時顯示5x10的點陣字符。 <br/> 指令7:字符發(fā)生器RAM地址設置。 <br/> 指令8:DDRAM地址設置。 <br/> 指令9:讀忙信號和光標地址 BF:為忙標志位,高電平表示忙,此時模塊不能接收命令或者數據,如果為低電平表示不忙。 <br/> 指令10:寫數據。 <br/> 指令11:讀數據。<br/> 與HD44780相兼容的芯片時序表如下: [[文件:Arduino LCD 1602 Keypad Shield04.jpg|538px|有框|居中]] 讀操作時序圖 [[文件:Arduino LCD 1602 Keypad Shield05.jpg|538px|有框|居中]] 寫操作時序圖 [[文件:Arduino LCD 1602 Keypad Shield06.jpg|538px|有框|居中]] ===1602LCD的一般初始化(復位)過程=== 延時15mS<br/> 寫指令38H(不檢測忙信號)<br/> 延時5mS<br/> 寫指令38H(不檢測忙信號)<br/> 延時5mS<br/> 寫指令38H(不檢測忙信號)<br/> 以后每次寫指令、讀/寫數據操作均需要檢測忙信號<br/> 寫指令38H:顯示模式設置<br/> 寫指令08H:顯示關閉<br/> 寫指令01H:顯示清屏<br/> 寫指令06H:顯示光標移動設置<br/> 寫指令0CH:顯示開及光標設置 ==Arduino LCD1602字符液晶擴展板功能圖解== [[文件:Arduino LCD 1602 Keypad Shield07.jpg|444px|有框|居中]] ==Arduino LCD1602字符液晶擴展板v2.0測試== 我們使用Arduino控制器來做個測試,要用到硬件設備如下:<br/> 1、Arduino控制器×1<br/> 2、Arduino LCD1602字符液晶擴展板v2.0×1<br/> 3、RB URF v1.1超聲波傳感器模塊×1<br/> 4、4P超聲波傳感器連接線×1<br/> 5、USB數據通信線×1<br/> [[文件:Arduino LCD 1602 Keypad Shield08.jpg|538px|有框|居中]] 下面為按鍵測試,Arduino實驗代碼如下: <br/> <pre style='color:blue'>#include <LCD4Bit_mod.h> LCD4Bit_mod lcd = LCD4Bit_mod(2); char msgs[5][15] = { "Right Key OK ", "Up Key OK ", "Down Key OK ", "Left Key OK ", "Select Key OK" }; int adc_key_val[5] ={30, 150, 360, 535, 760 }; int NUM_KEYS = 5; int adc_key_in; int key=-1; int oldkey=-1; void setup() { pinMode(13, OUTPUT); lcd.init(); lcd.clear(); lcd.printIn("KEYPAD testing... pressing"); } void loop() { adc_key_in = analogRead(0); digitalWrite(13, HIGH); key = get_key(adc_key_in); if (key != oldkey) { delay(50); adc_key_in = analogRead(0); key = get_key(adc_key_in); if (key != oldkey) { oldkey = key; if (key >=0){ lcd.cursorTo(2, 0); //line=2, x=0 lcd.printIn(msgs[key]); } } } digitalWrite(13, LOW); } int get_key(unsigned int input) { int k; for (k = 0; k < NUM_KEYS; k++) { if (input < adc_key_val[k]) { return k; } } if (k >= NUM_KEYS) k = -1; return k; }</pre> 代碼功能是,按下SELECT鍵顯示Select Key OK,按下RIGHT鍵顯示Right Key OK,按下LEFT鍵顯示Left Key OK,按下UP鍵顯示Up Key OK,按下DOWN鍵顯示Down Key OK,按下RESET鍵顯示KEYPAD testing... pressing。 ==產品相關推薦== 論壇地址:[http://www.makerspace.cn/portal.php 奧松機器人技術論壇]<br/> 購買地址:[http://www.gharee.com/goods-45.html 1602液晶按鍵擴展板]
返回
(SKU:RB-01C020)1602液晶按鍵擴展板
。
來自“
http://www.gharee.com/wiki/index.php/(SKU:RB-01C020)1602液晶按鍵擴展板
”
導航菜單
個人工具
登錄
名字空間
頁面
討論
變換
查看
閱讀
查看源代碼
查看歷史
操作
搜索
導航
首頁
社區(qū)專頁
新聞動態(tài)
最近更改
隨機頁面
工具箱
鏈入頁面
相關更改
特殊頁面
頁面信息
隱私政策
關于ALSROBOT WiKi
免責聲明