- •Содержание
- •1 Микроконтроллер at90s8535 фирмы Atmel
- •2 Описание выводов
- •3 Кварцевый генератор
- •4 Обзор архитектуры at90s8535
- •4.1 Файл регистров общего назначения
- •4.2 Арифметико-логическое устройство - алу
- •4.3 Загружаемая память программ.
- •4.4 Eeprom память данных
- •4.5 Статическое озу данных
- •4.6 Время выполнения команд.
- •4.7 Пространство ввода/вывода
- •4.10 Сброс и обработка прерываний.
- •4.10.1 Источники сброса
- •4.10.1.1 Сброс по выключению питания
- •4.10.1.2 Внешний сброс
- •4.10.1.3 Сброс от сторожевого таймера
- •4.10.2 Обработка прерываний
- •4.10.3 Внешние прерывания
- •4.10.4 Время реакции на прерывание
- •4.11 Режимы пониженного энергопотребления.
- •5 Таймеры/счетчики
- •5.2.7 Таймер/счетчик 1 в режимеШим
- •5.3.2 Управление тактовым сигналом
- •5.3.3 Режим таймера
- •5.3.4 Режим шим
- •5.3.5 Асинхронный режим работы
- •6 Сторожевой таймер
- •6.1 Назначение cторожевого таймера
- •7 Чтение и запись в энергонезависимую память
- •7.4. Меры предосторожности при работе с eeprom
- •8 Последовательный периферийный интерфейс spi
- •8.1. Общие сведения
- •8.2. Функционирование модуля spi
- •Tаблица 8.1
- •Tаблица 8.2
- •8.3. Режимы передачи данных
- •8.4. Использование вывода ss
- •9 Универсальный асинхронный приемопередатчик uart
- •9.1 Передача данных
- •9.2 Прием данных.
- •9.3 Управление uart
- •10 Аналоговый компаратор
- •10.1. Функционирование компаратора
- •11 Аналого-цифровой преобразователь
- •11.1. Общие сведения
- •11.2 Функционирование модуля ацп
- •11.6 Повышение точности преобразования
- •11.7 Параметры ацп
- •12 Порты ввода/вывода
- •12.1 Общие сведения
- •12.2 Обращение к портам ввода/вывода
- •12.3. Конфигурирование портов ввода/вывода
- •13 Программирование памяти
- •13.1 Биты блокировки памяти (Lock Bits)
- •13.2 Биты конфигурации (Fuse bits)
- •13.3 Код устройства
- •14 Электрические характеристики
- •14.1 Максимально допустимые параметры
- •14.2 Характеристики по постоянному току
- •14.3 Параметры внешнего тактового сигнала
- •15 Информация для заказа
- •16 Список регистров at90s8535
4.10.3 Внешние прерывания
Запросы на прерывания от внешних источников подаются на входы INT0 и INT1. Прерывания обрабатываются даже тогда, когда выводы сконфигурированы как выходы. Это позволяет генерировать программные прерывания. Внешние прерывания могут возникать по спадающему или нарастающему фронту, а также по низкому уровню. Это устанавливается в регистре управления процессором MCUCR (см.п.4.10.5). Если внешние прерывания разрешены и сконфигурированы на отработку по уровню, прерывание будет вырабатываться до тех пор, пока вывод удерживается в низком состоянии.
4.10.4 Время реакции на прерывание
Минимальное время реакции на любое из предусмотренных в процессоре прерываний - 4 периода тактовой частоты. После четырех циклов вызывается программный вектор, обрабатывающий данное прерывание. За эти 4 цикла содержимое программного счетчика записывается в стек. Так как программный счетчик содержит 10 бит, то под них отводится 2 байта. После записи этих двух байт в стек указатель стека уменьшается на 2.
Программный вектор представляет собой команду безусловного перехода на подпрограмму обслуживания прерывания. Этот переход занимает 2 периода тактовой частоты. Если прерывание происходит во время выполнения команды, длящейся несколько циклов, перед вызовом прерывания завершается выполнение этой команды.
Выход из программы обслуживания прерывания занимает 4 периода актовой частоты. За эти 4 периода из стека восстанавливается программный счетчик. После выхода из прерывания процессор всегда выполняет еще одну команду, прежде чем обслужить любое отложенное прерывание.
Заметим, что регистр состояния SREG аппаратно не обрабатывается процессором, как при вызове подпрограмм, так и при обслуживании прерываний. Если программа требует сохранения SREG, то это должно производиться программой пользователя.
4.10.5 MicroController Unit Control Register (MCUCR)
Бит $35($55) R/W Нач.знач. |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
MCUCR |
- |
SE |
SM1 |
SM0 |
ISC11 |
ISC10 |
ISC01 |
ISC00 |
||
R |
R |
R/W |
R/W |
R/W |
R/W |
R/W |
R/W |
||
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
Рисунок 4.9 - Регистр управления микроконтроллером – MCUCR
Биты 7 - зарезервирован. В AT90S8535 этот бит зарезервирован и всегда читается как 0.
Бит 6 – SE (Sleep Enable). Разрешение режима Sleep. Этот бит должен быть установлен в 1, чтобы при выполнении команды SLEEP процессор переходил в режим пониженного энергопотребления (Sleep). Для использования режима пониженного энергопотребления этот бит рекомендуется устанавливать в 1 до исполнения команды SLEEP.
Биты 5, 4 - SM1, SM0 (Sleep Mode Select Bits 1 and 0). Режим Sleep. Эти биты выбирают один из доступных режимов пониженного энергопотребления (табл.4.3). Особенности каждого из режимов будут рассмотрены ниже.
Таблица 4.3
Программирование режимов пониженного энергопотребления
SM1 |
SM0 |
Sleep Mode |
Режим Sleep |
0 |
0 |
Idle |
Ждущий режим (холостого хода) |
0 |
1 |
Reserved |
Зарезервировано |
1 |
0 |
Power-Down |
Режим микропотребления |
1 |
1 |
Power Save |
Экономичный режим |
Биты 3,2 - ISC11, ISC10 (Interrupt Sense Control 1 Bits 1 and 0). Биты управления срабатыванием внешнего прерывания по входу INT1. Внешнее прерывание активируется выводом INT1, если установлен флаг I регистра состояния SREG и установлена соответствующая маска в регистре GIMSK. В табл.4.4 приведена установка битов для задания срабатывания по уровню и фронтам.
Таблица 4.4
Управление срабатыванием прерывания INT1
ISC11 |
ISC10 |
Описание |
0 |
0 |
Запрос прерывания генерируется по низкому уровню на входе INT1 |
0 |
1 |
Зарезервировано |
1 |
0 |
Запрос на прерывание по спадающему фронту на входе INT1 |
1 |
1 |
Запрос на прерывание по нарастающему фронту на входе INT1 |
ПРИМЕЧАНИЕ: При изменении битов ISC11/ISC10 прерывание INT1 должно быть запрещено очисткой соответствующего бита в регистре GIMSK. Иначе прерывание может возникнуть во время изменения битов.
Биты 1,0 – ISC01, ISC00 (Interrupt Sense Control 0 Bits 1 and 0). Биты управления срабатыванием внешнего прерывания по входу INT0. Назначение, конфигурирование – см. биты ISC11, ISC10.
