Підключення та програмування LCD на основі HD44780U, WASM
Багато хто хоче виділити корпус свого ПК із загальної маси або підвищити зручність користування ним. У цій статті я розповім про підключення РК модуля до комп'ютера і про його програмування.
Як правило, існує кілька видів таких дисплеїв – сегментні, знакосинтезуючі, графічні. Ми розглянемо знакосинтезуючі модулі на HD 44780 U сумісному контролері.
З чого почати
Для початку варто визначитися і купити потрібний вам дисплей знакосинтезуючі зазвичай представлені 1, 2, 4, 8 рядковими по 8, 16, 20, 24, 40 символів, можуть мати світлодіодне підсвічування. Далі потрібен плоский кабель (шлейф) та роз'єм DB -25 M . Припаюємо шлейф до контактної гребінки на дисплеї, і до роз'єму згідно з розведенням і схемою, також раджу для надійності залити контактну гребінку термоклеєм. Для живлення дисплея потрібно 5 ст. – можна підключити до USB або через molex, при цьому підсвічування слід підключити через струмообмежувальний резистор на 5-10 Ом. Відразу після ввімкнення живлення на дисплеї повинен з'явитися тестовий рядок, що свідчить про його справність.
Розведення LPT порту
1 (strobe) інвертуючий
15 ( err) інвертуючий
Розведення знакосинтезуючого LCD-дисплея
Вибір регістру (команда/дані)
Синхронізація (за спадом)
Відповідність ліній порту та дисплея
Дисплеї підтримують два типи інтерфейсу – 8 і 4 біти, тобто у разі використання 4 бітної шини можна використовувати старші 4 лінії шини, тобто припаяти до ліній 6:9 порту лінії 11:14 дисплея.
Тепер коротко розглянемо структуру екрана. На вході дисплея стоять два регістри-засувки – інструкцій та даних, вибір потрібного регістру здійснюється установкою/скиданням лінії RS (Register Select) у разінизького рівня байт поміщається в регістр команд, якщо рівень високий відповідно регістр даних. Замикання байта/напів-байта відбувається за спадом лінії E (Enable). Далі інструкції йдуть на обробку в декодер команд, дані в пам'ять дисплея, а на виході якщо встановлена лінія RW (перемикає напрямок інтерфейсу) контролер встановлює прапор зайнятості детальніше див. правило на обробку команд вистачає 1-2 мс. тобто робимо невелику затримку. Потім дані надходять у знакогенератор, звідки вже мікросхема-драйвер дисплея виводить їх безпосередньо на РКІ. Знакогенератор дисплея до речі підтримує визначення восьми символів користувача з номерами від 0 до 7. Докладніше про структурну схему дисплея можна дізнатися з даташита на HD 44780 U .
Важливо відзначити, що дисплеї зазвичай не підтримують українську мову, але в таблиці є деякі українські символи так що можна спокійно зробити перекодування і тих символів яких не вистачає, замінювати схожими латинськими, наприклад, «Х» рус. на «X» (ікс) тощо.
Програмування
Писати керуючу програму будемо на Delphi, якщо хтось з релігійних переконань його не використовує, то думаю не важко перекласти програму на потрібну мову.
Для початку нам треба отримати доступ до портів вводу/виводу, я для цього використовую простий драйвер (спасибі Four - F за статті) через який і звертаємося до LPT порту. Код драйвера написано під масм.