Блок-схема алгоритма выбора тактовой частоты Fosc изображена на Рис. 4.2. В зависимости от заданных в пользовательском приложении начальных условий (использования или не использования встроенной системы ФАПЧ, необходимости загрузки с помощью ISP, наличия или отсутствия внешнего кварцевого резонатора), рекомендуется один из двух вариантов тактирования микроконтроллера (Рис. 4.1а, Рис. 4.16) и указываются допустимые пределы F^c.
4.5. Входы внешних прерываний
Микроконтроллеры семейства LPC2000 имеют четыре входа внешних прерываний, выбор которых осуществляется путем настройки соответствующих контактов ввода/вывода микросхемы1*. Входы внешних прерываний могут быть произвольным образом задействованы, чтобы «пробудить» процессор из режима пониженного энергопотребления Power Down.
" Все контакты ввода/вывода микроконтроллеров LPC2000 имеют дополнительные функции, выбор которых производится с помощью мультиплексоров блока коммутации выводов (pin select block). Так, входы внешних прерываний физически «делят» одни и те же контакты микросхемы с линиями порта ввода/вывода общего назначения, входами ШИМ-модулятора и т. д. (Прим. науч. ред.)
4.5.1. Описание регистров
С функцией обработки внешних прерываний связаны четыре регистра, перечисленные в Табл. 4.4. Регистр EXTINT содержит флаги прерываний. Регистр EXTWAKE — это регистр разрешения пробуждения от внешних прерываний. В зависимости от его состояния (значения записанных в него битов), внешним прерываниям разрешается или запрещается «пробуждать» микроконтроллер (т. е. переводить его из режима Power Down в активное состояние). Регистры EXTMODE и EXTPOLAR задают активные уровень и фронт/спад внешнего сигнала, вызывающего внешнее прерывание.
Таблица 4.4. Регистры внешних прерываний
Адрес |
Название |
Описание |
Доступ |
0хЕ01ГС140 |
EXTINT |
Регистр флагов внешних прерываний, который содержит флаги прерываний EINTO, EINT1, EINT2 и EINT3 |
R/W |
0xE01FC144 |
EXTWAKE |
Регистр «пробуждения» от внешних прерываний, который содержит три бита, значения которых управляют возможностью «пробуждения» процессора от внешних прерываний из режима Power Down |
R/W |
0xE01FC148 |
EXTMODE |
Регистр режима внешних прерываний, который задает, фронтом или уровнем на входе EINT0...EINT3 будет инициироваться соответствующее внешнее прерывание |
R/W |
0xE01FC14C |
EXTPOLAR |
Регистр управления полярностью внешних прерываний задает, фронтом/спадом импульса или уровнем положительной/отрицательной полярности будет инициироваться внешнее прерывание |
R/W |
Регистр флагов внешних прерываний (EXTINT-OxE01FC140)
Битовая структура регистра EXTINT приведена в Табл. 4.5.
Таблица 4.5. Регистр флагов внешних прерываний (EXTINT — 0xE01FC140)
Номер бита |
Название бита |
Функция бита |
Значение после сброса |
0 |
EINT0 |
В режиме, когда внешние прерывания вызываются уровнем сигнала, этот бит устанавливается, если для вывода микроконтроллера выбрана функция EINT0 и на этот вывод подан внешний сигнал активного уровня. В режиме, когда внешнее прерывание вызывается фронтом/спадом импульса, этот бит устанавливается, если для вывода микроконтроллера выбрана функция EINT0 и на этот вывод подан активный перепад внешнего сигнала. Для реализации функции EINT0 можно использовать выводы РО. 1 и РО. 16 микроконтроллера (см. главу 7 «Цоколевка и назначение выводов»). Чтобы сбросить этот бит, следует программно записать в него 1 (кроме случая, когда внешнее прерывание вызывается уровнем сигнала и этот внешний активный уровень присутствует на входе внешнего прерывания) |
0 |
1 |
EINT1 |
В режиме, когда внешние прерывания вызываются уровнем сигнала, этот бит устанавливается, если для вывода микроконтроллера выбрана функция EINT1 и на этот вывод подан внешний сигнал активного уровня. В режиме, когда внешнее прерывание вызывается фронтом/спадом импульса, этот бит устанавливается, если для вывода микроконтроллера выбрана функция EINT1 и на этот вывод подан активный перепад внешнего сигнала. Для реализации функции EINT1 можно использовать выводы РО.З и РО. 14 микроконтроллера (см. главу 7 «Цоколевка и назначение выводов»). Чтобы сбросить этот бит, следует программно записать в него 1 (кроме случая, когда внешнее прерывание вызывается уровнем сигнала и этот внешний активный уровень присутствует на входе внешнего прерывания) |
0 |
2 |
EINT2 |
В режиме, когда внешние прерывания вызываются уровнем сигнала, этот бит устанавливается, если для вывода микроконтроллера выбрана функция EINT2 и на этот вывод подан внешний сигнал активного уровня. В режиме, когда внешнее прерывание вызывается фронтом/спадом импульса, этот бит устанавливается, если для вывода микроконтроллера выбрана функция EINT2 и на этот вывод подан активный перепад внешнего сигнала. Для реализации функции EINT2 можно использовать выводы Р0.7 и РО. 15 микроконтроллера (см. главу 7 «Цоколевка и назначение выводов»). Чтобы сбросить этот бит, следует программно записать в него 1 (кроме случая, когда внешнее прерывание вызывается уровнем сигнала и этот внешний активный уровень присутствует на входе внешнего прерывания) |
0 |
3 |
EINT3 |
В режиме, когда внешние прерывания вызываются уровнем сигнала, этот бит устанавливается, если для вывода микроконтроллера выбрана функция EINT3 и на этот вывод подан внешний сигнал активного уровня. В режиме, когда внешнее прерывание вызывается фронтом/спадом импульса, этот бит устанавливается, если для вывода микроконтроллера выбрана функция EINT3 и на этот вывод подан активный перепад внешнего сигнала. Для реализации функции EINT3 можно использовать выводы Р0.9, Р0.20 и Р0.30 микроконтроллера (см. главу 7 «Цоколевка и назначение выводов»). Чтобы сбросить этот бит, следует программно записать в него 1 (кроме случая, когда внешнее прерывание вызывается уровнем сигнала и этот внешний активный уровень присутствует на входе внешнего прерывания) |
0 |
7:4 |
Зарезервированы |
Данные биты зарезервированы. Пользовательское программное обеспечение не должно производить запись в зарезервированные биты. Чтение зарезервированного бита возвращает неопределенное значение |
NA |
Когда выбрана функция обработки внешнего прерывания с вывода микроконтроллера, уровень входного сигнала или фронт/спад импульса на этом выводе (в зависимости от состояния битов в регистрах EXTPOLAR и EXTMODE) вызывает установку соответствующего флага прерывания в ре-
НА ГЛАВНУЮ | | ЧТО ТАКОЕ PIC ? | | ПРОГРАММАТОР | | ПРОЕКТЫ | | СТАТЬИ | | ССЫЛКИ | | КАРТА САЙТА |