Курсовая работа: Разработка информационно-обучающей программы "Таймеры/счетчики и АЦП микроконтроллеров семейства AVR"
1
0
1
0
1
нет
РСК0
РСК0/8
РСК0/32 РСК0/64 РСК0/128 РСК0/256 РСК0/1024
При работе в режиме реального времени (AS0 = 1) процесс счета и базовом счетчике привязан к сигналу TOSC1, а запись в регистры TCCR0 и OCR0 и в счетчик TCNT0 – к сигналу СК. Для исключения конфликтных ситуаций в счетчике TCNT0 в режиме реального времени используются регистры временного хранения. При записи кода (по команде OUT) байт принимается в соответствующий регистр временного хранения, при этом устанавливается в единичное состояние соответствующий разряд регистра ASSR – TCN0UB при записи в счетчик TCNT0, OCR0UB при записи в регистр OCR0, TCR0UB при записи в регистр TCCR0. Перепись байта из регистра временного хранения в основной регистр или счетчик привязана к сигналу TOSC1, при этом соответствующий разряд регистра ASSR сбрасывается в нулевое состояние. Очередная запись в регистр или счетчик по команде OUT может производиться при нулевом состоянии соответствующего разряда регистра ASSR.
У микроконтроллеров типа 8535 и m163 для подключения кварцевого резонатора КР2 используются выводы порта РС6 и РС7, а у микро контроллеров типа m10З – специальные выводы корпуса.
В таймере/счетчике типа С в микроконтроллере типа m163 (X = 2) в регистре TCCR2 имеется дополнительный разряд FOC2 и в регистре SFIOR – дополнительный разряд PSD2.
В режиме сравнения при установке в единичное состояние разряда FOC2 сигнал на выходе ОС2 принимает требуемое значение немедленно, не дожидаясь совпадения сравниваемых кодов. При этом запрос прерывания Т/С2 СОМР не формируется и базовый счетчик не сбрасывается. Сброс разряда FOC2 в нулевое состояние выполняется аппаратно. В режиме PWM разряд FOC2 не используется.
При установке в единичное состояние разряда PSR2 сбрасывается в исходное (нулевое) состояние пересчетная схема ПС.
Сброс разряда PSR2 в нулевое состояние выполняется аппаратно [2].
2.6 Таймер/счетчик типа D
Таймер/счетчик типа D входит в состав периферийных устройств микроконтроллеров типа 2313 и 4433, и имеет имя Т/С1. Он содержит шестнадцатиразрядный базовый счетчик и выполняет функции захвата и сравнения/PWM, Структурная схема таймера/счетчика изображена на рисунке 2.7.
Рисунок 2.7 – Структурная схема таймера счетчика типа D
На счетный вход шестнадцатиразрядного базового счетчика TCNT1H, L с выхода схемы управления СУ1 может поступать тактовый сигнал микроконтроллера СК, или один из четырех сигналов из пересчетной схемы, которая является общей для таймеров/счетчиков Т/СО и Т/С1 рисунок, или сигнал из внешнего источника, принимаемый на вход Т1. В качестве входа Т1 используется вывод порта PD5. Выбор сигнала определяется комбинацией состояний разрядов CS10, CS11 и CS12 регистра управления TCCR1B в соответствии с таблицей 2.1 (X = 1, Т0 = Т1). При переполнении базового счетчика устанавливается в единичное состояние разряд TOV1 регистра TIFR и при единичном состоянии разряд TOIE1 регистра TIMSK в блок прерываний поступает запрос прерывания T/C1 OVF.
Схема управления СУ2 управляет выполнением функции захвата, которая заключается в передаче кода, сформированного в базовом счетчике, через ключевую схему КС в шестнадцатиразрядный регистр захвата ICR1H, L. При этом устанавливается в единичное состояние разряд ICF1 регистра TIFR и при единичном состоянии разряда TICIE1 регистра TMSK в блок прерываний поступает запрос прерывания Т/С1 СAPT.
Захват выполняется при изменении значения внешнего сигнала, поступающего на вход ICP, или внутреннего сигнала АСО, поступающего из аналогового компаратора. Выбор сигнала определяется состоянием разряда ACIC регистра ACSR, который входит в состав аналогового компаратора. При ACIC = 0 используется внешний сигнал, при ACIC = 1 – внутренний. Вид изменения сигнала, при котором выполняется захват, определяется состоянием разряда ICES1 регистра TCCR1B. При ICES1 = 0 захват выполняется при появлении отрицательного фронта сигнала, а при ICES1 = 1 – положительного фронта.
В качестве входа ICP у микроконтроллера типа 2313 используется вывод порта PD6, а у микроконтроллера типа 4433 – вывод порта РВО.
Разряд ICNC1 регистра TCCR1B управляет работой схемы подавления помех. При ICNC1 = 0 захват выполняется при каждом появлении фронта заданной полярности.
При ICNC1 = 1 захват происходит, если перед появлением фронта в течение четырех тактов сигнал сохраняет постоянное значение.
Схема управления СУ3 управляет выполнением функции сравнения/PWM. Функция сравнения заключается в выдаче определенного значения сигнала на выходе ОС1 при совпадении кодов в базовом счетчике и шестнадцатиразрядном регистре сравнения OCR1H, L, которое выявляется с помощью компаратора К. При этом также устанавливается в единичное состояние разряд OCF1A регистра TIFR и при единичном состоянии разряда OCIE1A регистра TIMSK в блок прерываний поступает запрос прерывания Т/С1 СОМР.
Функция PWM заключается в выдаче на выход ОС1 импульсного сигнала с заданным периодом повторения и заданной длительностью импульса. При этом также периодически формируется запрос прерывания Т/С1 СОМР.
Работа схемы СУЗ определяется комбинацией состояний разрядов PWM10, PWM11, СОМ1А0 и СОМ1А1 регистра управления TCCR1A. При нулевом состоянии всех четырех разрядов функция сравнения/PWM не выполняется и выход ОС1 отключен от вывода порта.
При PWM10 = 0, PWM11 = 0 и других комбинациях состояний разрядов СОМ1А0 и СОМ1А1 выполняется функция сравнения. Значение сигнала, устанавливаемое на выходе ОС1 при совпадении кодов, указано в таблице 2.5.