- •Кузнецов в.Н., Лисютченков с.Н. Цифровые и микропроцессорные устройства
- •Часть 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.3 Альтернативные функции порта c
Альтернативной функцией порта С является старшая шина адреса внешнего интерфейса памяти.
Таблица 6.7 Альтернативные функции выводов порта С
Вывод порта |
Альтернативная функция |
PС7 |
A15 (Разряд 15 шины адреса внешнего интерфейса памяти) |
PС6 |
A14 (Разряд 14 шины адреса внешнего интерфейса памяти) |
PС5 |
A13 (Разряд 13 шины адреса внешнего интерфейса памяти) |
PС4 |
A12 (Разряд 12 шины адреса внешнего интерфейса памяти) |
PС3 |
A11 (Разряд 11 шины адреса внешнего интерфейса памяти) |
PС2 |
A10 (Разряд 10 шины адреса внешнего интерфейса памяти) |
PС1 |
A9 (Разряд 9 шины адреса внешнего интерфейса памяти) |
PС0 |
A8 (Разряд 8 шины адреса внешнего интерфейса памяти) |
Таблицы 6.8 и 6.9 показывают связь между альтернативными функциями выводов порта и отключающими сигналами, показанных на рисунке 6.4.
Таблица 6.8 Отключающие сигналы для разрешения альтернативных функций на PC7..PC4
Наименование сигнала |
PC7/A15 |
PC6/A14 |
PC5/A13 |
PC4/A12 |
PUOE |
SRE • (XMM(1)<1) |
SRE • (XMM<2) |
SRE • (XMM<3) |
SRE • (XMM<4) |
PUOV |
0 |
0 |
0 |
0 |
DDOE |
SRE • (XMM<1) |
SRE • (XMM<2) |
SRE • (XMM<3) |
SRE • (XMM<4) |
DDOV |
1 |
1 |
1 |
1 |
PVOE |
SRE • (XMM<1) |
SRE • (XMM<2) |
SRE • (XMM<3) |
SRE • (XMM<4) |
PVOV |
A11 |
A10 |
A9 |
A8 |
DIEOE |
0 |
0 |
0 |
0 |
DIEOV |
0 |
0 |
0 |
0 |
DI |
- |
- |
- |
- |
AIO |
- |
- |
- |
- |
Таблица 6.9 Отключающие сигналы для разрешения альтернативных функций на PC3..PC0 (1)
Наименование сигнала |
PC3/A11 |
PC2/A10 |
PC1/A9 |
PC0/A8 |
PUOE |
SRE • (XMM<5) |
SRE • (XMM<6) |
SRE • (XMM<7) |
SRE • (XMM<7) |
PUOV |
0 |
0 |
0 |
0 |
DDOE |
SRE • (XMM<5) |
SRE • (XMM<6) |
SRE • (XMM<7) |
SRE • (XMM<7) |
DDOV |
1 |
1 |
1 |
1 |
PVOE |
SRE • (XMM<5) |
SRE • (XMM<6) |
SRE • (XMM<7) |
SRE • (XMM<7) |
PVOV |
A11 |
A10 |
A9 |
A8 |
DIEOE |
0 |
0 |
0 |
0 |
DIEOV |
0 |
0 |
0 |
0 |
DI |
- |
- |
- |
- |
AIO |
- |
- |
- |
- |
6.2.5.4 Альтернативные функции порта d.
Выводы порта D с альтернативными функциями представлены в таблице 6.10.
Таблица 6.10 Альтернативные функции выводов порта D
Вывод порта |
Альтернативная функция |
PD7 |
T2 (вход синхронизации таймера-счетчика 2) |
PD6 |
T1 (вход синхронизации таймера-счетчика 1) |
PD5 |
XCK1(1) (вход/выход внешней синхронизации УСАПП1) |
PD4 |
IC1 (вход триггера захвата фронта таймера-счетчика 1) |
PD3 |
INT3/TXD1(1) (вход внешнего прерывания 3 или выход передачи УАПП1) |
PD2 |
INT2/RXD1(1) (вход внешнего прерывания 2 или вход приема УАПП1) |
PD1 |
INT1/SDA(1) (вход внешнего прерывания 1 или ввод/вывод последовательных данных TWI) |
PD0 |
INT0/SCL(1) (вход внешнего прерывания 0 или синхронизация последовательной связи TWI) |
Ниже приведены альтернативные конфигурации выводов порта:
T2 – порт D, разряд 7
T2 – счетный вход таймера-счетчика 2.
T1 – порт D, разряд 6
T1 – счетный вход таймера-счетчика 1.
XCK1 – порт D, разряд 4
XCK1 – внешняя синхронизация УСАПП1. Регистр направления данных (DDD4) задает является ли синхронизация выходной (DDD4=1) или входной (DDD4=0). Вывод XCK1 активен только если УСАПП1 работает в синхронном режиме.
IC1 – порт D, разряд 4
IC1 – вход захвата фронта таймера-счетчика 1.
INT3/TXD1 – порт D, разряд 3
INT3 – источник внешнего прерывания 3. Вывод PD3 может использоваться как источник внешнего прерывания микроконтроллера.
TXD1 – передача данных (вывод данных для УСАПП1). Если работа передатчика УСАПП1 разрешена, то данный вывод настраивается как выход независимо от значения DDD3.
INT2/RXD1 – порт D, разряд 2
INT2 – источник внешнего прерывания 2. Вывод PD2 может использоваться как источник внешнего прерывания микроконтроллера.
RXD1 – прием данных (ввод данных для УСАПП1). Если работа приемника УСАПП1 разрешена, то данный вывод настраивается на ввод независимо от значения DDD2. После перевода УСАППом данного вывода на вход, управление подтягивающим резистором осуществляется битом PORTD2.
INT1/SDA – порт D, разряд 1
INT1 – источник внешнего прерывания 1. Вывод PD1 может использоваться как источник внешнего прерывания микроконтроллера.
SDA – ввод-вывод данных двухпроводного последовательного интерфейса TWI. После установки бита TWEN в регистре TWCR разрешается работа двухпроводного последовательного интерфейса, вывод PD1 отключается от порта и становится линией ввода-вывода последовательных данных двухпроводного последовательного интерфейса. В этом режиме на входе активизируется помехоподавляющий фильтр, который не реагирует на входные импульсы длительностью менее 50 нс., а передача организована драйвером с открытым стоком и ограниченной скоростью изменения сигнала.
INT0/SCL – порт D, разряд 0
INT0 – источник внешнего прерывания 0. Вывод PD0 может использоваться как источник внешнего прерывания микроконтроллера.
SCL – синхронизация двухпроводного последовательного интерфейса. Если установлен, бит TWEN в регистре TWCR, то разрешается работа двухпроводного последовательного интерфейса, вывод PD0 отключается от порта и становится входом/выходом синхронизации последовательной связи двухпроводного последовательного интерфейса. В этом режиме на входе активизируется помехоподавляющий фильтр, который не реагирует на входные импульсы длительностью менее 50 нс., а передача организована драйвером с открытым стоком и ограниченной скоростью изменения сигнала.
Таблицы 6.11 и 6.12 показывают связь между альтернативными функциями выводов порта D и отключающими сигналами, показанными на рисунке 6.4.
Таблица 6.11 Отключающие сигналы для разрешения альтернативных функций на PD7..PD4
Наименование сигнала |
PD7/T2 |
PD6/T1 |
PD5/XCK1 |
PD4/IC1 |
PUOE |
0 |
0 |
0 |
0 |
PUOV |
0 |
0 |
0 |
0 |
DDOE |
0 |
0 |
0 |
0 |
DDOV |
0 |
0 |
0 |
0 |
PVOE |
0 |
0 |
UMSEL1 |
0 |
PVOV |
0 |
0 |
XCK1 OUTPUT |
0 |
DIEOE |
0 |
0 |
0 |
0 |
DIEOV |
0 |
0 |
0 |
0 |
DI |
T2 INPUT |
T1 INPUT |
XCK1 INPUT |
IC1 INPUT |
AIO |
- |
- |
- |
- |
Таблица 6.12 Отключающие сигналы для разрешения альтернативных функций на PD3..PD0
Наименование сигнала |
PD3/INT3/TXD1 |
PD2/INT2/RXD1 |
PD1/INT1/SDA |
PD0/INT0/SCL |
PUOE |
TXEN1 |
RXEN1 |
TWEN |
TWEN |
PUOV |
0 |
PORTD2•PUD |
PORTD1•PUD |
PORTB0•PUD |
DDOE |
SPE • MSTR |
SPE•MSTR |
SPE•MSTR |
SPE•MSTR |
DDOV |
TXEN1 |
RXEN1 |
TWEN |
TWEN |
PVOE |
1 |
0 |
SDA_OUT |
SCL_OUT |
PVOV |
TXEN1 |
0 |
TWEN |
TWEN |
DIEOE |
INT3 ENABLE |
INT2 ENABLE |
INT1 ENABLE |
INT0 ENABLE |
DIEOV |
1 |
1 |
1 |
1 |
DI |
INT3 INPUT |
INT2 INPUT/RXD1 |
INT1 INPUT |
INT0 INPUT |
AIO |
- |
- |
SDA INPUT |
SCL INPUT |