Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебное пособие 400211.doc
Скачиваний:
21
Добавлен:
30.04.2022
Размер:
4.09 Mб
Скачать

2.9.2. Программирование бис кр580вв51

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

Инструкция режима определяет основные рабочие характеристики БИС. Единожды выполненная инструкция режима позволяет затем многократно выполнять инструкцию команд управления обменом до следующей смены режима.

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

Инструкция режима всегда идет следом за программным или аппаратным сбросом БИС в исходное состояние. Общая структура информационного потока приведена на рис. 12.

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

П ри программировании БИС КР580ВВ51 и организации потока между МП и БИС следует руководствоваться рисунками 12 – 15. Микропроцессор может в любой момент времени считать состояние БИС с целью выявить ошибки, возникшие при преобразовании информации, а также скопировать сигналы внешних устройств для анализа бит регистра слова состояния. Три бита регистра слова состояния выделены для индикации состояния признаков ошибок. Чтение регистра состояния происходит при наличии сигнала на входе C/D = 1.

Рис. 12. Структура информационного потока

1 Сброс признаков ошибок 0 Нет сброса

Рис. 14. Формат инструкции команд

Рис. 15. Формат регистра слова состояния

2.10. Программируемый контроллер клавиатуры/дисплея кр580вв79

2.10.1. Назначение контроллера кр580вв79 и особенности его работы в составе микролаба

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

Рис. 16. Типовая схема подключения БИС КР580ВВ79

Выводы БИС перечислены ниже.

D0-D7 – двунаправленная шина данных.

CLK – вход синхросигналов.

RESET – сброс контроллера в начальное состояние; активный уровень - высокий.

C S – выбор микросхемы; активный уровень - низкий.

R D, WR – чтение, запись; нулевые уровни на этих линиях разрешают соответственно выдачу/прием данных из/в контроллер.

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

SL0-SL3 – линии сканирования. Они используются одновременно для сканирования клавиатуры (матрицы датчиков) и для сканирования позиций дисплея.

RL0-RL3 – линии возврата. Они соединяются со сканирующими линиями через клавиатуру (матрицу датчиков), нажатие клавиш должно приводить к появлению нуля на одной из линий.

SHIFT – сдвиг. Состояние этой линии запоминается в одном из бит кода нажатой клавиши и может быть использовано как признак переключения регистра клавиатуры. Незадействованный код воспринимается как единица.

CNTL – в режиме клавиатуры используется как SHIFT.

DA0-DA3 – выходы двух регистров данных, на которые

DB0-DB3 выдаются пары из ОЗУ дисплея. Стробируемые линиями SL, они могут рассматриваться как один 8-битный порт или как два 4-битных. Каждый из них может быть очищен независимо (DA – старшая тетрада, DB – младшая тетрада).

B D – очистка. Используется для гашения дисплея в момент переключения цифр или очистке.

Контроллер состоит из двух функционально автономных частей – клавиатурной и дисплейной, и отвечает за сканирование клавиш, кодирование матрицы клавиатуры и обновление элементов индикации.

Дисплейная часть микросхемы обеспечивает в микролабе вывод информации по двум четырехразрядным каналам DB0-DB3 и DA0-DA3 в виде двоичного кода на цифровой дисплей (табло), состоящий из 8 восьмисегментных индикаторов. Для хранения информации, подлежащей отображению, в микросхеме имеется ОЗУ отображения объемом 16 слов по 8 разрядов. Информация на дисплей может выводиться двумя способами: слева направо или справа налево.

Клавиатурная часть микросхемы обеспечивает ввод информации через “линии возврата” RL0-RL7 с клавиатуры. Для хранения вводимой информации в микросхеме предусмотрено устройство, имеющее название “обратный магазин – оперативное запоминающее устройство” (встречается другое название «ОЗУ- FIFO – ОЗУ ввода»). В микропроцессорной лаборатории К1810ВМ86 910 для микросхемы предусмотрен только режим FIFO, предусматривающий работу “обратного магазина – оперативного запоминающего устройства” по принципу “первый вошел – первый вышел”.

Контроллер клавиатуры и индикации занимает два порта ввода/вывода в адресном пространстве ввода/вывода МП, и, поскольку БИС КР580ВВ79 сопрягается с младшим байтом шины данных (D0-D7), оба порта имеют четные адреса FFE8H и FFEAH . Функционирование микросхемы определяется адресным битом A1 и сигналами , и поясняется таблицей 15.

Таблица 15

Логическое состояние на входах БИС КР580ВВ79

Адрес порта

Действие

АО

RD

WR

0

0

1

FFE8H

Чтение ОЗУ дисплея или клавиатуры

0

1

0

FFE8H

Запись в ОЗУ дисплея

1

0

1

FFEAH

Чтение состояния

1

1

0

FFEAH

Запись команды

Так как адресный бит А2 не декодируется дешифратором ввода/вывода (D34), то адреса портов ffech и ffeeh дешифрируются как порты с адресами FFE8H и ffeah соответственно. Эти два дополнительных адреса резервируются.

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

осуществляет управление восьмью восьмиразрядными индикаторами и кодированное сканирование клавиатуры с обнаружением 2-клавишных сцеплений (команда установки режимов работы клавиатуры индикатора, код 00Н);

устанавливает коэффициент деления К=25 для обеспечения времени сканирования клавиатуры и индикаторов 5 мс и времени устранения дребезга контактов 10 мс (команда программирования синхронизации, код 39Н);

подает на выходы SL0-SL2 (выводы 32, 33, 34 микросхемы D42) двоичный код в режиме кодированного сканирования клавиатуры. Дешифратор D47 преобразует этот код для обеспечения трех входных сигналов сканирования ряда матрицы клавиатуры. Выходы с матрицы клавиатуры поступают на входы RL0-RL7 (выводы 38, 39, 1, 2, 5, 6, 7, 8 микросхемы D42), представляя во­семь колонок клавиш. При нажатии клавиши во время сканирования ряда разрешается соответствующая колонка. БИС КР580ВВ79 использует зна­чение бита разрешенной колонки и значение сканируемого ряда (SL0-SL2) для генерации 6-битного кода, представляемого нажатой клави­шей. Этот код сохраняется в очереди оперативного запоминающего уст­ройства БИС и считывается МП через порт чтения ОЗУ клавиатуры.

Сигналы SL0-SL2 дополнительно поступают на дешифратор D46. Дешифратор преобразует их и возбуждает одну из восьми выходных ли­ний, которые используются для разрешения отдельных индикаторов D48-D51, D54-D57. 8-битный код, определяющий, какие сегменты ин­дикатора должны светится, поступает с выходов DB0-DB3, DA0-DA3 микросхемы D42 (логическая единица на выходе зажигает соответствующий сегмент ин­дикатора).