Порты ввода\вывода микроконтроллеров серии AVR. Внешние прерывания

Содержание

Слайд 2

1 Регистры управления портами ввода\вывода AVR-МК Рис.1. Упрощенная логическая схема линии

1

Регистры управления портами ввода\вывода AVR-МК

Рис.1. Упрощенная логическая схема линии ввода\вывода порта

AVR-МК:
х ∈ [A, B, C, D] – имя порта ввода\вывода, j = 0…7 – номер линии порта.

© Мазуренко А.В., 2015

Микропроцессорные устройства

Слайд 3

2 Регистры управления портами ввода\вывода AVR-МК PORT x Data Direction Register

2

Регистры управления портами ввода\вывода AVR-МК

PORT x Data Direction Register

Bits 7...0 –

DDRx7…0 – Биты направление передачи данных порта х

Bits 7...0 – PORTx7…0 – Биты выходных данных порта х

PORT x Output Data Register

Bits 7...0 – PINx7…0 – Биты входных данных порта х

PORT x Input Pins Data Register

© Мазуренко А.В., 2015

Микропроцессорные устройства

Слайд 4

3 Основные команды пересылки данных AVR-МК (продолжение) © Мазуренко А.В., 2015

3

Основные команды пересылки данных AVR-МК (продолжение)

© Мазуренко А.В., 2015

Микропроцессорные устройства

Пример:

Объявление входов\выходов, установка\сброс линий портов ввода\вывода

OUT - Store Register to I\O Location – Загрузить данные из регистра общего назначения в регистр вводы\вывода
Операция: I\O(AdrIO) ← Rr

Флаги на которые воздействует команда: не воздействует
Количество тактов выполнения операции: 1.

Флаги на которые воздействует команда: не воздействует
Количество тактов выполнения операции: 1.

IN - Load an I\O Location to Register – Загрузка данных из регистра пространства вводы\вывода в регистр общего назначения
Операция: Rd ← I\O(AdrIO)

Слайд 5

4 © Мазуренко А.В., 2015 Микропроцессорные устройства Основные команды работы с

4

© Мазуренко А.В., 2015

Микропроцессорные устройства

Основные команды работы с битами AVR-МК

(продолжение)

SBI – Set bit to I\O Register – Установить бит в регистре пространства ввода\вывода
Операция: I\O(AdrIO,b) ← 1

CBI – Clear bit in I\O Register – Очистить бит в регистре пространства ввода\вывода
Операция: I\O(AdrIO,b) ← 0

Флаги на которые воздействует команда: не воздействует
Количество тактов выполнения операции: 2.

Флаги на которые воздействует команда: не воздействует
Количество тактов выполнения операции: 2.

Слайд 6

5 Назначение выводов AVR-МК (ATmega16) © Мазуренко А.В., 2015 Микропроцессорные устройства

5

Назначение выводов AVR-МК (ATmega16)

© Мазуренко А.В., 2015

Микропроцессорные устройства

Слайд 7

6 Альтернативные функции выводов портов А и В AVR-МК ATmega16 © Мазуренко А.В., 2015 Микропроцессорные устройства

6

Альтернативные функции выводов портов А и В AVR-МК ATmega16

© Мазуренко А.В.,

2015

Микропроцессорные устройства

Слайд 8

7 Альтернативные функции выводов портов С и D AVR-МК ATmega16 © Мазуренко А.В., 2015 Микропроцессорные устройства

7

Альтернативные функции выводов портов С и D AVR-МК ATmega16

© Мазуренко А.В.,

2015

Микропроцессорные устройства

Слайд 9

8 Таблица векторов прерываний МК ATmega16 © Мазуренко А.В., 2015 Микропроцессорные устройства

8

Таблица векторов прерываний МК ATmega16

© Мазуренко А.В., 2015

Микропроцессорные устройства

Слайд 10

9 Внешние прерывания AVR-МК (ATmega16) © Мазуренко А.В., 2015 Микропроцессорные устройства

9

Внешние прерывания AVR-МК (ATmega16)

© Мазуренко А.В., 2015

Микропроцессорные устройства

Слайд 11

10 Выбор формы сигнала-источника внешних прерываний 1 и 0 © Мазуренко А.В., 2015 Микропроцессорные устройства

10

Выбор формы сигнала-источника внешних прерываний 1 и 0

© Мазуренко А.В., 2015

Микропроцессорные устройства
Слайд 12

11 Выбор формы сигнала-источника внешнего прерывания 2 © Мазуренко А.В., 2015 Микропроцессорные устройства

11

Выбор формы сигнала-источника внешнего прерывания 2

© Мазуренко А.В., 2015

Микропроцессорные устройства

Слайд 13

12 Основные команды работы с битами AVR-МК (продолжение) © Мазуренко А.В.,

12

Основные команды работы с битами AVR-МК (продолжение)

© Мазуренко А.В., 2015

Микропроцессорные

устройства

CLI – Clear Global Interuppt Flag – Очистить флаг глобального разрешения прерываний
Операция: SREG(I) ← 0

Флаги на которые воздействует команда: I←0
Количество тактов выполнения операции: 1.

SEI – Set Global Interuppt Flag – Установить флаг глобального разрешения прерываний
Операция: SREG(I) ← 1

Флаги на которые воздействует команда: I←1
Количество тактов выполнения операции: 1.

Примечание. При возникновении прерывания, в момент перехода на начало вектора прерывания (в таблице векторов прерываний) происходит автоматический сброс флага возникшего прерывания и бита (I) глобального разрешения прерываний в регистре статуса!