- •Кузнецов в.Н., Лисютченков с.Н. Цифровые и микропроцессорные устройства
- •Часть 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 Контрольные вопросы
- •Приложение
- •Список литературы
Листинг проектного файла №9
;; ************************************************************
; PROJECT:
; AUTHOR:
; ************************************************************
; Micro + software running
; ------------------------------------------------------------
.MICRO "ATmega128"
.PROGRAM "laba7.asm"
.TARGET "laba7.hex"
.TRACE
.POWER VDD=5 VSS=0 ;Задание напряжения питания 5 В
.CLOCK 4meg ;Задание тактовой частоты работы микроконтроллера
.STORE 250m ;Время регенерации сигнала осциллографа
K0 PE0 n1 ;Подсоединить клавишу "0" между выводом PD0 и точкой n1
K1 PE0 n2 ;Подсоединить клавишу "1" между выводом PE0 и ;точкой n2
K2 PE0 n3 ;Подсоединить клавишу "2" между выводом PE0 и ;точкой n3
K4 PE1 n1 ;Подсоединить клавишу "4" между выводом PE1 и ;точкой n1
K5 PE1 n2 ;Подсоединить клавишу "5" между выводом PE1 и ;точкой n2
K6 PE1 n3 ;Подсоединить клавишу "6" между выводом PE1 и ;точкой n3
K8 PE2 n1 ;Подсоединить клавишу "8" между выводом PE2 и ;точкой n1
K9 PE2 n2 ;Подсоединить клавишу "9" между выводом PE2 и ;точкой n2
KA PE2 n3 ;Подсоединить клавишу "A" между выводом PE2 и ;точкой n3
KC RESET GND ;Подсоединить клавишу "C" между выводом RESET и GND
KD PE3 n2 ;Подсоединить клавишу "D" между выводом PE3 и ;точкой n2
KE PE3 n3 ;Подсоединить клавишу "E" между выводом PE3 и ;точкой n3
R1 PE4 n1 0.001k ;Замкнуть вывод PE4 и точку n1
R2 PE5 n2 0.001k ;Замкнуть вывод PE5 и точку n2
R3 PE6 n3 0.001k ;Замкнуть вывод PE6 и точку n3
R4 n1 VDD 5k ;Соединить резистор R4 между точкой n1 и VDD
R5 n2 VDD 5k ;Соединить резистор R5 между точкой n2 и VDD
R6 n3 VDD 5k ;Соединить резистор R6 между точкой n3 и VDD
.PLOT v(PD4) v(PB5)
9.3 Порядок выполнения лабораторной работы на симуляторе
Запустить симулятор VMLAB 3.12.
Создать новый проект с именем “Project9.prj”.
В окно кодов ввести листинг программы №9.
В окно файла проекта ввести листинг проектного файла №9.
Запустить программу на ассемблирование командой Project/Build (F9).
Выполнить программу в автоматическом режиме командой Go/Continue (F5) из меню Run.
Открыть панель управления через View/Control Panel (Alt+Shift+C).
Нажать одну из клавиш “0”, “1”, “2”, “4”, “5”, “6”, “8”, “9”, “A”, “D”, а затем клавишу ввода “E”.
В окне осциллографа (View/Scope (Alt+Shift+S)) пронаблюдать изменение сигналов во времени. Измерить частоту сигнала на выводе PD4 и длительность ШИМ-сигнала на – PB5 Сравнить полученное значение с табличным (см. таблицу 9.18).
Открыть окно периферийных устройств через меню View/Peripherals (Alt+Shift+L) и пронаблюдать за изменением значений счетных регистров таймеров Timer0 и Timer1.
Сбросить МК клавишей “С”.
12. Повторить пункты 5−8.
13. В соответствии с вариантом выполнить самостоятельное задание (см. таблицу 9.20).
14. Для сохранения проекта выполнить команду File/Save all.
15. Для выхода из среды разработки VMLAB 3.12 выполнить команды File/Exit (Alt+F4).
На эмуляторе
Отладить предложенную программу (см. листинг программы №9). Получить машинный код программы в файле Project9.hex.
Кабелем подключения соединить эмулятор с разъемом LPT компьютера.
Включить сетевой тумблер на эмуляторе.
Запустить программатор Pony Prog.
Произвести калибровку устройства через меню Установки/Калибровка.
Настроить интерфейс в меню Установки/Настройки.
Выбрать тип МК ATmega128 через Устройство/AVRmicro/ATmega128.
Стереть содержимое МК через меню Команды/Стереть.
Выбрать через меню Файл/Открыть файл программы (FLASH) оттранслированную программу Project.hex.
Записать программу через меню Команды/Записать программу (FLASH).
Выйти из Pony Prog (Файл/Выход).
Сбросить МК в начальное состояния клавишей “Сброс”.
Задать параметры выходных сигналов нажатием одной из цифровой клавиши. Для окончания ввода нажать клавишу “Ввод”.
Соединить осциллограф клеммой “Земля” с контактом 3 (“Земля”) разъема X3 эмулятора, а другую клемму − с контактом 1 того же разъема. Пронаблюдать и измерить частоту сигнала. Сравнить полученное значение с табличным (см. таблицу ).
Клемму “Земля” соединить с тем же контактом 3 разъема X3, а другую клемму − с контактом 2. Пронаблюдать и измерить длительность сигнала. Сравнить полученное значение с табличным (см. таблицу ).
Повторить пункты 12−15.
В соответствии с вариантом выполнить самостоятельное задание (см. таблицу 9.20).