Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | ||
|
AT90S8535 имеет два регистра маски прерываний GIMSK - общий регистр маски прерываний, расположенный по адресу $3B($5B) и TIMSK - регистр маски прерываний от таймера/счетчика - по адресу $39($59).
Когда возникает прерывание, общий бит разрешения прерываний I очищается (ноль) и прерывания запрещаются. Программа пользователя может установить этот бит для разрешения прерываний. Флаг разрешения прерываний I устанавливается в 1 при выполнении команды выхода из прерывания - RETI.
Для прерываний включаемых статическими событиями (т.е. переключаемыми уровнем) (например совпадение значения счетчика/таймера 1 с регистром совпадения) флаг прерывания взводится, когда происходит событие. Если флаг прерывания очищен и присутствует условие возникновения прерывания, флаг не будет установлен, пока не произойдет следующее событие.
Когда программный счетчик устанавливается на текущий вектор прерывания для обработки прерывания, соответствующий флаг, сгенерированный прерыванием, аппаратно сбрасывается. Некоторые флаги прерывания могут быть сброшены записью логической единицы в бит соответствующий флагу.
General Interrupt Mask Register (GIMSK)
Бит $3B($5B) R/W Нач.знач. | GIMSK | ||||||||
INT1 | INT0 | - | - | - | - | - | - | ||
R/W | R/W | R | R | R | R | R | R | ||
Рисунок 4.7 - Общий регистр маски прерываний
Бит 7 – INT1 (External Interrupt Request 1 Enable). Разрешение запроса внешнего прерывания 1 (см.рис.4.5, табл.4.1). Биты управления запуском прерывания (ISC11 и ISC10) в регистре управления микроконтроллером (MCUCR) определяют, по какому событию отрабатывается прерывание - по спадающему или нарастающему фронту, или же по уровню. Если вывод INT1 используется для работы с внешним источником прерывания, бит DDD0 в регистре направления данных порта D (DDRD), должен быть сброшен в 0, чтобы вывод INT1 работал как вход.
Бит 6 - INT0 (External Interrupt Request 0 Enable). Разрешение запроса внешнего прерывания 0 (см.рис.4.5, табл.4.1). Биты управления запуском прерывания (ISC01 и ISC00) в регистре управления микроконтроллером (MCUCR) определяют, по какому событию отрабатывается прерывание - по спадающему или нарастающему фронту или же по уровню. Если вывод INT0 используется для работы с внешним источником прерывания, бит DDD2 в регистре направления данных порта D (DDRD), должен быть сброшен в 0, чтобы вывод INT0 работал как вход.
Биты 5..0 - зарезервированы. В AT90S8535 эти биты зарезервированы и всегда читаются как 0.
Дата публикования: 2014-11-26; Прочитано: 301 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!