- •Введение
- •1. Конструкция, технические данные и принцип действия
- •2. Описание электрической принципиальной схемы
- •2.1. Общие сведения
- •2.2. Тактовый генератор
- •2.3. Генератор состояния ожидания
- •2.4. Центральный процессор
- •2.5. Контроллер шины
- •2.6. Оперативное запоминающее устройство
- •2.7. Постоянное запоминающее устройство
- •2.8. Параллельный ввод/вывод
- •Последовательный ввод/вывод
- •2.9.1. Назначение и особенности работы кр580вв51а в микропроцессорной лаборатории
- •2.9.2. Программирование бис кр580вв51
- •1 Сброс признаков ошибок 0 Нет сброса
- •2.10. Программируемый контроллер клавиатуры/дисплея кр580вв79
- •2.10.1. Назначение контроллера кр580вв79 и особенности его работы в составе микролаба
- •2.10.2. Программистская модель и система команд кр580вв79
- •3. Описание команд клавишного монитора
- •3.1. Клавиатура
- •3.2. Синтаксис команд монитора
- •3.2.1. Команды байт и слово
- •Примеры
- •3.2.2. Команда регистр
- •Примеры
- •3.2.3. Команды ввод байта и ввод слова
- •Примеры
- •3.2.4. Команды вывод байта и вывод слова
- •Примеры
- •3.2.5. Команда пересылка
- •Примеры
- •3.2.6. Команда пуск
- •Примеры
- •Запуск программы в режиме с точкой прерывания.
- •3.2.7. Команда шаг
- •4. Описание команд монитора дисплея
- •4.1. Структура команд
- •4.2. Команды монитора
- •4.2.1. Команда просмотра / изменения памяти
- •Примеры
- •4.2.2. Команда просмотра / изменения регистра
- •Примеры
- •4.2.3. Команда отображения памяти
- •Примеры
- •4.2.4. Команда пересылки
- •Примеры
- •4.2.5. Команда ввода
- •4.2.6. Команда вывода
- •4.2.7. Команда перехода
- •4.2.8. Команда шаг
- •Заключение
- •Приложение Электрические принципиальные схемы микролабаратории “км1810вм86 910”
- •Оглавление
- •394026 Воронеж, Московский просп.,14
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 (логическая единица на выходе зажигает соответствующий сегмент индикатора).