Описание пространства I/O микроконтроллеров ATmega603/103 представлено в Табл. 3.
Таблица 3. Пространство I/O микроконтроллеров ATmega603/103
Адрес I/O (адрес SRAM) |
Обозначение |
Функция |
$3F ($5F) |
SREG |
Регистр статуса (Status REGister) |
$3E ($5E) |
SPH |
Верхний байт указателя стека (Stack Pointer High) |
$3D ($5D) |
SPL |
Нижний байт указателя стека (Stack Pointer Low) |
$3C ($5C) |
XDIV |
Регистр управления делением тактовой частоты (XTAL Divide
Control Register) |
$3B $5B) |
RAMPZ |
Регистр выбора страницы Z RAM (RAM Page Z Select Register) |
$3A ($5A) |
EICR |
Регистр управления внешними прерываниями (External Interrupt
Control Register) |
$39 ($59) |
EIMSK |
Регистр масок внешних прерываний (External Interrupt MaSK
register) |
$38 ($58) |
EIFR |
Регистр флагов внешних прерываний (External Interrupt Flag
Register) |
$37 ($57) Counter |
TIMSK |
Регистр масок прерываний по таймерам/счетчикам (Timer/Interrupt MaSK register) |
$36 ($56) |
TIFR |
Регистр флагов прерывания по таймерам/счетчикам (Timer/
Counter Interrupt Flag register) |
$35 ($55) |
MCUCR |
Регистр управления MCU (MCU General Control Register) |
$34 ($54) |
MCUSR |
Регистр статуса MCU (MCU Status Register) |
$33 ($53) |
TCCR0 |
Регистр управления таймером/счетчиком 0 (Timer/Counter0
Control Register) |
$32 ($52) |
TCNT0 |
Таймер/счетчик0 (Timer/Counter0 (8-bit)) |
$31 ($51) |
OCR0 |
Регистр сравнения выхода таймера/счетчика 0 (Timer/Counter0
Output Compare Register) |
$30 ($50) |
ASSR |
Регистр статуса асинхронного режима (Asynchronous Mode
Status Register) |
$2F ($4F) |
TCCR1A |
Управляющий регистр A таймера/счетчика 1 (Timer/Counter1
Control Register A) |
$2E ($4E) |
TCCR1B |
Управляющий регистр B таймера/счетчика 1 (Timer/Counter1
Control Register A) |
$2D ($4D) |
TCNT1H |
Старший байт таймера/счетчика 1 (Timer/Counter1 High Byte) |
$2C ($4C) |
TCNT1L |
Младший байт таймера/счетчика 1 (Timer/Counter1 Low Byte) |
$2B ($4B) |
OCR1AH |
Старший байт регистра A сравнения выхода таймера/счетчика
1 (Timer/Counter1 Output Compare Register A High Byte) |
$2A ($4A) |
OCR1AL |
Младший байт регистра A сравнения выхода таймера/
счетчика 1 (Timer/Counter1 Output Compare Register A Low Byte) |
$29 ($49) |
OCR1BH |
Старший байт регистра B сравнения выхода таймера/счетчика
1 (Timer/Counter1 Output Compare Register B High Byte) |
$28 ($48) |
OCR1BL |
Младший байт регистра B сравнения выхода таймера/счетчика
1 (Timer/Counter1 Output Compare Register B Low Byte) |
$27 ($47) |
ICR1H |
Старший байт регистра захвата таймера/счетчика 1
(Timer/Counter1 Input Capture Register High Byte) |
$26 ($46) |
ICR1L |
Младший байт регистра захвата таймера/счетчика 1 (Timer/Counter1 Input Capture Register Low Byte) |
$25 ($45) |
TCCR2 |
Регистр управления таймером/счетчиком 2 (Timer/Counter2 Control Register) |
$24 ($44) |
TCNT2 |
Таймер/счетчик 2 (Timer/Counter2 (8-bit)) |
$23 ($43) |
OCR2 |
Регистр сравнения выхода таймера/счетчика 2 (Timer/Counter2
Output Compare Register) |
$21 ($41) |
WDTCR |
Регистр управления сторожевым таймером (Watchdog Timer
Control Register) |
$1F ($3F) |
EEARH |
Старший байт регистра адреса EEPROM (EEPROM Address
Register High) |
$1E ($3E) |
EEARL |
Младший байт регистра адреса EEPROM (EERPOM Address
Register Low) |
$1D ($3D) |
EEDR |
Регистр данных EEPROM (EEPROM Data Register) |
$1C ($3C) |
EECR |
Регистр управления EEPROM (EEPROM Control Register) |
$1B ($3B) |
PORTA |
Регистр данных порта A (Data Register, Port A) |
$1A ($3A) |
DDRA |
Регистр направления данных порта A (Data Direction Register, Port A) |
$19 ($39) |
PINA |
Выводы входов порта A (Input Pins, Port A) |
$18 ($38) |
PORTB |
Регистр данных порта B (Data Register, Port B) |
$17 ($37) |
DDRB |
Регистр направления данных порта B (Data Direction Register, Port B) |
$16 ($36) |
PINB |
Выводы входов порта B (Input Pins, Port B) |
$15 ($35) |
PORTC |
Регистр данных порта C (Data Register, Port C) |
$12 ($32) |
PORTD |
Регистр данных порта D (Data Register, Port D) |
$11 ($31) |
DDRD |
Регистр направления данных порта D (Data Direction Register,
Port D) |
$10 ($30) |
PIND |
Выводы входов порта D (Input Pins, Port D) |
$0F ($2F) |
SPDR |
Регистр данных SPI I/O (SPI I/O Data Register) |
$0E ($2E) |
SPSR |
Регистр статуса SPI (SPI Status Register) |
$0D ($2D) |
SPCR |
Регистр управления SPI (SPI Control Register) |
$0C ($2C) |
UDR |
Регистр данных UART I/O (UART I/O Data Register) |
$0B ($2B) |
USR |
Регистр статуса UART (UART Status Register) |
$0A ($2A) |
UCR |
Регистр управления UART (UART Control Register) |
$09 ($29) |
UBRR |
Регистр управления скоростью UART (UART Baud Rate Register) |
$08 ($28) |
ACSR |
Регистр статуса и управления аналогового компаратора
(Analog Comparator Control and Status Register) |
$07 ($27) |
ADMUX |
Регистр выбора мультиплексора ADC (ADC Multi plexer Select
Register) |
$06 ($26) |
ADCSR |
Регистр статуса и управления ADC (ADC Control and Status
Register) |
$05 ($25) |
ADCH |
Старший байт регистра данных ADC (ADC Data Register High) |
$04 ($24) |
ADCL |
Младший байт регистра данных ADC (ADC Data Register Low) |
$03 ($23) |
PORTE |
Регистр данных порта E (Data Register, Port E) |
$02 ($22) |
DDRE |
Регистр направления данных порта E (Data Direction Register,
Port E) |
$01 ($21) |
PINE |
Выводы входов порта E (Input Pins, Port E) |
$00 ($20) |
PINF |
Выводы входов порта F (Input Pins, Port F) |
Различия в регистрах управления I/O и периферией подробно рассмотрены в следующем разделе.