Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Лекция 9




Стек

 

Стек – это электронная структура данных, которая функционирует аналогично своей физической копии – стопки бумаг. Когда что-либо помещается в стек, то оно остается там до тех пор, пока не будет вынуто обратно. Представьте разноцветные листы бумаги, которые укладываются в стопку один на другой. Когда листы удаляются, то происходит их перемещение в обратном порядке. По этой причине стек иногда называют очередью типа LIFO (Last In. First Out) – «последний пришел, первый ушел».

Во всех микроконтроллерах семейства Mega стек реализован программно. Он размещается в памяти данных, и его глубина определяется только размером свободной области памяти данных. В качестве указателя стека во всех моделях используется пара регистров ввода/вывода SPH: SPL, расположенных по адресам $ЗЕ ($5Е) и $3D ($5D) соответственно. Так как после подачи напряжения питания (или после сброса) в регистрах содержится нулевое значение, в самом начале программы указатель стека необходимо проинициализировать, записав в него значение верхнего адреса памяти данных. Обычно это делается следующим образом:

 

ldi r16,low(RAMEND); Загрузим в рабочий регистр младший байт

; значения

out SPL,rl6; Инициализируем указатель стека

ldi rl6,high(RAMEND); Загрузим в рабочий регистр старший байт

; значения

out SPH,r16; Инициализируем указатель стека

 

При вызове подпрограмм адрес команды, расположенной за командой вызова, сохраняется в стеке. Значение указателя стека при этом уменьшается на 2 или 3, в зависимости от размера счетчика команд. При возврате из подпрограммы этот адрес извлекается из стека и загружается в счетчик команд. Значение указателя стека соответственно увеличивается на 2 или 3. То же происходит и во время прерывания. При генерации прерывания адрес следующей команды сохраняется в стеке, а при возврате из подпрограммы обработки прерывания он восстанавливается из стека.

Во всех моделях микроконтроллеров семейства Mega стек доступен программно. Для работы со стеком имеются две команды: команда занесения в стек (PUSH) и команда извлечения из стека (POP).

.include "C:\Program Files\Atmel\AVR Tools\AvrAssembler2\Appnotes\m8def.inc"

.def temp=r16

. org 0x0000

 

ldi temp,low(RAMEND)

out spl,temp

ldi temp,high(RAMEND)

out sph,temp

ldi r18, 0x03

out ddrb, r18

ldi r18,0x00

out portb,r18

 

; rcall time

 

Заключение

 

Данное методическое пособие представляет собой справочное руководство по однокристальным микроконтроллерам AVR семейства Mega фирмы ATMEL. В пособии рассмотрена архитектура микроконтроллеров AVR семейства Mega, ее особенности, подробно описано внутреннее устройство микроконтроллеров, описаны различия между архитектурами CISC и RISC, а также между Гарвардской и Принстонской архитектурами.

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

 

 

 

 

 

 

Вопросы для самоконтроля

1. Назовите основные блоки кристалла микроконтроллера?

2. Укажите основные отличия архитектур CISC и RISC?

3. Назовите особенности Гарвардской и Принстонской архитектур?

4. Назовите преимущества архитектуры Фон Неймана?

5. Особенности микроконтроллеров семейства Mega (какова технология изготовления, архитектура и характеристики процессора)?

6. Какова организация памяти микроконтроллеров семейства Mega? Назовите особенности.

7. Что представляет собой память программ микроконтроллера?

8. На какие части разделена память данных микроконтроллеров семейства Mega? Что включает каждая из частей?

9. Какие команды выполняют пересылку данных между одним из РОН и пространством ввода/вывода?

10. Назовите способы адресации памяти данных.

11. Назовите разновидности каждого способы адресации. В чем заключается каждый их них?

12. Какие регистры используются для работы с EEPROM-памятью?

13. Опишите этапы записи одного байта в EEPROM-память?

14. Что представляет собой счетчик команд?

15. Какая обработка команд используется во всех микроконтроллерах AVR (назовите особенности)?

16. Назовите назначение команд условного перехода?

17. Какие команды относятся к командам безусловного перехода в микроконтроллерах семейства Mega?

18. Назовите команды вызова подпрограмм для микроконтроллеров семейства Mega? Опишите каждую.

19. Назовите команды возврата из подпрограмм?

20. Что представляет собой стек? Какие команды используются для работы со стеком?




Поделиться с друзьями:


Дата добавления: 2015-07-13; Просмотров: 185; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.011 сек.