Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МПТ 2013 ШПОРЫ.docx
Скачиваний:
297
Добавлен:
15.04.2015
Размер:
669.17 Кб
Скачать

16. Подключение жк-дисплея к pic-микроконтроллеру: структура жк-дисплея, функции управления дисплеем.

Существует несколько различных стандартных форматов ЖК-дисплеев (количество символов × число строк): 8×2, 16×1, 16×2, 16×4, 20×1, 20×2, 20×4, 40×2, 40×4. Конструктивно дисплей представляет собой печатную плату с установленными на ней контроллером HD44780 и ЖК-индикатором. Плата содержит 14-контактное поле, расположенное в нижней части, а также 2 контакта (выводы питания подсветки) в правой части. Назначение выводов поясняет табл. 1.

Назначение выводов ЖК-дисплея

№ вывода

Обозначение

Функция

1

VDD

Напряжение питания ( + 5 В )

2

VSS

Общий (земля)

3

VEE

Управление контрастом

4

RS

Сигнал выбора регистра

5

R/W

Сигнал чтение/запись

6

E

Сигнал разрешение

7-14

D0-D7

Биты данных

Основными чертами интерфейса контроллера HD44780 являются такие характеристики.

Данные передаются по 4- или 8-разрядной шине данных, что определяется пользователем. Эти данные могут быть либо командами, либо символьной информацией. Использование 4-разрядного режима позволяет ограничить весь интерфейс 7-ю линиями, однако процесс передачи данных будет немного более медленным, чем при 8-разрядном режиме.

Управление выполняется с использованием трех линий:

- линия RS (выбор регистра), которая определяет, будет передаваться команда или символьные данные;

- линия R/W (чтение / запись), которая определяет направление перемещения данных (R/W = 1 – чтение, R/W = 0 – запись);

- линия Е (разрешение), которая выполняет функцию тактирования с целью синхронизации процесса передачи данных.

Контроллер имеет простой набор команд, который позволяет управлять работой дисплея. В его состав входят команды инициализации и сброса дисплея, управления положением и характеристиками курсора и т.д.

В контроллере HD44780 можно выделить основные элементы, с которыми приходится взаимодействовать при программном управлении: регистр данных (DR), регистр команд (IR), видеопамять (DDRAM), ОЗУ знакогенератора (CGRAM), счетчик адреса памяти (AC), флаг занятости контроллера (BF). Основными объектами взаимодействия являются регистры DR и IR. Выбор адресуемого регистра производится линией RS: если RS = 0 – адресуется регистр команд (IR), если RS = 1 – регистр данных (DR).

Данные через регистр DR в зависимости от текущего режима могут помещаться (или считываться) в видеопамять (DDRAM) или ОЗУ знакогенератора (CGRAM) по текущему адресу, указываемому счетчиком адреса (AC). Информация, попадающая в регистр IR, интерпретируется устройством выполнения команд как управляющая, т.е. команда. Прочтение регистра IR возвращает в 7-ми младших разрядах текущее значение счетчика AC, а в старшем разряде флаг занятости (BF).

Видеопамять, имеющая общий объем 80 байтов, предназначена для хранения кодов символов, отображаемых на ЖКИ. Видеопамять организована в виде двух строк по 40 символов в каждой. Эта привязка является жесткой и не подлежит изменению. Другими словами, независимо от того, сколько реальных строк будет иметь конкретный ЖКД, скажем, 80×1 или 20×4, адресация видеопамяти всегда производится как к двум строкам по 40 символов.

Флаг занятости BF имеет значение 1, когда контроллер занят, и 0 – когда свободен. Необходимо учитывать, что большинство операций, выполняемых контроллером ЖКД, занимают значительное время, которое может доходить до нескольких единиц миллисекунд, поэтому цикл ожидания установки флага BF должен обязательно присутствовать в программах управления ЖК-дисплеем и предшествовать совершению любой операции.

Библиотека функций управления ЖК-дисплеем

Для облегчения разработки программ управления ЖК-дисплеем с контроллером Hitachi HD44780 в библиотеке пакета MCC18 имеются несколько функций, которые используют выводы портов микроконтроллеров семейства PIC18. Описания этих функций даны в заголовочном файле с именем xlcd.h. По умолчанию для управления контроллером используются выводы только порта В. Имеется возможность использования и других портов, но для этого надо произвести изменения некоторых констант, указанных в файле xlcd.h.

Функция

Описание

BusyXLCD

Контроллер ЖКД занят?

OpenXLCD

Конфигурирует линии портов, используемых для ЖКД и инициализирует его

putsXLCD

Записывает строку в видеопамять контроллера ЖКД

SetDDRamAddr

Устанавливает адрес в видеопамяти контроллера ЖКД

WriteCmdXLCD

Записывает команду в контроллер ЖКД

Для выполнения библиотечных функций управления ЖКД требуется также три функции временной задержки, которые должен организовать пользователь. Эти функции следующие:

Функция

Описание

DelayFor18TCY

Задержка на 18 командных циклов

DelayPORXLCD

Задержка на 15 мс

DelayXLCD

Задержка на 5 мс

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]