Created
April 10, 2013 07:56
-
-
Save alexzam/5352676 to your computer and use it in GitHub Desktop.
Test code for LCD screen.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
int lD = 250; | |
int lnD = 500; | |
int N = 0x8; | |
int F = 0x4; | |
int RS = 0; | |
int RW = 1; | |
int E = 2; | |
int DB4 = 4; | |
int DB5 = 5; | |
int DB6 = 6; | |
int DB7 = 7; | |
void fireCommand(){ | |
digitalWrite(E, LOW); | |
delayMicroseconds(2); | |
digitalWrite(E, HIGH); | |
delayMicroseconds(2); | |
digitalWrite(E, LOW); | |
delayMicroseconds(500); | |
} | |
void write4(char data, boolean isChar){ | |
PORTD = data & 0xF0 | (isChar?0x1:0); | |
fireCommand(); | |
} | |
void write8(char data, boolean isChar){ | |
write4(data, isChar); | |
char data1 = (data & 0xF) << 4; | |
write4(data1, isChar); | |
} | |
void setup(){ | |
delay(45); | |
pinMode(E, OUTPUT); | |
pinMode(RS, OUTPUT); | |
pinMode(RW, OUTPUT); | |
pinMode(DB4, OUTPUT); | |
pinMode(DB5, OUTPUT); | |
pinMode(DB6, OUTPUT); | |
pinMode(DB7, OUTPUT); | |
digitalWrite(E, LOW); | |
digitalWrite(RS, LOW); | |
digitalWrite(RW, LOW); | |
// Function set to 8bit | |
write4(0x30, false); | |
// Function set to 4bit | |
write8(0x20 | N | F, false); | |
// Repeat function set | |
write8(0x20 | N | F, false); | |
//Display on/off control | |
write8(0x0C, false); | |
// Entry mode set | |
write8(0x06, false); // 0x06 | |
} | |
void loop(){ | |
/// Text output | |
// Display clear | |
write8(0x01, false); | |
// Set DDRAM addr to 00 | |
write8(0x80, false); | |
// Output | |
write8(0xA8, true); // "П" | |
delay(lD); | |
write8(0x70, true); // "p" | |
delay(lD); | |
write8(0x65, true); // "e" | |
delay(lD); | |
write8(0xB3, true); // "в" | |
delay(lD); | |
write8(0x65, true); // "e" | |
delay(lD); | |
write8(0x67, true); // "g" | |
delay(lD); | |
write8(0x2C, true); // "," | |
delay(lD); | |
write8(0x20, true); // " " | |
delay(lD); | |
// Set DDRAM addr to 40 | |
write8(0xC0, false); | |
delay(lD); | |
write8(0x4D, true); // "M" | |
delay(lD); | |
write8(0x65, true); // "e" | |
delay(lD); | |
write8(0x67, true); // "g" | |
delay(lD); | |
write8(0xB3, true); // "в" | |
delay(lD); | |
write8(0x65, true); // "e" | |
delay(lD); | |
write8(0x67, true); // "g" | |
delay(lD); | |
write8(0x21, true); // "!" | |
delay(lnD); | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment