- •Кузнецов в.Н., Лисютченков с.Н. Цифровые и микропроцессорные устройства
- •Часть 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.4 Неподключенные выводы
Если несколько выводов остаются неиспользованными, то рекомендуется гарантировать на них присутствие определенного логического уровня. Несмотря на то, что большинство цифровых входов отключены в режимах глубокого сна, как описано выше, необходимо избежать наличия плавающих входов во избежание повышенного потребления тока во всех других режимах работы микроконтроллера, где цифровой ввод разрешен (Сброс, Активный режим и режим холостого). Самым простым методом гарантирования присутствия определенного уровня на неиспользуемом выводе является разрешение подключения внутреннего подтягивающего резистора. Однако в этом случае в режиме сброса подтягивающие резисторы будут отключены. Если требуется малое потребление и в режиме сброса, то необходимо устанавливать внешний подтягивающий резистор к плюсу или к минусу питания. Подключение выводов непосредственно к VCC или GND не рекомендуется, т.к. может возникнуть опасный ток при случайной конфигурации такого вывода на вывод данных.
6.2.5 Альтернативные функции порта
Большинство выводов поддерживают альтернативные функции в дополнение к универсальному цифровому вводу-выводу. На рисунке 6.4 показано как управляющие сигналы, представленные на упрощенном рисунке 6.2, могут быть отключены альтернативными функциями. Сигналы отключения могут присутствовать не на всех выводах, поэтому, данный рисунок необходимо использовать как общее описание, применимое ко всем выводам портов семейства AVR-микроконтроллеров.
Рис. 6.4 Альтернативные функции порта (1)
Прим. 1: Сигналы WPx, WDx, RLx, RPx и RDx являются общими в пределах одного порта. Сигналы clkI/O, SLEEP, и PUD являются общими для всех портов. Все остальные сигналы индивидуальны для каждого вывода. В таблице 6.2 подытожены функции отключающих сигналов для активизации альтернативных функций. Указатели на выводы и порты с рисунка 6.4 не показаны в итоговых таблицах. Отключающие сигналы генерируются внутренне в модулях, поддерживающих альтернативные функции.
Таблица 6.2 Общее описание отключающих сигналов для активизации альтернативных функций
Наименование сигнала |
Полное наименование |
Описание |
PUOE |
Разрешение альтернативного управления подтягиванием |
Если данный сигнал установлен, то подключение подтягивающего резистора определяется значением сигнала PUOV. Если данный сигнал сброшен, то подтягивающий резистор подключается, если {DDxn, PORTxn, PUD} = 0b010. |
PUOV |
Альтернативное управление подтягиванием |
Если PUOE установлен, то подтягивающий резистор подключается/отключается, если PUOV установлен/сброшен независимо от состояния регистровых бит DDxn, PORTxn и PUD. |
DDOE |
Разрешение задания альтернативного направления |
Если этот сигнал установлен, то разрешение работы выходного драйвера определяется значением сигнала DDOV. Если этот сигнал сброшен, то работа выходного драйвера разрешается регистровым битом DDxn. |
DDOV |
Значение альтернативного направления |
Если DDOE установлен, то работа выходного драйвера разрешается/запрещается, когда DDOV устанавливается/сбрасывается независимо от состояния регистрового бита DDxn. |
PVOE |
Разрешение задания альтернативного выходного состояния порта |
Если данный сигнал установлен и разрешена работа выходного драйвера, то состояние на выходе порта определяется сигналом PVOV. Если PVOE сброшен и разрешена работа выходного драйвера, то состояние на выходе порта определяется регистровым битом PORTxn. |
PVOV |
Альтернативное выходное состояние порта |
Если PVOE установлен, то выход порта принимает состояние PVOV независимо от установки регистрового бита PORTxn. |
DIEOE |
Разрешение альтернативного цифрового ввода |
Если данный бит установлен, то функция разрешения цифрового передается сигналу DIEOV. Если данный сигнал сброшен, то разрешение цифрового ввода определяется состоянием микроконтроллера (нормальный режим, режимы сна). |
DIEOV |
Альтернативное состояние цифрового ввода |
Если DIEOE установлен, то цифровой ввод разрешен/запрещен, если DIEOV установлен/сброшен независимо от состояния микроконтроллера (нормальный режим, режимы сна). |
DI |
Цифровой ввод |
Сигнал цифрового ввода для альтернативных функций. На рисунке сигнал подключен к выходу триггера Шмита перед синхронизатором. Если цифровой ввод используется как источник синхронизации, то модуль с альтернативной функцией будет использовать свой собственный синхронизатор. |
AIO |
Аналоговый ввод-вывод |
Сигнал аналогового ввода/вывода к_модулю/из_модуля с альтернативной функцией. Сигнал подключается непосредственно к контактной площадке и может использоваться двунаправлено. |
В следующих подразделах коротко описываются альтернативные функции для каждого порта и связь отключающих сигналов с альтернативными функциями выводов(рис 6.5).
Рис. 6.5 Регистр специальных функций ввода-вывода – SFIOR
Разряд 0 – PSR321: Сброс предделителя таймеров-счетчиков 1, 2 и 3
Если данный бит равен лог. 1, то предделитель таймеров-счетчиков 1, 2 и 3 будет сброшен. Данный бит обычно сразу сбрасывается аппаратно за исключением, когда установлен бит TSM. Обратите внимание, что таймеры-счетчики 1, 2 и 3 используют один и тот же предделитель и сброс этого предделителя оказывает влияние на все три таймера.
Разряд 1 - PSR0: Сброс предделителя таймера-счетчика 0
Если данный бит равен лог. 1, то предделитель таймера-счетчика 0 сбрасывается. Данный бит обычно сбрасывается аппаратно сразу после установки. Если данный бит устанавливается, когда таймер-счетчик 0 работает в асинхронном режиме, то он остается равным 1 пока не сбросится предделитель таймера-счетчика 0. Данный бит не сбрасывается аппаратно, если бит TSM=1.
Разряд 2 – PUD: Отключение всех подтягивающих резисторов
Если в данный разряд записать лог. 1, то подтягивающие резисторы на всех портах будет отключены, даже если регистры DDxn и PORTxn настроены на их подключение ({DDxn, PORTxn} = 0b01)..
Разряд 3 – ACME: Выбор мультиплексора на входе аналогового компаратора
Если выключен аналогово-цифровой преобразователь (ADEN=0 в регистре ADCSRA) и в данный разряд записана лог. 1, то к инвертирующему входу аналогового компаратора подключен выход аналогового мультиплексора АЦП. Запись в данный разряд лог. 0 приведет к подключению инвертирующего входа аналогового компаратора к выводу микроконтроллера AIN1.
Разряд 7 – TSM: Режим синхронизации таймеров-счетчиков
Запись в данный бит лог. 1 активизирует режим синхронизации таймеров-счетчиков. В этом режиме запоминаются значения, записанные в биты PSR0 и PSR321, следовательно, запоминаются состояния соответствующих сигналов сброса предделителей. Этим гарантируется, что все соответствующие таймеры будут остановлены и им можно присвоить одинаковые значения без опасности их модификации в процессе конфигурации. Если в бит TSM записать лог. 0, то биты PSR0 и PSR321 сбросятся аппаратно и таймеры-счетчики начнут счет одновременно.