Главная

Популярная публикация

Научная публикация

Случайная публикация

Обратная связь

ТОР 5 статей:

Методические подходы к анализу финансового состояния предприятия

Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века

Ценовые и неценовые факторы

Характеристика шлифовальных кругов и ее маркировка

Служебные части речи. Предлог. Союз. Частицы

КАТЕГОРИИ:






Программное формирование временной задержки




Программное формирование временной задержки использует метод программных циклов. При этом в некоторый рабочий регистр загружается число, которое затем в каждом проходе цикла уменьшается на 1. Так продолжается до тех пор, пока содержимое рабочего регистра не станет равным нулю, что интерпретируется программой как момент выхода из цикла. Время задержки при этом определяется числом, загруженным в рабочий регистр, и временем выполнения команд, образующих программный цикл. Схемы алгоритмов такой программы показаны на рисунке 4.18.

 

а)   б)
Рисунок 4.18 – Блок-схемы процедур временных задержек, формируемых программно

Расчёт числа, загружаемого в рабочий регистр, выполняется на основе расчета времени выполнения команд, образующих подпрограмму. В описании команд МК указывается, сколько машинных циклов (МЦ) исполняется каждая команда. На основании этих данных определяется суммарное число машинных циклов, затрачиваемых на выполнение подпрограммы.

При тактовой частоте кварцевого резонатора Fosc каждый машинный цикл выполняется за 12/ Fosc с.

Ниже приведён листинг программы, реализующий временную задержку 100 мкс, при частоте кварцевого резонатора 12 МГц (листинг 4.23).

 

Листинг 4.23 – Программа временной задержки

  .ORG 8000hMOV R2, #49DJNZ R2, $… ; Адрес начала программы ; Загрузка рабочего регистра ; Декремент R2 и цикл если не нуль ; Продолжение программы

 

Число 49 получено следующим образом: команды MOV и DJNZ выполняются по 2 МЦ. Команда MOV выполняется 1 раз, DJNZ – 49 раз. При этом суммарное количество МЦ будет составлять 2+2´49=100. При тактовой частоте кварцевого резонатора 12 МГц цикл выполняется за 12/12000000´100=0,0001 с, т.е. за 100 микросекунд.

В данном примере при загрузке в регистр R2 числа 49 требуемая временная задержка реализуется точно. Если число, загружаемое в регистр R2, получается дробным, то временную задержку можно реализовать лишь приблизительно. Например, для реализации временной задержки 100 мкс, при частоте кварцевого резонатора 10 МГц R2=40.6»41.

Минимальная временная задержка, реализуемая подпрограммой, составляет 48/ Fosc с (при R2=1). Временную задержку меньшей длительности программным путем можно реализовать, включая в программу цепочки команд NOP выполняющиеся в течение 1 МЦ.

Максимальная длительность задержки, реализуемая подпрограммой, составляет 6144/ Fosc с (при R2=255).

Для реализации задержки большей длительности можно увеличить тело цикла включением дополнительных команд или использовать метод вложенных циклов (рисунок 4.18 б).






Не нашли, что искали? Воспользуйтесь поиском:

vikidalka.ru - 2015-2024 год. Все права принадлежат их авторам! Нарушение авторских прав | Нарушение персональных данных