- •Кузнецов в.Н., Лисютченков с.Н. Цифровые и микропроцессорные устройства
- •Часть 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 Контрольные вопросы
- •Приложение
- •Список литературы
4.5 Контрольные вопросы
Какие команды арифметических операций может выполнять МК ATmega128?
Указать способы представления чисел в МК ATmega128.
Особенности представления чисел в прямом коде.
Особенности представление чисел в дополнительном коде.
Знаковые двоичные обратные коды?
Особенности представления чисел в двоичном коде с плавающей запятой?
Особенности представления дробных чисел в двоичном коде с фиксированной запятой?
Сравнение представлений чисел в прямом и дополнительном коде. Преимущества и недостатки?
Пояснить алгоритм умножения знаковых целых чисел.
Пояснить алгоритм умножения беззнаковых целых чисел.
В чем заключается смысл алгоритма Бута?
Поясните умножение знаковых целых восьмиразрядных чисел
Пояснить алгоритм деления знаковых целых чисел.
Пояснить алгоритм деления беззнаковых целых чисел.
Как можно оценить максимальное время выполнения программы умножения двух чисел?
4.6 Содержание отчета по лабораторной работе
Краткое теоретическое введение.
Алгоритм программы самостоятельного задания.
Листинг программы и проектного файла с комментариями.
Выводы по лабораторной работе.
Лабораторная работа №5 «Изучение логических операций»
5.1 Цель работы: Изучение логических команд и их использования для маскирования данных и организации переходов. Изучение выводов микроконтроллера ATmega128. Изучение энергопотребления и режимов сна микроконтроллера ATmega128.
5.2 Теоретическое введение
Команды группы «логические функции» выполняют логические (булевы) операции над байтами, содержащимися в регистрах. В основе построения цифровых схем лежит логический вентиль, а наиболее широко используются три базовые функции вентиля: "И", "ИЛИ", "Исключающее ИЛИ", а также вычисление обратного и дополнительного кодов числа. К этой группе можно отнести также команды очистки/установки регистров и команду перестановки тетрад (половина байта, состоящая из 4 бит, называется тетрада.). Все операции производятся над регистрами общего назначения, результат хранится в одном из РОН. Все логические операции выполняются за один машинный цикл.
Каждая из этих функций может быть реализована программным способом. Функцию перевода в обратный код выполняет команда СОМ Rd. Каждый бит РОН после исполнения этой команды инвертируется. Функцию "И" выполняют команды AND и ANDI. Например, AND R16,R17 вызывает объединение по "И" содержимого регистра R16 и регистра R17. Результат остается в регистре R16, содержимое регистра R17 не изменяется. Функцию "ИЛИ" выполняют команды OR и ORI, а функцию "Исключающее ИЛИ" - команда EOR. Выполнение этих команд подобно выполнению команды AND, только реализуются другие логические функции. Типичное применение логических команд – выделение определенных битов слова (или маскирование). Подробнее маскирование будет рассмотрено в ходе выполнения лабораторной работы.
Описание выводов
VCC - напряжение питания цифровых элементов
GND - общий
Порт A (PA7..PA0) – 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта A имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта А будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта A находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт А также выполняет некоторые специальные функции ATmega128 (см. Лабораторную работу №6).
Порт В (PВ7..PВ0) – 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта В имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии по9рта B будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта B находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт В также выполняет некоторые специальные функции ATmega128 (см. Лабораторную работу №6).
Порт C (PC7..PC0) – 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта C имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта C будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта C находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт C также выполняет некоторые специальные функции ATmega128 (см. Лабораторную работу №6).
Порт D (PD7..PD0) – 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта D имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта D будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта D находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт D также выполняет некоторые специальные функции ATmega128 (см. Лабораторную работу №6).
Порт E (PE7..PE0) – 8-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта E имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта E будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта E находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт E также выполняет некоторые специальные функции ATmega128 (см. Лабораторную работу №6).
Порт F (PF7..PF0) – Порт F действует как аналоговый ввод аналогово-цифрового преобразователя. Порт F также может использоваться как 8-разрядный порт двунаправленного ввода-вывода, если АЦП не используется. К каждой линии порта может быть подключен встроенный подтягивающий к плюсу резистор (выбирается раздельно для каждого бита). Выходные буферы порта F имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта F будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта F находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Если активизирован интерфейс JTAG, то подтягивающие резисторы на линиях PF7(TDI), PF5(TMS) и PF4(TCK) будут подключены, даже если выполняется Сброс.
Вывод TDO находится в третьем состоянии, если не введено состояние TAP, при котором сдвигаются выводимые данные.
Порт F также выполняет функции интерфейса JTAG.
Порт G (PG4..PG0) – 5-разрядный порт двунаправленного ввода-вывода с внутренними подтягивающими к плюсу резисторами (выбираются раздельно для каждого разряда). Выходные буферы порта G имеют симметричную выходную характеристику с одинаковыми втекающим и вытекающим токами. При вводе, линии порта G будут действовать как источник тока, если внешне действует низкий уровень и включены подтягивающие резисторы. Выводы порта G находятся в третьем (высокоимпедансном) состоянии при выполнении условия сброса, даже если синхронизация не запущена. Порт G также выполняет некоторые специальные функции ATmega128 (см. Лабораторную работу №6).
RESET - вход сброса. Если на этот вход приложить низкий уровень длительностью больше минимальной необходимой длительности, будет генерирован сброс независимо от работы синхронизации. Минимальная длительность внешнего импульса сброса приведена в таблице 5.1.
Таблица 5.1
Обозн. |
Параметр |
Условие |
Мин. |
Тип. |
Макс. |
Единица измерения |
VPOT Пороговое напряжение сброса при снижении питания (1) |
Пороговое напряжение сброса при повышении питания |
|
|
1.4 |
2.3 |
В |
|
|
1.3 |
2.3 |
В |
| |
VRST |
Пороговый уровень сброса на выводе RESET |
|
0.2 Vcc |
|
0.85 Vcc |
В |
tRST |
Минимальная длительность импульса сброса на выводе RESET |
|
|
50 |
|
нс |
VBOT |
Порог напряжения сброса схемы контроля питания BOD(2) |
BODLEVEL = 1 |
2.4 |
2.6 |
2.9 |
В |
BODLEVEL = 0 |
3.7 |
4.0 |
4.5 |
В |
|
|
tBOD |
Минимальная длительность снижения напряжения для срабатывания схемы контроля питания |
BODLEVEL = 1 |
|
2 |
|
мкс |
Действие импульса меньшей продолжительности не гарантирует генерацию сброса.
XTAL1 – вход инвертирующего усилителя генератора и вход внешней синхронизации.
XTAL2 – выход инвертирующего усилителя генератора.
AVCC – вход питания порта F и аналогово-цифрового преобразователя. Он должен быть внешне связан с VCC, даже если АЦП не используется. При использовании АЦП этот вывод связан с VCC через фильтр низких частот.
AREF – вход подключения источника опорного напряжения АЦП. PEN – вход разрешения программирования для режима последовательного программирования через интерфейс SPI. Если во время действия сброса при подаче питания на этот вход подать низкий уровень, то микроконтроллер переходит в режим последовательного программирования через SPI. В рабочем режиме PEN не выполняет никаких функций.