РК-дисплей 16 × 2 названий так тому, що; він має 16 колонок і 2 рядки. Доступно безліч комбінацій, наприклад, 8 × 1, 8 × 2, 10 × 2, 16 × 1 тощо. Але найбільш уживаним є РК-дисплей 16 * 2, отже, ми використовуємо його тут.
Усі вищезгадані РК-дисплеї матимуть 16 висновків, а підхід до програмування також однаковий, і, отже, вибір залишається за вами. Нижче наведено Pinout та Pin Опис РК-модуля 16x2:
No старшого |
No контакту |
Ім'я PIN-коду |
Тип штифта |
Опис штифта |
Штифтове з'єднання |
1 |
Pin 1 |
Земля |
Джерело Pin |
Це штифт заземлення РК-дисплея |
Підключений до заземлення мікроконтролера / джерела живлення |
2 |
Штифт 2 |
VCC |
Джерело Pin |
Це штифт напруги живлення РК-дисплея |
Підключений до штиря живлення джерела живлення |
3 |
Штифт 3 |
V0 / VEE |
Контрольний штифт |
Регулює контрастність РК-дисплея. |
Підключений до змінної POT, яка може подавати сигнал 0-5В |
4 |
Контакт 4 |
Зареєструватися Виберіть |
Контрольний штифт |
Перемикання між Реєстром команд / даних |
Підключений до виводу MCU і отримує або 0, або 1. 0 -> Командний режим 1-> Режим даних |
5 |
Штифт 5 |
Читати писати |
Контрольний штифт |
Перемикає РК-дисплей між операціями читання / запису |
Підключений до виводу MCU і отримує або 0, або 1. 0 -> Операція запису 1-> Операція читання |
6 |
Штифт 6 |
Увімкнути |
Контрольний штифт |
Потрібно високо підніматися для виконання операції читання / запису |
Підключений до MCU і завжди високо. |
7 |
Штифт 7-14 |
Біти даних (0-7) |
Дані / командний штифт |
Шпильки, що використовуються для передачі команди або даних на РК-дисплей. |
У 4-проводному режимі До MCU підключено лише 4 висновки (0-3) У 8-проводному режимі Всі 8 контактів (0-7) підключені до MCU |
8 |
Контакт 15 |
Позитивний світлодіод |
Світлодіодний штифт |
Звичайний світлодіод, як робота підсвічування РК-дисплея |
Підключений до + 5В |
9 |
Штифт 16 |
Світлодіод негативний |
Світлодіодний штифт |
Звичайний світлодіод, як робота підсвічування РК-дисплея, підключеного до GND. |
Підключений до землі |
Це нормально, якщо ви не розумієте функції всіх штифтів, я докладно поясню нижче. Тепер повернемо наш РК-дисплей:
Ці чорні кола складаються з інтерфейсної мікросхеми та пов'язаних з нею компонентів, що допомагає нам використовувати цей РК-дисплей з мікроконтролером. Оскільки наш РК-дисплей є матричним РК-дисплеєм із 16 * 2 крапками, тому він матиме (16 * 2 = 32) 32 символи, і кожен символ буде складатися з 5 * 8 піксельних точок. Одиночний символ із увімкненими всіма пікселями показано на малюнку нижче.
Отже, ми знаємо, що кожен символ має (5 * 8 = 40) 40 пікселів, а для 32 символів у нас буде (32 * 40) 1280 пікселів. Крім того, на РК-дисплеї слід також проінструктувати про положення пікселів.
Це буде напружене завдання впоратися з усім за допомогою MCU, отже, використовується інтерфейсний ІС, такий як HD44780, який встановлений на самому РК-модулі. Функція цього ІС полягає в отриманні команд і даних з MCU та їх обробці для відображення значущої інформації на нашому РК-екрані.
Давайте обговоримо різні типи режиму та опції, доступні на нашому РК-дисплеї, які повинні контролюватися нашими керуючими штифтами.
4-бітний та 8-бітний режим РК-дисплея:
РК-дисплей може працювати в двох різних режимах, а саме в 4-бітному режимі та 8-бітному режимі. У 4-бітовому режимі ми надсилаємо дані погризти, спочатку верхній, а потім нижній. Для тих з вас, хто не знає, що таке перегриз: перегриз - це група з чотирьох бітів, тому нижні чотири біти (D0-D3) байта утворюють нижній гризун, тоді як верхні чотири біти (D4-D7) байта утворюють вищий гризун. Це дозволяє нам надсилати 8-бітові дані.
Тоді як у 8-бітному режимі ми можемо надсилати 8-бітові дані безпосередньо одним штрихом, оскільки ми використовуємо всі 8 рядків даних.
Тепер ви, мабуть, вже здогадалися, так 8-бітний режим швидший і бездоганний, ніж 4-бітний. Але головним недоліком є те, що йому потрібно 8 ліній передачі даних, підключених до мікроконтролера. Це призведе до того, що у нас закінчиться штифти вводу-виводу на нашому MCU, тому 4-бітний режим широко використовується. Для встановлення цих режимів не використовуються керуючі штифти. Просто змінюється спосіб програмування.
Режим читання та запису РК-дисплея:
Як вже було сказано, сам РК-дисплей складається з інтерфейсної ІС. MCU може або читати, або писати на цей інтерфейс IC. Найчастіше ми будемо писати лише в IC, оскільки читання робить це складнішим, і такі сценарії дуже рідкісні. Таку інформацію, як положення курсору, переривання завершення стану тощо, можна прочитати, якщо це потрібно, але це виходить за межі цього посібника.
Інтерфейсна ІС, присутня у більшості РК-дисплеїв, - це HD44780U, для програмування нашого РК-дисплея ми повинні вивчити повну таблицю даних ІС. Таблиця даних наведена тут.
Команди на РК-дисплеї:
У РК-дисплеї є декілька попередньо встановлених команд, які нам потрібно надіслати на РК через якийсь мікроконтролер. Нижче наведено кілька важливих командних інструкцій:
Шістнадцятковий код |
Команда до реєстру інструкцій LCD |
0F |
РК-дисплей увімкнено, курсор увімкнено |
01 |
Чіткий екран дисплея |
02 |
Повернутися додому |
04 |
Курсор зменшення (зміщення курсору вліво) |
06 |
Збільшення курсору (зміщення курсору вправо) |
05 |
Зміщення дисплея вправо |
07 |
Дисплей зсуву вліво |
0E |
Дисплей увімкнено, курсор блимає |
80 |
Примусувати курсор до початку першого рядка |
C0 |
Примусувати курсор до початку другого рядка |
38 |
2 рядки та матриця 5 × 7 |
83 |
Курсор, рядок 1, позиція 3 |
3С |
Активуйте другий рядок |
08 |
Дисплей ВИМК., Курсор ВИМК |
C1 |
Перехід до другого рядка, позиція 1 |
OC |
Дисплей увімкнено, курсор вимкнено |
C1 |
Перехід до другого рядка, позиція 1 |
С2 |
Перехід до другого рядка, позиція 2 |
Перегляньте статті про взаємодію РК-дисплеїв з різними мікроконтролерами:
- РК-інтерфейс з мікроконтролером 8051
- Зв'язок РК з мікроконтролером ATmega32
- РК-інтерфейс з мікроконтролером PIC
- Зв'язок 16x2 РК-дисплея з Arduino
- РК-інтерфейс 16x2 з Raspberry Pi за допомогою Python