- •4. Архитектура мк aTmega16
- •Пространство ввода/вывода avr-мк
- •Регистр статуса
- •Указатель стека
- •Регистр управления/статуса приемопередатчика scon
- •Прерывания и их обработка
- •10. Внешние прерывания
- •12.Таймеры/счетчики мк aTmega16
- •Регистр управления таймером/счетчиком 0
- •Таймер/счетчик 0
- •Регистр совпадения таймера/счетчика 0
- •Регистр масок прерываний от таймеров/ счетчиков
- •Регистр флагов прерываний от т аймеров/счетчиков
- •Общий регистр управления прерываниями
- •Регистр флагов внешних прерыван ий
- •14.Таймер/счетчик 2
- •Регистр статуса асинхронного режима
- •Дополнение: Таймер-счетчик тс/2 с расширенными возможностями Таймер счетчик т/с2 микроконтроллера 8052
- •Регистр управление таймера/счетчика 2 t2com
- •Режимы работы таймера/счетчика 2
- •Регистр режима таймера/счетчика 2 т2моd
- •Дополнительный регистр приоритетов прерываний iрн
- •16.Особенности подключения датчиков с механическими контактами к мк
- •2. Классификация.
- •18. Аналоговый компаратор avr-мк
- •20. Двоично-десятичные коды
- •1. Форматы представления десятичных чисел
- •2. Преобразование целых 16-битных чисел в двоично-десятичные числа
- •3. Преобразование двоичной дроби в двоично-десятичную дробь
10. Внешние прерывания
Для МК ATmega16 предусмотрено три внешних прерывания, называемые внешними прерываниями 0, 1, 2.
Внешние прерывания 0, 1, 2 – это события, заключающиеся в появлении на выводах портов PORTD2, PORTD3 или PORTB2 определенного вида управляющих сигналов при условии, что эти выводы сконфигурированы для выполнения альтернативных функций INT0, INT1 или INT2 независимо от того, являются ли они входами или выходами. Это дает возможность генерировать прерывания программно.
Минимальное время реакции на внешние прерывания, как и на любое из предусмотренных прерываний, составляет четыре периода тактового генератора. После четырех машинных циклов вызывается программный вектор, обрабатывающий прерывание.
За эти четыре цикла процессор заканчивает выполнение текущей команды, ее адрес из программного счетчика записывается в стек и осуществляется переход на начало подпрограммы обработки
прерывания.
Выход из подпрограммы обработки прерывания осуществляется в обратном порядке и также занимает четыре цикла. После выхода
из прерывания процессор всегда выполняет одну команду, прежде чем выполнить обработку следующего прерывания.
В управлении внешними прерываниями участвуют несколько управляющих регистров из пространства ввода/вывода МК. В первую очередь – это регистр статуса (SREG), бит I которого управляет глобальным разрешением прерываний, а также общий регистр управления прерываниями (позволяет разрешить возникновение внешних прерываний), регистр управления МК (позволяет выбрать, по какому виду сигнала будут возникать внешние прерывания 0 и 1) и регистр управления и статуса МК, который позволяет выбрать, по какому виду сигнала будет возникать внешние прерывание 2.
12.Таймеры/счетчики мк aTmega16
Микроконтроллер ATmega16 оснащен тремя таймерами/ счетчиками общего назначения – двумя 8-разрядными (таймеры/ счетчики 0, 2) и одним 16-разрядным (таймер/счетчик 1).
Все таймеры/счетчики осуществляют подсчет импульсов одного из трех возможных источников счетных импульсов. В качестве такого источника может быть выбран сигнал:
внутреннего тактового генератора (fтакт);
предварительного делителя (fтакт/8, /64, /256, /1024);
внешний тактовый сигнал.
Использование предделителя позволяет управлять разрешением подсчета импульсов и максимальным значением формируемого временного интервала. Чем больше коэффициент деления предделителя, тем больше максимальное значение формируемого временного интервала, но меньше разрешение счета, и наоборот.
При работе таймера/счетчика от внешнего сигнала внешний сигнал синхронизируется с сигналом тактового генератора. При этом минимальный период внешнего сигнала должен быть больше периода тактового генератора.
Таймер/счетчик 2 в дополнение к обычному режиму может тактироваться асинхронно от отдельного внутреннего генератора. Этот генератор оптимизирован под использование кварцевого кристалла на частоту 32768 Гц, что позволяет использовать таймер/счетчик 2 как часы реального времени (RTC - Real Time Clock).
Таймеры/счетчики МК имеют несколько режимов работы, которые будут рассмотрены ниже.
