Интерфейс ЖК-дисплея 1602

LCD1602A

Жидкокристаллические дисплеи используются во многих устройствах. Они играют очень важную роль во встроенных системах. Многие электронные дисплеи используются во встроенных системах, например 7-сегментные светодиодные дисплеи, но они имеют свои ограничения. В этом статье пробежимся по интерфейсу ЖК-дисплея LCD 1602 и рассмотрим подключение его к плате Arduino.

По сравнению с другими контроллерами, взаимодействие ЖК-дисплея с Arduino очень простое. В других микроконтроллерах необходимо написать полностью код для работы с ЖК-дисплея, в то время как Arduino предоставляет готовую библиотеку.

LCD 1602 является наиболее часто используемым ЖК-дисплеем. 16×2 означает, что он может отображать 32 символа, по 16 символов в 2 строки. Он имеет 16 контактов.

Распиновка ЖК-дисплея 1602

Контакт 1
VSS или GND
Земля (GND)

Контакт 2
VDD или VCC
Питание +5В

Контакт 3
V0 или VEE
Регулировка контрастности

Контакт 4
RS
Выбор регистра данных или инструкций

Контакт 5
RW
Выбор режима чтения или записи

Контакт 6
E
Сигнал включения

Контакт 7
DB0
Линия данных

Контакт 8
DB1
Линия данных

Контакт 9
DB2
Линия данных

Контакт 10
DB3
Линия данных

Контакт 11
DB4
Линия данных

Контакт 12
DB5
Линия данных

Контакт 13
DB6
Линия данных

Контакт 14
DB7
Линия данных

Контакт 15
A или LED+
Питание подсветки, +5В

Контакт 16
K или LED-
Земля (GND)

Описание контактов LCD 16×2

VSS

Это контакт заземления модуля. Подключается к GND.


VDD или VCC

Это контакт питания модуля. Напряжение питания +5В.


V0 или VEE

Вывод VEE или еще может обозначатся V0 используется для управления контрастностью ЖК-дисплея. Для регулировки контрастности экрана подключается потенциометр (переменный резистор) на 10 кОм и устанавливается оптимальный уровень напряжения (потенциометр в этом случае играет роль делителя напряжения). Средний контакт потенциометра подключается к этому контакту, крайние к VSS и VDD. Подключение можно увидеть на схеме ниже.


RS

Register Select. Вывод RS используется для выбора регистра. В этом ЖК-дисплее есть два регистра. Это регистр инструкций и регистра данных. Регистр данных отправляет данные на экран, а регистр инструкций отправляет команды на контроллер ЖК-дисплея, который управляет инструкциями.

  • Высокий логический уровень (логическая 1) — активирует регистр данных.
  • Низкий логический уровень (логический 0) — активирует регистр инструкций.

RW

Read/Write. Вывод RW отвечает за выбор режима чтения или записи. Обычно используется только режим записи, поэтому этот вывод подключают к GND.

  • Высокий логический уровень (логическая 1) — активирует режим чтения.
  • Низкий логический уровень (логический 0) — активирует режим записи.

E

Enable. Включает модуль ЖК-дисплея.


DB0DB7

Это линии ввода/вывода данных. Если используется 4-х битный режим передачи, то используются контакты DB4DB7.


A или LED+

Напряжение питания для светодиодной подсветки. Этот вывод подключается к +5В.


K или LED-

Земля для светодиодной подсветки. Подключается к GND.

Пример подключения LCD 1602 к плате Arduino

Подключим дисплей к ардуино нано в программе Proteus.

ЖК-дисплей можно использовать как в 4-битном, так и в 8-битном режиме. В 4-битном режиме требуется 7 (или 6, если использовать только режим записи) контактов ввода-вывода Arduino.

  • Вывод VSS ЖК-дисплея подключен к земле GND, а вывод VDD подключен к питанию +5В.
  • VEE ЖК-дисплея подключен к переменному резистору для регулировки контрастности.
  • Контакты E (включение) и RS (выбор регистра) подключены к контактам ардуино D4 и D5 соответственно.
  • Вывод RW подключен к земле GND, поскольку будет использоваться только в режиме записи.
  • Четыре вывода данных дисплея от D4 до D7 подключены к четырем цифровым контактам от D0 до D3 Arduino.
Подключение LCD 1602 к Arduino NANO

Скетч для подключения LCD 1602 к Ардуино

Приведенная ниже программа выводит на первую строку ЖК-дисплея «RxTx.su», а на вторую — «LCD 1602».

#include<LiquidCrystal.h>               // Подключаем библиотеку LiquidCrystal
LiquidCrystal lcd(5, 4, 3, 2, 1, 0);   // Создаем объект lcd, передавая контакты в качестве параметров

void setup()
{
  lcd.begin(16, 2);               // Инициализация LCD 16 на 2
}

void loop()
{
  lcd.setCursor(0, 0);           // Устанавливаем курсор на первой строке в самое левое положение
  lcd.print("RxTx.su");          // Выводим текст
  lcd.setCursor(0,1);            // Устанавливаем курсор на второй строке в самое левое положение
  lcd.print("LCD 1602");         // Выводим текст
}

Для управления дисплеем используется библиотека Arduino Liquid Crystal. Она поддерживает 8-разрядный и 4-разрядный режим работы.

LiquidCrystal lcd(RS, E, D4, D5, D6, D7);

Строка сверху создает объект класса LiquidCrystal. А в качестве параметров конструктор класса принимает номера соответствующих контактов, подключенных к ардуино.

В функции setup() выполняется инициализация дисплея. В методе begin() указываем количество символов в строке и количество строк LCD.

lcd.begin(16, 2);

Метод setCursor(столбец, строка) устанавливает курсора, то есть с какого места начать выводить данные.

lcd.setCursor(0, 0);

Метод print() выводит указанную строку на дисплей.

lcd.print("RxTx.su");
Отображение данных на ЖК-дисплее в Proteus
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии