Hello World!——1602(1)

2017-10-15  本文已影响0人  视界梦想

int DI = 12;

int RW = 11;

int DB[] = {3, 4, 5, 6, 7, 8, 9, 10};

int Enable = 2;

void LcdCommandWrite(int value) {

int i = 0;

for (i = DB[0]; i <= DI; i++)

{

digitalWrite(i, value & 01);

value >>= 1;

}

digitalWrite(Enable, LOW);

delayMicroseconds(1);

digitalWrite(Enable, HIGH);

delayMicroseconds(1); 

digitalWrite(Enable, LOW);

delayMicroseconds(1); 

}

void LcdDataWrite(int value) {

int i = 0;

digitalWrite(DI, HIGH);

digitalWrite(RW, LOW);

for (i = DB[0]; i <= DB[7]; i++) {

digitalWrite(i, value & 01);

value >>= 1;

}

digitalWrite(Enable, LOW);

delayMicroseconds(1);

digitalWrite(Enable, HIGH);

delayMicroseconds(1);

digitalWrite(Enable, LOW);

delayMicroseconds(1); 

}

void setup (void) {

int i = 0;

for (i = Enable; i <= DI; i++) {

pinMode(i, OUTPUT);

}

delay(100);

LcdCommandWrite(0x38); 

delay(64);

LcdCommandWrite(0x38); 

delay(50);

LcdCommandWrite(0x38); 

delay(20);

LcdCommandWrite(0x06); 

delay(20);

LcdCommandWrite(0x0E);

delay(20);

LcdCommandWrite(0x01);

delay(100);

LcdCommandWrite(0x80);

delay(20);

}

void loop (void) {

LcdCommandWrite(0x01); 

delay(10);

LcdCommandWrite(0x80 + 3);

delay(10);

LcdDataWrite('H');

LcdDataWrite('e');

LcdDataWrite('l');

LcdDataWrite('l');

LcdDataWrite('o');

LcdDataWrite(' ');

LcdDataWrite('W');

LcdDataWrite('o');

LcdDataWrite('r');

LcdDataWrite('l');

LcdDataWrite('d');

LcdDataWrite('!');

delay(5000);

}

上一篇 下一篇

猜你喜欢

热点阅读