Пространство ввода состоит из 64 адресов для периферийных функций процессора, таких как управляющие регистры, таймеры/счетчики и другие. Доступ к пространству ввода/вывода может осуществляться непосредственно, как к ячейкам памяти расположенным после регистрового файла ($20-$5F).
$3F($5F)
| SREG
| Status REGister
| Регистр Состояния
|
$3D($5D)
| SPL
| Stack pointer low
| Указатель стека, мл. байт
|
$3B($5B)
| GIMSK
| General Interrupt
MaSK register
| Общий регистр маски прерываний
|
$3A($5A)
| GIFR
| General Interrupt
Flag Register
| Общий регистр флагов прерываний
|
$39($59)
| TIMSK
| Timer/counter Inter- rupt mask register
| Регистр маски прерываний от таймера/счетчика
|
$38($58)
| TIFR
| Timer/counter Inter- rupt Flag register
| Регистр флага прерывания таймера/счетчика
|
$35($55)
| MCUCR
| MCU general
Control Register
| Общий регистр управления микроконтроллером
|
$33($53)
| TCCR0
| Timer/Counter 0 Control Register
| Регистр управления таймером счетчиком 0
|
$32($52)
| TCNT0
| Timer/Counter 0 (8-бит)
| Таймер/счетчик 0 (8 бит)
|
$2F($4F)
| TCCR1A
| Timer/Counter 1
Control Register A
| Рег. A управления таймером счетчиком 1
|
$2E($4E)
| TCCR1B
| Timer/Counter 1
Control Register B
| Рег. B управления таймером счетчиком 1
|
$2D($4D)
| TCNT1H
| Timer/Counter 1
High byte
| Таймер/счетчик 1
старший байт
|
$2C($4C)
| TCNT1L
| Timer/Counter 1
Low byte
| Таймер/счетчик 1
младший байт
|
$2B($4B)
| OCR1H
| Output Compare Register
1 high byte
| Выход регистра совпаден. 1
старший байт
|
$2A($4A)
| OCR1L
| Output Compare Register
1 low byte
| Выход регистра совпаден. 1
младший байт
|
$25($45)
| ICR1H
| T/C 1 Input Cupture Re-
gister High Byte
| Регистр захвата Т\С 1
старший байт
|
$24($44)
| ICR1L
| T/C 1 Input Cupture Re-
gister Low Byte
| Регистр захвата Т\С 1
младший байт
|
$21($41)
| WDTCR
| Watchdog Timer
Control Register
| Регистр управления сторожевым таймером
|
$1E($3E)
| EEAR
| EEPROM Address Register
| Регистр адреса энергонезависимой памяти
|
$1D($3D)
| EEDR
| EEPROM Data Register
| Регистр данных энергонезависимой памяти
|
$1C($3C)
| EECR
| EEPROM Control Register
| Регистр управления энергонезависимой памяти
|
$18($38)
| PORTB
| Data Register, Port B
| Регистр данных порта B
|
$17($37)
| DDRB
| Data Direction Register
Port B
| Регистр направления данных порта B
|
$16($36)
| PINB
| Input pins, Port B
| Выводы порта B
|
$12($32)
| PORTD
| Data Register, Port D
| Регистр данных порта D
|
$11($31)
| DDRD
| Data Direction Register
Port D
| Регистр направления данных порта D
|
$10($30)
| PIND
| Input pins, Port D
| Выводы порта D
|
$0C($2C)
| UDR
| UART Data Register
| Регистр данных последовательного порта
|
$0B($2B)
| USR
| UART Status Register
| Регистр состояния последовательного порта
|
$0A($2A)
| UCR
| UART Control Register
| Регистр управления последовательного порта
|
$09($29)
| UBRR
| UART Baud Rate Register
| Регистр скорости последовательного порта
|
$08($28)
| ACSR
| Analog Comparator Cont-
rol and Status Register
| Регистр управления и состояния аналогового компарат.
|
Таблица 10.1. Пространство ввода/вывода AT90S2313
Примечание: зарезервированные и неиспользуемые ячейки не показаны.
Все устройства ввода/вывода и периферийные устройства AT90S2313 располагаются в пространстве ввода/вывода. Различные ячейки этого пространства доступны через команды IN и OUT, пересылающие данные между одним из 32-х регистров общего назначения и пространством ввода/вывода. К регистрам $00..$1F можно осуществлять побитовый доступ командами SBI и CBI. Значение отдельного бита этих регистров можно проверить командами SBIC и SBIS. Дополнительную информацию по этому вопросу можно найти в описании системы команд.
При использовании специальных команд IN, OUT, SBIS и SBIC, должны использоваться адреса $00..$3F. При доступе к регистру ввода/вывода как к ячейке ОЗУ, к его адресу необходимо добавить $20. В приведенной выше таблице адреса регистров в памяти данных приведены в скобках.
Лекция №11. Порт ввода/вывода В микроконтроллера.
Рассмотрим расположение и назначение выводов микроконтроллера. В зависимости от типа корпуса микросхемы количество и нумерация выводов изменяется, но функции, закрепленные за ними, остаются неизменными.