русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Организация прерываний в 8-ми и 16-ти разрядных системах ЭВМ

Система прерываний - совокупность аппаратных и программных средств,которые при наличии запросов обеспечивают прекращение выполнения текущей программы,работу по вызванной программе и возврат к прерванной.Система предназначена для обеспечения эффективной мультипрограммной работы и организации взаимодействия в многопроцессорных вычислительных системах. Источниками прерываний могут быть:сигналы счетчика реального времени (таймера) ,аварийные сигналы от схем контроля,инициативные запросы датчиков входной информации (внешние устройства),запросы от других процессоров и т.д. Возможные источники прерываний показаны на рисунке.

ОРГАНИЗАЦИЯ ПРЕРЫВАНИЙ В 8-МИ И 16-ТИ РАЗРЯДНЫХ СИСТЕМАХ

По источнику и характеру возникновения прерывания можно разделить на группы:

1.Прерывания-аппаратные и программные.
2.Аппаратные-внешние и внутренние.
3.Внешние-маскируемые и немаскируемые.

Аппаратные прерывания осуществляются асинхронно по отношению к выполнению программы ,программные -синхронно с выполняемой
программой(сама программа является инициатором прерывания).Программные прерывания используют команду INT в МП комплекте К1810 и ему аналогичных, в МП комплекте К580-команду RST. Запросы на внешние прерывания поступают в МП по двум входам: INTR и NMI.Запросы на маскируемые прерывания (по входу INTR) от ВУ обычно поступают на входы программируемого контроллера прерываний (ПКП) К1810ВН59А(КР580ВН59),который формирует сигнал ,подаваемый на вход INTR. При работе с МП К580ВМ80 ПКП в ответ на первый сигнал подтверждения прерывания INTA1 выставляет на шину данных код команды CALL. Микропроцессор ВМ80 инициирует еще два сигнала:INTA2 и INTA3, по которым ПКП выдает два байта адреса подпрограммы обслуживания прерывания.
При работе с ВМ86 в ответ на сигнал INTA1 ПКП не выдает данных в МП и буфер данных ПКП остается в высокоомном состоянии. По
сигналу INTA2 ПКП посылает в МП байт ,определяющий номер прерывания.
Действия МП при наличии сигнала INTR (INTR=1)зависит от состояния флага IF(флаг разрешения прерывания).Поэтому ,прерывания,
поступающие по входу INTR относятся к аппаратным маскируемым прерываниям (могут быть разрешены или запрещены флагом IF).
Запросы на немаскируемое прерывание поступают по входу NMI и обычно используются для прерывания работы МП при "катастрофических"событиях ,требующих немедленной реакции ,таких,как аварийное прекращение питания,обнаружение ошибки памяти и т.д. Внутренние прерывания формируются самим процессором ,когда он встречается с некоторыми особыми событиями ,вроде деления на 0, ошибка магистрали,запрещенная команда и т.п. Программные прерывания (определяются пользователем при составлении программы) осуществляются по двухбайтовой команде INT n или однобайтовой RST n (для ВМ80), в которых n указывает номер (тип) прерывания, согласно которому вызывается соответствующая подпрограмма обработки данного прерывания.


3.2.Процедура обслуживания прерываний.


Связь между кодом, определяющий тип прерываний,и подпрограммой обслуживания прерывания устанавливается с помощью таблицы
указателей векторов прерываний (для МП типа ВМ86). Полная таблица занимает 1Кбайт памяти и содержит 256 элементов, расположенных по адресам 0-3FF. Каждый элемент п таблицы содержит два слова,определяющие начальный адрес подпрограммы . Слово с большим адресом содержит базовый адрес сегмента ,а слово с меньшим адресом - смещение подпрограммы от начала кодового сегмента. При обработке прерывания микропроцессором адрес прерываемой программы и содержимое регистра флагов записываются в стек, а смещение и адрес кодового сегмента подпрограммы обработки прерывания из таблицы векторов загружаются соответственно в регистры IP и CS. Так как размер каждого элемента таблицы составляет 4 байта, МП вычисляет адрес (смещение) требуемого элемента путем умножения типа прерывания на 4. Прерыванию с номером 0 соответствует адрес 00000,прерыванию с номером 1 - 00004 и т.д.Прерыванию с номером п - будет соответствовать адрес 4*п.

 

3.3.Маскирование прерываний.

Для гарантированного выполнения участков программ необходимо запрещать прерывания.Для этого используется команда сброса флага разрешения прерывания CLI (для ВМ86) и DI (для ВМ80). Ее нужно поместить в начало критической последовательности команд. В конце критической последовательности - расположить команду установки флага разрешения прерывания STI (для ВМ86) или EI(для ВМ80).Причем команда CLI запрещает только маскируемые прерывания. Если необходимо запретить не все прерывания,а только некоторые,то для этого необходимо воспользоваться услугами контроллера прерываний.
Подпрограмма обработки прерываний должна заканчиваться командой возврата из прерывания IRET (для ВМ80 - RET). Перед выполнением команды IRET стек должен быть в том состоянии , в котором он был сразу после вызова подпрограммы прерывания. Тогда эта команда извлекает из стека три верхние слова в регистры IP,CS и F, что обеспечивает возврат к той команде прерванной программы, перед выполнением которой произошло прерывание.

3.4.Программируемый контроллер прерываний

Программируемый контроллер прерываний (ПКП, Programmable Interrupt Controller, PIC) реализует векторную систему прерываний.
Микросхема 8259А фирмы Intel (советский аналог КР580ВН59), а так же ее модификации 8259А-2 и 8259А-8, поддерживает 8 уровней прерываний от восьми различных устройств. Основные функции контроллера:
- фиксация запросов на прерывания от восьми внешних источников;
- программное маскирование поступающих запросов;
- присвоение фиксированных или циклически изменяемых приоритетов входам контроллера, на которые поступают запросы;
- инициация вызова процедуры обработки поступившего аппаратного прерывания.

Количество обслуживаемых внешних источников прерываний может быть увеличено путем каскадирования нескольких контроллеров.
Расположение выводов микросхемы контроллера 8259A приведено на рисунке.

Расположение выводов микросхемы контроллера 8259A

В состав контроллера входят:

- схема управления чтением/записью;
- схема управления;
- схема каскадирования;
- регистр запросов на прерывания;
- схема обработки приоритетов;
- регистр состояния;
- регистр маскирования запросов на прерывания.

ПКП может находиться в двух основных состояниях: настройки и обслуживания запросов на прерывания. В состоянии настройки контроллер принимает управляющие слова инициализации (Initialization Command Words, ICW), в состоянии обслуживания - операционные управляющие слова (Operation Control Words, OCW). Возможны несколько режимов обслуживания источников прерываний:

- режим фиксированных приоритетов по по уровням прерываний;
- два различных варианта циклического сдвига приоритетов;
- режим автоматического завершения обработки прерывания;
- режим специального маскирования;
- режим опроса устройств.

 

3.4.1.Описание основных элементов ПКП

Схема управления чтением/записью (Read/Write Control Logic). Основной функцией этого блока является прием команд от микропроцессора и передача ему информации о состоянии ПКП. Обмен с микропроцессором осуществляется через специальный 8-разрядный буфер данных (Data Bus Buffer), являющийся интерфейсом между ПКП и шиной данных. В состав блока входят регистры управляющих слов ICW и OCW. Схема управляется входами CS, RD, WR и A0. Вход CS (Chip select) отвечает за выбор микросхемы. Низкий уровень сигнала на входе CS разрешает выполнение обмена с ПКП. Низкий уровень сигнала на входе WR (Write) разрешает микропроцессору выводить управляющие слова ICW и OCW для приема их ПКП. Низкий уровень сигнала на входе RD (Read) разрешает ПКП передать микропроцессору информацию о состоянии специальных регистров IRR, ISR и IMR, которые описаны ниже. Все управляющие слова ICW и OCW принимаются контроллером в виде 9-разрядных значений. Разряды 0 - 7 передаются через 8-разрядный буфер данных. Старший разряд (восьмой, считая с нуля) носит название А0 и устанавливается в 0 или 1 в зависимости от того, через какой из двух возможных портов ввода-вывода (четный или нечетный) было передано управляющее слово. Если для вывода значения использовался порт с четным адресом, А0 будет равен 0, если использовался порт с нечетным адресом на единицу большим, чем предыдущий, тогда А0 будет равен 1.
Регистр запросов на прерывания (Interrupt Request Register, IRR) обслуживается через входы IR0 - IR7 контроллера. Сигнал на
одном входов IR0 - IR7 - это запрос на прерывание соответствующего уровня (0 - 7). В соответствии с сигналом запроса на прерывание схемой управления устанавливается соответствующий бит в регистре IRR.
Регистр состояния (регистр обрабатываемых запросов, In-Service Register, ISR) описывает в битах 0 - 7 прерывания каких
уровней (0 - 7) в данный момент обрабатываются.
Регистр маскирования запросов на прерывания (Interrupt Mask Register, IMR) описывает, прерывания каких уровней в настоящий
момент замаскированы. Единичное значение бита в IMR указывает на то, что прерывание соответствующего уровня при появлении запроса в IRR блокируется. Схема обработки приоритетов (шифратор приоритетов, Priority Resolver) определяет, прерывание какого уровня в данный момент является наиболее приоритетным для выполнения. Схема управления ПКП формирует сигнал запроса на прерывaние, поступающий на вход INT (запрос на прерывание) микропроцессора. Если флаг IF регистра флагов процессора равен 1 (прерывания разрешены), процессор отвечает сигналом по линии INTA (подтверждение прерывания), после чего сбрасывается в 0 разряд IRR и устанавливается в 1 разряд ISR, соответствующие уровню обрабатываемого прерывания. После получения второго сигнала подтверждения от процессора по линии INTA, ПКП передает на шину данных 8-битовый номер прерывания. Данная последовательность работы схемы управления выполняется при подключении ПКП к системе с микропроцессорами 8088/8086. При работе с микропроцессорами 8080/8085 последовательность работы схемы управления несколько отличается от описанной выше. Основное отличие состоит в том, что процессору передается не только номер прерывания, но и код команды процессора INT (прерывание) - байт 0CDh.

Схема каскадирования отвечает за работу каскада из нескольких контроллеров. При подключении к ведущему контроллеру выход
INT каждого ведомого подключается к одному из входов IR0 - IR7 ведущего. Далее этот сигнал передается ведущим на вход INT процессора. Когда процессор возвращает сигнал INTA, ведущий контроллер не только устанавливает бит в ISR и сбрасывает бит в IRR, но и выдает на свои выходы CAS0 - CAS2 номер уровня прерывания, к которому подключен ведомый, пославший запрос на прерывание. Сигналы по линии CAS0 - CAS2 принимаются всеми ведомыми, однако обрабатываются только тем, который подключен к линии IR с соответствующим номером.

 

3.4.2.Режимы работы ПКП

1. Режим фиксированных приоритетов (Fixed Priority, Fully Nested Mode). В этом режиме контроллер находится сразу после инициализации. Запросы прерываний имеют жесткие приоритеты от 0 до 7 (0 - высший) и обрабатываются в соответствии с приоритетами. Прерывание с меньшим приоритетом никогда не будет обработано, если в процессе обработки прерываний с более высокими приоритетами постоянно возникают запросы на эти прерывания.

2. Автоматический сдвиг приоритетов (Automatic Rotation). В этом режиме дается возможность обработать прерывания всех уровней
без их дискриминации. Например, после обработки прерывания уровня 4 ему автоматически присваивается низший приоритет, при этом приоритеты для всех остальных уровней циклически сдвигаются и прерывания уровня 5 будут иметь в данной ситуации высший приоритет и, следовательно, возможность быть обработанными.

3. Программно-управляемый сдвиг приоритетов(Specific Rotation). Программист может сам передать команду циклического сдвига
приоритетов ПКП, задав соответствующее управляющее слово. В команде задается номер уровня, которому требуется присвоить максимальный приоритет. После выполнения такой команды устройство работает так же, как и в режиме фиксированных приоритетов, с учетом их сдвига. Приоритеты сдвигаются циклически, таким образом если максимальный приоритет был назначен уровню 3, то уровень 2 получит минимальный и будет обрабатываться последним.

4. Автоматическое завершение обработки прерывания (Automatic End Of Interrupt, AEOI). В обычном режиме работы процедура обра-
ботки аппаратного прерывания должна перед своим завершением очистить свой бит в ISR специальной командой, иначе новые прерывания не будут обрабатываться ПКП. В режиме AEOI нужный бит в ISR автоматически сбрасывается в тот момент, когда начинается обработка прерывания нужной процедурой обработки и от нее не требуется издавать команду завершения обработки прерывания (EOI). Сложность работы в данном режиме обуславливается тем, что все процедуры обработки аппаратных прерываний должны быть повторно входимыми, т. к. за время их работы могут повторно возникнуть прерывания того же уровня.

5. Режим специальной маски (Special Mask Mode). Данный режим позволяет отменить приоритетное упорядочение обработки запросов и
обрабатывать их по мере поступления. После отмены режима специальной маски предшествующий порядок приоритетов уровней сохраняется.

6. Режим опроса (Polling Mode). В этом режиме аппаратные прерывания не происходят автоматически. Появление запросов на
прерывание должно определяться считыванием IRR. Данный режим позволяет так же получить от ПКП информацию о наличии запросов на прерывания и, если запросы имеются, номер уровня с максимальным приоритетом, по которому есть запрос.

 

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

Ниже описывается управление ПКП в ПЭВМ на базе микропроцессоров Intel 8086/8088/80286. Возможности, позволяющие включить
ПКП в ПЭВМ, использующие другие процессоры, опущены.

Для вывода информации в ПКП используются 2 порта ввода-вывода. Порт с четным адресом (обычно это порт 20h) и порт с нечетным
адресом (обычно 21h). Через эти порты могут быть переданы 4 слова инициализации (Initialization Control Word, ICW1 - ICW4), задающие режим работы ПКП, и 3 операционных управляющих слова (слова рабочих приказов, Operation Control Words, OCW1 - OCW3). В порт с четным адресом выводятся ICW1, OCW2 и OCW3. OCW2 отличается от OCW3 тем, что бит 3 в ocw2 равен 0, а в OCW3 равен 1. В то же время бит 4 в OCW2 и OCW3 равен 0, а в ICW1 равен 1. Таким образом по значению, выводимому в порт с четным адресом, однозначно определяется, в какой регистр (ICW1, OCW2 или OCW3) заносятся данные.

Порт с нечетным адресом используется для вывода ICW2, ICW3, ICW4 и OCW1. Неоднозначности интерпретации данных в этом случае
так же не возникает, т. к. слова инициализации ICW2 - ICW4 должны непосредственно следовать за ICW1, выведенным в порт с четным адресом и выводить в промежутке между ними OCW1 не следует, онo не будет опознанo контроллером.

Выводом в порт с четным адресом управляющего слова инициализации ICW1 начинается инициализация ПКП. В процессе инициализации контроллер последовательно принимает управляющие слова ICW1 - ICW4. При наличии в системе одного контроллера ICW3 не выводится. Наличие ICW4 определяется содержанием ICW1. При наличии каскада из нескольких ПКП каждый из них инициализируется отдельно.

Формат ICW1 следующий:

 Формат ICW1

Бит 4, равный 1, определяет, что выводится ICW1, а не OCW2 или OCW3.

Бит 3 (LTIM), равный 0, задает запуск запросов фронтом, при этом действует описанная выше схема: бит в IRR сбрасывается при
установке соответствующего бита в ISR.

Бит 2 (ADI) используется только в ПЭВМ на базе микропроцессоров Intel 8080/8085.

Бит 1 (SNGL) указывает на наличие в системе одного контроллера (если равен 1) или каскада из нескольких контроллеров (если
равен 0). Если этот бит равен 1, то ICW3 не выводится в процессе инициализации и следом за ICW2 сразу должно следовать ICW4.

Бит 0 (IC4) определяет, будет ли выводиться ICW4. Если ICW4 не выводится (бит 0 = 0), то оно автоматически заполняется нулями. В описываемых ПЭВМ наличие ICW4 обязательно, т. к. тип микропроцессора 8086/8088 задается в нем значением 1 в одном из битов.

Управляющее слово ICW2 задает номер вектора прерывания для прерываний уровня 0 (например 8 для IBM PC, у которых по уровню 0
происходят прерывания от таймера). Так как вектора аппаратных прерываний располагаются подряд друг за другом, вывод в ICW2 значения 8 не только задает восьмой вектор для таймера, но и девятый для прерываний уровня 1, десятый (0Ah) для прерываний уровня 2 и т. д.

Управляющее слово ICW3 выводится только при наличии каскада и имеет разный формат для ведущего и ведомых контроллеров. ICW3
ведущего указывает, к каким входам IR0 - IR7 подключены ведомые контроллеры, при этом соответствующие биты устанавливаются в 1. Остальные биты при этом равны 0. ICW3 следующего вида:

A0      7      6      5      4      3      2      1      0

1 0 0 0 1 0 0 1 0

 

задает, что в каскаде имеется 2 ведомых контроллера, подключенных к входам IR1 и IR4.

ICW3 ведомого (подчиненного, slave) ПКП в трех младших битах задает номер уровня, на котором работает ведомый контроллер. Для
ведомого контроллера, работающего на уровне 1 ICW3 будет выглядеть следующим образом:

A0      7      6      5      4      3      2      1      0

1 0 0 0 0 0 0 0 1


Если ведомый контроллер работает на уровне 4, то его ICW3 будет таким:

A0      7      6      5      4      3      2      1      0

1 0 0 0 0 0 1 0 0

Последнее слово инициализации (ICW4) имеет следующий формат:

 Последнее слово инициализации (ICW4) имеет следующий формат


Бит 0 (mPM) определяет, с каким микропроцессором работает ПКП (0 - 8080/8085, 1 - 8086/8088).

Бит 1 (AEOI), равный 1, задает режим автоматического завершения обработки прерывания, описанный выше. Если этот бит равен
0, действует обычное соглашение: процедура обработки аппаратного прерывания должна сама сбрасывать свой бит в ISR.

Бит 2 (M/S) игнорируется, если бит 3 (BUF) = 0. При наличии одного контроллера и BUF = 1 устанавливается в 1. При наличии
каскада должен быть равен 1 только для ведущего контроллера.

Бит 4 (SFNM) устанавливает специальный вложенный режим, при-
меняемый при каскадировании для определения приоритетов запросов
от разных контроллеров (Special Fully Nested Mode).

После инициализации ПКП готов к работе в заданном режиме. Для изменения режимов работы, задаваемых при инициализации требуется переинициализировать его заново.

В процессе работы с ПКП Вы можете без переинициализации:

- маскировать и размаскировать аппаратные прерывания;
- изменять приоритеты уровней;
- издавать команду завершения обработки аппаратного прерывания;
- устанавливать/сбрасывать режим специальной маски;
- переводить контроллер в режим опроса и считывать состояние регистров ISR и IRR; для этого Вам потребуется вывести в порты ПКП одно из трех слов рабочих приказов OCW1 - OCW3.

Формат первого слова рабочих приказов OCW1:

A0      7      6      5      4      3      2      1      0

1 M7 M6 M5 M4 M3 M2 M1 M0

Единичное значение одного из битов М0 - М7 означает, что прерывания соответствующего уровня (IR0 - IR7) маскируются и не будут обрабатываться контроллером.

Второе слово рабочих приказов (OCW2) предназначено для вывода команды завершения обработки аппаратного прерывания (EOI),
циклического сдвига и явного изменения приоритетов уровней. Назначение битов OCW2 следующее:

Назначение битов OCW2

Как уже говорилось, процедура обработки аппаратного прерывания должна перед своим завершением очистить свой бит в ISR выводом команды завершения обработки прерывания (End Of Interrupt, EOI). Существует два варианта команды EOI: обычный и специфицированный EOI. Обычный EOI очищает бит в ISR, соответствующий прерыванию с максимальным приоритетом. Специфицированный EOI (R=0, SL=1, EOI=1, L0 - L2 равно номеру уровня прерывания) очищает в ISR бит, соответствующий прерыванию с номером, указанным в L0 - L2 независимо от его приоритета. Команды с битом R=1 позволяют изменить приоритеты уровней. Циклический сдвиг приоритетов сдвигает приоритеты влево на единицу, при этом, если после обычного распределения приоритетов, издать команду циклического сдвига, уровень 0 получит низший приоритет, уровень 1 - наивысший, уровень 2 - следующий за ним и т.д. Команда явного назначения нисшего приоритета одному из уровней изменяет приоритеты остальных уровней циклически. Таким образом, если Вы зададите низший приоритет уровню 5, то уровень 6 получит наивысший. Третье слово рабочих приказов OCW3 позволяет установить и отменить режим специальной маски, перевести контроллер в режим опроса и прочитать содержимое IRR и ISR. Назначение битов OCW3 приведено на рисунке

Единичное значение бита Р (бит опроса, Polling Bit) переводит контроллер в режим опроса. Если после этого считать данные из
порта с четным адресом, в регистр AL загрузится байт следующего содержания:

7      6       5       4      3       2       1        0

I 0 0 0 0 L2 L1 L0

Если I = 1, значит имеются запросы на прерывания и тогда L0 - L2 - это номер уровня с наивысшим приоритетом, по которому имеется запрос на прерывание.

Если P=0, Вы можете считать информацию из ISR или IRR. Для этого необходимо издать команду чтения ISR или IRR (см. рисунок
выше) и затем считать значение из порта с нечетным адресом.

Единичное значение бита ESMM позволяет в зависимости от значения бита SMM установить или отменить режим специальной маски.

Пример 1.
Подпрограмма инициализации ПКП задает следующие параметры: в схеме один ПКП; начальный адрес подпрограммы обслуживания прерывания 3000Н; далее идут адреса через четыре байта,т.е. 3004Н, 3008Н и т.д.;маскировать все запросы,кроме запроса IRO.
Вид программы:

INIT: MVI A,16H
JUT PORT 59
MVI A, 30H
OUT PORT 59+1
MVI A, FEH
OUT PORT 59+1
RET


ПРИМЕР 2.
Чтение содержимого регистра обслуживаемого прерывания:


ADRGS: MVI A, 0BH
OUT PORT 59
IN PORT 59
RET
ПРИМЕР 3.
Чтение содержимого регистра запросов:
RDRGIN: MVI A, 0AH
OUT PORT 59
IN PORT 59
RET

3.6. Организация прерываний в "Микролаб".

В ЦП КР580ИК80 имеется триггер разрешения прерывания (ТРП).Если ТРП=0,то система прерываний блокирована и запросы прерываний не воспринимаются. Когда ТРП=1,происходит следующее:
-заканчивается выполняемая команда;
-сбрасывается бит разрешения прерывания;
-прерывающее устройство формирует команду и посылает ее в ЦП для выполнения (команда не разрешена в памяти, и программист не
может ее изменить , это является функцией разработчика системы прерываний. Прерывающее устройство обычно формирует команду RST,представляющую собой команду вызова одной из восьми 8-байтовых подпрограмм , расположенных в первых 64 ячейках памяти . Вход запроса прерывания осуществляет это прерывание. Схема, запрашивающая прерывание ,выдает код на шину данных,указывая адрес обслуживания прерывания, на который и совершается переход. В микролаборатории прерывание обеспечивает работу системы в
шаговом режиме. Тумблер устанавливается в положение ШАГ ,и при нажатии кнопки ПУСК сигнал приходит на вход запроса прерываний
МП. МП, выполнив одну команду, останавливает дальнейшее выполнение программы, которая не возобновляется до тех пор, пока не будет нажата кнопка ВОЗВРАТ. В это время выполняется подпрограмма обработки прерывания и происходит вывод на дисплей содержимого аккумулятора и регистра состояния (флагов). Пошаговое выполнение программы позволяет останавливать ее между командами и наблюдать действие каждой команды (прерывание реализовано аппаратно). Программно осуществлять прерывание в интересующей точке
в"Микролаб" можно с помощью команды RST. Команда RST подобна команде CALL, за исключением того, что неявно определяет адрес.
RST2 эквивалентно CALL 0010. Адрес 0010 фиксируется при конструировании МП КР580ИК80 и не может быть изменен. В "Микролаб" в
программе монитора по этому адресу (0010) записан переход на определенный адрес (в данном случае на 83D1). По адресу 83D1 необходимо записать переход на подпрограмму обработки прерывания. Точки прерывания удобно использовать при отладке программ. В
"Микролаб" RST1 выводит программу пользователя на монитор. При аппаратном сбросе прерывания (ШАГ,ПУСК),на МП поступает
сигнал прерывания, который воспринимается им как RST 7(обеспечивается аппаратной частью). Подпрограмма обработки прерывания RST
7 является подпрограммой шагового режима.

Использование точки прерывания

Подпрограмма обработки прерывания

Подпрограмма обработки прерывания

Просмотров: 4517




Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Полезен материал? Поделись:

Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.