Працюємо з ки

Символьний РКІ з контролером HD44780 (KS0066). інтерфейс

Символьний РКІ є нічим іншим, як матрицею з точок, розділеної на рядки і поля символів:

Працюємо з ки

Для управління цією матрицею і виведення власне символів використовується спеціальний контролер.

HD44780 (і сумісний з ним KS0066) - є де-факто стандартом на контролери монохромних рідкокристалічних знакосінтезірующіх дисплеїв з паралельним 4-х або 8-бітовим інтерфейсом. На базі цього контролера випускається величезна кількість моделей з різним конструктивному і дозволом, починаючи з 8x1 (вісім символів в одному рядку), і закінчуючи 40x4 (містять два незалежних керуючих чіпа). Типова частота роботи контролера - 270 кГц.

Контролер РКІ оперує 3-ма блоками пам'яті:

1. Для виведення символу контролер використовує пам'ять DDRAM (Display Data RAM), де зберігаються ASCII-коди символів, які ми хочемо бачити на РКІ. Під неї відведено 80 осередків пам'яті. Зрозуміло, що на РКІ ми побачимо лише частина символів, які знаходяться в DDRAM - якщо наш РКІ 1 або 2-рядковий і відображає 8 символів в рядку, то так:

Працюємо з ки

Робочу область дисплея, як видно, можна зміщувати по осередках DDRAM (виходить ефект біжучого рядка).

2. Шаблони самих символів контролер бере з CGROM (Character Generator ROM) - пам'яті знакогенератора. Таблицю символів можна подивитися в специфікації на HD44780.

3. Для зберігання призначених для користувача символів (їх шаблонів) передбачена пам'ять CGRAM (Character Generator RAM).

Також, контролер в залежності від деяких умов розподіляє прийшли в нього дані в регістр інструкцій або регістр даних.

Типовий 14-піновий інтерфейс контролерів HD44780:

Нумерацію пинов на конкретному РКІ дивимося в datasheet.

Контрастність зображення на РКІ можна змінювати, підключивши додатково построечний резистор на 10 кОм за схемою:

Працюємо з ки

Але, слід дивитися в специфікацію на свій контролер (наприклад у РКІ Klsn10294v-0 на чіпі KS0066 1-Vcc, а 2-GND). Подача харчування підсвічування може відрізнятися від моделі до моделі в залежності від її типу. Зазвичай підсвічування живиться від 5 вольт, токоогранічительний резистор (50-100 Ом) зазвичай не обов'язковий.

Призначення висновків R / S, R / W, E:

При переході Е з високого лог. рівня на низький дані, які вже «висять» на висновках DB0..DB7, записуються в пам'ять контролера РКІ для подальшої обробки.

При високому лог. рівні на R / S (Register Select) контролер РКІ сприймає цей набір бітів як дані (код символу), а при низькому - як інструкцію і направляє їх до відповідного регістру.

Набір команд HD44780

Для того щоб почати виводити інформацію на РКІ, його контролер треба проинициализировать (повідомити йому про інтерфейс, шрифті, зсувах і т.д.). Контролер може сприймати всього 11 команд:

S / C = 1: зрушити дисплей S / C = 0: перемістити курсор
R / L = 1: вправо R / L = 0: вліво

DL = 1: 8 bit DL = 0: 4 bits
N = 1: 2 lines N = 0: 1 line
F = 1: 5х10 F = 0: 5х8

ініціалізація РКІ

Є 2 способи ініціалізації контролера РКІ:

1. Через внутрішню схему скидання.

2. В ручному режимі (через посилку в нього ряду команд, якими ми задаємо режим роботи РКІ)

Внутрішня схема скидання контролера починає працювати відразу після включення живлення. У цьому є один мінус - якщо харчування у нас «повзе» до робочого рівня повільно (повільніше, ніж за 10 мс), то самоініціалізація контролера може пройти некоректно. При цьому способі ініціалізації контролер сам виконує наступні команди:

1. Display clear

2. Function set:
DL = 1; 8-bit interface data
N = 0; 1-line display
F = 0; 5х8 dot character font

3. Display on / off control:
D = 0; Display off
C = 0; Cursor off
B = 0; Blinking off

4. Entry mode set:
I / D = 1; Increment by 1
S = 0; No shift

Другий спосіб виключає залежність схеми від джерела живлення. Для ініціалізації контролера РКІ в ручному режимі необхідно виконати наступний алгоритм:

8-бітний паралельний інтерфейс.

Працюємо з ки

4-бітний паралельний інтерфейс.

Працюємо з ки

Як видно, тут немає нічого складного: посилаємо в РКІ команду за командою, з огляду на час їх виконання (близько 40 мкс) або перевіряючи прапор зайнятості контролера РКІ (тоді треба посадити пін RW на лапку мікроконтролера і виставляти його в «1», коли хочемо дізнатися , зайнятий РКІ чи ні).

Ось, власне, все, що стосується теорії роботи з символьними РКІ. Якщо щось пропустив чи помилився, читаємо специфікацію на контролер HD44780 або англ. версію.

У другій частині розглянемо апаратну і програмну реалізацію зв'язку PIC-мікроконтролерів з РКІ.

Схожі статті