Составители:
23
Лабораторная работа № 10
Работа с прерываниями, сторожевой таймер, прескалер,
универсальный таймер-счетчик
Цель работы: обучить использованию механизма прерывания и
сторожевого таймера для эффективной организации программ, распознаванию
источников сброса и прерывания.
Методические указания
Существуют две ситуации, когда программный счетчик
микроконтроллера принудительно (не по команде программы) меняет свое
состояние.
1.
Сброс (перезапуск) контроллера, когда счетчик устанавливается в ноль и
программа начинает работать сначала.
2. Прерывание программы и переход на выполнение программы по адресу 04.
Возможны различные причины возникновения первой или второй ситуации.
Распознавание причины прерывания или сброса 0 не совсем простая задача и
требует четкого понимания реакции микроконтроллера в различных ситуациях.
Грамотно написанная
программа должна выполнять распознавания
различных источников возникновения этих событий и при необходимости
выполнять те или иные действия в зависимости от причины, вызвавшей сброс
или прерывание. Сложные программы, использующие все возможности
микроконтроллера, обычно имеют в начале программы (по нулевому адресу)
обращение к подпрограмме – обработчику сброса, которая выясняет причину
сброса и действует
в соответствии с выявленной причиной. По адресу 04 в
программной памяти обычно располагают обращение к подпрограмме
распознавания прерывания, которая решает аналогичную задачу в случае
возникновения прерывания. Т. е. общий вид программы может быть
следующий:
;---------------------------------------------------------------------------------
ORG 0 ; начало программы с нулевого адреса
CALL Reset_Detection ; обращение к подпрограмме
; определения причины перехода программы на нулевой адрес.
GOTO Main_Program
ORG 4 ; продолжение программы с адреса 04
CALL Interrupt_Detection ; обращение к подпрограмме
;определения источника прерывания
Main_Program :
;---------------------------------------------------------------------------
Страницы
- « первая
- ‹ предыдущая
- …
- 23
- 24
- 25
- 26
- 27
- …
- следующая ›
- последняя »