Контрольная работа: Программирование микроконтроллера

LD Rr, Y ;

LDRr, Z ,

где X, Y, Z – 16-ти разрядные регистры для хранения адреса ячейки ОЗУ, из которой пересылаются данные. Каждый из этих регистров имеет в своем составе два РОНа. Структура регистров представлена в таблице 3.

Таблица 3

16-ти разрядный регистр Младший разряд Старший разряд
X R26 R27
Y R28 R29
Z R30 R31
РОН

· Перед использованием команды LD адрес ячейки ОЗУ должен быть предварительно записан в соответствующий регистр, который используется в команде.

· Для прямой адресации данных из РОНов в ОЗУ используем команду STSn, Rr , где n – адрес ячейки ОЗУ.

· Для косвенной адресации данных из РОНов в ОЗУ используем команду

ST X, Rr ;

ST Y, Rr ;

STZ, Rr .

· Адрес ячейки ОЗУ должен быть предварительно записан в один из регистров X, Y, или Z.

· Для выполнения операции сложения используем команду ADDRa, Rb , где a, b – номера регистров, где хранятся операнды (a=0…31, b=0…31). Результат будет записан в регистр Ra.

· Для уменьшения содержимого регистра на единицу используем команду DECRr .

· Для выполнения требуемой в задании операции сравнения используем команду CPSERa, Rb .

· Команда сравнивает содержимое регистров Ra, Rb, и в случае равенства пропускает следующую команду.

· Для вызова подпрограммы используем команду CALL .

· Для выхода из подпрограммы и возврата в программу используем команду RET .

· В подпрограмме для сохранения содержимого регистра Rr в стеке используем команду PUSHRr .

· Для извлечения из стека в регистр Rr используем команду POPRr.

· При этом учитываем то, что данные должны извлекаться из стека в порядке, обратном загрузке – «последний вошел – первый вышел».

· Для «зацикливания» программы используем команду RJMP.

Текст программы.

Инициализация указателя стека:

Адрес стека 10F1, для его задания в регистр SPL помещаем младший байт ; F6, в регистр SPH – старший 10.

· LDIR20, $F1 ; загрузка регистра R20 младшим байтом адреса начала стека

· OUTSPL, R20 ; загрузка младшего байта указателя стека из регистра

· LDIR20, $10 ; загрузка регистра R20 старшим байтом адреса начала стека

· OUTSPH, R20 ; загрузка старшего байта указателя стека из регистра

Выполнение сложения чисел 17, 5 и 67:

К-во Просмотров: 170
Бесплатно скачать Контрольная работа: Программирование микроконтроллера