Мегаобучалка Главная | О нас | Обратная связь


Регистры управления прерываниями



2019-10-11 541 Обсуждений (0)
Регистры управления прерываниями 0.00 из 5.00 0 оценок




Четыре регистра предназначены для управления внешними прерываниями (регистры GIMSK и GIFR) и прерываниями от таймеров (регистры TIMSK и TIFR). Регистры масок GIMSK (общий регистр маски прерываний) и TIMSK (регистр маски прерываний от таймеров) используются при разрешения/запрещения отдельных прерываний, а регистры флагов GIFR (общий регистр флагов прерываний) и TIFR (регистр флагов прерываний от таймеров) содержат флаги, показывающие, произошло или нет соответствующее прерывание.

1.6.8.6 MCUCR (регистр управления микроконтроллером)

Регистр управления микроконтроллером (рисунок 1.9, таблицы П.5-П.7) расположен по адресу $35 ($55). Этот регистр содержит ряд флагов, используемых для общего управления микроконтроллером. Состав флагов, размещенных в регистре MCUCR, несколько меняется от модели к модели, соответственно в неко­торых моделях некоторые разряды не используются. Неиспользуемые раз­ряды регистра доступны только для чтения и содержат "0". Все используемые разряды регистра доступны как для чтения, так и для записи в любой момент времени. После сброса микроконтроллера во всех разрядах регистра записано "0".

 

Разряды 7 6 5 4 3 2 1 0 Модели
  - - SE SM - - ISC01 ISC 00

AT90S1200

AT90S/LS2323 AT90S/LS2343

Чтение(R)/Запись(W) R R R/W R/W R R R/W R/W
Начальное значение 0 0 0 0 0 0 0 0
  - - SE SM ISC11 ISC10 ISC01 ISCOO

AT90S2313

AT90S/LS2333 AT90S/LS4433

Чтение(R)/Запись(W) R R R/W R/W R/W R/W R/W R/W
Начальное значение 0 0 0 0 0 0 0 0
  SRE SRW SE SM ISC11 ISC10 ISC01 ISCOO

AT90S4414

AT90S8515

Чтение(R)/Запись(W) R/W R/W R/W R/W R/W R/W R/W R/W
Начальное значение 0 0 0 0 0 0 0 0
  - SE SM1 SM0 ISC11 ISC10 ISC01 ISCOO

AT90S/LS4434

AT90S/LS8535

Чтение(R)/Запись(W) R R/W R/W R/W R/W R/W R/W R/W
Начальное значение 0 0 0 0 0 0 0 0
  - - SE SM - ISC1 - ISCO

AT90S8534

Чтение(R)/Запись(W) R R R/W R/W R R/W R R/W
Начальное значение 0 0 0 0 0 0 0 0

Рисунок 1.9 – Регистр управления микроконтроллером MCUCR

 

 

MCUSR (регистр состояния микроконтроллера)

Регистр управления микроконтроллером расположен по адресу $34 ($54). Этот регистр содержит флаги, состояние которых позволяет опреде­лить причину, по которой произошел сброс микроконтроллера.

Способы адресации памяти данных

Все микроконтроллеры AVR семейства Classic, за исключением модели AT90S1200, поддерживают 8 способов адресации для доступа к различным областям памяти данных (РОН, РВВ, ОЗУ). Модель AT90S1200 в связи с отсутствием у нее встроенного ОЗУ и из-за наличия единственного индексного регистра поддерживает только 4 способа адресации из восьми. В действительности способов адресации всего два: прямая адресация и косвенная. Однако каждый способ адресации имеет несколько разновидностей в зависимости от того, к какой области памяти производится обращение (для прямой адресации) или какие дополнительные действия выполняются над индексным регистром (для косвенной адресации).

Система команд

Система команд AVR весьма развита и насчитывает до 133 различных инструкций. Почти все команды имеют фиксированную длину в одно слово (16 бит), что позволяет в большинстве случаев объединять в одной команде и код операции, и операнд(ы).

 

Рисунок 1.7 – Структурная схема AVR

 

Лишь немногие команды имеют размер в 2 слова (32 бит) и относятся к группе команд вызова процедуры CALL, длинных переходов в пределах всего адресного пространства JMP, возврата из подпрограмм RET и команд работы с памятью программ LPM.

Различают пять групп команд AVR: условного ветвления, безусловного ветвления, арифметические и логические операции, команды пересылки данных, команды работы с битами. В последних версиях кристаллов AVR семейства "mega" реализована функция аппаратного умножения, что придает новым микроконтроллерам еще больше привлекательности с точки зрения разработчика.

По разнообразию и количеству реализованных инструкций AVR больше похожи на CISC, чем на RISC процессоры. Например, у PIC-контроллеров система команд насчитывает до 75 различных инструкций, а у MCS51 она составляет 111. В целом, прогрессивная RISC архитектура AVR в сочетании с наличием регистрового файла и расширенной системы команд позволяет в короткие сроки создавать работоспособные программы с эффективным кодом как по компактности реализации, так и по скорости выполнения.


 

Средства разработки программного обеспечения AVR-контроллеров

 

Ассемблер

 

Как известно, наиболее эффективные программы получаются при использовании языка Ассемблер. Стоит, правда, отметить, что при этом также увеличивается сложность и время разработки программы. Для микроконтроллеров семейства AVR имеется свободно распространяемый транслятор ассемблера — wavrasm.

Транслятор ассемблера wavrasm преобразует команды в виде текстовых мнемоник (специальных сокращений) в закодированные в виде чисел-кодов команды микроконтроллеров. Полученный код можно использовать для работы совместно с отладчиком для проверки правильности работы программы. Также в результате работы транслятора можно получить так называемый файл прошивки, который используется программатором для занесения программы в память программ микроконтроллера.

Транслятор ассемблера работает в среде Microsoft Windows 3.11, Microsoft Windows 95/98 и NT. Кроме того, имеется версия ассемблера, работающая из командной строки MS-DOS. Она устанавливается одновременно с версией для Windows. Версия для Windows имеет встроенный полноэкранный текстовый редактор и справочную систему на английском языке.

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

Любая строка может начинаться с метки — строки из символов и (или) цифр, заканчивающейся двоеточием.

Метки используются для обозначения текущей строки некоторым именем (меткой) для использования в командах условного или безусловного перехода, а также для обозначения участка в памяти для обращения к данным.

Строка исходного текста может иметь один из следующих видов:

 

[метка:] директива [аргументы директивы] [комментарий]

[метка:] мнемоника команды [аргументы команды] [комментарий]

Комментарий

Пустая строка

Комментарии всегда начинаются с символа ";". Элементы, заключенные в квадратные скобки, могут отсутствовать. Текст, расположенный после символа «точка с запятой» до конца строки, полностью игнорируется ассемблером.

Примеры записи строк:

 

label 1: .EQU var1=100    ; Директива определения символьного

                                                 ; имени var1, эквивалентного записи "100"

.EQU var2=200 ; Определение имени var2, соответствующего "200"

test:     rjmp test        ;Бесконечный цикл (мнемоника команды МК)

; Пустая строка

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

Транслятор ассемблера позволяет использовать в тексте программы мнемоники (обозначения команд микроконтроллера), полностью совпадающие с их названием в системе команд микроконтроллера.

 



2019-10-11 541 Обсуждений (0)
Регистры управления прерываниями 0.00 из 5.00 0 оценок









Обсуждение в статье: Регистры управления прерываниями

Обсуждений еще не было, будьте первым... ↓↓↓

Отправить сообщение

Популярное:
Как вы ведете себя при стрессе?: Вы можете самостоятельно управлять стрессом! Каждый из нас имеет право и возможность уменьшить его воздействие на нас...
Как выбрать специалиста по управлению гостиницей: Понятно, что управление гостиницей невозможно без специальных знаний. Соответственно, важна квалификация...
Личность ребенка как объект и субъект в образовательной технологии: В настоящее время в России идет становление новой системы образования, ориентированного на вхождение...



©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (541)

Почему 1285321 студент выбрали МегаОбучалку...

Система поиска информации

Мобильная версия сайта

Удобная навигация

Нет шокирующей рекламы



(0.008 сек.)