ВУЗ:
Составители:
Рубрика:
59
RAMPZ0 = 0: Инструкции ELPM/SPM осуществляют доступ к памяти программ в диапа-
зоне адресов $0000 - $7FFF (младшие 64 кбайт)
RAMPZ0 = 1: Инструкции ELPM/SPM выполняют доступ к памяти программ в диапазоне
адресов $8000 - $FFFF (старшие 64 кбайт)
Обратите внимание, что действие инструкции LPM не зависит от уста-
новки RAMPZ.
Сброс и обработка прерываний. Все прерывания имеют свой индивиду-
альный вектор в памяти программ. Для каждого прерывания имеется собствен-
ный бит разрешения. Кроме того, имеется возможность общего разрешения ра-
боты прерываний с помощью установки соответствующего бита в статусном
регистре. В зависимости
от значения программного счетчика прерывания могут
быть автоматически отключены, если запрограммировать биты защиты загру-
зочного сектора BLB02 или BLB12.
Сброс (RESET) имеет наивысший приоритет, за ним следует INT0 – за-
прос на внешнее прерывание по входу INT0. Векторы прерывания могут быть
перемещены в начало загрузочного сектора флэш-памяти установкой бита
IVSEL в регистре управления микроконтроллером (MCUCR). Вектор сброса
может быть также перемещен в начало загрузочного сектора флэш-памяти пу-
тем программирования конфигурационного бита BOOTRST.
После возникновения прерывания бит I общего разрешения прерываний
сбрасывается и все прерывания запрещаются. Пользователь может программно
записать лог. 1 в бит I для разрешения вложенных прерываний. В этом случае
все разрешенные прерывания могут прервать текущую процедуру обработки
прерываний.
Бит I автоматически устанавливается после выполнения инструк-
ции выхода из прерывания RETI.
Имеется два основных типа прерываний. Первый тип прерываний активи-
зируется событием, которое приводит к установке флага прерываний. Для дан-
ных прерываний программный счетчик загружается адресом соответствующего
вектора прерывания для выполнения процедуры его обработки и затем аппа-
ратно очищает флаг прерывания. Флаги
прерывания также сбрасываются путем
записи лог. 1 в соответствующий разряд. Если возникает условие прерывания,
но данное прерывание запрещено, то флаг устанавливается и запоминается до
разрешения этого прерывания или сбрасывается программно. Аналогично, если
возникает одно и более условий прерываний при сброшенном флаге общего
разрешения прерываний, то соответствующий флаг устанавливается и запоми-
нается
до возобновления работы прерываний, а затем прерывания будут выпол-
нены в соответствии с приоритетом.
Второй тип прерываний активизируется сразу после выполнения условия
прерывания. Данные прерывания не обязательно имеют флаги прерываний. Ес-
ли условие прерывания исчезает до его разрешения, то данный запрос игнори-
руется.
После выхода из прерывания AVR-микроконтроллер возвращается к вы
-
полнению основной программы и выполняет еще одну инструкцию до обслу-
живания любого из отложенных прерываний.
Страницы
- « первая
- ‹ предыдущая
- …
- 58
- 59
- 60
- 61
- 62
- …
- следующая ›
- последняя »
