Скачиваний:
177
Добавлен:
21.02.2014
Размер:
13.6 Mб
Скачать

Команды ветвления

Команды относительного перехода RJMP и вызова подпрограммы RCALL являются основными для изменения выполнения последовательности команд в МК. При этом содержимое программного счетчика изменяется на величину смещения, которое задается в 12 младших битах кода команды.

МК может выполнять команды ветвления по значению определенных битов в регистре состояния SREG. Поскольку номер бита и его значение должны быть указанны в коде команды, то диапазон возможных адресов перехода составляет +/- 63 относительно текущего адреса. Это означает, что применение команд условных ветвлений весьма ограничено, но эту проблему можно решить при помощи ветвления к команде, которая затем выполнит необходимый безусловный переход.

Еще один класс команд ветвления – это команды пропуска. После проверки указанного условия, данные команды либо выполняют следующую команду, либо пропускают ее.

Битовые команды и команды тестирования битов.

Команды сброса (очистки) и установки битов предназначены для модификации регистров ввода/вывода. Но некоторые из них могут работать только с частью регистров ввода/вывода. Это значит, что для некоторой части регистров ввода/вывода вы должны сначала переписать их содержимое в РОН, модифицировать, а затем снова сохранить в регистре ввода/вывода. Для выполнения этой процедуры можно написать специальную макрокоманду (макрос).

Часто необходимо переслать бит из одного регистра или переменной в другой. Это можно сделать следующим образом:

BST B,5 ;поместить бит 5 переменно В в бит Т регистра SREG

BLD A,2 ;сохранить бит Т регистра SREG в качестве бита А.2

Команда SWAP меняет местами старший и младший полубайт регистра. Это полезно когда вы храните в регистре две цифры, а не одно восьмибитовое число.

Команды сдвигов и циклических сдвигов LSL, LSR, ROL, ROR и ASR полезны как для выполнения сдвигов данных в процессе их ввода вывода, так и для проверки значения определенного бита в РОН без необходимости выполнения 8 отдельных операций тестирования битов. С помощью циклического сдвига можно произвести индивидуальную проверку любого бита в заданном месте байта.

3. Программное и инструментальное обеспечение процесса программирования микроконтроллеров

3.1. Написание и отладка программного кода с помощью avr Studio

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

Например пакет программ AVR Studio Version 3.53 (см. рис. 3.1.) является интегрированной средой разработки (ИСР) для МК серии AVR.[16] Этот программный продукт включает в себя:

  • встроенный редактор текста, для набора исходного кода программы,

  • транслятор с языка ассемблер,

  • программный симулятор ЦПУ, памяти и устройств ввода/вывода

  • поддержку внешних устройств, таких как – внутрисхемный эмулятор (ВСЭ) ICEPRO, ICE200 и программатора типа AVRISP и STK500/501.

Рис. 3.1. Главное окно AVR Studio.

Компания Atmel распространяет данный продукт совершенно бесплатно, что является огромным преимуществом в начале освоения программирования МК и изучении его архитектуры.

Как и в реальной ИСР, здесь вы можете легко писать исходный текст программы на ассемблере, подключить внешний компилятор для С, отлаживать текст написанной программы используя встроенный программный симулятор или подключить ВСЭ. И в конечном итоге вы можете запрограммировать свой МК программатором AVRISP или STK500/501.