Для IP 3.90.207.89 доступно:
Главная страница

Новости сайта

Об авторе

Схемы

Статьи

Микроэлектроника

Микросхемы

Linux

Гостевая книга

Письмо админу

Реклама


LCD (ЖКИ). Часть 3. Устройство.

В предыдущей статье мы собрали устройство, для которого необходимо написать программу. Сначала разберёмся с выводами модуля.

Вывод RS (4) (здесь и далее: название вывода (номер вывода) .) служит для разделения команд от данных. Когда на выводе установлен "0", на выводах D0 - D7 выдан код команды, когда установлен "1", на выводах D0 - D7 выданы данные.
Вывод R/W (5) служит для чтения/записи в модуль. Когда установлен "0" на выводе, производится запись в модуль. Когда установлен "1", производится чтение из модуля. В нашем случае мы не используем этот вывод. На нём всегда "0". То есть мы будем только писать в модуль.
Вывод E (6) служит для стробирования. Когда на выводе "0", модуль находится в режиме ожидания, пока процессор установит данные или код команды на выводах D0 - D7. Или же модуль не используется. Процессор занят другими операциями (например, вычисления или сканирование матрицы клавиатуры). Когда установлен "1", модуль считывает данные или код команды.

Алгоритм записи в модуль.

1. Установить R/W (5) в положение "0".
2. Установить значение линии данных на RS (4).
3. Вывести код команды или данные на линию D0 - D7.
4. Установить E (6) в положение "1".
5. Выждать паузу порядка 20 mS.
6. Установить E (6) в положение "0".

Основными объектами взаимодействия являются регистр команд (IR) и регистр данных (DR). Выбор регистра производится через вывод... догадались? Да, через вывод RS (4). Данные помещаются туда, куда указывает счётчик адреса (AC). Он может указывать на видеопамять DDRAM или память знакогенератора (CGRAM).
Видеопамять всегда имеет объём 80 байт, то есть каждый модуль независимо от размеров имеет 80 знакомест. Адресация производится по двум строкам по 40 символов.
Модуль автоматически производит обновление содержимого экрана в соответствии с данными, которые записаны в его DDRAM.

Флаги.

I/DРежим смещения счётчика AC. "0" - Уменьшение. "1" - увеличение.
SСдвиг содержимого экрана. "0" - не производится. "1" - в зависимости от I/D ("0" - вправо, "1" - влево). При сдвиге содержимое памяти не изменяется. Изменяются только внутренние указатели видимой на экране части.
S/CВ соответвтвии с R/L сдвигает курсор (при "0") или экран (при "1"). Всё производится так же без изменения содержимого DDRAM
R/LУказывает направление сдвига курсора или экрана влево ("0") или вправо ("1").
D/LШирина шины данных. "0" - 4 бита. "1" - 8 бит.
NРазвёртка: "0" - одна строка. "1" - 2 строки.
FРазмер матрицы символов. "0" - 5х8, "1" - 5х10.
DНаличие изображения. "0" - выключено, "1" - включено.
CКурсор в виде черты. "0" - выкл., "1" - вкл.
BКурсор в виде мерцающего блока. "0" - выкл., "1" - вкл.

После включения питания модуль находится в режиме увеличения счётчика на 1 (I/D = 1); без сдвига изображения (S=0); 8-ми битной шиной (D/L=1); режим одной строки (N=0); символы по 5х8 точек (F=0); курсоры отключены (C и B = 0).

В следующем выпуске мы научимся командовать модулем, выводить символы и создавать свои символы.

Продолжение.

К списку статей

ilus

Copyright. 2002-2019 Автор - Deryabin Ilya