- •Кузнецов в.Н., Лисютченков с.Н. Цифровые и микропроцессорные устройства
- •Часть 3
- •220301– Автоматизация технологических процессов и производств
- •Содержание
- •Предисловие
- •Лабораторная работа №1 «Освоение среды разработки vmlab 3.12»
- •1.2 Теоретическое введение
- •1.2.1 Общие сведения
- •1.2.2 Среда разработки vmlab
- •1.2.3 Описание пользовательского интерфейса
- •1.2.4 Команды меню
- •Save All − сохранить все файлы Save As − сохранить файл текущего окна под новым именем
- •1.2.5 Доступные окна
- •1.2.6 Аппаратные компоненты
- •1.2.7 Формат программы на ассемблере
- •1.3 Порядок выполнения лабораторной работы
- •1.3.1 Создание нового проекта
- •1.3.2 Редактирование файла ассемблера
- •1.3.3 Ассемблирование и выполнение программы
- •1.4 Задание на лабораторную работу
- •1.5 Контрольные вопросы
- •1.6 Содержание отчета по лабораторной работе
- •Лабораторная работа №2 «Изучение микроконтроллера aTmega128 и основы программирования»
- •2.2.1 Общие сведения о микроконтроллере aTmega128
- •Регистры ввода/вывода (рвв)
- •Организация памяти
- •Внешние прерывания
- •2.2.9 Директивы транслятора ассемблера
- •2.2.10 Выражения
- •2.2.11 Операнды
- •2.2.12 Функции
- •2.2.13 Операции
- •2.3 Порядок выполнения лабораторной работы
- •2.4 Задание на лабораторную работу
- •Задание для индивидуальной работы
- •2.5 Контрольные вопросы
- •2.6 Содержание отчета по лабораторной работе
- •3.2.2 Адресация в микроконтроллере
- •3.2.3 Команды пересылки данных
- •Mov Rd,Rr(пересылка между рон) – копирует содержимое регистра Rrв регистр Rd. Регистр-источник Rrне изменяется.
- •3.2.4 Команды передачи управления
- •3.3 Порядок выполнения лабораторной работы
- •3.4 Задание на лабораторную работу
- •3.5 Контрольные вопросы
- •3.6 Содержание отчета по лабораторной работе
- •Лабораторная работа №4 «Выполнение арифметических операций»
- •4.2 Теоретическое введение
- •4.3 Порядок выполнения лабораторной работы
- •4.4 Задание на лабораторную работу
- •4.5 Контрольные вопросы
- •4.6 Содержание отчета по лабораторной работе
- •Лабораторная работа №5 «Изучение логических операций»
- •5.2 Теоретическое введение
- •Управление энергопотреблением и режимы сна.
- •5.3 Порядок выполнения лабораторной работы
- •5.4 Задания на лабораторную работу
- •5.5 Контрольные вопросы
- •5.6 Содержание отчета по лабораторной работе
- •Лабораторная работа №6 «Изучение портов ввода/вывода и их программирование»
- •6.2 Теоретическое введение
- •6.2.1 Общие сведения
- •6.2.2 Порты в качестве универсального цифрового ввода-вывода
- •6.2.3 Настройка выводов
- •6.2.4 Неподключенные выводы
- •6.2.5 Альтернативные функции порта
- •6.2.5.1 Альтернативные функции порта a
- •6.2.5.2 Альтернативные функции порта в
- •6.2.5.3 Альтернативные функции порта c
- •6.2.5.4 Альтернативные функции порта d.
- •6.2.5.5 Альтернативные функции порта e
- •6.2.5.6 Альтернативные функции порта f
- •6.2.5.1 Альтернативные функции порта g
- •6.2.6 Описание регистров портов ввода-вывода
- •6.2.7 Обращение к портам ввода/вывода
- •6.3 Порядок выполнения лабораторной работы на симуляторе
- •6.4 Задание на лабораторную работу
- •Задания для индивидуальной работы
- •Контрольные вопросы
- •6.6 Содержание отчета по лабораторной работе
- •Лабораторная работа №7.
- •7.2.1 Общие сведения о Память
- •7.2.2 Статическое озу памяти данных
- •7.2.3 Организация памяти
- •7.2.4 Запоминающее устройство sram
- •7.2.5 Временная диаграмма доступа к памяти
- •7.3 Память данных на эсппзу
- •7.3.1 Чтение и запись эсппзу
- •7.3.2 Адресные регистры эсппзу
- •Порядок выполнения
- •7.4 Память ввода-вывода
- •Порядок выполнения
- •Порядок выполнения
- •7.5 Задание на лабораторную работу
- •Задание для индивидуальной работы
- •7.6 Контрольные вопросы
- •7.7 Содержание отчета по лабораторной работе
- •Генерация тактовых импульсов
- •Инициализация усапп
- •8.2.2 Передача данных - Передатчик усапп
- •8.2.3 Прием данных - Приемник усапп
- •Асинхронный прием данных
- •8.2.4 Многопроцессорный режим связи
- •8.2.5 Описание регистров усапп
- •8.2.6 Последовательный периферийный интерфейс - spi
- •8.2.7 Функционирование вывода ss
- •8.2.8 Связь двух мк
- •8.3 Задание на лабораторную работу
- •Задание для индивидуальной работы
- •8.6 Контрольные вопросы
- •Лабораторная работа №9 «Изучение принципа работы таймеров/счетчиков микроконтроллера»
- •9.2 Теоретическое введение
- •9.2.1 Общие сведения о таймерах/счетчиках
- •9.2.2 Назначение выводов таймеров/счетчиков
- •9.2.5 Выбор источника тактового сигнала
- •9.2.6 Режим таймера
- •9.2.7 Функция захвата (Capture)
- •9.2.8 Функция сравнения (Compare)
- •9.2.9 Режим шим
- •9.2.10 Сторожевой таймер
- •9.2.11 Общие сведения о работе клавиатуры
- •9.2.12 Ввод кода нажатой клавиши
- •9.2.13 Сканирование и идентификация
- •Листинг проектного файла №9
- •На эмуляторе
- •9.4 Задание на лабораторную работу
- •Задания для индивидуальной работы
- •9.5 Контрольные вопросы
- •10.2.2 Функционирование модуля ацп
- •10.2.3 Принцип действия
- •10.2.4 Каналы дифференциального усиления
- •10.2.5 Изменение канала или выбор опорного источника
- •10.2.6 Входные каналы ацп
- •10.2.7 Источник опорного напряжения ацп
- •10.2.8 Повышение точности преобразования
- •10.2.9 Методы компенсации смещения
- •10.2.10 Описание получения результата преобразования
- •10.2.5 Параметры ацп
- •10.2 Порядок выполнения работы на симуляторе
- •На эмуляторе
- •10.3 Задание на лабораторную работу
- •Задания для индивидуальной работы
- •10.4 Контрольные вопросы
- •Приложение
- •Список литературы
6.2.5.1 Альтернативные функции порта a
Альтернативной функцией порта А является мультиплексированная младшая шина адреса/шина данных внешнего интерфейса памяти.
Таблица 6.3 Альтернативные функции выводов порта А
Вывод порта |
Альтернативная функция |
PA7 |
AD7 (Разряд 7 шины адреса и шины данных внешнего интерфейса памяти) |
PA6 |
AD6 (Разряд 6 шины адреса и шины данных внешнего интерфейса памяти) |
PA5 |
AD5 (Разряд 5 шины адреса и шины данных внешнего интерфейса памяти) |
PA4 |
AD4 (Разряд 4 шины адреса и шины данных внешнего интерфейса памяти) |
PA3 |
AD3 (Разряд 3 шины адреса и шины данных внешнего интерфейса памяти) |
PA2 |
AD2 (Разряд 2 шины адреса и шины данных внешнего интерфейса памяти) |
PA1 |
AD1 (Разряд 1 шины адреса и шины данных внешнего интерфейса памяти) |
PA0 |
AD0 (Разряд 0 шины адреса и шины данных внешнего интерфейса памяти) |
6.2.5.2 Альтернативные функции порта в
Выводы порта В с альтернативными функциями показаны в таблице 6.4.
Таблица 6.4 Альтернативные функции порта В
Вывод порта |
Альтернативная функция |
PB7 |
OC2/OC1C(1) (выход компаратора и выход ШИМ таймера-счетчика 2 или выход С компаратора и ШИМ таймера-счетчика 1) |
PB6 |
OC1B (выход В компаратора и ШИМ таймера-счетчика 1) |
PB5 |
OC1A (выход A компаратора и ШИМ таймера-счетчика 1) |
PB4 |
OC0 (Выход компаратора и ШИМ таймера-счетчика 0) |
PB3 |
MISO (Ввод для ведущей/вывод для подчиненной шины SPI) |
PB2 |
MOSI (Вывод для ведущей/ввод для подчиненной шины SPI) |
PB1 |
SCK (Синхронизация последовательной связи шины SPI) |
PB0 |
SS (вход выбора подчиненного режима интерфейса SPI) |
Ниже дано описание альтернативных функций выводов:
OC2/OC1C, разряд 7
OC2 – выход компаратора таймера-счетчика 2. Для выполнения данной функции вывод PB7 конфигурируется как выход (DDB7 = 1). Вывод OC2 также выполняет функцию выхода, когда таймер переводится в режим ШИМ.
OC1C – выход компаратора С таймера-счетчика 1. Для выполнения данной функции вывод PB7 настраивается как выход (DDB7 = 1). Вывод OC1C также выполняет функцию выхода, когда таймер переведен в режим ШИМ.
OC1B, разряд 6
OC1B – выход компаратора B таймера-счетчика 1. Для выполнения данной функции вывод PB6 настраивается как выход (DDB6 = 1). Вывод OC1B также выполняет функцию выхода, когда таймер переведен в режим ШИМ.
OC1A, разряд 5
OC1A – выход компаратора A таймера-счетчика 1. Для выполнения данной функции вывод PB5 настраивается как выход (DDB5 = 1). Вывод OC1A также выполняет функцию выхода, когда таймер переведен в режим ШИМ.
OC0, разряд 4
OC0 – выход компаратора таймера-счетчика 0. Для выполнения данной функции вывод PB4 настраивается как выход (DDB4 = 1). Вывод OC0 также выполняет функцию выхода, когда таймер переведен в режим ШИМ.
MISO – порт B, разряд 3
MISO – ввод данных в режиме ведущего, вывод данных в режиме подчиненного интерфейса SPI. Если разрешена работа SPI как ведущего (мастера), то данный вывод настраивается на ввод независимо от состояния DDB3. Если работа SPI разрешена как подчиненного, то направление передачи данных задается DDB3. Если вывод принудительно настраивается на ввод, то подключение подтягивающего резистора останется под управлением бита PORTB3.
MOSI – порт B, разряд 2
MOSI – вывод данных в режиме ведущего, ввод данных в режиме подчиненного интерфейса SPI. Если работа SPI разрешена как подчиненного, то данный вывод настраивается на ввод независимо от значения DDB2. Если работа SPI разрешена как ведущего (мастера), направление передачи данных определяется DDB2. Если вывод принудительно настраивается как вход, то подключение подтягивающего резистора останется под управлением PORTB2.
SCK – порт B, разряд 1
SCK – выход синхронизации в режиме ведущего, вход синхронизации в режиме подчиненного интерфейса SPI. Если работа SPI разрешена как подчиненного, то данный вывод настраивается как вход независимо от состояния DDB1. Если работа SPI разрешена как ведущего, то направление передачи данных управляется DDB1. Если вывод принудительно настроен на ввод, то управление подтягивающими резисторами осуществляется битом PORTB1.
SS – порт B, разряд 0
SS - вход выбора подчиненного порта. Если работа SPI разрешена как подчиненного, то данный вывод настраивается на ввод независимо от установки DDB0. Работа SPI как подчиненного активизируется, если подать низкий уровень на этот вход. Если работа SPI разрешена как ведущего, то направление передачи данных на этом выводе задается DDB0. Если вывод принудительно настроить как вход, то подключение подтягивающего резистора управляется битом PORTB0.
В таблицах 6.5 и 6.6 показаны значения отключающих сигналов (см. рис. 6.4) в различных альтернативных функциях порта B. SPI MSTR INPUT (вход ведущего SPI) и SPI SLAVE OUTPUT (выход подчиненного SPI) составляют сигнал MISO, а сигнал MOSI разделен на SPI MSTR OUTPUT (выход ведущего SPI) и SPI SLAVE INPUT (вход подчиненного SPI).
Таблица 6.5 Отключающие сигналы для альтернативных функций на PB7..PB4
Наименование сигнала |
PB7/OC2/OC1C |
PB6/OC1B |
PB5/OC1A |
PB4/OC0 |
PUOE |
0 |
0 |
0 |
0 |
PUOV |
0 |
0 |
0 |
0 |
DDOE |
0 |
0 |
0 |
0 |
DDOV |
0 |
0 |
0 |
0 |
PVOE |
Разрешение OC2/OC1C (1) |
Разрешение OC1B |
Разрешение OC1A |
Разрешение OC0 |
PVOV |
OC2/OC1C(1) |
OC1B |
OC1A |
OC0B |
DIEOE |
0 |
0 |
0 |
0 |
DIEOV |
0 |
0 |
0 |
0 |
DI |
- |
- |
- |
- |
AIO |
- |
- |
- |
- |
Таблица 6.6 Отключающие сигналы для альтернативных функций на PB3..PB0
Наименование сигнала |
PB3/MISO |
PB2/MOSI |
PB1/SCK |
PB0/SS |
PUOE |
SPE•MSTR |
SPE•MSTR |
SPE•MSTR |
SPE•MSTR |
PUOV |
PORTB3•PUD |
PORTB2•PUD |
PORTB1•PUD |
PORTB0•PUD |
DDOE |
SPE • MSTR |
SPE•MSTR |
SPE•MSTR |
SPE•MSTR |
DDOV |
0 |
0 |
0 |
0 |
PVOE |
SPE•MSTR |
SPE•MSTR |
SPE•MSTR |
0 |
PVOV |
SPI SLAVE OUTPUT |
SPI MSTR OUTPUT |
SCK OUTPUT |
0 |
DIEOE |
0 |
0 |
0 |
0 |
DIEOV |
0 |
0 |
0 |
0 |
DI |
- |
- |
- |
- |
AIO |
- |
- |
- |
- |