МИКРОКОНТРОЛЛЕР AVR - Страница 69

МИКРОКОНТРОЛЛЕР AVR - МИКРОКОНТРОЛЛЕР AVR

Последнее, что следует учитывать при знакомстве с набором команд AVR — это различие между «полноценными» старшими моделями AVR серии AVR 8515 и их младшими моделями серии AVR 1200. Младшие модели контроллеров реализуют часть полного набора команд AVR, в которых доступен только один индексный регистр Z. Хотя при переносе программы с младших моделей на старшие вряд ли возникнут проблемы, они весьма вероятны при переносе программ в обратном направлении. Даже с учетом всех этих предостережений, мне кажется, что AVR - это микроконтроллер очень простой для программирования благодаря богатству набора команд и особенностям его структуры, которые облегчают процесс программирования.

Команды пересылки данных AVR

Пересылка данных из одного места в другое является для AVR очень простой операцией, так как имеется большое количество команд, предназначенных для выполнения этой задачи. Многие из них хорошо подходят для реализации языков высокого уровня, как уже отмечалось в предыдущих главах. В старших моделях AVR серии 8515 планирование того, как надо хранить данные и производить обмен между РОН и памятью SRAM, очень важно для создания хорошей программы. Ни одна из команд пересылки данных не оказывает влияния на биты регистра состояния. Это означает, что для проверки значения данных после этих команд надо выполнить команду «tst» для соответствующей установки флагов нуля и отрицательного результата в регистре состояния SREG. Первой будет рассмотрена команда «mov» (команда 36.1), которая копирует содержимое одного регистра общего назначения в другой. Команда «ldi» (команда 36.2) используется для загрузки в регистр значения константы. Наряду с командой «mov» эта команда является базовой при создании программ, простых для выполнения. Команда «ldi» загружает в один из 16-ти старших РОН байт, содержащийся в команде. Она служит для записи произвольных констант в регистры общего назначения.

Go to Top