Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Микропроцессорные системы AVR (Васильев).docx
Скачиваний:
22
Добавлен:
30.12.2021
Размер:
606.58 Кб
Скачать
  1. Устройство и управление аналого-цифровым преобразователем.

А ЦП – это схема, которая преобразует аналоговую информацию с датчиков в цифровую. В AVR контроллерах АЦП 10-разрядное. Время преобразования одного показания от 13 до 250 микросекунд в зависимости от битности измерения, а также от тактовой частоты генератора, тактирующего контроллер. Так же АЦП поддерживает запуск по прерываниям

Регистр ADMUX — это регистр для управления каналами мультиплексора АЦП

REFS1-REFS0 — комбинация битов задает опорную частоту от внутреннего генератора. (00 – опорная частота от контакта AREF, 10- от AVCC, 11 – от внутреннего источника с внешним конденсатором на AREF)

ADLAR – позволяет выравнивать результат преобразования по левому краю при записи в него единички.

MUX2-MUX0 данные биты определяют какой из восьми аналоговых каналов (0 - 7) будет подключен к АЦП.

Регистр управления и состояния АЦП - ADCSR - (ADC Control and Status Register)

ADEN (ADC Enable) включает или выключает АЦП. Единичка – включение.

ADSC (ADC Start Conversion) режим однократного преобразования, для запуска каждого цикла преобразования необходимо устанавливать единичку.

ADFR (ADC Free Run Select) при единичке АЦП будет работать в циклическом режиме и обращаться к регистрам один за другим.

ADIF (ADC Interrupt Flag) флаг прерываний. После преобразований и обновления регистров данных устанавливается в единичку.

ADIE (ADC Interrupt Enable) при установленных в состояние 1 бите ADIE и I-бите регистра SREG активируется прерывание по завершению преобразования АЦП.

ADPS2 - ADPS0 выбирают режим работы предделителя тактовой частоты. (2,2,4,8,16,32,64,128)

Регистры данных - ADCL и ADCH

  1. Устройство и управление таймерами-счетчиками avr- контроллеров.

Таймеры-счетчики – это устройства, предназначенные для сравнения, генерации ШИМ-сигнала и прерываний. Atmega8 их три штуки (2-8 разрядных и 1-16-п разрядный).

Регистр таймера-счетчика (TCNT0) и регистр порога сравнения (OCR0) - 8-разр. регистры. Сигналы запроса на прерывание представлены как флаги прерываний таймера в регистре TIFR. Все прерывания индивидуально маскируются с помощью регистра маски прерываний таймеров (TIMSK). Регистры TIFR и TIMSK не представлены на функциональной схеме, т.к. они совместно используются с другими таймерами микроконтроллера.

Таймер-счетчик может тактироваться через предделитель внутренне или асинхронно через внешние выводы TOSC1/2. Асинхронная работа управляется регистром асинхронного состояния (ASSR). Значение регистра порога сравнения с двойной буферизацией (OCR0) непрерывно сравнивается со значением таймера-счетчика. Результат сравнения может использоваться для генерации сигналов с ШИМ или прямоугольных импульсов переменной частоты на выводе OC0

В регистре TCNT0 происходит счёт импульсов. Регистр доступен как для чтения, так и для записи.

OCR0. Его значение постоянно сравнивается со счетным регистром TCNT0, и в случае совпадения таймер может выполнять какие-то действия

Регистр управления таймером-счетчиком 0 - TCCR0.

FOC0 (Force Output Compare) бит предназначен для принудительного изменения состояния вывода OC0.

Биты WGM01, WGM00 (Wave Generator Mode) - определяют режим работы таймера-счетчика Т0 (00 – нормальный режим, 01 - Phase Correct PWM, 10 - сброс таймера при совпадении. 11 - FastPWM)

Биты COM01, COM00 (Compare Match Output Mode) - определяют поведение вывода OC0. Если хоть один из этих битов установлен в 1, то вывод OC0 перестает функционировать как обычный вывод общего назначения и подключается к схеме сравнения таймера счетчика Т0

Биты CS02, CS01, CS00 (Clock Select) - определяют коэффициент делителя частоты.

Регистр масок прерывания по таймерам/счетчикам – TIMSK

OCIE0: (Timer/Counter0 Output Compare Interrupt Enable) - Разрешение прерывания по совпадению таймера/счетчика0. При установленном бите OCIE0 и установленном бите I регистра статуса разрешается прерывание по совпадению содержимого регистра сравнения и состояния Т-С1.

TOIE0 (Timer/Counter0 Overflow Interrupt Enable) - Разрешение прерывания по переполнению таймера/счетчика0. При установленном бите TOIE0 и установленном бите I регистра статуса разрешается прерывание по переполнению таймера/счетчика0.

Регистр флагов прерываний по таймерам/счетчикам TIFR

OCF0: Output Compare Flag 0 - Флаг 0 совпадения состояния таймера/счетчика0 и содержимого регистра OCR0

TOV0: Timer/Counter0 Overflow Flag - Флаг переполнения таймера/счетчика0.