Система команд микроконтроллеров семейства AVR
Таблица А.1. Арифметические команды
| Мнемо-ника | Операн- ды | Описание | Операция | Флаги | К-во циклов |
| ADD | Rd, Rr 0≤ d ≤31 0≤ r ≤31 | Сложить без переноса | Rd Rd + Rr | Z, C, N, V, H | |
| ADC | Rd, Rr 0≤ d ≤31 0≤ r ≤31 | Сложить с переносом | Rd Rd + Rr + С | Z, C, N, V, H | |
| ADIW | Rd, K dE{24,26, 28,30} 0≤ K ≤63 | Сложить непосредст венное значение со сло- вом | Rdh:Rdl Rdh:Rdl+ К | Z, C, N, V | |
| SUB | Rd, Rr 0≤ d ≤31 0≤ r ≤31 | Вычесть без заема | Rd Rd – Rr | Z, C, N, V, H | |
| SUBI | Rd, К 16≤ d ≤31 0≤K≤255 | Вычесть непосредст- венное значение | Rd Rd – К | Z, C, N, V, H | |
| SBC | Rd, Rr 0≤ d ≤31 0≤ r ≤31 | Вычесть с заемом | Rd Rd – Rr – C | Z, C, N, V, H | |
| SBCI | Rd, К 6≤ d ≤32 0≤K≤255 | Вычесть непосредст- венное значение с за- мом | Rd Rd – K – C | Z, C, N, V, H | |
| SBIW | Rd, К dE{24,26,28,30} 0≤К≤6З | Вычесть непосредственное значение из слова | Rdh:Rdl Rdh:Rdl-K | Z, C, N, V | |
| INC | Rd 0≤d≤31 | Инкрементировать | Rd ßRd + 1 | Z, N,V | |
| DEC | Rd 0≤ d ≤31 | Декрементировать | Rd ß Rd – 1 | Z, N,V | |
| NEG | Rd 0≤ d ≤31 | Вычисление дополнительного кода | Rd ß $00 – Rd | Z, C, N, V, H |
Таблица А.2. Логические команды
| Мнемоника | Операн- ды | Описание | Операция | Флаги | Кол-во цик-лов |
| AND | Rd, Rr 0≤ d ≤31 0≤ r ≤31 | Выполнить логическое И между регистрами | Rd ß Rd ∙ Rr | Z, N, V | |
| ANDI | Rd, К 16< d <31 0< k ≤255 | Выполнить логическое И между регистром и константой | Rd ß Rd ∙ К | Z, N, V | |
| OR | Rd, Rr 0≤ d ≥31 0≤ r ≤31 | Выполнить логическое ИЛИ регистрами | Rd ß Rd v Rr | Z, N, V | |
| ORI | Rd, К 16≤ d ≤31 0≤K≤255 | Выполнить логическое ИЛИ между регистром и константой | Rd ß Rd v К | Z, N, V | |
| EOR | Rd, Rr 0≤ d ≤31 0≤ г ≤31 | Выполнить исключающее ИЛИ | Rd ß Rd Å Rr | Z, N, V | |
| СОМ | Rd 0≤ d ≤31 | Выполнить инверсию (НЕ) | Rd ß $FF – Rd | Z, C, N, V | |
| Сравнение | |||||
| CP | Rd, Rr 0≤ d ≤31 0≤ r ≤31 | Сравнить содержимое регистров | Rd – Rr | Z, C, N, V, H | |
| CPC | Rd, Rr 0≤ d ≤31 0≤r ≤31 | Сравнить содержимое регистров с учетом переноса | Rd – Rr – C | Z, C, N, V, H | |
| CPI | Rd, К 16≤ d ≤31 0≤K≤255 | Сравнить содержимое регистра с константой | Rd – K | Z, C, N, V, H | |
| TST | Rd 0≤ r ≤31 | Проверить на ноль или минус | Rd ß Rd ∙ Rd | Z, N, V |
Таблица А.3. Команды операций с битами
| Мнемоника | Операн- ды | Описание | Операция | Флаги | Кол-во циклов |
| LSL | Rd 0≤ d ≤31 | Логически сдвинуть влево | Rd (n+1)ß Rd(n), Rd(0)ß 0, Cß Rd(7) | Z,C,N,V,H | |
| LSR | Rd 0≤ d ≤31 | Логически сдвинуть вправо | Rd(n)ß Rd (n+1), Rd(7) ß0, Cß Rd(0) | Z,C,N,V | |
| ROL | Rd 0≤ d ≤31 | Сдвинуть влево через перенос | Rd(0) ß C, Rd(n+1)ß Rd(n), C ß Rd(7) | Z,C,N,V,H | |
| ROR | Rd 0≤ d ≤31 | Сдвинуть вправо через перенос | Rd(7) ß C, Rd(n)ß Rd(n+1), C ß Rd(0) | Z,C,N,V | |
| ASR | Rd 0≤ d ≤31 | Арифметически сдвинуть вправо | Rd(n)ß Rd(n+1), Rd(0)ß C, n = 0...6 | Z,C,N,V | |
| SWAP | Rd 0≤ d ≤31 | Поменять тетрады местами | Rd(3...0) n Rd(7...4) | Нет | |
| BSET | s 0≤ s ≤7 | Установить флаг в регистре статуса | SREG(s) ß 1 | SREG(s) | |
| BCLR | s 0≤ s ≤7 | Очистить флаг в регистре статуса | SREG(s) ß 0 | SREG(s) | |
| SBI | P, b 0≤ P ≤31 0≤ b ≤7 | Установить бит в регистр I/O | P,b ß 1 | Нет | |
| CBI | P, b 0≤ P ≤31 0≤ b ≤7 | Очистить бит в регистре I/O | P,b ß 0 | Нет | |
| SBR | Rd, К 16≤ d ≤31 0≤K≤255 | Установить только нужные биты в регистре | Rd ß Rd v К | Z, N,V | |
| CBR | Rd, К 16≤ d ≤31 0 ≤K≤255 | Очистить только нужные биты в регистре | Rd ß Rd ∙ ($FF – К) | Z, N, V | |
| CLR | Rd 0≤ d ≤31 | Очистить регистр | Rd ß Rd Å Rd | Z, N, V | |
| SER | Rd 16≤ d ≤31 | Установить все биты регистра | Rd ß $FF | Нет | |
| BST | Rd, b 0≤ d ≤31 0≤ b ≤7 | Переписать бит из регистра во флаг Т | Тß Rd(b) | Т | 1 |
| BLD | Rd, b 0≤ d ≤31 0≤ b ≤7 | Переписать флаг Т в бит регистра | Rd(b) ß Т | Нет | |
| SEC | Установить флаг переноса | Сß 1 | С | ||
| CLC | Очистить флаг переноса | Сß 0 | С | ||
| SEN | Установить флаг отрицательного значения | Мß 1 | N | ||
| CLN | Очистить флаг отрицательного значения | Nß 0 | N | ||
| SEZ | Установить флаг нулевого значения | Zß 1 | Z | ||
| CLZ | Очистить флаг нулевого значения | Zß 0 | Z | ||
| SEI | Установить флаг глобального прерывания | Iß 1 | I | ||
| CLI | Очистить флаг глобального прерывания | Iß 0 | I | ||
| SES | Установить флаг знака | Sß 1 | S | ||
| CLS | Очистить флаг знака | Sß 0 | S | ||
| SEV | Установить флаг переполнения | Vß 1 | V | ||
| CLV | Очистить флаг переполнения | Vß 0 | V | ||
| SET | Установить флаг Т | Tß 1 | T | ||
| CLT | Очистить флаг Т | Тß 0 | T | ||
| SEH | Установить флаг полу- переноса | Нß 1 | Н | ||
| CLH | Очистить флаг полу -переноса | Нß 0 | Н |
Таблица А.4. Команды пересылки данных
| Мнемоника | Операн- ды | Описание | Операция | Флаги | Кол-во циклов |
| LPM | 0≤k≤65535 | Загрузка байта из памяти программ по адресу (Z) в регистр R0 | R0ß (Z) | Нет | |
| MOV | Rd, Rr 0≤ d ≤31 0≤ r ≤31 | Копировать данные из регистра в регистр | Rd ß Rr | Нет | |
| LDI | Rd, k 16≤ d ≤31 0≤ k≤ 255 | Загрузить константу в регистр | Rdß K | Нет | |
| LDS | Rd, k 0≤ d ≤31 0≤k≤65535 | Загрузка байта из ОЗУ в регистр | Rd ß (k) | Нет | |
| LD | Rd, X 0≤ d ≤31 | Загрузить косвенно в регистр Rd из ОЗУ | Rd ß (X) | Нет | |
| LD | Rd, X + 0≤ d ≤31 | Загрузить косвенно с постинкрементом | Rd ß (X), X ß X + 1 | Нет | |
| LD | Rd, –X 0≤ d ≤31 | Загрузить косвенно с преддекрементом | X ß X – 1, Rd ß (X) | Нет | |
| LD | Rd, Y 0≤ d ≤31 | Загрузить косвенно в регистр Rd из ОЗУ | Rd ß (Y) | Нет | |
| LD | Rd, Y + 0≤ d ≤31 | Загрузить косвенно с постинкрементом | Rd ß (Y), Y ß Y + 1 | Нет | |
| LD | Rd, –Y 0≤ d ≤31 | Загрузить косвенно с преддекрементом | Y ß Y – 1, Rd ß (Y) | Нет | |
| LDD | Rd, Y + q 0≤ d ≤31 0≤ q ≤63 | Загрузить косвенно со смещением в регистр Rd из ОЗУ | Rd ß (Y + q) | Нет | |
| LD | Rd, Z 0≤ d ≤31 | Загрузить косвенно в регистр Rd из ОЗУ | Rd ß (Z) | Нет | |
| LD | Rd, Z + 0≤ d ≤31 | Загрузить косвенно с постинкрементом | Rd ß (Z), Z ß Z + 1 | Нет | |
| LD | Rd, – Z 0≤ d ≤31 | Загрузить косвенно с преддекрементом | Z ß Z – 1, Rd ß (Z) | Нет | |
| LDD | Rd, Z + q 0≤ d ≤31 0≤ q ≤31 | Загрузить косвенно со смещением в регистр Rd из ОЗУ | Rd ß (Z + q) | Нет | |
| STS | k, Rr 0≤ d ≤31 0≤k≤65535 | Загрузить непосредственно в ОЗУ | (k) ß Rr | Нет | |
| ST | X, Rr 0≤ r ≤31 | Записать косвенно в ОЗУ из регистр Rr | (X) ß Rr | Нет | |
| ST | X +, Rr 0≤ r ≤31 | Записать косвенно с постинкрементом | (X) ß Rr, X ß X + 1 | Нет | |
| ST | –X, Rr 0≤r≤31 | Записать косвенно с преддекрементом | Xß X – 1, (X) ß Rr | Нет | |
| ST | Y, Rr 0≤ r ≤31 | Записать косвенно в ОЗУ из регистр Rr | (Y) ß Rr | Нет | |
| ST | Y+, Rr 0≤ r ≤31 | Записать косвенно с постинкрементом | (Y) ß Rr, Y ß Y + 1 | Нет | |
| ST | –Y, Rr 0≤ r ≤31 | Записать косвенно с преддекрементом | Y ß Y – 1, (Y) ß Rr | Нет | |
| STD | Y + q, Rr 0≤ r ≤31 0≤ q ≤63 | Записать косвенно со смещением в ОЗУ из регистр Rr | (Y + q) ß Rr | Нет | |
| ST | Z, Rr 0≤ r ≤31 | Записать косвенно в ОЗУ из регистр Rr | (Z) ß Rr | Нет | |
| ST | Z +, Rr 0≤ r ≤31 | Записать косвенно с постинкрементом | (Z) ß Rr, Z ß Z + 1 | Нет | |
| ST | – Z, Rr 0≤ r ≤31 | Записать косвенно с преддекрементом | Z ß Z – 1, (Z) ß Rr | Нет | |
| STD | Z + q, Rr 0≤ r ≤31 0≤ q ≤63 | Записать косвенно со смещением в ОЗУ из регистр Rr | (Z+q) ß Rr | Нет | |
| IN | Rd, P 0≤ d ≤31 0≤ P ≤63 | Загрузить данные из порта I/O в регистр | Rd ß P | Нет | |
| OUT | P, Rr 0≤ r ≤31 0≤P≤63 | Записать данные из регистра в порт I/O | P ß Rr | Нет | |
| PUSH | Rr 0≤ r ≤31 | Сохранить регистр в стеке | STACK ß Rr | Нет | |
| POP | Rd 0≤ d ≤31 | Извлечь регистр из стека | Rd ß STACK | Нет |
Таблица А.5. Команды переходов
| Мнемоника | Операнды | Описание | Операция | Флаги | Кол-во циклов |
| RJMP | k –2K<k<2K | Перейти относительно На метку (смещение) | PC ß PC + k + 1 | Нет | |
| LJMP | Перейти косвенно | PC ß Z | Нет | ||
| JMP | k 0< k <4M | Перейти | PC ß k | Нет | |
| RCALL | k –2K≤k≤2K | Вызвать подпрограмму относительно (по метке) | PC ß PC + k + 1 | Нет | |
| ICALL | Вызвать подпрограмму косвенно | PC ß Z | Нет | ||
| CALL | k 0≤ k ≤64K | Выполнить длинный вызов подпрограммы | PC ß k | Нет | |
| RET | Вернуться из подпрограммы | PC ß STACK | Нет | ||
| RETI | Вернуться из прерывания | PC ß STACK | I | ||
| CPSE | Rd, Rr 0≤ d ≤31, 0≤ r ≤31 | Сравнить и пропустить, если равно | If Rd = Rr then PC ß PC + 2 (or 3) | Нет | 1/2/3 |
| SBRC | Rr, b 0≤ r ≤31 0≤ b ≤7 | Пропустить, если бит в регистре очищен | if Rr(b) = 0 then PC ß PC + 2 (or 3) | Нет | 1/2/3 |
| SBRS | Rr, b 0≤ r ≤31 0≤ b ≤7 | Пропустить, если бит в регистре установлен | If Rr(b) = 1 then PC ß PC + 2 (or 3) | Нет | 1/2/3 |
| SBIC | P, b 0≤ P ≤31 0≤ b ≤7 | Пропустить, если бит в регистре I/O очищен | if P(b)=0 then PC ß PC + 2 (or 3) | Нет | 1/2/3 |
| SBIS | P, b 0≤ r ≤31 0≤ b ≤7 | Пропустить, если бит в регистре I/O установлен | If P(b) = 1 then PC ßPC + 2 (or 3) | Нет | 1/2/3 |
| BRBS | s, k 0≤ s ≤7 –64≤k≤+63 | Перейти, если бит в регистре статуса установлен | if SREG(s) = 1 then PC ß PC + k + 1 | Нет | 1/2 |
| BRBC | s, k 0≤ s ≤7 –64≤k≤+63 | Перейти, если бит в регистре статуса очищен | if SREG(s) = 0 then PC ß PC + k + 1 | Нет | 1/2 |
| BREQ | k –64≤k≤+63 | Перейти, если равно | if Rd = Rr (Z=1) then PC ß PC + k + 1 | Нет | 1/2 |
| BRNE | k –64≤k≤+63 | Перейти, если не равно | if Rd ¹ Rr (Z=0) then PC ß PC + k + 1 | Нет | 1/2 |
| BRCS | k –64£k£+63 | Перейти, если флаг переноса установлен | if C = 1 then PC ß PC + k + 1 | Нет | 1/2 |
| BRCC | k –64≤k≤+63 | Перейти, если флаг переноса очищен | if C = 0 then PC ß PC + k + 1 | Нет | 1/2 |
| BRSH | k –64≤k≤+63 | Перейти, если равно или больше (без знака) | if Rd ≥ Rr (C=0) then PC ß PC + k + 1 | Нет | 1/2 |
| BRLO | k –64≤k≤+63 | Перейти, если меньше (без знака) | if Rd < Rr (C =1) then PC ß PC + k + 1 | Нет | 1/2 |
| BRMI | k –64≤k≤+63 | Перейти, если минус | if N = 1 then PC ß PC + k + 1 | Нет | 1/2 |
| BRPL | k –64≤k≤+63 | Перейти, если плюс | if N = 0 then PC ß PC + k + 1 | Нет | 1/2 |
| BRGE | k –64≤k≤+63 | Перейти, если больше или равно (с учетом знака) | if Rd > Rr (NÅV =0) then PC ß PC + k + 1 | Нет | 1/2 |
| BRLT | k –64≤k≤+63 | Перейти, если меньше (со знаком) | if Rd < Rr (NÅV = 1) then PC ßPC + k+ 1 | Нет | 1/2 |
| BRHS | k –64≤k≤+63 | Перейти, если флаг полупереноса установлен | if H = 1 then PC ß PC + k + 1 | Нет | 1/2 |
| BRHC | k –64≤k≤+63 | Перейти, если флаг полупереноса очищен | if H = 0 then PC ß PC + k + 1 | Нет | 1/2 |
| BRTS | k –64≤k≤+63 | Перейти, если флаг Т установлен | if T = 1 then PC ß PC + k + 1 | Нет | 1/2 |
| BRTC | k -64≤k≤+63 | Перейти, если флаг Т очищен | if T=0 then PC ß pc + k + 1 | Нет | 1/2 |
| BRVS | k –64≤k≤+63 | Перейти, если флаг переполнения установлен | if V = 1 then PC ß PC + k + 1 | Нет | 1/2 |
| BRVC | k –64≤k≤+63 | Перейти, если флаг переполнения очищен | if V = 0 then PC ß PC + k + 1 | Нет | 1/2 |
| BRIE | k –64≤k≤+63 | Перейти, если глобальное прерывание разрешено | if I = 1 then PC ß PC + k + 1 | Нет | 1/2 |
| BRID | k –64≤k≤+63 | Перейти, если глобальное прерывание запрещено | if I = 0 then PC ß PC + k + 1 | Нет | 1/2 |
Таблица А.6. Прочие команды
| Мнемоника | Операнды | Описание | Операция | Флаги | К-во ц-ов |
| NOP | Выполнить холостую команду | Нет | |||
| SLEEP | Установить режим SLEEP | Нет | |||
| WDR | Сбросить сторожевой таймер | Нет |
ПРИЛОЖЕНИЕ В
Таблица регистров
| Адрес | Обознач. | Бит 7 | Бит 6 | Бит 5 | Бит 4 | Бит 3 | Бит 2 | Бит 1 | Бит 0 | |||
| $3F ($5F) | SREG | I | T | H | S | V | N | Z | C | |||
| $3E ($5E) | SPH | — | — | — | — | — | — | SP9 | SP8 | |||
| $3D ($5D) | SPL | SP7 | SP6 | SP5 | SP4 | SP3 | SP2 | SP1 | SP0 | |||
| $3C ($5C) | ||||||||||||
| $3B ($5B) | GIMSK | INT1 | INT0 | — | — | — | — | — | — | |||
| $3A ($5A) | GIFR | INTF1 | INTF0 | |||||||||
| $39 ($59) | TIMSK | OCIE2 | TOIE2 | TICIE1 | OCIE1A | OCIE1B | TOIE1 | — | TOIE0 | |||
| $38 ($58) | TIFR | OCF2 | TOV2 | ICF1 | OCF1A | OCF1B | TOV1 | — | TOV0 | |||
| $37 ($57) | ||||||||||||
| $36 ($56) | ||||||||||||
| $35 ($55) | MCUCR | — | SE | SM1 | SM0 | ISC11 | ISC10 | ISC01 | ISC00 | |||
| $34 ($54) | MCUSR | — | — | — | — | — | — | EXTRF | PORF | |||
| $33 ($53) | TCCR0 | — | — | — | — | — | CS02 | CS01 | CS00 | |||
| $32 ($52) | TCNT0 | Таймер/счетчик0 (8-разрядный) | ||||||||||
| $31 ($51) | ||||||||||||
| $30 ($50) | ||||||||||||
| $2F ($4F) | TCCR1A | COM1A1 | COM1A0 | COM1B1 | COM1B0 | — | — | PWM11 | PWM10 | |||
| $2E ($4E) | TCCR1B | ICNC1 | ICES1 | — | — | CTC1 | CS12 | CS11 | CS10 | |||
| $2D ($4D) | TCNT1H | Старший байт регистра счетчика Таймера/ счетчика1 | ||||||||||
| $2С ($4С) | TCNT1L | Младший байт регистра счетчика Таймера/ счетчика1 | ||||||||||
| $2В ($4В) | OCR1AH | Старший байт регистра сравнения A выхода Таймера/счетчика1 | ||||||||||
| $2A ($4A) | OCR1AL | Младший байт регистра сравнения A выхода Таймера/счетчика1 | ||||||||||
| $29 ($49) | OCR1BH | Старший байт регистра сравнения B выхода Таймера/счетчика1 | ||||||||||
| $28 ($48) | OCR1BL | Младший байт регистра сравнения B выхода Таймера/счетчика1 | ||||||||||
| $27 ($47) | ICR1H | Старший байт регистра захвата входа Таймера/счетчика1 | ||||||||||
| $26 ($46) | ICR1L | Младший байт регистра захвата входа Таймера/счетчика1 | ||||||||||
| $25 ($45) | TCCR2 | — | PWM2 | COM21 | COM20 | CTC2 | CS22 | CS21 | CS20 | |||
| $24 ($44) | TCNT2 | Таймер/счетчик2 (8-разрядный) | ||||||||||||||||||
| $23 ($43) | OCR2 | Регистр сравнения выхода Таймера/счетчика2 | ||||||||||||||||||
| $22 ($42) | ASSR | — | — | — | — | AS2 | TCN2UB | OCR2UB | TCR2UB | |||||||||||
| $21 ($41) | WDTCR | — | — | — | WDTOE | WDE | WDP2 | WDP1 | WDP0 | |||||||||||
| $20 ($40) | ||||||||||||||||||||
| $1F ($3F) | EEARH | EEAR9 | ||||||||||||||||||
| $1E ($3E) | EEARL | EEAR7 | EEAR6 | EEAR5 | EEAR4 | EEAR3 | EEAR2 | EEAR1 | EEAR0 | |||||||||||
| $1D ($3D) | EEDR | Регистр данных EEPROM | ||||||||||||||||||
| $1C ($3C) | EECR | — | — | — | — | EERIE | EEMWE | EEWE | EERE | |||||||||||
| $1B ($3B) | PORTA | PORTA7 | PORTA6 | PORTA5 | PORTA4 | PORTA3 | PORTA2 | PORTA1 | PORTA0 | |||||||||||
| $1A ($3A) | DDRA | DDA7 | DDA6 | DDA5 | DDA4 | DDA3 | DDA2 | DDA1 | DDA0 | |||||||||||
| $19 ($39) | PINA | PINA7 | PINA6 | PINA5 | PINA4 | PINA3 | PINA2 | PINA1 | PINA0 | |||||||||||
| $18 ($38) | PORTB | PORTB7 | PORTB6 | PORTB5 | PORTB4 | PORTB3 | PORTB2 | PORTB1 | PORTB0 | |||||||||||
| $17 ($37) | DDRB | DDB7 | DDB6 | DDB5 | DDB4 | DDB3 | DDB2 | DDB1 | DDB0 | |||||||||||
| $16 ($36) | PINB | PINB7 | PINB6 | PINB5 | PINB4 | PINB3 | PINB2 | PINB1 | PINB0 | |||||||||||
| $15 ($35) | PORTC | PORTC7 | PORTC6 | PORTC5 | PORTC4 | PORTC3 | PORTC2 | PORTC1 | PORTC0 | |||||||||||
| $14 ($34) | DDRC | DDC7 | DDC6 | DDC5 | DDC4 | DDC3 | DDC2 | DDC1 | DDC0 | |||||||||||
| $13 ($33) | PINC | PINC7 | PINC6 | PINC5 | PINC4 | PINC3 | PINC2 | PINC1 | PINC0 | |||||||||||
| $12 ($32) | PORTD | PORTD7 | PORTD6 | PORTD5 | PORTD4 | PORTD3 | PORTD2 | PORTD1 | PORTD0 | |||||||||||
| $11 ($31) | DDRD | DDD7 | DDD6 | DDD5 | DDD4 | DDD3 | DDD2 | DDD1 | DDD0 | |||||||||||
| $10 ($30) | PIND | PIND7 | PIND6 | PIND5 | PIND4 | PIND3 | PIND2 | PIND1 | PIND0 | |||||||||||
| $0F ($2F) | SPDR | Регистр данных SPI | ||||||||||||||||||
| $0E ($2E) | SPSR | SPIF | WCOL | — | — | — | — | — | — | |||||||||||
| $0D ($2D) | SPCR | SPIE | SPE | DORD | MSTR | CROL | CPHA | SPR1 | SPR0 | |||||||||||
| $0C ($2C) | UDR | Регистр данных UART | ||||||||||||||||||
| $0B ($2B) | USR | RXC | TXC | UDRE | FE | OR | — | — | — | |||||||||||
| $0A ($2A) | UCR | RXCIE | TXCIE | UDRIE | RXEN | TXEN | CHR9 | RXB8 | TXB8 | |||||||||||
| $09 ($29) | UBRR | Регистр управления скоростью UART | ||||||||||||||||||
| $08 ($28) | ACSR | ACD | — | ACO | ACI | ACIE | ACIC | ACIS1 | ACIS0 | |||||||||||
| $07 ($27) | ADMUX | — | — | — | — | — | MUX2 | MUX1 | MUX0 | |||||||||||
| $06 ($26) | ADCSR | ADEN | ADSC | ADFR | ADIF | ADIE | ADPS2 | ADPS1 | ADPS0 | |||||||||||
| $05 ($25) | ADCH | — | — | — | — | — | — | ADC9 | ADC8 | |||||||||||
| $04 ($24) | ADCL | ADC7 | ADC6 | ADC5 | ADC4 | ADC3 | ADC2 | ADC1 | ADC0 | |||||||||||
| $03 ($20) | ||||||||||||||||||||
| $02 ($22) | ||||||||||||||||||||
| $01 ($21) | ||||||||||||||||||||
| $00 ($20) | ||||||||||||||||||||