Arduino LCD1602 字符液晶屏 輸入輸出擴(kuò)展板 LCD Keypad Shield

批發(fā)數(shù)量 1-99PCS 100-499PCS ≥500PCS
梯度價(jià)格 15.00 13.50 12.80
型號(hào)
Arduino LCD1602 字符液晶屏
品牌
Arduino LCD1602 字符液晶屏
類型
仿真器
功率
1000
用途
電腦
封裝
個(gè)
批號(hào)
15+


資料下載地址(如果沒(méi)有網(wǎng)盤可以直接登錄QQ下載):
http://www.kuaipan.cn/file/id_83199237419958281.htm
Arduino LCD1602字符液晶擴(kuò)展板,PCB沉金工藝加工,用料十足,主板采用全新優(yōu)質(zhì)2行16個(gè)字符液晶,不僅具有對(duì)比度調(diào)節(jié)旋鈕、背光燈選擇開關(guān),還具4個(gè)方向按鍵、1個(gè)選擇按鍵和一個(gè)復(fù)位按鍵;這款1602液晶擴(kuò)展板真正意義上的將電路簡(jiǎn)化,直接將此板插Arduino Duemilanove控制器上即可.
規(guī)格參數(shù)
1.模塊尺寸:20.5mm×41mm
 
 
2.模塊重量:57g
 1602字符型LCD簡(jiǎn)介
1602LCD主要技術(shù)參數(shù):
 
1.顯示容量:16×2個(gè)字符
2.芯片工作電壓:4.5—5.5V
3.工作電流:2.0mA(5.0V)
4.模塊最佳工作電壓:5.0V
5.字符尺寸:2.95×4.35(W×H)mm
 
 
 
1 VSS電源地9 D2數(shù)據(jù)
 
2 VDD電源正極10 D3數(shù)據(jù)
3 VL液晶顯示偏壓11 D4數(shù)據(jù)
4 RS數(shù)據(jù)/命令選擇12 D5數(shù)據(jù)
5 R/W讀/寫選擇13 D6數(shù)據(jù)
6 E使能信號(hào)14 D7數(shù)據(jù)
7 D0數(shù)據(jù)15 BLA背光源正極
8 D1數(shù)據(jù)16 BLK背光源負(fù)極
第1腳:VSS為地電源。
第2腳:VDD接5V正電源。
第3腳:VL為液晶顯示器對(duì)比度調(diào)整端,接正電源時(shí)對(duì)比度最弱,接地時(shí)對(duì)比度
最高,對(duì)比度過(guò)高時(shí)會(huì)產(chǎn)生“鬼影”,使用時(shí)可以通過(guò)一個(gè)10K的電位器調(diào)整對(duì)比度。
第4腳:RS為寄存器選擇,高電平時(shí)選擇數(shù)據(jù)寄存器、低電平時(shí)選擇指令寄存器。
第5腳:R/W為讀寫信號(hào)線,高電平時(shí)進(jìn)行讀操作,低電平時(shí)進(jìn)行寫操作。當(dāng)RS
和R/W共同為低電平時(shí)可以寫入指令或者顯示地址,當(dāng)RS為低電平R/W為高電平時(shí)
可以讀忙信號(hào),當(dāng)RS為高電平R/W為低電平時(shí)可以寫入數(shù)據(jù)。
第6腳:E端為使能端,當(dāng)E端由高電平跳變成低電平時(shí),液晶模塊執(zhí)行命令。
第7~14腳:D0~D7為8位雙向數(shù)據(jù)線。
第15腳:背光源正極。
第16腳:背光源負(fù)極。
1602LCD的指令說(shuō)明:
1602液晶模塊內(nèi)部的控制器共有11條控制指令,如表下表所示:
 序號(hào)指令RS R/W D7 D6 D5 D4 D3 D2 D1 D0
1清屏0 0 0 0 0 0 0 0 0 1
2光標(biāo)返回0 0 0 0 0 0 0 0 1 *
 
3置輸入模式0 0 0 0 0 0 0 1 I/D S
4顯示開/關(guān)控制0 0 0 0 0 0 1 D C B
5光標(biāo)或字符移位0 0 0 0 0 1 S/C R/L * *
6置功能0 0 0 0 1 DL N F * *
7置字符發(fā)生存貯器地址0 0 0 1字符發(fā)生存貯器地址
8置數(shù)據(jù)存貯器地址0 0 1顯示數(shù)據(jù)存貯器地址
9讀忙標(biāo)志或地址0 1 BF計(jì)數(shù)器地址
10寫數(shù)到CGRAM或DDRAM)1 0要寫的數(shù)據(jù)內(nèi)容
11從CGRAM或DDRAM讀數(shù)1 1讀出的數(shù)據(jù)內(nèi)容
1602液晶模塊的讀寫操作、屏幕和光標(biāo)的操作都是通過(guò)指令編程來(lái)實(shí)現(xiàn)的。(說(shuō)明:1為高電平、0為低電平)
指令1:清顯示,指令碼01H,光標(biāo)復(fù)位到地址00H位置。
指令2:光標(biāo)復(fù)位,光標(biāo)返回到地址00H。
指令3:光標(biāo)和顯示模式設(shè)置I/D:光標(biāo)移動(dòng)方向,高電平右移,低電平左移S:
屏幕上所有文字是否左移或者右移。高電平表示有效,低電平則無(wú)效。
指令4:顯示開關(guān)控制。D:控制整體顯示的開與關(guān),高電平表示開顯示,低電
平表示關(guān)顯示C:控制光標(biāo)的開與關(guān),高電平表示有光標(biāo),低電平表示無(wú)光標(biāo)B:控
制光標(biāo)是否閃爍,高電平閃爍,低電平不閃爍。
指令5:光標(biāo)或顯示移位S/C:高電平時(shí)移動(dòng)顯示的文字,低電平時(shí)移動(dòng)光標(biāo)。
指令6:功能設(shè)置命令DL:高電平時(shí)為4位總線,低電平時(shí)為8位總線N:低電
平時(shí)為單行顯示,高電平時(shí)雙行顯示F:低電平時(shí)顯示5x7的點(diǎn)陣字符,高電平時(shí)顯示
5x10的點(diǎn)陣字符。
指令7:字符發(fā)生器RAM地址設(shè)置。
指令8:DDRAM地址設(shè)置。
指令9:讀忙信號(hào)和光標(biāo)地址BF:為忙標(biāo)志位,高電平表示忙,此時(shí)模塊不能接
收命令或者數(shù)據(jù),如果為低電平表示不忙。
指令10:寫數(shù)據(jù)。
指令11:讀數(shù)據(jù)。
 與HD44780相兼容的芯片時(shí)序表如下:
讀狀態(tài)輸入RS=L,R/W=H,E=H輸出D0—D7=狀態(tài)字
 寫指令輸入RS=L,R/W=L,D0—D7=指令碼,E=高脈沖輸出無(wú)
 
讀數(shù)據(jù)輸入RS=H,R/W=H,E=H輸出D0—D7=數(shù)據(jù)
寫數(shù)據(jù)輸入RS=H,R/W=L,D0—D7=數(shù)據(jù),E=高脈沖輸出無(wú)
 
 1602LCD的一般初始化(復(fù)位)過(guò)程:
延時(shí)15mS
寫指令38H(不檢測(cè)忙信號(hào))
 
延時(shí)5mS
寫指令38H(不檢測(cè)忙信號(hào))
延時(shí)5mS
寫指令38H(不檢測(cè)忙信號(hào))
以后每次寫指令、讀/寫數(shù)據(jù)操作均需要檢測(cè)忙信號(hào)
寫指令38H:顯示模式設(shè)置
寫指令08H:顯示關(guān)閉
寫指令01H:顯示清屏
寫指令06H:顯示光標(biāo)移動(dòng)設(shè)置
寫指令0CH:顯示開及光標(biāo)設(shè)置
AUDUINO官方例程:
//example use of LCD4Bit_mod library
#include
//create object to control an LCD. 
//number of lines in display=1
LCD4Bit_mod lcd = LCD4Bit_mod(2);
 
//Key message
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); //we\'ll use the debug LED to output a heartbeat
 
 lcd.init();
 //optionally, now set up our application-specific display settings, overriding whatever the lcd did in lcd.init()
 //lcd.commandWrite(0x0F);//cursor on, display on, blink on. (nasty!)
  lcd.clear();
 lcd.printIn("KEYPAD testing... pressing");
   
}
 
void loop() {
 
  adc_key_in = analogRead(0);   // read the value from the sensor 
 digitalWrite(13, HIGH); 
 key = get_key(adc_key_in);         // convert into key press
  
  if (key != oldkey)            // if keypress is detected
  {
   delay(50);  // wait for debounce time
     adc_key_in = analogRead(0);   // read the value from the sensor 
   key = get_key(adc_key_in);          // convert into key press
   if (key != oldkey)        
   {      
     oldkey = key;
     if (key >=0){
     lcd.cursorTo(2, 0); //line=2, x=0
       lcd.printIn(msgs[key]);
     }
   }
 }
 
 //delay(1000);
 digitalWrite(13, LOW);
 }
 
// Convert ADC value to key number
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;    // No valid key pressed
   
return k;
}
LCD4Bit_mod.h