Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МУ_ПМПС.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
16.39 Mб
Скачать

51

М инистерство образования и науки, молодежи и спорта Украины

Севастопольский национальный технический

у ниверситет

МИКРОПРОЦЕССОРНЫЕ СИСТЕМЫ

Методические указания

к выполнению лабораторных работ по дисциплине «Проектирование микропроцессорных систем» для студентов дневной и заочной формы обучения направления 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)