美文网首页
Hello World!——1602(1)

Hello World!——1602(1)

作者: 视界梦想 | 来源:发表于2017-10-15 19:42 被阅读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);

}

相关文章

网友评论

      本文标题:Hello World!——1602(1)

      本文链接:https://www.haomeiwen.com/subject/cmgcuxtx.html