
Российская Федерация
Ханты-Мансийский автономный округ - ЮГРА
Департамент образования и науки
Сургутский государственный университет ХМАО
Факультет автоматики и телекоммуникаций
Кафедра автоматики и компьютерных систем
ОТЧЕТ
по лабораторной работе №4
по дисциплине «ПМСУ»
Изучение особенностей функционирования КПР
Вариант 1
Выполнили:
Принял: преподаватель кафедры АиКС
к.т.н., доцент Запевалов А.В.
Сургут 20
ЗАДАНИЕ: Создать программное обеспечение, отображающее основную надпись и реагирующее на запросы от трех источников прерываний. Подпрограммы обслуживания запросов осуществляют отображение на дисплее в течении 3-5 секунд определенной надписи.
Адреса КПР: master – 98h, 99h
slave – 9Ch, 9Dh
При активизации запросов IRQ3, IRQ4, IRQ5 взводятся триггеры, расположенные по адресам B1, B2, B3 – соответственно. При выходе из подпрограмм обслуживания данных прерываний триггеры необходимо сбрасывать.
При программировании Ведущему сообщить о том, что к его 0-му и 7-му входу IRQ подключен Ведомый. Ведомому назначить номер 7 и маскировать все его запросы.
Приоритеты запросов расставлены по убыванию: основная надпись - ОЗЕРО
IRQ3 – БЕРЕГ
IRQ4 – НЕБО
IRQ1 - НОЧЬ
Последовательность выполнения и результаты работы:
-
КПР программируется по алгоритму:
-
Командами КИ1, КИ2 сообщается адрес начала таблицы векторов. Сформируем их:
-
Формат КИ1 для MASTER и SLAVE:
-
Формирование команды КИ2 для MASTER и SLAVE: команда соответствует старшему байту адреса НТВ.
-
Так как у на КПР не единственный, значит, необходима команда КИ3:
-
Для MASTER:по заданию к его 0-му и 7-му входу IRQ MS подключен SL.
-
Для SLAVE: по заданию Ведомому необходимо назначить номер 7.
-
Сформируем команды маскирования КО1: КО1 указывает контролеру на возможность обслуживания запроса.
Mi = 0 – обслуживание разрешено. Mi = 1 – обслуживание запрещено.
-
Для MASTER: разрешены IRQ1, IRQ3, IRQ4, остальные запрещены.
-
Для SLAVE: все запрещены.
-
Сформируем команды КО2: КО2 – имеет 5 модификаций и указывает одну из процедур завершения обслуживания прерываний. Нам подходят только команды КО2а и КО2д.
-
КО2а: сбрасывает тот разряд РОЗ, который соответствует обслуженному запросу.
-
КО2д: Установка статуса приоритетного кольца. Запросу, номер которого указан в команде, присваивается дно приоритетного кольца. При этом никакие разряды РОЗ не сбрасываются.
|
Чем меньше цифра, тем приоритетнее запрос.
IRQ3 – самый приоритетный запрос, следовательно, дном кольца необходимо установить IRQ2.
|
-
Блок-схема основной программы
Обнуление триггеров
Программирование
КПР
Разрешение
прерываний
Инициализация
указателя 1 на массив букв
Инициализация
указателя 2 на ячейки 0ВFA-0BFF
Перенос содержимого
массива в аккумулятор
Перенос содержимого
аккумулятора в ячейку по второму
указателю
Инкремент указателя
1
Инкремент указателя
2
да нет
Вывод