рефераты

рефераты

 
 
рефераты рефераты

Меню

Реферат: AVR микроконтроллер AT90S2333 фирмы Atmel рефераты

Примечание: Для совместимости с другими устройствами, зарезервирован­ные биты при записи необходимо устанавливать в "0". Данные в зарезервированные ячейки памяти записывать нельзя.

Набор команд

Мнемоника Операнды Описание Действие Флаги Цкл
Арифметические команды
ADD Rd, Rr Сложить два регистра Rd<Rd+Rr Z,C,N,V,H 1
ADC Rd, Rr Сложить с переносом Rd<Rd+Rr+C Z,C,N,V,H 1
ADIW Rdl,K Сложить слово с константой Rdh,l<Rdh,l+K Z,C,N,V,S 2
SUB Rd, Rr Вычесть два регистра Rd<Rd-Rr
SUBI Rd, K Вычесть константу Rd<Rd-K
SBIW Rdl,K Вычесть слово с константой Rdh,l<Rdh,l-K
SBC Rd, Rr Вычесть с переносом Rd<Rd-Rr-C
SBCI Rd, K Вычесть с переносом Rd<Rd-K-C
AND Rd, Rr Логическое И Rd<Rd AND Rr
ANDI Rd, K Логическое И Rd<Rd AND K
OR Rd, Rr Логическое ИЛИ Rd<Rd OR Rr
ORI Rd, K Логическое ИЛИ Rd<Rd OR K Z,N,V 1
EOR Rd, Rr Исключающее ИЛИ Rd<Rd XOR Rr Z,N,V 1
COM Rd Дополнение до 1 Rd<$FF - Rd Z,C,N,V 1
NEG Rd Дополнение до 2 Rd<$00 - Rd Z,C,N,V,H 1
SBR Rd,K Установ. бита в регистре Rd<Rd OR K Z,N,V 1
CBR Rd,K Сброс. бита в регистре Rd<RdAND(FFh-K) Z,N,V 1
INC Rd Увеличить на 1 Rd<Rd+1 Z,N,V 1
DEC Rd Уменьшить на 1 Rd<Rd-1 Z,N,V 1
TST Rd Проверить на 0 или  1 Rd<Rd AND Rd Z,N,V 1
CLR Rd Очистить регистр Rd<Rd XOR Rd Z,N,V 1
SER Rd Установить регистр Rd<$FF None 1
КОМАНДЫ ВЕТВЛЕНИЯ
RJMP k Относительный переход PC<PC+k+1 None 2
LJMP Переход по адресу (Z) PC<Z None 2
RCALL k Относительный вызов подпрогрограммы PC<PC+k+1 None 3
ICALL Вызов подпр по адресу (Z) PC<Z None 3
RET Выход из подпрограммы PC<STACK None 4
RETI Выход из прерывания PC<STACK I 4
CPSE Rd,Rr Сравнить , пропуск если Rd=Rr if(Rd=Rr)  PC<PC+2 или 3 None 1/2
CP Rd,Rr Сравнить Rd-Rr Z,N,V,C,H 1
CPC Rd,Rr Сравнить с переносом Rd-Rr-C Z,N,V,C,H 1
CPI Rd,K Сравнить с константой Rd-K
SBRC Rr,b Пропуск если бит в регистре сброшен if(Rr(b)=0) None 1/2
SBRS Rr,b Пропуск если бит в регистре установлен if(Rr(b)=1) None 1/2
SBIC P, b Пропуск если бит в регистре I\O сброшен if(P(b)=0) None 1/2
SBIS P, b Пропуск если бит в регистре I\O установлен if(P(b)=1) None 1/2
BRBS s, k Переход если установл флаг s if(SREG(s)=1) None 1/2
BRBC s, k Переход если сброшен  флаг s if(SREG(s)=0) None 1/2
BREQ k Переход если равно Z=1 if(Z=1) None 1/2
BRNE k Переход если неравно   if(Z=0) if(Z=0) None 1/2
BRCS k Переход если установл перенос if(C=1) None 1/2
BRCC k Переход если сброшен перенос if(C=0) None 1/2
BRSH k Переход если равно или больше if(C=0) None 1/2
BRLO k Переход если меньше if(C=1) PC<PC+k+1 None 1/2
BRMI k Переход если минус if(N=1) PC<PC+k+1 None 1/2
BRPL k Переход если плюс if(N=0) PC<PC+k+1 None 1/2
BRGE k Переход если больше или равно,со знаком if(N XOR V=0) PC<PC+k+1 None 1/2
BRLT k Переход если меньше нуля, со знаком if(N XOR V=1) PC<PC+k+1 None 1/2
BRHS k Переход если установл флаг H if (H=1) PC<PC+k+1 None 1/2
BRHC k Переход если сброшен   флаг H if (H=0) PC<PC+k+1 None 1/2
BRTS k Переход если установл флаг T if (H=1) PC<PC+k+1 None 1/2
BRTC k Переход если сброшен  флаг T if (H=0) PC<PC+k+1 None 1/2
BRVS k Переход если установл флаг V if (H=1) PC<PC+k+1 None 1/2
BRVC k Переход если сброшен   флаг V if (H=0) PC<PC+k+1 None 1/2
BRIE k Переход если разрешены прерывания if(I=1) PC<PC+k+1 None 1/2
BRID k Переход если запрещены прерывания if(I=1) PC<PC+k+1 None 1/2
КОМАНДЫ ПЕРЕСЫЛКИ
MOV Rd,Rr Пересылка между рег. Rd<Rr None 1
LDI Rd,K Загрузить константу Rd<K None 1
LD Rd,X Загрузить регистр непосредственно Rd<(X) None 2
LD Rd,X+ Загрузить регистр непосредст. c постинкрем Rd<(X),X<X+1 None 2
LD Rd,-X Загрузить регистр непоср. с предв.декрем X<X-1,Rd<(X) None 2
LD Rd,Y Загрузить регистр непосредственно Rd<(Y) None 2
LD Rd,Y+ Загрузить регистр непоср. c пост инкрем Rd<(Y),Y<Y+1 None 2
LD Rd,-Y Загрузить регистр непоср. с предв.декрем Y<Y-1,Rd<(Y) None 2
LDD Rd,Y+q Загрузить регистр непоср. со смещением Rd<(Y+q) None 2
LD Rd,Z Загрузить регистр непосредственно Rd<(Z) None 2
LD Rd,Z+ Загрузить регистр непоср. c пост инкрем Rd<(Z),Z<Z+1 None 2
LD Rd,-Z Загрузить регистр непоср. с предв.декрем Z<Z-1,Rd<(Z) None 2
LDD Rd,Z+q Загрузить регистр непоср. со смещением Rd<(Z+q) None 2
LDS Rd,k Загрузить из ОЗУ Rd<(k) None 3
ST X,Rr Записать регистр непосредственно (X)<Rr None 2
ST -X,Rr Записать регистр непоср.c пред.декрем. X<X-1,(X)<Rr
ST Y,Rr Записать регистр непосредственно (Y)<Rr
ST Y+,Rr Записать регистр непоср.c пост инкр (X)<Rr,X<X+1
ST -Y,Rr Записать регистр непоср.c пред.декрем Y<Y-1,(Y)<Rr None 2
STD Y+q,Rr Запис.рег.непоср.сосмещением (Y+q)<Rr None 2
ST Z,Rr Записать регистр непосредственно (Y)<Rr None 2
ST Z+,Rr Записать регистр непоср.c пост инкр (Y)<Rr,Y<Y+1 None 2
ST -Z,Rr Записать регистр непоср.c пред.декрем Z<Z-1,(Z)<Rr None 2
STD Y+q,Rr Запис.рег.непоср.сосмещением (Y+q)<Rr None 2
STS k,Rr Записать в ОЗУ (k)<Rr None 3
LPM Загр.из памяти программ R0<(Z) None 3
IN Rd, P Ввод из порта Rd<P None 1
OUT P, Rr Вывод в порт P<Rr None 1
PUSH Rr Записать в стек STACK<Rr None 2
POP Rr Прочитать из стека Rr<STACK None 2
КОМАНДЫ РАБОТЫ С БИТАМИ
SBI P,b Установить бит в регистре ввода/вывода I/O(P,b)<1 None 2
CBI P,b Сбросить   бит в регистре  ввода/вывода I/O(P,b)<0 None 2
LSL Rd Логический сдвиг влево Rd(n+1)<Rd(n), Rd(0)<0 Z,C,N,V 1
LSR Rd Логичский сдвиг вправо Rd(n)<Rd(n+1), Rd(7)<0 Z,C,N,V 1
ROL Rd сдвиг влево через C Rd(0)<C,Rd(n+1)<Rd(n), C<Rd(7) Z,C,N,V 1
ROR Rd сдвиг вправо через C Rd(7)<C,Rd(n)<Rd(n+1), C<Rd(0) Z,C,N,V 1
ASR Rd Арифметический сдвиг вправо Rd(n)<Rd(n+1), n=0..6 Z,C,N,V 1
SWAP Rd Обмен тетрад

Rd(3-0)<Rd(7-4)

Rd(7-4)<Rd(3-0)

None 1
BSET s Установить флаг SREG(s)<1 SREG(s) 1
BCLR s Сбросить флаг SREG(s)<0 SREG(s) 1
BST Rr,b Запомнить бит в T T<Rr(b) T 1
BLD Rd, b Прочитать бит из T Rd(b)<T None 1
SEC Установить перенос C<1 C 1
CLC Сбросить перенос C<0 C 1
SEN Установить флаг N N<1 N 1
CLN Сбросить флаг N N<0 N 1
SEZ Установить флаг Z Z<1 Z 1
CLZ Сбросить флаг Z Z<0 Z 1
SEI Разрешить прерывания I<1 I 1
CLI Запретить прерывания I<0 I 1
SES Установить флаг S S<1 S 1
CLS Сбросить флаг S S<0 S 1
SEV Установить флаг V V<1 V 1
CLV Сбросить флаг V V<0 V 1
SET Установить флаг T T<1 T 1
CLT Сбросить флаг T T<0 T 1
SEH Установить флаг H H<1 H 1
CLH Сбросить флаг H H<0 H 1
NOP Нет операции None 1
SLEEP Останов None 3
WDR Сброс сторожевого таймера None 1

Подготовил Матвеев Дмитрий

2003


Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17