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

Ц ентральным блоком на этой диаграмме является регистровый файл из 32 оперативных регистров (R0-R31) или как их обычно называют регистры общего назначения (РОН). Все РОН непосредственно доступны АЛУ. Старшие регистры объединены парами и образуют три 16-разрядных регистра Х [R27:R26], Y [R29:R28] и Z [R31:R30].

Регистровый файл, блок регистров ввода/вывода и оперативная память, как показано на рис, образуют единое адресное пространство, что дает возможность при программировании обращаться к 32 оперативным регистрам и к регистрам ввода/вывода как к ячейкам памяти, используя команды доступа к SRAM.

Шесть основных групп команд: команды арифметических операций, команды логических операций, команды передачи данных, команды операций с битами, команды управления последовательностью выполнения программы, команды управления системой.

  1. Устройство и управление портами ввода и вывода.

К аждым портом микроконтроллера управляют 3 РВВ. Это DDRx, PORTx и PINx (x – название порта: A,B,C и т.д.). Регистры портов A,B,C,D всех моделей находятся в первой половине адресного пространства ввода-вывода и поэтому допускают прямые операции над отдельными их битами.

Регистр DDRx отвечает за направление передачи данных. Единичка в разряды DDRx настраивает линии на вывод, а нолик, соответственно, на ввод.

Регистр PORTx управления состоянием вывода. Если линии порта настроены на вывод, то содержимое PORTx определяет логическое состояние выводов порта. Для линий, настроенных на ввод значение PORTx определяет состояние внутреннего подтягивающего (pull-up) резистора к шине питания. В этом случае при уровне лог.1 в разрядах PORTx резистор подключен, а при уровне лог.0 – отключен и линии переведены в высокоимпедансное состояние.

Регистр PINx предназначен для считывания уровней сигнала с выводов микроконтроллера. Естественно, что необходимость в этом существует только для линий, настроенных на ввод (для линий, настроенных на вывод содержимое PINx повторяет состояние выходного регистра PORTx). Разряды PINx не оказывают никакого влияния на состояние выводов, а сам регистр доступен только для чтения

  1. Устройство и управление аналоговым компаратором.

Аналоговый компаратор сравнивает уровни напряжений на неинвертирующем входе AIN0 и инвертирующем входе AIN1. Если напряжение на неинвертирующем входе AIN0 превышает напряжение на инвертирующем входе AIN1, то выход аналогового компаратора ACO принимает единичное состояние. Выход компаратора может быть настроен для использования в качестве источника входного сигнала для схемы захвата фронтов таймера-счетчика 1. Кроме того, компаратор может генерировать собственный запрос на обработку прерывания

Основной регистр управления компараторомэто ACSR (Analog Comparator Control and Status Register).

ACD (Analog Comparator Disable) — включение компаратора. 1 — запрещает работу аналогового компаратора, 0 — разрешает. По умолчанию компаратор всегда включен.

ACBG (Analog Comparator Bandgap Select) — подключение внутреннего источника опорного напряжения к неинвертирующему входу компаратора. 1 — подключает ИОН, 0 —отключает.

ACO (Analog Comparator Output) — этот бит хранит состояние выхода аналогового компаратора, то есть результат сравнения входных напряжений.

ACI (Analog Comparator Interrupt Flag) — флаг прерывания. Он устанавливается аппаратно, когда происходит событие, определенное битами ACIS1 и ACIS0. Если прерывания компаратора разрешены, то вызывается обработчик. Флаг ACI сбрасывается аппаратно при выполнении обработчика.

ACIE (Analog Comparator Interrupt Enable) — разрешение прерываний компаратора. Когда этот бит установлен в 1 и прерывания разрешены глобально (установлен флаг I регистра SREG), компаратор генерирует запрос на прерывание при изменении состояния его выхода.

ACIC (Analog Comparator Input Capture Enable) — подключает выход компаратора к схеме захвата таймера Т1. 1 - выход компаратора подключен к схеме захвата, 0 - не подключен.

ACIS1, ACIS0 (Analog Comparator Interrupt Mode Select) — эти биты определяют событие, по которому будет вызываться прерывание компаратора. (00 – прерывания по изменению на выходе, 01 – не используется, 10 – прерывания по падающему фронту, 11 – прерывания по растущему фронту).

SFIOR — регистр специальных функций ввода вывода.

TSM активизирует режим синхронизации таймеров-счетчиков

ACME — включение мультиплексора аналогового компаратора. При нуле — вход компаратора AIN1 подключен к ножке микроконтроллера AIN1, при единичке AIN1 может быть подключен к любому входу АЦП микроконтроллера.

PUD отключение подтягивающих резисторов.

PSR0 сброс предделителя Т-С0.

PS321 сброс делителя частоты Т-С0