Методические указания к лабораторным работам по курсу

Вид материалаМетодические указания

Содержание


1.6.Содержание отчета
Изучение работы бис контроллера клавиатуры и дисплея
Подобный материал:
1   2   3   4   5

1.6.Содержание отчета


Отчет должен содержать :

- структурную схему СФС;

- тексты использованных программ в мнемокодах и HEX-кодах с комментариями;

- рисунки временных диаграмм (осциллограммы), перечисленных в разделе 5.

7. Вопросы для самопроверки

7.1. Нарисуйте синхросигналы С1 и С2 для КР580ВМ80. Охарактеризуйте микросхему КР580ГФ24.

7.2. Нарисуйте и обьясните подключение КР580ГФ24 к МП БИС КР580ВМ80.

7.3. На каком такте слово состояния МП БИС записывается в регистр слова состояния МП БИС? Сколько возможных вариантов слова состояния существует для КР580ВМ80? В чем отличие в слове состояния, выдаваемом МП БИС на машинных циклах чтения данных из внешнего устройства и памяти, записи данных во внешнее устройство и память?

7.4. Приведите схему записи слова состояния МП БИС в регистр слова состояния.

7.5. Какие сигналы формируются на магистрали управления микро - ЭВМ?

7.6. Охарактеризуйте контроллер системной шины КР580ВК28.

7.7. Нарисуйте и обьясните подключение КР580ВК28 к КР580ВМ80.

7.8. Укажите состояние магистралей микроЭВМ при работе МП БИС в режимах ОЖИДАНИЕ, ОСТАНОВ, ЗАХВАТ. Для каких целей в микро-ЭВМ применяются режимы ОЖИДАНИЕ, ОСТАНОВ, ЗАХВАТ?

7.9. Каким образом можно удлинить машинный цикл?

7.10. Расскажите, как осуществляется захват системной шины микроЭВМ.

7.11. Расскажите, как осуществляется обработка прерываний МП БИС КР580ВМ80.

Лабораторная работа N 2

ИЗУЧЕНИЕ РАБОТЫ БИС КОНТРОЛЛЕРА КЛАВИАТУРЫ И ДИСПЛЕЯ

1. Цель работы

Изучение программного и схемотехнического обеспечения, необходимого для реализации интерфейсов устройств ввода и отображения информации на основе БИС контроллера клавиатуры и дисплея КР580ВВ79.

2. Подготовка к работе

В процессе подготовки к лабораторной работе необходимо изучить:

- внутреннюю структуру, состав внешних выводов и принцип работы БИС КР580ВВ79;

- схему подключения дисплея и матрицы датчиков к контроллеру ..ВВ79;

- структуру и принцип работы лабораторной установки;

- рабочее задание и методические указания к его выполнению;

- способ программирования контроллера на различные режимы работы, а также написать текст программы в форме табл. 2.1.

3. Структура БИС КР580ВВ79

Микросхема КР580ВВ79 - программируемое интерфейсное устройство, предназначенное для ввода и вывода информации в системах, выполненных на основе 8- и 16-разрядных микропроцессоров. Условное графическое изображение БИС приведено на рис.2.1.

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

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

+----------------------+ Буферные схемы канала данных

¦ ¦ ¦ INT +-- D7-D0 предназначены для обмена

¦ ¦ +-----¦ информацией между микросхемой

¦ ¦ ¦ D0 +-- контроллера и микропроцессором.

--¦ C ¦ ¦ D1 +-- При подаче сигналов WR и CS осу ¦ ¦ ¦ D2 +-- ществляется ввод информации в

--¦ SR ¦ ¦ D3 +-- микросхему, а при подаче RD и CS

+-----¦ ¦ D4 +-- - вывод информации из микросхемы.

--¦ RET0¦ ¦ D5 +-- Если сигнал CS находится в со --¦ RET1¦ ¦ D6 +-- стоянии высокого уровня, то че --¦ RET2¦ ¦ D7 +-- рез буферные схемы D7-D0 обмен

--¦ RET3¦ +-----¦ информацией между микропроцессо --¦ RET4¦ ¦ BD +-- ром и БИС не происходит.

--¦ RET5¦ +-----¦ Наличие выходной линии за --¦ RET6¦ ¦DSPA3+-- проса прерывания INT позволяет

--¦ RET7¦ ¦DSPA2+-- использовать данную микросхему в

¦ ¦ ¦DSPA1+-- системах с прерыванием. Микро --¦ SH ¦ ¦DSPA0+-- схема рассчитана на прямое под --¦CO/ST¦ +-----¦ ключение к шинам микропроцес +-----¦ ¦DSPB3+-- соров КР580ВМ80А и КМ1810ВМ86.

--¦ RD ¦ ¦DSPB2+-- C - вход синхронизации, SR --¦ WR ¦ ¦DSPB1+-- вход начальной установки. Вход

¦ ¦ ¦DSPB0+-- INS/D определяет источник чтения

--¦INS/D¦ +-----¦ при выводе из БИС и приемник ин --¦ CS ¦ ¦ S0 +-- формации при записи в БИС. При

+-----¦ ¦ S1 +-- высоком уровне сигнала INS/D на

--¦ GND ¦ ¦ S2 +-- линиях находятся команда или сло --¦ Ucc ¦ ¦ S3 +-- во состояния, при низком - дан +----------------------+ ные. Назначение остальных выво дов БИС КР580ВВ79 будет рассмот Рис.2.1. УГО КР580ВВ79 рено ниже.

Микросхема контроллера состоит из двух функционально автономных частей: клавиатурной и дисплейной. Структурная схема БИС приведена на рис.2.2.

8 +----------+ CS +----------+ +----------+

-----¦ Буферные ¦ ----¦ Схема ¦ ¦ Буферные ¦D7-D0 RET7-0¦ схемы +---+ WR ¦управления+----¦ схемы +---- -----¦ датчиков ¦ ¦ ----¦вводом/ ¦ ¦ канала ¦ 8

SH +----------+ ¦ ----¦ выводом¦ ¦ данных ¦

-------+ ¦ ¦ RD +----------+ +----------+

CO/ST 8¦ ¦ ------+ ¦ ¦

+----------+ ¦ INS/D ¦ ¦

¦ Схема ¦ ¦ ¦ ¦8

¦устранения+---¦ ¦ ¦

¦ дребезга ¦ ¦ C +----------+ ¦

+----------+ ¦ ----¦ Схема ¦ BD ¦

¦ ¦ ----¦управления+----- ¦

8¦ ¦ SR ¦ и ¦ ¦

+----------+ ¦ ¦ синхрони-+-+ ¦

¦ Буферное +---+-------¦ зации¦ ¦ ¦

¦ ОЗУ ¦ ¦ +----------+ ¦ ¦

¦ датчиков ¦ ¦ ¦ ¦ ¦

+----------+ ¦ ¦ ¦ ¦

8¦ ¦ ¦8 ¦ ¦

¦ ¦ ¦ ¦ ¦

---------------+--------------------+----------------- ¦ ¦ ¦ ¦ ¦

¦ ¦ ¦ ¦ +--------+

¦ +------+-----+ ¦ ¦ ¦ ¦

8¦ ¦ ¦ ¦ ¦5 ¦ ¦ ¦

+----------+ ¦ +----------+ ¦ ¦ +----------+

¦ ОЗУ ¦ 8 ¦ ¦Адрес ОЗУ ¦ ¦ ¦ ¦ Счетчик ¦S3-S0

¦отображе- +---+--¦отображе- ¦ ¦ ¦ ¦сканирова-+---- ¦ния (16х8)¦ ¦ ¦ ния¦ ¦ ¦ ¦ ния¦ 4

+----------+ ¦ +----------+ ¦ ¦ +----------+

¦ +------+ ¦ ¦

8¦ ¦ ¦ ¦ +----------+

+----------+DSPA3-DSPA0 ¦ +--¦ Анализ ¦ INT

¦ Регистры +------------ ¦ ¦состояния +---- ¦ ОЗУ отоб-¦ 4 4 ¦ 8 ¦ ОЗУ ¦

¦ ражения +------------ +------¦ датчиков ¦

+----------+DSPB3-DSPB0 +----------+

Рис.2.2. Структурная схема БИС КР580ВВ79

Клавиатурная часть обеспечивает ввод информации в микросхему через линии возврата RET7-RET0 с клавиатуры и матрицы датчиков, а также ввод по стробирующему сигналу ST (8 слов х 8 сигналов). Введенная информация хранится в буферном ОЗУ датчиков.

Для определения достоверного нажатия клавиши введена схема устранения дребезга клавиатуры, которая производит сравнение текущего значения сигнала на линии RETi со значением последнего через интервал времени, равный половине периода сканирования, и на основе полученных данных принимает решение о достоверности нажатия. Кроме того, эта схема обнаруживает ошибки нажатия двух и более клавиш в режимах 1 и 3 клавиатурной части (см. п. 4.1).

Для фиксации кодов нажатых клавиш в БИС КР580ВВ79 служат: буферное ОЗУ (8x8 бит), регистр слова-состояния стека-ОЗУ датчиков, вывод запроса прерывания, формируемого схемой анализа состояния ОЗУ датчиков.

В интерфейсах на основе БИС КР580ВВ79 опрос датчиков клавиатуры и регенерация изображения на дисплее осуществляется под управлением счетчика сканирования (рис 2.2). На выходах S0..S3 формируются сигналы, непосредственно используемые для сканирования (дешифрированный режим сканирования) или на них выводится двоичный код номера сканируемой линии (кодированное сканирование). В лабораторной установке используется кодированное сканирование.

Предназначенные к выводу на дисплей данные заносятся в ОЗУ отображения, объемом 16 слов х 8 разрядов. Регистр адреса ОЗУ отображения предназначен для хранения адреса данных, которые в данный момент записываются или считываются микропроцессором.

Регистры ОЗУ отображения хранят данные, которые в момент сканирования сигналами S3-S0 отображаются на выходах DSPA3-DSPA0 и DSPB3-DSPB0.

4. Выбор режимов БИС контроллера клавиатуры и дисплея

4.1. Интерфейс клавиатуры

Максимальный размер обслуживаемой матрицы составляет 4x8 датчиков для дешифрированного и 8x8 для кодированного режима сканирования.

Частота сканирующих импульсов после сброса по сигналу CLC автоматически устанавливается 1/31 от частоты синхронизации БИС. С помощью команды "Программирование синхронизации" коэффициент деления может быть установлен пользователем от 2 до 31. Частота сканирования выбирается так, чтобы период сканирования был больше удвоенной длительности дребезга.

Команда "Программирование синхронизации" имеет следующий формат:

D7,D6,D5 = 0,0,1;

D4,D3,D2,D1,D0 - код коэффициента деления.

В лабораторной установке коэффициент деления может изменяться от 14h до 1Fh.

Контроллер клавиатуры и дисплея КР580ВВ79 позволяет программно выбирать один из следующих режимов работы клавиатурной части:

1) сканирование клавиатуры с обнаружением двухклавишных сцеплений;

2) сканирование клавиатуры с обнаружением N-клавишных сцеплений;

3) сканирование клавиатуры с обнаружением N-клавишных сцеплений и ошибок;

4) сканирование матрицы датчиков;

5) ввод информации по стробу.

Формат команды "Установка режимов работы клавиатуры и дисплея":

D7.D6.D5 = 000;

режимы дисплейной части БИС

D4 = 0 - ввод слева;

= 1 - ввод справа со сдвигом;

D3 = 0 - восьмисимвольный дисплей;

= 1 - шестнадцатисимвольный дисплей;

режимы клавиатурной части БИС

D2.D1 = 00 - режим 1;

01 - режим 2;

10 - режим 4;

11 - режим 5;

режимы счетчика сканирования

D0 = 0 - кодированное сканирование;

= 1 - дешифрированное сканирование.

Буферное ОЗУ датчиков работает как стек FIFO на восемь символов в режимах 1..3,5 и как ОЗУ датчиков в режиме 4.

В режимах 1..3 код датчика заносится в стек только один раз после определения достоверного срабатывания, независимо от того, как долго датчик остается в сработавшем положении. Информация о таких датчиках кодируется в виде 8-разрядного слова:

D7 - сигнал на входе CO/ST;

D6 - сигнал на входе SH;

D5,D4,D3 - номер строки;

D2,D1,D0 - номер столбца.

Для регламентации обмена данными между стеком БИС микро-ЭВМ можно пользоваться словом состояния:

D7 = 1 - доступ к ОЗУ отображения прекращен;

D6 = 1 - в режиме матрицы датчиков - ключ замкнут;

- иначе - ошибка (одновременное замыкание двух и более клавиш);

D5 = 1 - ошибка (переполнение);

D4 = 1 - ошибка (переопустошение);

D3.D2.D1.D0 - число символов в буферном ОЗУ.

После чтения слова состояния разряды D4 и D5 автоматически сбрасываются.

Одновременно с записью первого кода в стек устанавливается запрос прерывания на выходе INT БИС. Запрос снимается во время чтения очередного кода из стека и устанавливается вновь после окончания чтения, если стек еще не пуст.

В режиме сканирования клавиатуры с обнаружением 2-клавишных сцеплений ввод осуществляется по одной клавише, а при нажатии двух и более клавиш код ни одной из них не будет введен в ОЗУ датчиков.

В режиме сканирования клавиатуры с обнаружением N-клавишных сцеплений при нажатии нескольких клавиш все они опознаются и вводятся в ОЗУ датчиков в соответствии с порядком сканирования.

При сканировании клавиатуры с обнаружением N-клавишных сцеплений и ошибок ввод осуществляется только по одной клавише. Этот режим устанавливается из режима 2 клавиатурной части вводом команды следующего формата:

D7.D6.D5 = 111;

D4 = 1 - установка режима 3;

0 - отмена режима 3;

D3.D2.D1.D0 - не используются.

Если одновременно нажато две и более клавиш, то код ни одной из них не вводится в ОЗУ датчиков, но при этом в слове состояния устанавливается флаг ошибки D6 и запрос прерывания. Сброс запроса прерывания и флага ошибки, а также возобновление записи в стек осуществляется по сигналу начальной установки или с помощью команды "Сброс":

D7.D6.D5 = 110;

D4 = 0 - D3.D2 задают код на выходах DSPAi, DSPBi;

= 1 - D3.D2 задают код в ОЗУ отображения;

D3.D2 = 0X - код 00h;

= 10 - код 20h;

= 11 - код 0FFh;

D1 = 1 - сброс регистра слова состояния;

D0 = 1 - программный сброс.

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

Ввод информации по стробу дает возможность осуществить прием и хранение в буферном ОЗУ БИС данных от любого внешнего устройства. Информация принимается со входов RET0..RET7 по стробирующему импульсу, подаваемому на вход CO/ST. По его срезу информация фиксируется внутренними схемами БИС, а по фронту - перезаписывается в стек. Время между срезом и фронтом должно быть не менее периода тактового импульса.

Режимы 4 и 5 клавиатурной части в данной лабораторной работе не исследуются.

4.2. Интерфейс дисплея

Для буферирования выводимой на дисплей информации в БИС контроллера служит внутреннее ОЗУ отображения объемом 16 байт. С помощью команды "Гашение - запрет записи" пользователь может организовать запись в ОЗУ как целыми байтами, так и отдельными тетрадами:

D7.D6.D5 = 101;

D4 - не используется;

D3 = 1 - запрет записи в ОЗУ отображения по входам D7..D4 для канала A;

D2 = 1 - запрет записи в ОЗУ отображения по входам D3..D0 для канала B;

D1 = 1 - гашение выходов DSPAi;

D0 = 1 - гашение выходов DSPBi.

Режим записи в ОЗУ отображения задается командой "Запись в ОЗУ отображения":

D7.D6.D5 = 100;

D4 - флаг автоинкрементирования;

D3.D2.D1.D0 - адрес строки, в которую записывается информация.

Очистка ОЗУ отображения осуществляется командой "Сброс" (см. п. 4.1).

БИС позволяет при программировании режима работы задавать один из двух порядков отображения информации на дисплее: ввод слева (как на обычных алфавитно-цифровых дисплеях) или ввод справа со сдвигом (как у микрокалькулятора). Заданный порядок учитывается только при автоинкрементной записи в ОЗУ отображения. Режим работы дисплейной части контроллера задается командой "Установка режимов работы клавиатуры и дисплея" (см. п. 4.1).

5. Описание лабораторной установки

Лабораторная установка включает в себя базовый модуль УМПК-80/ВМ, плату расширения УМПК-80/МИ6 (рис.2.3) и блок питания.

Основу интерфейса клавиатуры и дисплея составляет БИС КР580ВВ79 (D4). В схеме интерфейса используется раздельная дешифрация сигналов сканирования S0..S3 БИС КР580ВВ79. Дешифратор D6 формирует 8 линий сканирования матрицы датчиков клавиатуры, дешифратор D7 - 16 сигналов сканирования дисплея. Светодиод индицирует запрос прерывания.

Имитатор клавиатуры содержит в своем составе переключатели выбора режима (SA1), имитаторы 1-й и 2-й строк матрицы датчиков (SA3,SA4), имитатор 3-й неполной строки, состоящей из 3-х датчиков SB1..SB3, имитатор сигналов SH и CO/ST (SA2).

При выполнении лабораторной работы необходимо установить переключатели SA1 в разомкнутое (нижнее) положение.

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

Дисплей модуля состоит из полупроводниковых знакосинтезирующих индикаторов HG1..HG16. При программировании отображения на дисплей можно использовать таблицу кодов шестнадцатиричных цифр, расположенную в ПЗУ с адреса 0218h.

Дешифратор адреса выдает сигнал выборки на буфер магистрали данных и БИС контроллера клавиатуры. Сигнал выборки формируется при следующих комбинациях на магистрали адреса: 0A4h для записи данных в ОЗУ отображения и чтения из буферного ОЗУ датчиков, 0A5h для записи команды и чтения слова состояния.

6. Указания к выполнению предварительного домашнего задания

Разработать программу, обеспечивающую отображение на дисплей символов, соответствующих нажатым "клавишам". Программу представить в виде табл. 2.1.

Варианты заданий

1. Каждой клавише 1-й и 2-й строк поставить в соответствие шестнадцатиричную цифру, которая будет выводиться на дисплей при ее нажатии. Запрограммировать режим обнаружения двухклавишных сцеплений и 16-символьный дисплей с выводом слева. Обеспечить переключение дисплея в 8-символьный режим с выводом справа и обратно в предыдущий режим по нажатию одной из клавиш 3-й строки.

2. Каждой клавише 1-й и 2-й строк поставить в соответствие шестнадцатиричную цифру, которая будет выводиться на дисплей при ее нажатии. Запрограммировать режим обнаружения двухклавишных сцеплений и 16-символьный дисплей с выводом справа. Обеспечить переключение клавиатуры в режим с обнаружением N-клавишных сцеплений и обратно в предыдущий режим по нажатию одной из клавиш 3-й строки.

Таблица 2.1 +-------------------------------------------------------------+ ¦ Адрес ¦ Шестнадца- ¦ Мнемокод ¦ Комментарии ¦ ¦ ¦ тиричный код ¦ ¦ ¦ +---------+--------------+------------+-----------------------¦ ¦ 0800 ¦ 3E C3 ¦ MVI A,0C3h ¦ Очистка дисплея ¦ ¦ 0802 ¦ D3 A5 ¦ OUT 0A5h ¦ ("Сброс") ¦ ¦ 0804 ¦ 3E 08 ¦ MVI A,08h ¦ Вывод на дисплей сле- ¦ ¦ 0806 ¦ D3 A5 ¦ OUT 0A5h ¦ ва, обнаружение 2-х - ¦ ¦ ¦ ¦ ¦ клавишных сцеплений ¦ ¦ 0808 ¦ DB A5 ¦ IN 0A5h ¦ Чтение слова состояния¦ ¦ ¦ . . . ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ 0900 ¦ DB A4 ¦ IN 0A4h ¦ Чтение ОЗУ датчиков ¦ ¦ ¦ . . . ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ ¦ 0A00 ¦ D3 A4 ¦ OUT 0A4h ¦ Запись в ОЗУ ¦ ¦ ¦ ¦ ¦ отображения ¦ ¦ ¦ ¦ ¦ ¦ ¦ . . . и т. д. ¦ ¦ +-------------------------------------------------------------+

3. Каждой клавише 1-й и 2-й строк поставить в соответствие шестнадцатиричную цифру, которая будет выводиться на дисплей при ее нажатии. Запрограммировать режим обнаружения N-клавишных сцеплений и 8-символьный дисплей с выводом справа. Обеспечить переключение клавиатуры в режим с обнаружением N-клавишных сцеплений и ошибок по нажатию одной из клавиш 3-й строки. В этом режиме при наличии ошибки выдать сообщение "Error".

4. Закодировать клавиши 1-й строки буквами какого-либо слова, например имени автора программы, режимы клавиатуры и дисплея выбрать самостоятельно, объяснить выбор. Необходимо, чтобы слово написалось верно. При нажатии "неправильной" клавиши выдать звуковой сигнал.

5. Каждой клавише 1-й и 2-й строк поставить в соответствие шестнадцатиричную цифру, которая будет выводиться на дисплей при ее нажатии. Запрограммировать режим без автоинкрементирования. Выводить сначала в 0-ю позицию дисплея. После нажатия одной из клавиш 3-й строки предыдущую позицию дисплея очистить и выводить цифры в следующую позицию и т.д.

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

7. Порядок выполнения работы

7.1. Соединить лабораторный стенд с блоком питания гибким кабелем. Подключить блок питания к сети и включить клавишу "Сеть".

7.2. Установить переключатели SA1, SA3, SA4 в нижнее положение.

7.3. Загрузить подготовленную программу и произвести ее отладку.

7.4. Продемонстрировать работу программы преподавателю на нескольких контрольных примерах.

8. Содержание отчета

Отчет должен содержать:

- цель работы;

- структурную схему КР580ВВ79;

- блок-схему алгоритма программы, подготовленной в рамках домашнего задания;

- текст программы, представленный в форме табл. 2.1;

- контрольную и отладочную информацию по указанию преподавателя.

9. Вопросы для самопроверки

1. Охарактеризуйте входы и выходы микросхемы контроллера клавиатуры и дисплея КР580ВВ79.

2. Перечислите основные блоки изучаемой БИС и объясните их взаимодействие.

3. Как осуществить подключение БИС к процессору ?

4. Как осуществить подключение матрицы датчиков к контроллеру КР580ВВ79 ?

5. Как подключить семисегментные индикаторы к БИС ?

6. По каким адресам осуществляется обмен процессора с ..ВВ79 в лабораторной установке ? Изобразите схему селектора адреса.

7. Перечислите и дайте характеристику режимам работы клавиатурной части БИС.

8. Охарактеризуйте режимы работы дисплейной части.

9. Как расширить матрицу датчиков до 256 ? Изобразите схему подключения.

10. Как представляется нажатая клавиша в режимах сканирования клавиатуры (1-3) ?

11. А как в режиме сканирования матрицы датчиков ?

12. Каковы особенности 1-й строки в режиме сканирования матрицы датчиков ?

13. Как выбирается частота сканирования датчиков ? Какой коэффициент деления тактовой частоты устанавливается по умолчанию ?