Hello World!——1602(1)

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);

}

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容