Справочник к лабораторным работам, страница 3
Описание файла
Документ из архива "Справочник к лабораторным работам", который расположен в категории "". Всё это находится в предмете "элементы управления в асоиу" из 7 семестр, которые можно найти в файловом архиве МГТУ им. Н.Э.Баумана. Не смотря на прямую связь этого архива с МГТУ им. Н.Э.Баумана, его также можно найти и в других разделах. Архив можно найти в разделе "книги и методические указания", в предмете "элементы управления в асоиу" в общих файлах.
Онлайн просмотр документа "Справочник к лабораторным работам"
Текст 3 страницы из документа "Справочник к лабораторным работам"
Операции перемещения данных | ||||
Мнемоника | Описание | Операция | Изменяемые флаги | Время исполнения (циклов) |
MOV Rn,Rk | Копировать Rk в Rn | Rn <- Rk | - | 1 |
MOVW Rn,Rk | Копировать регистровую пару | Rn+1:Rn <- Rk+1:Rk | - | 1 |
LD Rn, Ri | Загрузить из памяти данных, используя индексный регистр | Rn <- (Ri) | - | 2 |
LD Rn, Ri+ | Rn <- (Ri), Ri <- Ri + 1 | - | 2 | |
LD Rn, -Ri | Ri <- Ri - 1, Rn <- (Ri) | - | 2 | |
LDD Rn, Ri + q | Rn <- (Ri + q) | - | 2 | |
LDI Rn,K | Загрузить константу в регистр | Rn <- K | - | 1 |
LDS Rn,K | Загрузить в регистр из памяти данных | Rn <- (K) | - | 2 |
LPM | Загрузить из памяти программ | R0 <- (Z) | - | 3 |
LPM Rn, Z | Rn <- (Z) | - | 3 | |
LPM Rn, Z+ | Rn <- (Z), Z <- Z + 1 | - | 3 | |
ELPM | R0 <- (RAMPZ:Z) | - | 3 | |
ELPM Rn, Z | Rn <- (RAMPZ:Z) | - | 3 | |
ELPM Rn, Z+ | Rn <- (RAMPZ:Z), Z <- Z + 1 | - | 3 | |
SPM | Загрузить в память программ | (Z) <- R1:R0 | - | 3 |
STS K,Rn | Загрузить в память данных | (K) <- Rn | - | 2 |
ST Ri, Rn | Загрузить в память данных, используя индексный регистр | (Ri) <- Rn | - | 2 |
ST Ri+, Rn | (Ri) <- Rn, Ri <- Ri + 1 | - | 2 | |
ST -Ri, Rn | Ri <- Ri - 1, (Ri) <- Rn | - | 2 | |
STD Ri + q, Rn | (Ri + q) <- Rn | - | 2 | |
IN Rn,I | Прочитать I/O-регистр I в Rn | Rn <- I | - | 1 |
OUT I,Rn | Записать Rn в I/O-регистр I | I <- Rk | - | 1 |
PUSH Rn | Сохранить Rn в стеке | STACK <- Rn | - | 2 |
POP Rn | Восстановить Rn из стека | Rn <- STACK | - | 2 |
SWAP Rn | Обмен тетрад в регистре | Rn(0...3) <- Rn(4...7), Rn(4...7) <- Rn(0...3) | - | 1 |
Битовые операции | ||||
Мнемоника | Описание | Операция | Изменяемые флаги | Время исполнения (циклов) |
LSL Rn | Логический сдвиг влево | R(n+1) <- R(n), R(0) <- 0, C <- R(7) | S, Z, C, N, V, H | 1 |
LSR Rn | Логический сдвиг вправо | R(n) <- R(n+1), R(7) <- 0, C <- R(0) | S, Z, C, N, V | 1 |
ROL Rn | Сдвиг влево через перенос | R(n+1) <- R(n), R(0) <- C, C <- R(7) | S, Z, C, N, V, H | 1 |
ROR Rn | Сдвиг вправо через перенос | R(n) <- R(n+1), R(7) <- C, C <- R(0) | S, Z, C, N, V | 1 |
ASR Rn | Арифметический сдвиг вправо | R(n) <- R(n+1), R(7) <- R(7) | Z, C, N, V | 1 |
BSET b | Установить бит в SREG | SREG(b) <- 1 | SREG(b) | 1 |
BCLR b | Сбросить бит в SREG | SREG(b) <- 0 | SREG(b) | 1 |
CLC | Сбросить флаг переноса | C <- 0 | C | 1 |
SEC | Установить флаг переноса | C <- 1 | C | 1 |
CLN | Сбросить флаг знака | N <- 0 | N | 1 |
SEN | Установить флаг знака | N <- 1 | N | 1 |
CLZ | Сбросить флаг нуля | Z <- 0 | Z | 1 |
SEZ | Установить флаг нуля | Z <- 1 | Z | 1 |
CLI | Сбросить флаг разрешения прерываний | I <- 0 | I | 1 |
SEI | Установить флаг разрешения прерываний | I <- 1 | I | 1 |
CLS | Сбросить флаг знака | S <- 0 | S | 1 |
SES | Установить флаг знака | S <- 1 | S | 1 |
CLV | Сбросить флаг переполнения | V <- 0 | V | 1 |
SEV | Установить флаг переполнения | V <- 1 | V | 1 |
CLT | Сбросить флаг T | T <- 0 | T | 1 |
SET | Установить флаг T | T <- 1 | T | 1 |
CLH | Сбросить флаг половинного переноса | H <- 0 | H | 1 |
SEH | Установить флаг половинного переноса | H <- 1 | H | 1 |
CBI I,b | Сбросить бит в I/O-регистре | I(b) <- 0 | - | 1 |
SBI I,b | Установить бит в I/O-регистре | I(b) <- 1 | - | 1 |
BST Rn,b | Загрузить флаг T битом из регистра | I(b) <- 0 | - | 1 |
BLD Rn,b | Загрузить бит в регистре из флага T | I(b) <- 1 | - | 1 |
Таблица векторов прерываний МК ATmega16
лица векторов прерываний модели ATmega16
№ | Адрес | Источник | Описание |
1 | $0002 | INT0 | Внешнее прерывание 0 |
2 | $0004 | INT1 | Внешнее прерывание 1 |
3 | $0006 | TIMER2 COMP | Совпадение таймера/счетчика Т2 |
4 | $0008 | TIMER2 OVF | Переполнение таймера/счетчика Т2 |
5 | $000A | TIMER1 CAPT | Захват таймера/счетчика Т1 |
6 | $000C | TIMER1 COMPA | Совпадение «А» таймера/счетчика Т1 |
7 | $000E | TIMER1 COMPB | Совпадение «В» таймера/счетчика Т1 |
8 | $0010 | TIMER1OVF | Переполнение таймера/счетчика Т1 |
9 | $0012 | TIMER0OVF | Переполнение таймера/счетчика Т0 |
10 | $0014 | SPI, STC | Передача по SPI завершена |
11 | $0016 | USART,RXC | USART, прием завершен |
12 | $0018 | USART,UDRE | Регистр данных USART пуст |
13 | $001A | USART,TXC | USART, передача завершена |
14 | $001C | ADC | Преобразование АЦП завершено |
15 | $001E | EE_RDY | EEPROM, готово |
16 | $0020 | ANA_COMP | Аналоговый компаратор |
17 | $0022 | TWI | Прерывание от модуля TWI |
18 | $0024 | INT2 | Внешнее прерывание 2 |
19 | $0026 | TIMER0 COMP | Совпадение таймера/счетчика Т0 |
20 | $0028 | SPM_RDY | Готовность SPM |
Если прерывания в работе микроконтроллера не предусматриваются, то на месте таблицы векторов прерываний может быть размещена часть основной программы.
Управление таймерами
Регистр TIMSK
Название | Бит | Описание флагов разрешения прерываний |
OCIE2 | 7 | По событию «Совпадение» таймера-счетчика T2 |
TOIE2 | 6 | По переполнению таймера-счетчика T2 |
TICIE1 | 5 | По событию «Захват» таймера-счетчика T1 |
OCIE1A | 4 | По событию «Совпадение А» таймера-счетчика T1 |
OCIE1A | 3 | По событию «Совпадение В» таймера-счетчика T1 |
TOIE1 | 2 | По переполнению таймера-счетчика T1 |
OCIE0 | 1 | По событию «Совпадение» таймера-счетчика T0 |
TOIE0 | 0 | По переполнению таймера-счетчика T0 |
Регистр TIFR
Название | Бит | Описание флагов прерываний |
OCF2 | 7 | По событию «Совпадение» таймера-счетчика T2 |
TOV2 | 6 | По переполнению таймера-счетчика T2 |
ICF1 | 5 | По событию «Захват» таймера-счетчика T1 |
OCF1A | 4 | По событию «Совпадение А» таймера-счетчика T1 |
OCF1B | 3 | По событию «Совпадение В» таймера-счетчика T1 |
TOV1 | 2 | По переполнению таймера-счетчика T1 |
OCF0 | 1 | По событию «Совпадение» таймера-счетчика T0 |
TOV0 | 0 | По переполнению таймера-счетчика T0 |