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

Слайд 1
Тема:

Порты ввода\вывода микроконтроллеров серии AVR. Внешние прерывания
к.т.н., доцент каф.501
Мазуренко А.В.
Национальный

аэрокосмический университет им. Н.Е. Жуковского

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



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

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

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

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


Слайд 3
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
Микропроцессорные устройства
Пример:

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


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
Микропроцессорные устройства
Основные команды работы с битами 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
Микропроцессорные устройства


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



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

2015

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


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



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

2015

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


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


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


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

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

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


Слайд 13
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) глобального разрешения прерываний в регистре статуса!


Слайд 14
13
Пример программы AVR-МК



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

Написать программу МК ATmega16,

которая бы выполняла такие действия:
постоянно считывала однобайтное беззнаковое число А с выводов порта А;
суммировала число А с беззнаковой константой К1;
выводила старший байт результата на выводы порта С, а младший байт – на выводы порта В;
в любой момент времени по сигналу, в виде перехода из состояния лог. 1 в состояние лог. 0 на выводе РD2, инвертировала состояние вывода РD0.

Пункты задания 2 – 3 задания оформить в виде вызова подпрограммы. Программу выполнять для константы К1=100.

Обратная связь

Если не удалось найти и скачать презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое ThePresentation.ru?

Это сайт презентаций, докладов, проектов, шаблонов в формате PowerPoint. Мы помогаем школьникам, студентам, учителям, преподавателям хранить и обмениваться учебными материалами с другими пользователями.


Для правообладателей

Яндекс.Метрика