Главная

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

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

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

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

ТОР 5 статей:

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

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

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

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

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

КАТЕГОРИИ:






Формирование временной задержки с использованием таймеров




Недостатком программного способа реализации временной задержки является нерациональное использование ресурсов МК: во время формирования задержки МК практически простаивает, так как не может решать никаких задач управления объектом. В то же время аппаратные средства МК позволяют реализовать временные задержки на фоне выполнения основной программы.

Временные задержки можно получить при использовании таймера-счётчика.

Если использовать таймер-счётчик в режиме таймера, то временную задержку можно реализовать следующим образом (листинг 4.24):

 

Листинг 4.24 – Программа временной задержки с использованием
таймера-счётчика

F:   COUNT:   .EQU 18432000   .EQU 65535-(F/(1000*12))     .ORG 0000H JMP BEGIN   .ORG 000BH   JMP TIME ; Частота кварцевого ; резонатора ; Число, определяющее ; время счёта таймера от ; момента его загрузки до ; переполнения (1 мс) ; Адрес начала программы ; Переход к основной части ; Адрес обработки ; прерывания таймера ; Переход на процедуру ; обработки прерывания
BEGIN:   MOV SP, #30H   MOV IE, #00H CLR TR0 CLR 20H.0 MOV R0, #10   MOV TL0, #<COUNT MOV TH0, #>COUNT   MOV TMOD, #01H SETB TR0 JNB 20H.0, $ CLR TR0 … ; Переопределение ; вершины стека ; Запрет прерываний ; Запрет счёта ; Сброс флага конца паузы ; Загрузка счётчика прерываний ; Загрузка регистров таймера- ; счётчика TC0 ;Настройка таймера-счётчика ; на режим 1 ; Ожидание конца паузы ; Запрещение работы таймера ; Продолжение программы ; В любом месте программы ; достаточно очистить флаг ; 20h.0, загрузить числа в ; TL0,TL1 и запустить счет, ; чтобы получить требуемую ; задержку
TIME:     EXIT: CLR TR0   MOV A, TL0 ADD A, #13 ADD A, #<COUNT MOV TL0, A MOV A, TH0 ADDC A, #>COUNT MOV TH0, A   SETB TR0   DJNZ R0, EXIT   SETB 20H.0 RETI ; Запрещение работы таймера ; Добавление к содержимому ; регистров TL0 TH0 ; коэффициента счёта и ; времени затраченного на ; выполнение данного ; суммирования ; ; Разрешение работы таймера ; Декремент счётчика ; прерываний и выход из ; прерывания, если значение ; счётчика не равно нулю ; Установка флага конца паузы ; Выход из прерывания





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

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