- •Кузнецов в.Н., Лисютченков с.Н. Цифровые и микропроцессорные устройства
- •Часть 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 Контрольные вопросы
- •Приложение
- •Список литературы
7.7 Содержание отчета по лабораторной работе
Краткое теоретическое введение
Алгоритм и Блок схема программы самостоятельного задания.
Листинг программы и проектного файла с комментариями.
Выводы по лабораторной работе.
Лабораторная работа №8
«Связь двух микроконтроллеров»
8.1 Цель работы: Ознакомиться с принципом связи двух микроконтроллеров ATmega128 и их совместная работа.
8.2Теоретическая часть
8.2.1 УСАПП
Универсальный синхронный и асинхронный последовательный приемопередатчик (УСАПП) предназначен для организации гибкой последовательной связи.
Отличительные особенности:
Полнодуплексная работа (раздельные регистры последовательного приема и передачи)
Асинхронная или синхронная работа
Ведущее или подчиненное тактирование связи в синхронном режиме работы
Высокая разрешающая способность генератора скорости связи
Поддержка формата передаваемых данных с 5, 6, 7, 8 или 9 битами данных и 1 или 2 стоп-битами
Аппаратная генерация и проверка бита паритета (четность/нечетность)
Определение переполнения данных
Определение ошибки в структуре посылки
Фильтрация шума с детекцией ложного старт-бита и цифровым ФНЧ
Три раздельных прерывания по завершении передачи, освобождении регистра передаваемых данных и завершении приема
Режим многопроцессорной связи
Режим удвоения скорости связи в асинхронном режиме
Совместимость УСАПП с УСАПП других AVR-микроконтроллеров
УСАПП полностью совместим с УАПП AVR-микроконтроллеров по следующим позициям:
Расположение бит внутри всех регистров УСАПП
Генерация скорости связи
Работа передатчика
Функционирование буфера передатчика
Работа приемника
Однако в схеме буферизации приемника реализовано два улучшения, которые в некоторых случаях может повлиять на совместимость:
Добавлен второй буферный регистр. Два буферных регистра работают как циклический буфер FIFO. Поэтому, UDR необходимо опрашивать только один раз при каждом получении данных! Более важным является тот факт, что флаги ошибок (FE и DOR), а также 9-ый бит данных (RXB8) также буферизованы вместе с данными в приемном буфере. Поэтому, состояние статусных бит необходимо всегда считывать перед чтением регистра UDR. В противном случае состояние флагов ошибок будет потеряно, т.к. будет изменено состояние буфера.
Сдвиговый регистр приемника действует как трехуровневый буфер. Этим обеспечивается возможность сохранения принятых данных в последовательном сдвиговом регистре до определения нового старт-бита, если буферные регистры заполнены. Таким образом, УСАПП характеризуется более высокой стойкостью к выполнению условия ошибки по переполнению данных (DOR).
У следующих управляющих битах изменены наименования, но сохранены назначение, механизм действия и расположение в регистре:
CHR9 заменен на UCSZ2
OR заменен на DOR
Генерация тактовых импульсов
Логика генерации тактовых импульсов формирует основную синхронизацию приемника и передатчика. УСАПП поддерживает четыре режима работы синхронизации: нормальная асинхронная, асинхронная с удвоением скорости, ведущая синхронная и подчиненная синхронная. Бит UMSEL в регистре С управления и статуса (UCSRC) позволяют выбрать асинхронную или синхронную работу. Удвоение скорости (только в асинхронном режиме) управляется битом U2X в регистре UCSRA. При использовании синхронного режима (UMSEL = 1) соответствующий бит в регистре направления данных для вывода XCK (DDR_XCK) задает будет ли синхронизация внутренней (ведущий режим) или внешней (подчиненный режим). Вывод XCK активен только при использовании синхронного режима.
На рисунке 1 показана функциональная схема логики синхронизации.
Рис 8.1. Функциональная схема логики синхронизации УСАПП
Описание сигналов:
txclk - синхронизация передатчика (внутренний сигнал)
rxclk - основная синхронизация приемника (внутренний сигнал)
xcki - вход от вывода XCK (внутренний сигнал). Используется для синхронной подчиненной работы.
xcko - выход синхронизации к выводу XCK (внутренний сигнал). Используется в ведущем синхронном режиме.
fosc - вывод частоты XTAL (системная синхронизация).