Интерфейсы периферийных устройств. Ключев А.О - 257 стр.

UptoLike

256
1. Первым шагом вы записываете команду или данные (коды выводимых
символов) в регистр DATA_IND расширителя портов. После этого,
содержимое этого регистра появляется на шине данных контроллера
ЖКИ (DB0-DB7). Контроллер на эти данные, естественно, не реагирует,
так как сигнал E (Еnable) нами еще не выставлен в активный уровень
(логическая «1»).
2. Вторым шагом вы
должны разрешить работу с шиной с помощью
сигнала E (логическая «1»), выставить сигнал записи (логический «0»
на линии W) и указать тип регистра, с которым вы будете работать в
контроллере ЖКИ на линии RS. Если вы передаёте данные, то на сигнал
RS нужно подать «1», если команду, то «0».
Необходимо помнить, что в учебном стенде SDK-1.1 начальная
инициализация контроллера
ЖКИ уже выполнена в загрузчике. В реальной
системе вам придется программировать ее самостоятельно.
Время выполнения команд контроллером ЖКИ не равно нулю, и это нужно
учитывать в своем драйвере: опрашивать флаг готовности ЖКИ (BF). Таким
образом, функции работы с ЖКИ НЕ нужно
вызывать в обработчиках
прерывания других периферийных устройств (например, таймера).
Данная лабораторная работа посвящена изучению жидкокристаллического
индикатора (ЖКИ) стенда SDK-1.1.
В рамках лабораторной работы необходимо разработать программу для
контроллера SDK-1.1, которая выполняет конкретную прикладную задачу (см.
варианты задания). Реализация задачи требует знания материалов предыдущих
лабораторных работ: таймеры микроконтроллера ADuC812, последовательный
канал, светодиодные индикаторы, клавиатура
и др.
Драйвер ЖКИ должен включать следующие функции:
Функция Описание
void InitLCD(void)
Инициализация ЖКИ.
void WriteControlLCD( unsigned
char ch)
Запись значения в регистр управления ЖКИ
С_IND (ПЛИС):
chзначение, записываемое в C_IND.
bit ReadBFLCD(void)
Чтение флага BF (флаг занятости
контроллера ЖКИ).
unsigned char ClearLCD(void)
Очистка дисплея с возвратом результата
выполнения операции.
unsigned char GotoXYLCD
(unsigned char x, bit y)
Переход в заданную позицию дисплея с
возвратом результата выполнения операции:
x, yкоординаты позиции.
unsigned char PrintCharLCD
Вывод символа на дисплей с возвратом