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); // 延时 1ms
}
void setup (void) {
int i = 0;
for (i=Enable; i <= DI; i++) {
pinMode(i,OUTPUT);
}
delay(100);
// 短暂的停顿后初始化 LCD
// 用于 LCD 控制需要
LcdCommandWrite(0x38); // 设置为 8-bit 接口,2 行显示,5x7 文字大小
delay(64);
LcdCommandWrite(0x38); // 设置为 8-bit 接口,2 行显示,5x7 文字大小
delay(50);
LcdCommandWrite(0x38); // 设置为 8-bit 接口,2 行显示,5x7 文字大小
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);