Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
1-35.docx
Скачиваний:
13
Добавлен:
11.07.2022
Размер:
651.81 Кб
Скачать
  1. Службы реального времени микропроцессора к1816ве48. Таймер-счетчик: организация, возможности, программирование.

Архитектура INTEL 8048 включает достаточно простые, но эффективные средства реального времени, среди которых 8-разрядный таймер/счетчик Т и одноуровневая система прерываний с двумя источниками запросов: внешними INT и внутренними TF. Организация 8-разрядного таймера/счетчика INTEL 8048 представлена на рис

Специальная команда пересылки

MOV А, Т ;А  Т MOV Т, А ;Т  А

обеспечивает программный доступ к его содержимому. Устройство работает в двух режимах: таймера и счетчика, в которые оно переводится по командам

START T ; Пуск в режиме таймера START CNT ; Пуск в режиме счетчика

Устройство останавливает свою работу при подаче сигнала аппаратного сброса

RESET или выполнении команды

STOP TCNT ;Останов таймера/счетчика

По команде START mode таймер/счетчик ведет непрерывный счет импульсов на своем входе по mod256. При переходе через границу инициируется запрос на прерывание и устанавливается флажок переполнения TF, который может быть проверен командой условного перехода

JTF addr8 ;Если TF = 1, тогда PC0…7  addr8, TF  0

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

RESET флажок TF сбрасывается.

В режиме счетчика организуется подсчет числа переходов из 1 в 0 на внешнем входе Т1. Максимальная скорость приращения счетчика составляет единицу на три машинных цикла. При этом напряжение низкого уровня на входе Т1 должно удерживаться не менее одного, а высокого уровня не менее половины машинного цикла. В режиме таймера устройство считает метки времени, генерируемые внутренними узлами МК. Эти метки являются результатом деления частоты следования машинных циклов ALE на 32. Во время выполнения команды START T этот делитель устанавливается в 0.

Используя начальную загрузку Т и обнаруживая установку флажка TF, можно получить паузы от (1/32) ALE до 256(1/32) ALE. Организация пауз вне данного диапазона осуществляется с помощью программных циклов. Более короткие паузы можно также получить в режиме счетчика с Т1, равным (1/3) ALE.

Встроенная в INTEL 8048 одноуровневая система прерываний с двумя источниками запросов, имеющими фиксированные векторы прерываний и приоритеты, представлена на рис.

Одноуровневость системы означает, что никакие новые запросы не воспринимаются до тех пор, пока не будет обслужен текущий. В системе определены два источника: вход INT (стартовый адрес программы обслуживания 003Н) и переполнение Т (адресом программы обслуживания служит 007Н).

Каждый источник может быть замаскирован независимо от других специальными флажками ЕХ и ЕТ, управляемыми командами

EN I DIS I

EN TCNT DIS TCNT

Флажки также сбрасываются при подаче сигнала RESET. В случае одновременной фиксации двух запросов приоритет отдается внешнему. Внешнее прерывание по входу INT воспринимается, когда на нем появляется напряжение низкого уровня.

Линия INT контролируется во время ALE в последнем машинном цикле каждой команды. Результат тестирования запоминается во внутреннем триггере внешнего прерывания IX, установка которого инициирует формирование аппаратного эквивалента команды CALL 003Н. При выполнении данной команды текущее содержимое PC и флажки PSW запоминаются в стеке, обеспечивая возможность возврата в точку прерывания. Программа обслуживания прерывания должна завершаться командой RETR, восстанавливающей PC и PSW. В начале второго цикла команда RETR разрешает прием новых запросов на прерывание.

К этому моменту сигнал запроса INT должен быть снят внешними средствами. Обычно это делается автоматически в момент обслуживания устройства, выставившего запрос. Если такая возможность не осуществляется, то любая выходная линия INTEL 8048 может быть использована для выдачи специального сигнала подтверждения прерывания.

Сигнал переполнения от Т фиксируется в триггере запроса IT. Он может быть замаскирован программно-управляемым флажком ЕТ. При возникновении разрешенного прерывания генерируется аппаратная команда CALL 007H, сбрасывающая флажок IT. Сброс IT осуществляется автоматически при любом исполнении команды CALL 007H.

Частота выходного сигнала генератора OSC делится на 3 (рис.) для получения основной тактовой частоты CLK, которая может быть выведена на внешний вывод Т0 по команде ENT0 CLK разрешение вывода CLK на ТО Режим вывода отменяется только при общем сбросе МК.

Соседние файлы в предмете Основы мехатроники