- •Кузнецов в.Н., Лисютченков с.Н. Цифровые и микропроцессорные устройства
- •Часть 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 Контрольные вопросы
- •Приложение
- •Список литературы
1.2.2 Среда разработки vmlab
VMLAB − это программное средство макетирования микроконтроллерных систем. Преимуществом VMLAB перед другими симуляторами является возможность симуляции не только периферийных узлов микроконтроллера, но и внешних устройств ввода/вывода. В среде VMLAB богатая номенклатура симулируемых моделей микроконтроллеров AVR: ATiny11, ATiny12, ATiny15, AT90S1200, AT90S2313, AT90S2323, AT90S2343, AT90S4433, AT90S8515, AT908535, ATmega8, ATmega16, ATmega161, ATmega162, ATmega32, ATmega64, ATmega128. Также VMLAB способен симулировать такие встроенные элементы, как:
ключ;
резистор;
переменный резистор;
конденсатор;
светодиод;
симулятор интерфейса RS-232;
жидкокристаллического индикатора;
клавиатуры 4x4;
пилообразный генератор;
монитор I2C
Кроме того, VMLAB поддерживает плату разработки STK500, которая допускает программирование всех устройств AVR.
1.2.3 Описание пользовательского интерфейса
Пользовательский интерфейс (рис. 1.1) состоит из рабочей области, панели инструментов и панели меню. На рабочей области могут быть расположены окна проектного файла, кодов, сообщений, осциллографа, регистров, памяти программ и др. Располагать эти окна в рабочей области можно в произвольном порядке. Панель инструментов имеет самый необходимый набор кнопок управления и не может быть модифицирована.
Рис. 1.1 Пользовательский интерфейс VMLAB
1.2.4 Команды меню
File
New (Ctrl+N) − создать новый файл и сделать окно активным
Open (Ctrl+O) – открыть файл в окне
Save (Ctrl+S) − сохранить файл активного окна на диск
Save All − сохранить все файлы Save As − сохранить файл текущего окна под новым именем
Reload − перезагрузить файл
Reload All − перезагрузить все файлы
Print (Ctrl+P) – печать активного текстового файла Print Preview – просмотреть активный текстовый файл перед печатью Print Setup – настройки принтера Exit (Alt+F4) – выход из программы
Edit
Undo (Ctrl+Z) – отменить последнее действие
Cut (Ctrl+X) – вырезать выделенный текст Copy (Ctrl+C) – скопировать в буфер выделенный текст
Paste (Ctrl+V) – вставить выделенный текст Clear (Del) − удалить выделенный текст
Select All (Ctrl+A) − выделить весь текст активного окна
Search
Find (Ctrl+F) − найти текст в текущем документе
Replace (Ctrl+R) − заменить найденный текст на другой
Next (F3) − продолжить поиск текста
Goto Line N (Ctrl+G) − перейти на линию с номером N
Toggle bookmark (Ctrl+B) − установить закладку
Find next bookmark (F2) − найти следующую закладку
Find previous bookmark (Shift+F2) − найти предыдущую закладку
Clear bookmark − очистить закладку
Find next error (Alt+F3) − найти следующую ошибку
Find previous error (Shift+F3) − найти предыдущую ошибку
Find execution point (Ctrl+E) − найти пункт выполнения
Find next breakpoint− найти следующую контрольную точку
Find previous breakpoint− найти предыдущую контрольную точку
Find in files –Grep- (Alt+G) − найти в файлах-Grep-
View
Project File (Alt+Shift+P) − сделать активным окно файла проекта
Code Notebook (Alt+Shift+N) − сделать активным окно кодов
Scope (Alt+Shift+S) − открыть окно осциллографа
Watch (Alt+Shift+W) − открыть окно наблюдения за программой и переменными
Messages (Alt+Shift+M) − открыть окно сообщений
Control Panel (Alt+Shift+C) − открыть панель управления
Registers/Flags (Alt+Shift+R) − открыть окно регистров и флагов
Data Memory (Alt+Shift+D) − открыть окно просмотра ОЗУ
Program Memory (Alt+Shift+G) − открыть окно программной памяти
EEPROM Memory (Alt+Shift+E) − открыть окно памяти данных EEPROM
Peripherals (Alt+Shift+L) − открыть окно периферийных устройств
I/O Ports (Alt+Shift+I) − открыть окно портов ввода-вывода
Project
AVR Wizard
New Project – создать новый проект Open Project – открыть проект Open Last Project – открыть последний проект
Close Project – закрыть текущий проект Autoload code files − автоматически открывать окно кодов
Unload components (Ctrl+U)
Build (F9)− ассемблировать текущий проект
Re-build all (Shift+F9) −восстановить все
Summary−резюме
Components
Resistor − вставить шаблон с описанием резистора
Capacitor − вставить шаблон с описанием конденсатора
LED diode − вставить шаблон с описанием светодиода
Key − вставить шаблон с описанием ключа
Comparator − вставить шаблон с описанием компаратора
A/D convertor− вставить шаблон с описанием АЦП
D/A convertor − вставить шаблон с описанием ЦАП
Inverter−вставить шаблон инвертора
V Sinewave− синусоидальный генератор напряжения
V Pulse− импульсный генератор напряжения
V Digital NRZ− цифровой генератор
TTY− визуальный компонент, обеспечивающий отделение окон TX/RX
LCD module − вставить шаблон с описанием ЖКИ-модуля
I2C monitor− вставить шаблон с описанием I2C-модуля
Keypad 4x4 − вставить шаблон с описанием клавиатуры матрицей 4 на 4
TTY2(big screen) − визуальный компонент, отличающийся от TTY только размерами окна
Multiprocess−мультипроцессорный режим
Create new−создать новый
Run
Go/Continue (F5) − запустить/продолжить выполнение программы
Pause (Shift+F5) − приостановить выполнение программы
Restart (light) (F8) − рестарт МК с сохранением текущих значений регистров, флагов и т.д.
Restart (deep) (Shift+F8) − полный рестарт МК в первоначальное состояние
Step over (F6) − пошаговый режим выполнения программы без входа в подпрограмму
Step into (F7) − пошаговый режим выполнения программы с входом в подпрограмму
Step out (Shift+F7) − пошаговый режим выполнения программы с входом в подпрограмму и с автоматическим выполнением команд
Run to Cursor (Ctrl+R)
Animate code − автоматический пошаговый режим
Multiprocess
Start 2nd VMLAB−запустить 2-ой VMLAB
Debug
Watch manager (F10) − открыть окно менеджера переменных
Remove watch − удалить переменную из окна наблюдения за переменными
Remove all watches − удалить все переменные из окна наблюдения за переменными
Toggle breakpoint (Ctrl+T) − установить точку останова
Remove all breakpoint − удалить все точки останова
Enable all breakpoint − использовать все точки останова
Disable all breakpoint − не использовать все точки останова
Show all breakpoint − показать все точки останова в окне сообщений
Tools
MSDOS Window−Окно MS-DOS
Calculator−калькулятор
File Explorer−исследователь Файла
External Editor−внешний Редактор
Window
Cascade − расположить окна каскадом
Tile − оптимально расположить окна
Split horizontal − деление по горизонтали активного окна с файлом на два одинаковых окна
Split vertical − деление по вертикали активного окна с файлом на два одинаковых окна
Usplit − отменить деление окна с файлом
Minimize all − минимизировать все окна
Close editors − закрыть окно файла проекта
Restore all − восстановить все окна
Help
Contents − справка по VMLAB
Using help − помощь по использованию справки VMLAB
WinAVR − справка по WinAVR
AVR assembler − справка по ассемблеру AVR