Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Гарвардская RISC-архитектура в микроконтроллерах AVR. Средства ввода-вывода, хранения и обработки цифровой и аналоговой информации в микроконтроллерах

.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
406 Кб
Скачать

2

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ "ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ"

Кафедра автоматизированных систем управления

О. В. БОЛДЫРИХИН

Гарвардская RISC-архитектура в микроконтроллерах AVR. Средства ввода-вывода, хранения и обработки цифровой и аналоговой информации в микроконтроллерах AVR для построения микропроцессорных систем управления

МЕТОДИЧЕСКИЕ УКАЗАНИЯ к лабораторной работе

по дисциплине "Микропроцессорные системы"

Липецк Липецкий государственный технический университет

2013

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ "ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ"

Кафедра автоматизированных систем управления

О. В. БОЛДЫРИХИН

Гарвардская RISC-архитектура в микроконтроллерах AVR. Средства ввода-вывода, хранения и обработки цифровой и аналоговой информации в микроконтроллерах AVR для построения микропроцессорных систем управления

МЕТОДИЧЕСКИЕ УКАЗАНИЯ к лабораторной работе

по дисциплине "Микропроцессорные системы"

Заведующий кафедрой АСУ ______________ Качановский Ю. П.

Объем 2,3 п. л.

Тираж 100 экз.

Липецк Липецкий государственный технический университет

2013

2

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ "ЛИПЕЦКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ"

Кафедра автоматизированных систем управления

О. В. БОЛДЫРИХИН

Гарвардская RISC-архитектура в микроконтроллерах AVR. Средства ввода-вывода, хранения и обработки цифровой и аналоговой информации в микроконтроллерах AVR для построения микропроцессорных систем управления

МЕТОДИЧЕСКИЕ УКАЗАНИЯ к лабораторной работе

по дисциплине "Микропроцессорные системы"

Утверждаю к печати

Проректор по учебной работе ЛГТУ

 

______________ Ю. П. Качановский

 

______

______________

________

 

число

месяц

год

Объем 2,3 п. л.

Тираж 100 экз.

Липецк Липецкий государственный технический университет

2013

3

УДК 681.3.06(07)

Б791

Рецензент: канд. техн. наук, доцент Назаркин О. А.

Болдырихин, О. В.

Б791 Гарвардская RISC-архитектура в микроконтроллерах AVR. Средства ввода-вывода, хранения и обработки цифровой и аналоговой информации в микроконтроллерах AVR для построения микропроцессорных систем управления: методические указания к лабораторной работе по дисциплине "Микропроцессорные системы" [Текст] / О. В. Болдырихин. - Липецк : Изд-во ЛГТУ, 2013. - 39 с.

Методические указания соответствуют программе дисциплины "Микропроцессорные системы".

В данной лабораторной работе изучаются особенности Гарвардской RISC-архитектуры на примере восьмиразрядных микроконтроллеров семейства AVR компании Atmel в сравнении с рассмотренной ранее Принстонской CISC-архитектурой процессоров семейства x86, а также рассматриваются типичные встроенные средства микроконтроллеров для построения микропроцессорных систем.

Предназначены для студентов направлений "Информатика и вычислительная техника", "Программная инженерия", а также родственных направлений и специальностей.

Табл. 2. Ил. 7. Библиогр.: 2 назв.

© ФГБОУ ВПО "Липецкий государственный технический университет",

2013

4

Содержание

 

Цель работы и рассматриваемые вопросы................................................................

7

Теоретическая информация........................................................................................

8

Назначение микроконтроллера. Микроконтроллеры Atmel AVR .....................

8

Структура ассемблерного кода и система команд AVR .....................................

9

Характеристики микроконтроллера ATmega8535 .............................................

11

Назначение выводов микроконтроллера ATmega8535 .....................................

12

Управление микроконтроллером.........................................................................

14

CPU микроконтроллера ATmega8535 .................................................................

14

Память микроконтроллера ATmega8535 ............................................................

16

Ввод-вывод.............................................................................................................

19

Система прерываний .............................................................................................

20

Таймеры микроконтроллера ATmega8535 .........................................................

22

Последовательные интерфейсы микроконтроллера ATmega8535...................

24

Интерфейс SPI (Serial Peripheral Interface)......................................................

24

Интерфейс USART (Universal Synchronous and Asynchronous Receiver and

 

Transmitter) .........................................................................................................

25

Интерфейс TWI (Two-wire Serial Interface) ....................................................

28

Аналоговые средства микроконтроллера ATmega8535 ....................................

32

Порядок выполнения работы ...................................................................................

33

Задание 1. Общая структура и CPU микроконтроллера ...................................

33

Задание 2. Запоминающие устройства микроконтроллера...............................

35

Задание 3. Подсистема прерываний и таймеры .................................................

36

Задание 4. Последовательные интерфейсы и аналоговые средства

 

микроконтроллеров ...............................................................................................

38

Библиографический список......................................................................................

38

5

В дисциплине "Архитектура вычислительных систем" были изучены ос-

новные принципы устройства и функционирования компьютеров (архитектуры фон Неймана) на примере компьютеров с процессорами x86. Современные процессоры этого семейства имеют признаки Принстонской и Гарвардской,

CISC- и RISC-архитектуры. Однако на уровне системы команд в процессорах x86 особенности Гарвардской RISC-архитектуры не проявляются. Поэтому фактически в лабораторных работах по "Архитектуре вычислительных систем"

была рассмотрена Принстонская CISC-архитектура.

Для более полного понимания вопроса необходимо подробно рассмот-

реть Гарвардскую RISC-архитектуру. Это удобно сделать в дисциплине "Мик-

ропроцессорные системы" по следующей причине. По большому счету, прак-

тически все современные вычислительные системы являются микропроцессор-

ными. Однако чаще всего под микропроцессорными системами понимаются микропроцессорные системы управления. Поэтому основным понятием в дан-

ной дисциплине является не микропроцессор, а микроконтроллер. Большинство микроконтроллеров современных семейств имеют Гарвардскую RISC-

архитектуру. Среди них выделяется семейство микроконтроллеров Atmel AVR,

которое является достаточно распространенным и удобным для рассмотрения необходимых вопросов.

Проводимые исследования направлены на изучение особенностей Гар-

вардской RISC-архитектуры микроконтроллеров Atmel AVR в сравнении с изу-

ченной ранее Принстонской CISC-архитектурой x86, а также всех характерных средств, входящих в состав микроконтроллеров: запоминающих устройств,

портов ввода-вывода, таймеров, последовательных интерфейсов, аналогового компаратора и аналого-цифрового преобразователя.

В данной работе подготавливается база для построения микропроцессор-

ных систем на основе микроконтроллеров, а также для изучения более сложных устройств, таких как микроконтроллеры AVR32 и системы с архитектурой

ARM.

6

Цель работы и рассматриваемые вопросы

Цель работы — изучение структуры микроконтроллеров, особенностей Гарвардской RISC-архитектуры микроконтроллеров Atmel AVR в сравнении с изученной ранее Принстонской CISC-архитектурой x86, их системы команд и программирования, устройства и функционирования составных частей микро-

контроллеров: процессора, памяти, портов ввода-вывода, таймеров, последова-

тельных интерфейсов, аналоговых средств.

Рассматриваемые вопросы:

1.Структура микроконтроллера ATmega8535.

2.CPU микроконтроллеров AVR.

3.Регистры общего назначения и регистры ввода-вывода.

4.Организация стека.

5.Система команд микроконтроллеров AVR.

6.Способы адресации в микроконтроллерах AVR.

7.Формат регистра флагов и влияние команд на флаги.

8.Структура адресного пространства памяти данных.

9.Оперативная память данных SRAM.

10.Постоянная память данных EEPROM.

11.Постоянная память команд.

12.Порты ввода-вывода.

13.Система прерываний.

14.Таймеры микроконтроллера ATmega8535.

15.Регистры таймеров.

16.Режимы работы таймеров.

17.Последовательные интерфейсы.

18.Аналоговые средства микроконтроллера.

7

Теоретическая информация

Назначение микроконтроллера. Микроконтроллеры Atmel AVR

Микроконтроллер — это интегральная схема, которая содержит все необ-

ходимые элементы компьютера: процессор, память, порты ввода-вывода, тай-

меры и т. д. Вначале для этого типа микросхем использовались термины "мик-

рокомпьютер" и "однокристальная микро-ЭВМ". Термин "микроконтроллер"

появился позже, по причине того, что эти устройства стали в основном приме-

няться для управления какими-либо процессами и объектами. Сейчас они име-

ют повсеместное применение в промышленности, транспорте, связи, бытовой электронике и т. д.

На основе микроконтроллера может быть создано любое электронное устройство. Явно прослеживается следующая параллель. Микропроцессор — альтернатива жесткой логике, универсальное устройство для построения циф-

ровых электронных устройств. Микроконтроллер — альтернатива жесткой электронике, универсальное устройство для построения и цифровых, и анало-

говых электронных устройств. Электронные схемы с использованием микро-

контроллеров являются более компактными, надежными, гибкими и универ-

сальными. Микроконтроллер можно рассматривать как мост между микропро-

цессорной техникой и электроникой.

В настоящее время имеется огромное количество семейств и моделей микроконтроллеров различных производителей. Среди них выделяется семей-

ство микроконтроллеров AVR компании Atmel.

Архитектура микроконтроллеров AVR может быть классифицирована как Гарвардская RISC-архитектура. Они имеют раздельную память команд и дан-

ных. Система команд у разных моделей микроконтроллеров AVR включает от

89 до 130 команд, которые в большинстве своем выполняются за один такт,

благодаря наличию простого одноуровневого конвейера, включающего всего две стадии: выборки и исполнения.

8

Структура ассемблерного кода и система команд AVR

Общая форма строки исходного кода на ассемблере AVR такова: [метка:] .директива [операнды] [;комментарий]

или

[метка:] инструкция [операнды] [;комментарий]

Информация в скобках необязательна. Однако строка может состоять из одного комментария. Метка также может быть одна в строке, и тогда она отно-

сится к нижеследующей ближайшей строке с инструкцией или директивой.

Метка заканчивается двоеточием.

Директива — это указание ассемблеру. Директива предваряется точкой.

Инструкция — это команда процессора.

Компилятор позволяет использовать в программе выражения, которые могут состоять из операндов, операторов и функций.

Система команд микроконтроллеров AVR включает [1]:

1. Арифметические и логические команды: сложение и вычитание с перено-

сом и без переноса, все логические операции, изменение знака, установка и сброс регистра или отдельных битов, инкремент и декремент, проверка на ноль или отрицательность, несколько видов умножения.

2. Команды ветвления: абсолютный, относительный и косвенный переходы и вызовы подпрограммы, возвраты из подпрограммы и прерывания, относи-

тельные условные переходы по 16 условиям (8 флагов умножить на два зна-

чения), пропуски команд по условию установки или сброса определенного бита в порту или регистре, сравнения двух регистров с переносом и без него или регистра и константы, а также сравнения двух регистров и пропуска ко-

манды в случае их равенства.

3. Команды передачи данных: перемещение, непосредственная, прямая и кос-

венная загрузка, прямое и косвенное размещение, косвенная загрузка и раз-

мещение с пост-инкрементом или пре-декрементом, косвенная загрузка и размещение со смещением, загрузка и размещение в программной памяти,

9

возможно с пост-инкрементом, ввод и вывод, помещение в стек и извлечение из стека.

4. Команды битовых операций: логические и циклические через перенос сдви-

ги влево и вправо, арифметический сдвиг вправо, перестановка тетрад, уста-

новка и сброс флагов и битов в порту, сохранение и загрузка битов в регистре из флага T.

5. Команды управления микроконтроллером: отсутствие операции, переход в спящий режим, сброс сторожевого таймера.

Пример программы:

;y=ax+b — вычисление линейной функции

;вход x - PINB

;выход y - PORTC, PORTA

.include "m8535def.inc"

.equ a = 2

 

 

.equ b = 0x2E

 

 

.cseg

 

 

 

.org 0

 

 

 

init:

ldi r16, 0xFF

 

 

 

out DDRC, r16

;порт C на выход

 

out DDRA, r16

;порт A на выход

 

ldi r16, 0x00

 

 

 

out DDRB, r16

;порт B на вход

;стек будет в конце оперативной памяти

 

ldi r16, low(RAMEND)

 

out spl, r16

 

 

 

ldi r16, high(RAMEND)

 

out sph, r16

 

 

main: in r0, PINB

 

;r0=x

 

ldi r16, b

 

 

 

push r16

 

 

 

ldi r16, a

 

 

 

push r16

 

 

 

rcall lnrf

 

 

 

out PORTA, r0

;PORTA=low(y)

 

out PORTC, r1

;PORTC=high(y)

 

rjmp main

 

 

lnrf:

pop r17

 

 

 

pop r16

 

 

 

pop r1

;r1=a

 

 

mul r1, r0

 

;r1:r0=ax

 

pop r2

;r2=b

 

 

add r0, r2

 

r0=low(ax+b)

10

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]