
- •1 Цель работы
- •2 Теоретическое введение
- •2.1 Программируемый таймер.
- •2.1.1 Режим 0 - программируемая задержка
- •2.1.2 Режим 1 - программируемый одновибратор
- •2.1.3 Режим 2 - программируемый делитель (генератор) частоты
- •2.1.4 Режим 3 - программируемый генератор меандра
- •2.1.5 Режим 4 - генератор одиночного импульса (счетчик событий)
- •2.1.6 Режим 5 - генератор одиночного импульса (счетчик событий) с аппаратным перезапуском
- •2.2 Обработка прерываний.
- •2.2.1 Определение сигнала
- •2.2.2 Имена сигналов
- •2.2.3 Нормальное и аварийное завершение программ
- •2.2.4 Обработка сигналов
- •2.2.5 Генерация сигнала
- •2.2.6 Передача сигналов самому процессу: вызовы raise и alarm
- •2.2.7 Приостановка работы программы. Системный вызов pause
- •Задание на курсовую работу
- •Требование к оформлению курсовой работы
- •5 Теоретические вопросы
2.1.5 Режим 4 - генератор одиночного импульса (счетчик событий)
В этом режиме работы по окончании отсчета числа N, загруженного в счетчик, на выходе OUT формируется сигнал 0 с длительностью, равной периоду Т, а затем сигнал вновь переходит в исходное состояние OUT=1. Для повтора цикла необходима перезагрузка счетчика. Перезагрузка счетчика возможна, только программным способом. Как и ранее, под программной перезагрузкой здесь понимается загрузка нового значения константы пересчета N в счетчик с шины данных. При этом загрузка младшего байта не оказывает влияния на текущий счет, а загрузка старшего байта запускает новый цикл счета. Вход GATE имеет то же назначение , что и в режиме 0 : при GATE - 0 счет запрещен, при GATE — 1 счет разрешен. Таким образом, указанный режим может быть использован для формирования одиночного импульса, вырабатываемого через определенную задержку после перезагрузки счетчика. Минимальное допустимое значение числа N равно 1,
2.1.6 Режим 5 - генератор одиночного импульса (счетчик событий) с аппаратным перезапуском
Работа таймера в режиме 5 по выходному сигналу аналогична работе в режиме 4, а по действию сигнала GATE - режиму 1, в котором, как у одновибратора, запуск счета выполняется передним фронтом сигнала GATE. Если счет не завершен до конца, то по переднему фронту сигнала GATE счет начинается с начала. Таким образом, счетчик является перезапускаемым. Возможна перезагрузка счетчика новой величиной N во время счета, что не влияет на длительность текущего цикла, а новая загруженная величина N будет обработана в следующем цикле счета.
2.2 Обработка прерываний.
Под прерыванием понимается некоторое событие, заставляющее микропроцессор (МП) прервать выполнение текущей программы и перейти к подпрограмме обработки (обработчику) этого события. После того, как обработчик завершает свою работу, МП возвращается к прерванной программе, в ту точку, где она была прервана. Все прерывания в системе можно разделить на внутренние и внешние. Внешние прерывания вызываются событиями, внешними по отношению к МП, а внутренние - событиями, происходящими внутри МР, Конечно, обработка прерываний в МП различных типов имеет свои особенности, однако общая схема- действий для любых МП остается одной и той же. При обработке внутреннего прерывания МП "известна" его причина, а следовательно известен источник запроса. Поэтому, укрупнено, при внутреннем прерывании МП выполняет следующие действия:
1. запоминает в стеке адрес возврата в прерываемую программу;
2. определяет начальный адрес обработчика для известного источника запроса и передает управление этому обработчику;
3. когда обработчик завершает свою работу, достает из стека адрес возврата, возвращая тем самым управление прерванной программе.
Внешние прерывания отличаются от внутренних тем, что МП неизвестен источник запроса. Следовательно, для внешнего прерывания в приведенную выше схему действий добавляется еще один этап: прежде чем определить начальный адрес обработчика, МП должен определить источник запроса. Существуют два метода определения внешнего
источника запроса:
1. метод опроса;
2. векторные прерывания.
Метод опроса. Этот метод можно реализовать, например, следующим образом, В систему вводится специальный порт (или несколько портов, при большом числе внешних источников прерываний). Все внешние запросы заводятся на входы этого порта, причем для каждого запроса отводится один бит порта. Одновременно, все запросы через схему ИЛИ заводятся на вход INTR МП, Возможна ситуация, когда МП получает сразу несколько запросов на прерывание от разных внешних источников. Чтобы МП мог в такой ситуации функционировать, всем источникам запросов присваиваются приоритеты. При одновременном поступлении нескольких запросов, обслужен будет запрос с наивысшим приоритетом. Для нашего примера старший приоритет будет у IR7, а младший - у IR0. Для того чтобы изменить приоритеты в нашем примере на противоположные, достаточно использовать команду сдвига вправо.
Достоинством метода опроса являются небольшие аппаратурные затраты, а недостатком - медленная реакция МП на запросы с низким приоритетом.
Векторные прерывания. Под вектором прерывания обычно понимают начальный адрес обработчика данного прерывания. При данном методе в систему вводится специальная схема, называемая контроллером прерывании. Когда МП выставляет сигнал подтверждения прерывания, контроллер прерываний выдает МП вектор данного прерывания или информацию, позволяющую определить этот вектор. Более подробно векторные прерывания будут рассмотрены ниже при рассмотрении контроллера прерываний,