Лабораторная работа №6
Исследование системных и интерфейсных модулей МПС.
Цель работы: изучить назначение и принцип организации систем с использованием программируемых интервальных таймеров (ПИТ),программируемых контроллеров прерываний (ПКП) и программируемых контроллеров клавиатуры и дисплея (ПККД).
Выполнение работы:
- ПИТ: программируемые интервальные таймеры выполняют операции, связаные с временами, частотами и интервалами, освобождают центральный процессор от формирования сигналов с различными временными параметрами, генерируют точные временные интервалы под программным контролем. Может работать в 6 режимах:
1. Режим 0 – режим программной задержки;
2. Режим 1 – одновибраторный;
3. Режим 2 – режим генератора частоты;
4. Режим 3 – генератор прямоугольных импульсов;
5. Режим 4 – режим программного строба;
6. Режим 5 – режим аппаратного строба.
- ПКП: при работе микропроцессорной системы в ней или внешней среде происходят события, требующие немедленной реакции, что обеспечивается прерыванием выполняемых программ и переходом к обслуживанию запросов прерывания. Аппаратно прерывания обслуживаются специализированными ИС, простейшими из которых являются блоки приоритетного прерывания. Эти блоки решают несложные задачи обработки нескольких векторных прерываний при фиксированных приоритетах запросов. Более сложные задачи решаются программируемыми контроллерами прерываний (ПКП), в частности ИС Intel 8259А, К1810ВН59. Эти контроллеры непосредственно реализуют прерывания с обработкой 8 запросов. С помощью нескольких ПКП легко организуются устройства обработки до 64 запросов. Контроллеры обеспечивают различные виды прерываний. Система прерываний должна выдать команду перехода к той подпрограмме обслуживания, которая соответствует признанному запросу. Контроллер ВН59 обеспечивает различные виды прерываний.
- ПККД: этот контроллер освобождает центральный процессор от операции сканирования клавиатуры и регенерации изображения на индикаторных матрицах.
Описание используемых режимов работы ПИТ КР580ВИ53, ПКП КР580ВН59 и ПККД КР580ВВ79.
ПИТ: работает в режиме 0 - режим программной задержки.
После загрузки константы на линии OUT устанавливается логический 0. По каждому срезу CLK счетчик декрементируется. Когда на линии GATE 0 – cчет останавливается. Когда на линии GATE 1 – счет продолжается до нуля. Когда CE достигнет нуля, на линии OUT устанавливается единица.
ПКП: работает в режиме строгой вложенности. Имеются 8 входов запроса прерывания IR7…IR0. Высший приоритет имеет вход IR0, низший – у входа IR7. Вложенность – возможность прерывания подпрограммы обслуживания запроса другой программой с более высоким приоритетом, которая, в свою очередь, также может быть прервана более приоритетной программой и т.д. Возможность вложенных прерываний обеспечивается введением команды EI в подпрограммы обслуживания прерываний. Прерывания с фиксированными приоритетами реализуются просто, но запросы неравноправные и при интенсивном поступлении запросов с высокими приоритетами запросы с низкими приоритетами могут вообще не получить обслуживания, т.е возможно их оттеснение более приоритетными запросами.
ПККД: Режимы работы дисплея:
1) 8- разрядный 8 символьный дисплей и ввод слева;
2) 8- разрядный 8 символьный дисплей и ввод справа со сдвигом.
Клавиатура работает в следующем режиме: кодированное сканирование клавиатуры с обнаружением 2-клавишных сцеплений.
Рисунок 1 – Функциональная сема включения ПИТ, ПКП и ПККД в КПУ «Электроника МС- 2721»
Листинг программы.
0000 |
PIC |
EQU |
FCh |
0000 |
PKKD |
EQU |
E4h |
0000 |
PIT |
EQU |
E3h |
0000 |
PIT0 |
EQU |
E0h |
Адрес |
Машинный код |
Метка |
Мнемокод |
Комментарий |
1900 |
ORG |
1900h |
Обработчик прерывания от ПККД |
|
1900 |
F3 |
INT_K: |
DI |
Запрет прерывания |
1901 |
C3 10 19 |
JMP KLAVA |
Переход к обслуживающей части |
|
1904 |
ORG |
1904h |
Обработчик прерывания от таймера |
|
1904 |
F3 |
INT_T: |
DI |
Запрет прерываниий |
1905 |
0E F5 |
MVI C,F5h |
Заносим в С- признак окончания прерывания F5h |
|
1907 |
3E 21 |
MVI A,21h |
Снимаем запрос на прерывание |
|
1909 |
D3 FC |
OUT PIC |
||
190B |
C9 |
RET |
возврат |
|
1910 |
ORG |
1910h |
||
1910 |
DB E4 |
KLAVA: |
IN PKKD |
Читаем слово состояния ПККД |
1912 |
5F |
MOV E,A |
Сохранякм его |
|
1913 |
E6 01 |
ANI 01h |
Проверяем: первый ли столбец клавиш? |
|
1915 |
FE 01 |
CPI 01h |
||
1917 |
C2 1D 19 |
JNZ STLB2 |
Если нет- возможно второй |
|
191A |
C3 6D 19 |
STLB1: |
JMP RIGHT |
Если да- смена напрявления отображения |
191D |
7B |
STLB2: |
MOV A,E |
Восстанавливаем слово состояния |
191E |
E6 02 |
ANI 02h |
Проверяем: второй ли это столбец |
|
1920 |
FE 02 |
CPI 02h |
||
1922 |
C2 28 19 |
JNZ STLB3 |
Если нет- третий |
|
1925 |
C3 4D 19 |
JMP LEFT |
Если да- смена направления отображения |
|
1928 |
CD 9D 19 |
STLB3: |
CALL DISP |
Если третий столбец |
192B |
CD 91 19 |
CALL SEC15 |
Задержка на 15 с |
|
192E |
0E FE |
MVI C,FFh |
Отображение слова состояния |
|
1930 |
79 |
M3 |
MOV A,C |
Ожидание конца прерывания |
1931 |
FE F5 |
CPI F5h |
||
1933 |
C2 30 19 |
JNZ M3 |
||
1936 |
C3 4D 19 |
JMP LEFT |
Переход на смену направления |
|
1940 |
ORG |
1940h |
||
1940 |
F3 |
DI |
Запрет прерываний |
|
1941 |
3E 16 |
MVI A,16h |
Установка ПКП в режим строгой вложенности. |
|
1943 |
D3 FC |
OUT PIC |
ПКП –один . таблица прерываний с адреса 1900h |
|
1945 |
3E 00 |
MVI A,00h |
||
1947 |
D3 FD |
OUT PIC+1 |
||
1949 |
3E FD |
MVI A,FDh |
Маска прерывания 2-7 |
|
194B |
D3 FD |
OUT PIC+1 |
||
194D |
3E 20 |
LEFT: |
MVI A,20h |
Снимаем запрос на прерывание |
194F |
D3 FC |
OUT PIC |
||
1951 |
3E 00 |
MVI A,00h |
Переводим ПККД в режим 8 знаков, вывод слева |
|
1953 |
D3 E5 |
OUT PKKD+1 |
||
1955 |
FB |
PRE: |
EI |
Разрешение прерывания |
1956 |
1E 09 |
COUNT: |
MVI E,09h |
Счетчик отображаемых цифр |
1958 |
0E FF |
M2: |
MVI C,FFh |
С- признак отработавшего прерывания, FF- не отработало |
195A |
CD 9D 19 |
CALL DISP |
Отображаем регистр Е |
|
195D |
CD 85 19 |
CALL SEC |
Задержка 1с |
|
1960 |
79 |
M1: |
MOV A,C |
Проверка признака отраб. Прерывания. F5- отработало |
1961 |
FE F5 |
CPI F5h |
||
1963 |
C2 60 19 |
JNZ M1 |
ожидание |
|
1966 |
1D |
DCR E |
Уменьшаем счетчик отбражаемых цифр |
|
1967 |
C2 58 19 |
JNZ M2 |
Повторяем вывод |
|
196A |
C3 56 19 |
JMP COUNT |
зацикливаем |
|
196D |
3E 20 |
RIGHT: |
MVI A,20h |
Снимаем запрос на прерывание |
196F |
D3 FC |
OUT PIC |
||
1971 |
3E 10 |
MVI A,10h |
Переводим ПККД в режим 8 знаков, вывод справа |
|
1973 |
D3 E5 |
OUT PKKD+1 |
||
1975 |
C3 55 19 |
JMP PRE |
Переход к отображению. |
|
1978 |
F5 |
PUSH PSW |
Сохраняем состояние системы |
|
1979 |
3E 30 |
MVI A,30h |
Канал 0 режим 0 константа FFFFh, режим шестнадцатеричный |
|
197B |
D3 30 |
OUT PIT |
||
197D |
3E FF |
MVI A,FFh |
||
197F |
D3 E0 |
OUT PIT0 |
Около 0,03 с |
|
1981 |
D3 E0 |
OUT PIT0 |
||
1983 |
F1 |
POP PSW |
Восстанавливаем состояние |
|
1984 |
C9 |
RET |
Возврат |
|
1985 |
F5 |
PUSH PSW |
Сохраняем состояние системы |
|
1986 |
3E 64 |
MVI A,64h |
Повтор около 100 раз для увеличения задержки |
|
1988 |
CD 78 19 |
CALL TIME |
||
198B |
3D |
DCR A |
Около 1 с |
|
198C |
C2 88 19 |
JNZ T1 |
||
198F |
F1 |
POP PSW |
Восстанавливаем состояние |
|
1990 |
C9 |
RET |
Возврат |
|
1991 |
F5 |
PUSH PSW |
Сохраняем состояние |
|
1992 |
3E 0F |
MVI A,0Fh |
15 раз повторяем 1с задержку |
|
1994 |
CD 94 19 |
CALL TIME |
||
1997 |
3D |
DCR A |
Около 15 с |
|
1998 |
C2 94 19 |
JNZ T2 |
||
199B |
F1 |
POP PSW |
Восстанавливаем состояние |
|
199C |
C9 |
RET |
Возврат |
|
199D |
21 79 0E |
LXI H,0E79 |
Получение кода цифры из таблицы |
|
19A0 |
16 00 |
MVI D,00h |
перекодировки и выдача на дисплей |
|
19A2 |
19 |
DAD D |
||
19A3 |
7E |
MOV A,M |
||
19A4 |
E6 0F |
ANI OFH |
||
19A6 |
D3 E4 |
OUT PKKD |
||
19A8 |
C9 |
RET |
Выводы: в данной лабораторной работе были изучены взаимодействие модулей УПК. Передача функций управления периферийным устройством его периферийному адаптеру или контроллеру освобождает ЦП от трудоемких обязанностей управления устройствами. Функции ЦП сводятся к общему управлению контроллеров периферийных устройств с помощью высокоуровневых команд и слов
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.