Скачиваний:
31
Добавлен:
09.05.2014
Размер:
132.61 Кб
Скачать

Подробно опишите интерфейс подключения ЖКИ к МК ADuC812.

ЖКИ в контроллере SDK-1.1 подключен не напрямую к микроконтроллеру ADuC812, а через расширитель портов ввода-вывода, выполненный на базе ПЛИС. В ЖКИ есть специальный контроллер, формирующий необходимые напряжения на входах матрицы и осуществляющий динамическую индикацию. Для работы с этим контроллером реализован простейший интерфейс, описанный ниже (рис. 17, табл. 4). Матрица имеет 80 входов по горизонтали и 16 входов по вертикали.

Матрица ЖКИ состоит из 32 знакомест (2 строки по 16 символов) размером 5 точек по горизонтали и 8 точек по вертикали. Для отображения различных символов внутри контроллера ЖКИ есть знакогенератор. Знакогенератор – специальное устройство, содержащее в себе ПЗУ (или ОЗУ) с битовыми картами с изображениями различных символов. Каждому изображению символа ставится в соответствие его код.

Обозначение

Описание

RS

Переключение между регистрами команд и данных: 1 – данные, 0 – команды

R/W

1– чтение (из контроллера ЖКИ), 0 – запись (в контроллер ЖКИ)

E

Разрешающий сигнал (1 – активный уровень). Если сигнал E = 0, то контроллер ЖКИ игнорирует все остальные сигналы

DB0

Бит данных 0

DB1

Бит данных 1

DB2

Бит данных 2

DB3

Бит данных 3

DB4

Бит данных 4

DB5

Бит данных 5

Опишите организацию контроллера ЖКИ стенда SDK1-1.

Основными компонентами контроллера ЖКИ являются память DDRAM (Data Display RAM), память CGRAM (Character Generator RAM), память CGROM (Character Generator ROM), счетчик адреса, регистр команд IR (Instruction Register), регистр данных DR (Data Register). Регистр команд предназначен для записи в него таких операций, как очистка дисплея, перемещение курсора, включение/выключение дисплея, а также установка адреса памяти DDRAM и CGRAM для последующего их выполнения. Регистр данных временно хранит данные, предназначенные для записи или чтения из DDRAM или CGRAM (символы). Эти два регистра можно выбрать с помощью регистрового переключателя RS (Register Select).

Опишите последовательность действий, которые необходимо выполнить для вывода 1 символа на экран.

Вся работа с индикатором сводится к нескольким простым вещам:

1. Первым шагом вы записываете команду или данные (коды выводимых символов) в регистр DATA_IND расширителя портов. После этого, содержимое этого регистра появляется на шине данных контроллера ЖКИ (DB0-DB7). Контроллер на эти данные, естественно, не реагирует, так как сигнал E (Еnable) нами еще не выставлен в активный уровень (логическая «1»).

2. Вторым шагом вы должны разрешить работу с шиной с помощью сигнала E (логическая «1»), выставить сигнал записи (логический «0» на линии W) и указать тип регистра, с которым вы будете работать в контроллере ЖКИ на линии RS. Если вы передаете данные, то на сигнал RS нужно подать «1», если команду, то «0».

Для вывода символа выполняется следующая последовательность действий:

1. RS = 0, R/W = 0, E = 1

2. Установить адрес на информационные выводы.

3. Пауза 30 мкс.

4. RS = 0, R/W = 0, E = 0

5. Пауза 255 мкс.

6. RS = 1, R/W = 0, E = 1

7. Установить код символа на информационные выводы.

8. Пауза 50 мкс.

9. RS = 1, R/W = 0, E = 0

При работе с клавиатурой возникает эффект дребезга. Что такое дребезг? Когда он возникает? Приведите способ его устранения на примере работы с клавиатурой стенда.

При работе микроконтроллера с датчиками, имеющими механические или электромеханические контакты (кнопки, клавиши, реле, клавиатуры и т.д.), возникает явление, называемое дребезгом контактов. Оно заключается в том, что при замыкании контактов происходит их отскок, под действием сил упругости, обратное соединение, повторный отскок и т.д. Это приводит к переходному процессу, при котором сигнал с контакта может быть прочитан как случайная последовательность нулей и единиц. Подавить это нежелательное явление можно аппаратными либо программными способами.

Среди программных способов наибольшее распространение получили два:

1) подсчет заданного числа совпадающих значений сигнала;

2) временная задержка.

Суть первого способа заключается в многократном считывании сигнала с контакта. Подсчет удачных опросов (т.е. опросов, обнаруживших, что контакт замкнут) ведется программным счетчиком. Если после серии удачных опросов встречается неудачный, то подсчет начинается сначала. Контакт считается устойчиво замкнутым (дребезг устранен), если последовало N удачных опросов. Число N подбирается экспериментально для каждого типа используемых датчиков и лежит в пределах от 10 до 100.

Устранение дребезга контактов путем введения временной задержки заключается в том, что программа, обнаружив замыкание контакта, запрещает опрос состояния этого контакта на время, заведомо большее длительности переходного процесса. Время задержки подбирается экспериментально для каждого типа датчиков в пределах 1…20 мс и реализуется обычно с помощью одного из таймеров\счетчиков.

Что такое и как работает знакогенератор ЖКИ. Опишите процедуру создания собственного символа для отображения на ЖКИ.

Знакогенератор – специальное устройство, содержащее в себе ПЗУ (или ОЗУ) с битовыми картами с изображениями различных символов. Каждому изображению символа ставится в соответствие его код.

ОЗУ знакогенератора предназначено для хранения символов, определенных пользователем. Пользователь может создать 8 символов размером 5х8 точек и 4 символа

5х10 точек. Чтобы определить собственный символ необходимо установить счетчик АС на адрес начала матрицы требуемого символа в CGRAM (00h, 08h, 10h и т.д. для символов 5х8 точек, 00h, 10h, 20h и т.д. для символа 5х10 точек) и произвести запись всех байтов

матрицы, начиная с верхней строки. После этого, записав код запрограммированного символа (00h, 01h,...07h для режима 5х8 точек и 00h, 02h, ... ,07h для режима 5х10 точек) в DDRAM, на экране в соответствующем месте будет отображаться определенный символ.

Опишите своими словами работу драйвера клавиатуры. Особенно подробно опишите процесс определения нажатых клавиш.

Как это работает? Линии сканирующего порта (столбцы) по умолчанию находятся в состоянии, когда на всех линиях, кроме одной, установлен высокий логический уровень. Линия, на которой установлен низкий логический уровень, является опрашиваемой в текущий момент, т.е. определяет опрашиваемый столбец. Если какая-либо кнопка этого столбца будет нажата, на соответствующей линии считывающего порта (строке) также будет низкий логический уровень, потому что замкнутая кнопка подтянет строку к потенциалу столбца, т.е. к земле. Если известен номер опрашиваемого столбца и номера линий считывающего порта, на которых установлен логический «0», можно однозначно определить, какие кнопки этого столбца нажаты.

Далее выбирается следующий опрашиваемый столбец путем установки логического «0» на соответствующей линии сканирующего порта и со считывающего порта снова снимаются данные. Цикл сканирования продолжается до тех пор, пока не будут перебраны таким образом все сканирующие линии.

3

Соседние файлы в папке ответы на контрольные работы (примерные)