Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
2 атт.docx
Скачиваний:
5
Добавлен:
17.07.2019
Размер:
985.23 Кб
Скачать

Алгоритм программирования pic:

Для программиста (пользователя) контроллер прерываний схематично представляет собой два входных/выходных порта (две ячейки памяти, отличающихся адресами по линии А0):

  1. При А0=0 по команде OUT загружается ICW1;

  2. При А0=1 по команде OUT загружается ICW2.

При наличия каскадирования: А0=1; по команде OUT загружается ICW3.

Такая процедура осуществляется для ведущего и ведомого контроллеров последовательно. Затем контроллер переходит в режим обслуживания.

  1. Режимы работы контроллера прерываний

Выделяют 5 основных режимов работы контроллера прерываний:

  1. Режим фиксированных приоритетов (режим полного вложения подпрограммы обслуживания прерываний);

  2. Режим циклического сдвига приоритетов «А»;

  3. Режим циклического сдвига приоритетов «В»;

  4. Режим специального маскирования;

  5. Режим последовательного программного опроса.

Рассмотрим подробнее каждый из режимов.

1. Режим фиксированных приоритетов. В данный режим контроллер переходит после окончания программирования, если не вносятся изменения в особенности его работы.

В указанном режиме приоритеты входов фиксированы и не меняются. Нулевой вход IR0 имеет высший приоритет, а IR7 – низший. Если в момент обслуживания запроса, поступившего на один из входов контроллера прерываний, придет запрос на более приоритетный вход, то система прервет выполнение подпрограммы по текущему запросу и перейдет на выполнение обслуживания прерывания по более приоритетному запросу.

2. Режим циклического сдвига приоритетов «А». Данный режим используется для возможности программного изменения приоритетов входов контроллера прерываний, т.е. приоритеты входов могут быть динамически изменены таким образом, что вход, запрос по которому только что был обслужен, загрузкой специального управляющего слова получает низший приоритет. Т.е. происходит сдвиг приоритетного кольца, и указанный вход назначается «дном» приоритетного кольца. Осуществление циклического сдвига каждый раз предполагает засылку операционного управляющего слова.

3. Режим циклического сдвига приоритетов «В». В данном режиме пользователь может программно управлять назначением входа с низшим приоритетом, но в отличие от режима циклического сдвига приоритетов «А» здесь не требуется дожидаться конца обслуживания по конкретному входу, приоритеты могут быть изменены в любой момент засылкой по команде OUT с микропроцессора операционного управляющего слова OCW2.

4. Режим специального маскирования. Данный режим позволяет разрешить прерывания по входам с более низким приоритетом, чем входы с более высоким приоритетом, по которым производится обслуживание. В данном режиме с помощью специального управляющего слова записывается маска, содержащая «1» для тех входов, которые должны быть закрыты. Перед записью маски необходимо организовать вход в маскирование, затем записать маску, а после окончания режима маскирования – выход из маскирования путем загрузки специального управляющего слова.

Например,

MVI А, 68Н

OUT (ADR) PIC

MVI А, МАSC

OUT (ADR) PIC

…………………

MVI А, 48Н

OUT (ADR) PIC

68Н – OCW3 – вход в маскирование, 48Н – OCW3 – выход из маскирования.

5. Режим последовательного программного опроса. В данном режиме микропроцессор с помощью контроллера прерываний последовательно опрашивает источники запросов многократной загрузкой операционного управляющего слова в контроллер прерываний (OCW3, код ОСН) командой OUT. Далее по команде IN микропроцессор читает системную шину данных. Переход в этот режим осуществляется, таким образом, программным путем. Контроллер прерываний, получив OCW3 от МП, выставляет на шину данных следующий шифр: это байт D7D6D5D4D3D2D1D0, в котором если D7=1, то запрос (INT) есть, биты D6D5D4D3 не анализируются, биты D2D1D0 указывают номер внешнего устройства с высшим приоритетом, которое нуждается в обслуживании. Во время опроса микропроцессором внешних устройств должны быть запрещены прерывания.

Данная схема каскадирования позволяет обслужить 22 запроса от внешних устройств. Максимальное же число запросов для каскада из ведущего и 8 ведомых контроллеров = 64.

    1. . ПРОГРАММИРУЕМЫЙ ТАЙМЕР КР580ВИ53

Основные технические характеристики таймера:

  1. Тактовая частота f до 2 МГц;

  2. Потребляемая мощность не более 1 Вт;

  3. n-МОП – технология;

  4. Один источник питания +5В;

  5. Нагрузочная способность выходов: 1 ТТЛ вход;

  6. Стандартный температурный диапазон: -10° ÷ +70°С.

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

  1. Одновибратор с программируемой длительностью импульса;

  2. Программируемый делитель частоты;

  3. Счетчик.

Программируемый таймер имеет 6 режимов работы:

- Одновибратор – нулевой и первый режимы;

- Делитель частоты – второй и третий режимы;

- Счетчик – четвертый и пятый режимы.

Структура управляющего слова

D7

D6

D5

D4

D3

D2

D1

D0

D7D6 – выбор счетчика: 00 – СТØ; 01 – СТ1; 10 – СТ2; 11 – запрет.

D5D4 – код особенности записи/чтения:

00 – управляющее слово «чтение без останова».

0 1 01 – младший байт;

10 способ чтения/записи: 10 – старший байт;

11 11 – два байта.

D3D2D1 – указывают режим работы:

000 – нулевой режим;

001 – первый режим;

Х10 – второй режим;

Х11 – третий режим;

100 – четвертый режим;

101 – пятый режим.

D0 – определяет настройку счетчика: 0 – счетчик двоичный; 1 – счетчик двоично-десятичный.

Таблица передачи данных.

А1

А0

СS

RD

WR

Направление

0

0

0

1

0

ШД МП→СТØ

0

1

0

1

0

ШД МП→СТ1

1

0

0

1

0

ШД МП→СТ2

1

1

0

1

0

ШД МП→РУС

х

х

1

х

х

Отключено

х

х

х

1

1

Отключено

0

0

0

0

1

СТØ→ШД МП

0

1

0

0

1

СТ1→ШД МП

1

0

0

0

1

СТ2→ШД МП

1

1

0

0

1

запрет

Пример.

Требуется настроить таймер таким образом, что счетчики используются как счетчики событий. В СТØ требуется загрузить 6 (06 Н); в СТ1 – 8(08 Н); в СТ2 – 10 (0А Н). Назначенные адреса: СТØ – 30 Н, СТ1 – 31 Н, СТ2 – 32 Н, РУС – 33Н.

Программирование.

MVI А, 3А 00111010 – программирование СТØ

OUT 33 Н

MVI А, 7А 01111010 – программирование СТ1

OUT 33 Н

MVI А, 7А 01111010 – программирование СТ2

O UT 33 Н

MVI А, 06

OUT 30 Н для СТØ - загрузка младшего и старшего байтов в СТØ

MVI А, 00

OUT 30 Н

M VI А, 08

OUT 31 Н для СТ1 - загрузка младшего и старшего байтов в СТ1

MVI А, 00

OUT 31 Н

M VI А, 0А

OUT 32 Н для СТ2 - загрузка младшего и старшего байтов в СТ2

MVI А, 00

OUT 32 Н