- •Часть 1
- •Содержание
- •Исследование системы команд микроконтроллеров семейства avr и средств поддержки разработок avr-Studio и WinAvr
- •2.2. Системы поддержки разработок для микроконтроллеров avr
- •2.3. Описание компилятора ассемблера avr
- •3. Создание программ в avr-Studio и WinAvr
- •3.1. Создание простейшей программы и её отладка средствами avr-Studio
- •3.2. Создание простейшей программы и её отладка средствами WinAvr
- •4. Программа исследования
- •5. Содержание отчета
- •1.6. Контрольные вопросы
- •Построение микропроцессорной системы на основе микроконтроллера семейства avr
- •2.2.2. Использование внешнего озу
- •3. Пример построения схемы мпс
- •3.1. Постановка задачи
- •3.2. Организация шины адреса
- •3.3. Организация шины данных
- •3.5. Организация подсистемы впд
- •3.6. Подключение периферийных микросхем (внешних устройств) в адресное пространство внешней памяти
- •4. Программа исследования
- •4.1. Внеаудиторная подготовка
- •4.2. Выполнение работы в лаборатории
- •4.3. Задание на исследование
- •5. Содержание отчета
- •6. Контрольные вопросы
- •Исследование функционирования мпс на примере стенда can128
- •2.2. Запись в и чтение из flash памяти микроконтроллера с помощью ponyprog и макета can128.
- •3. Описание лабораторной установки
- •4. Задание на лабораторную работу
- •5. Содержание отчёта
- •6. Контрольные вопросы
- •Исследование вывода информации на жидкокристаллический индикатор
- •2.2. Способы управления bc1602h
- •3. Описание лабораторной установки
- •3. Задание на исследование
- •4. Содержание отчёта
- •5. Контрольные вопросы
- •Библиографический список
- •Приложение а (обязательное) Варианты индивидуальных заданий на лабораторную работу №1
- •Приложение б (обязательное) Текст учебной программы на ассемблере для лабораторной работы №3
- •Приложение в (справочное) Пример программы для вывода на жки
М
инистерство
образования и науки, молодежи и спорта
Украины
Севастопольский национальный технический
у
ниверситет
МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ
Методические указания
к выполнению лабораторных работ по дисциплине «Проектирование микропроцессорных систем» для студентов дневной и заочной формы обучения направления 6.050102–“Компьютерная инженерия”
Часть 1
Севастополь
2012
УДК 004.2:004.3:004.4'23
Микропроцессорные системы: Методические указания к выполнению лабораторных работ по дисциплине «Проектирование микропроцессорных систем» для студентов дневной и заочной формы обучения направления 6.050102–“Компьютерная инженерия”. Часть 1./ Сост. Тарасова А.В., Бобылев С.Н., Волкова Т.В. – Севастополь: Изд-во СевНТУ, 2012. – 48с.
Целью методических указаний является оказание помощи студентам в подготовке и выполнению цикла лабораторных работ по дисциплине «Проектирование микропроцессорных систем». В первую часть методических указаний включены лабораторные работы, целью которых является ознакомление студентов с микропроцессорными устройствами, принципами построения микропроцессорных систем на базе микроконтроллеров, с аппаратными и программными средствами поддержки разработок микропроцессорных систем, с принципами ввода/вывода информации в микропроцессорных системах. Указания предназначены для студентов дневной и заочной форм обучения направления 6.050102 — «Компьютерная инженерия».
Методические указания рассмотрены и утверждены на заседании кафедры Кибернетики и вычислительной техники (протокол № 1 от 25 апреля 2012 г.).
Допущено учебно-методическим центром и научно-методическим советом СевНТУ в качестве методических указаний.
Рецензент: В.С. Чернега, канд. техн. наук, доцент.
Содержание
1. Лабораторная работа №1………………………………………………………..4
2. Лабораторная работа №2………………………………………………………16
3. Лабораторная работа №3………………………………………………………26
4. Лабораторная работа №4………………………………………………………32
Библиографический список………………………………………………………40
Приложение А (обязательное). Варианты индивидуальных заданий на
лабораторную работу №1………………………………………………………...41
Приложение Б (обязательное). Текст учебной программы на ассемблере
для лабораторной работы №3.………………………………………………….. 44
Приложение В (справочное). Пример программы для вывода на ЖКИ.……..47
1. ЛАБОРАТОРНАЯ РАБОТА №1
Исследование системы команд микроконтроллеров семейства avr и средств поддержки разработок avr-Studio и WinAvr
1. Цель работы
Исследование основных архитектурных особенностей микроконтроллеров семейства AVR, системы команд, языков Ассемблера и С для микроконтроллеров AVR, приобретение навыков работы в AVR-studio и WinAVR. Исследование процесса выполнения команд в микроконтроллерах AVR.
2. Теоретическое введение
2.1. Система команд микроконтроллеров AVR
Система команд микроконтроллеров AVR весьма развита и насчитывает в различных моделях от 90 до 133 различных инструкций. Несмотря на то, что микроконтроллеры AVR являются микроконтроллерами с RISC-архитектурой (процессор с сокращенным набором команд), по количеству реализованных инструкций и их разнообразию они больше похожи на микроконтроллеры с CISC-архитектурой (процессор с полным набором команд). Практически каждая из команд (за исключение команд, у которых один из операндов является 16-разрядный адрес) занимает только одну ячейку памяти программ. Причем это достигнуто не за счет уменьшения набора команд процессора, а за счет увеличения разрядности памяти программ.
Программа для любого микроконтроллера представляет собой последовательность команд, записанных в памяти программ. Большинство команд при выполнении изменяют содержимое одного или нескольких регистров общего назначения, регистров ввода/вывода или ячеек ОЗУ.
Для обращения к областям адресного пространства памяти данных используются различные команды, реализующие, в свою очередь, разные способы адресации. Подробно способы адресации рассмотрены в [1, 2, 3].
Память программ микроконтроллеров AVR семейств Tiny, Mega и Classic является 16-разрядной. Соответственно большинство команд занимают 16-разрядное слово, которое называется также кодом операции (КОП). Код операции – это число, расположенное в памяти программ и определяющее действие, которое необходимо произвести между источником и приемником. Часть команд, у которых один из операндов является 16-разрядным адресом, занимают две ячейки памяти программ. Соответственно, такие команды является 4-байтными.
В ряде случаев значение операнда может содержаться непосредственно в команде, а не в регистре. Это происходит в том случае, когда операндом является константа. Виды операндов представлены в таблице 1.1.
Все множество команд микроконтроллеров AVR семейств Tiny, Mega и Classic можно разбить на несколько групп:
команды логических операций;
команды арифметических операций и команды сдвига;
команды операций с битами;
команды пересылки данных;
команды передачи управления;
команды управления системой.
Каждая из групп команд подробно описана в [1, 2, 3], там также приведены сводные таблицы команд.
Таблица 1.1 – Виды операндов
Операнд |
Описание |
Rd |
Результирующий (и исходный) регистр в регистровом файле |
Rr |
Исходный регистр в регистровом файле |
b |
Константа (3 бита), может быть константное выражение, для обозначения разряда РВВ |
s |
Константа (3 бита), может быть константное выражение, для обозначения разряда SREG |
P |
Константа (5-6 бит), может быть константное выражение |
K6 |
Константа (6 бит), может быть константное выражение |
K8 |
Константа (8 бит), может быть константное выражение |
k |
Константа (размер зависит от инструкции), может быть константное выражение, для обозначения разряда РОН |
q |
Константа (6 бит), может быть константное выражение, обозначающее смещение |
Rdl |
R24, R26, R28, R30. Для инструкций ADIW и SBIW |
X,Y,Z |
Регистры косвенной адресации (X=R27:R26, Y=R29:R28, Z=R31:R30) |
