Исследование системы прерывания микропроцессора. Микропроцессор i8085А (российский аналог КР1821ВМ85А)

Страницы работы

Содержание работы

3.3  Исследование системы прерывания микропроцессора

Микропроцессор i8085А (российский аналог КР1821ВМ85А) имеет несколько входов запросов прерывания, функции которых поясняет табл.2

Таблица 2

Назначение входов запросов прерывания

Наименование вывода

Приоритет

Адрес перехода при прерывании

Активный сигнал для выбора

TRAP

1

0024H

Перепад 0®1

RST 7.5

2

003CH

Перепад 0®1

RST 6.5

3

0034H

Высокий уровень ( лог.1 )

RST 5.5

4

002CH

Высокий уровень

INTR

5

Согласно команде RST N

Высокий уровень

Запрос прерывания по входу TRAP называется немаскируемым, его невозможно запретить или разрешить программно. Остальные запросы называются маскируемыми, для их разрешения служит команда EI, а запрещения – команда DI. Кроме того, запросы прерываний по входам RST 5.5, RST 6.5, RST 7.5 можно разрешить или запретить индивидуально.

Исследование системы прерывания микропроцессора i8085А будем проводить на примере микроконтроллера, рассмотренного в п.3.2. На рис.5 приведена схема формирования запросов прерывания.  RS-триггер используется для устранения дребезга контактов кнопки SB1. При нажатии SB1 на прямом выходе триггера формируется импульс высокого уровня, который подается на один из входов запросов прерывания, выбранный переключателем SA1.

Алгоритм работы МК следующий. После включения электропитания выполняется главная программа MAIN, которая производит необходимую инициализацию Затем программа зацикливается, и МК переходит в режим ожидания нажатия кнопки SB1. При нажатии SB1 вырабатывается запрос прерывания и микропроцессор переходит на выполнение подпрограммы обработки прерывания, начальный адрес который определяется видом запроса (см. табл.2 ).

При выполнении подпрограммы производится ввод двоичных данных из порта ввода, их запоминание в ОЗУ, перекодировка и вывод через 3 порта на семисегментные индикаторы. После этого происходит возврат в основную программу, т.е. вновь переход в режим ожидания нажатия кнопки SB1. На рис.6 приведены блок-схемы алгоритмов программы MAIN и подпрограммы отработки прерывания с именем IZMER.

3.3.1  Исследование запроса прерывания по входу TRAP

Программу работы МК в этом режиме сформируем в файле main_tra.asm, который удобно получить из файла main.asm. Чтобы не испортить содержимое файла main.asm, сделаем его копию, но уже с именем main_tra.asm. С этой целью перейдите на альтернативную панель DOS-навигатора и раскройте каталог VREM, в котором будут находиться временные файлы. Затем выделите файл main.asm и скопируйте его в каталог VREM. Выделите курсором полученный файл и нажмите клавишу F6. В раскрывшемся окне введите новое имя файла

С:\MP85\main_tra.asm

и нажмите Enter. В каталоге МР85 появится новый файл main_tra.asm. Отредактируйте этот файл в соответствии со следующим текстом.

PUBLIC  MAIN_TRA

EXTRN  PR810, CROSSCOD

STACKTOP EQU 900H

.                   .

.                   .

.                   .                                      

BASE          EQU  810H

MAIN_TRA:         JMP   MAIN                    ;переход на метку MAIN

ORG  0024H                    ;вектор прерывания по входу TRAP

JMP   IZMER                  ;переход на метку IZMER

ORG  0050H                   ;основная программа

MAIN:                   LXI    SP,STACKTOP

WAIT:                   JMP   WAIT                    ;зацикливание программы

IZMER:                 IN      IPORT

STA   SAVE

.        

.

.

CALL CROSSCOD

OUT   OPORT3

RET                                 ;возврат из подпрограммы

END

Здесь для краткости обозначены точками ….. команды программы MAIN из файла main.asm, которые необходимо оставить.

Теперь нужно получить объектный файл main_tra.obj и hex-файл main_tra.hex

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

1.  Запустите отладчик AVSIM85 и загрузите в него файл main_tra.hex.

2.  Загрузите файл данных ram, формирующий в отладчике область ОЗУ.

3.  Выберите нижнее окно Memory Space (область Dump 2) для отображения ОЗУ с адреса 0800Н. Убедитесь, что в ячейках памяти, находящихся в этом окне, записаны нули.

Похожие материалы

Информация о работе