Типовые характеристики дисплея следующие
Display Capacity: 16 × 2 characters.
Chip Operating Voltage: 4.5 ~ 5.5V.
Working Current: 2.0mA (5.0V).
Optimum working voltage of the module is 5.0V.
Character Size: 2.95 * 4.35 (W * H) mm.
Схема подключения к микроконтроллерным модулям Arduino Uno и Mega 2560 выглядит следующим образом.


Листинг программы для тестов можно использовать следующий
/* __________________
1602 LCD 8-bit bus control
__________________ */
int DI = 12;
int RW = 11;
int DB[] = {3, 4, 5, 6, 7, 8, 9, 10}; // use array to select pin for bus
int Enable = 2;
void LcdCommandWrite(int value) {
// define all pins
int i = 0;
for (i = DB[0]; i <= DI; i++) // assign value for bus
{
digitalWrite(i, value & 01); // for 1602 LCD, it uses D7-D0( not D0-D7) for signal identification; here, itΓÇÖs used for signal inversion.
value >>= 1;
}
digitalWrite(Enable, LOW);
delayMicroseconds(1);
digitalWrite(Enable, HIGH);
delayMicroseconds(1); // wait for 1ms
digitalWrite(Enable, LOW);
delayMicroseconds(1); // wait for 1ms
}
void LcdDataWrite(int value) {
// initialize all pins
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); // wait for 1ms
}
void setup (void) {
int i = 0;
for (i = Enable; i <= DI; i++) {
pinMode(i, OUTPUT);
}
delay(100);
// initialize LCD after a brief pause
// for LCD control
LcdCommandWrite(0x38); // select as 8-bit interface, 2-line display, 5x7 character size
delay(64);
LcdCommandWrite(0x38); // select as 8-bit interface, 2-line display, 5x7 character size
delay(50);
LcdCommandWrite(0x38); // select as 8-bit interface, 2-line display, 5x7 character size
delay(20);
LcdCommandWrite(0x06); // set input mode
// auto-increment, no display of shifting
delay(20);
LcdCommandWrite(0x0E); // display setup
// turn on the monitor, cursor on, no flickering
delay(20);
LcdCommandWrite(0x01); // clear the scree, cursor position returns to 0
delay(100);
LcdCommandWrite(0x80); // display setup
// turn on the monitor, cursor on, no flickering
delay(20);
}
void loop (void) {
LcdCommandWrite(0x01); // clear the screen, cursor position returns to 0
delay(10);
LcdCommandWrite(0x80 + 3);
delay(10);
// Show welcome message
LcdDataWrite('W');
LcdDataWrite('e');
LcdDataWrite('l');
LcdDataWrite('c');
LcdDataWrite('o');
LcdDataWrite('m');
LcdDataWrite('e');
LcdDataWrite(' ');
LcdDataWrite('t');
LcdDataWrite('o');
delay(10);
LcdCommandWrite(0xc0 + 1); // set cursor position at second line, second position
delay(10);
LcdDataWrite('M');
LcdDataWrite('G');
LcdDataWrite('T');
LcdDataWrite('U');
LcdDataWrite('-');
LcdDataWrite('w');
LcdDataWrite('o');
LcdDataWrite('r');
LcdDataWrite('k');
LcdDataWrite('s');
LcdDataWrite('h');
LcdDataWrite('o');
LcdDataWrite('p');
delay(3300);
LcdCommandWrite(0x01); // clear the screen, cursor returns to 0
delay(10);
LcdDataWrite('I');
LcdDataWrite(' ');
LcdDataWrite('a');
LcdDataWrite('m');
LcdDataWrite(' ');
LcdDataWrite('a');
LcdDataWrite(' ');
LcdDataWrite('b');
LcdDataWrite('o');
LcdDataWrite('s');
LcdDataWrite('s');
delay(3000);
LcdCommandWrite(0x02); // set mode as new characters replace old ones, where there is no new ones remain the same
delay(10);
LcdCommandWrite(0x80 + 5); // set cursor position at first line, sixth position
delay(10);
LcdDataWrite('V');
LcdDataWrite('.');
delay(220);
LcdDataWrite('E');
delay(220);
LcdDataWrite('.');
delay(220);
LcdDataWrite(' ');
LcdDataWrite('D');
delay(220);
LcdDataWrite('r');
delay(220);
LcdDataWrite('a');
delay(220);
LcdDataWrite('c');
delay(220);
LcdDataWrite('h');
delay(5000);
}
После прошивки можем наблюдать, что на дисплее отображается текст

В результате видим пример работы жидкокристаллического дисплея

Очевидным недостатком данного решения является крайне интенсивное использование линий ввода-вывода микроконтроллера или микроконтроллерного модуля. Для снижения количества используемых выводов можно рекомендовать подключение по 4-битной шине.

Жидкокристаллические дисплеи модели 1602 построены на базе контроллера HD44780 (или его клонов). Они являются простым, надёжным и востребованным решением при разработке различных электронных приборов. Такие дисплеи можно встретить в целом спектре устройств: от самодельных до промышленных (например, в автомате по продаже воды).
Отзывы
Написал Иван
Опубликовано в: Генератор изображений FooocusНаписал Денис
Опубликовано в: Настройка модуля HC-06Написал deman696
Опубликовано в: Настройка модуля HC-06Написал Борис
Опубликовано в: Сравнение современных СУБДНаписал Den
Опубликовано в: Редактирование сейвов Mass Effect 1