Перейти к содержанию

Регистры ATtiny13A

ATtiny13A управляется 34 регистрами ввода-вывода: все они лежат в области ввода-вывода (адреса 0x20–0x5F) и доступны командами IN и OUT. Ниже — все регистры по адресам и страницы блоков с описанием каждого бита и конструктором значения.

Данные: описание ATtiny13A из пакета Microchip ATtiny_DFP 3.4.278 (Apache-2.0), сверено со сводкой регистров даташита DS40002307A.

Блоки

Все регистры по адресам

АдресРегистрНазначениеБиты 7…0После сброса
0x23 (I/O 0x03)ADCSRBУправление АЦП, регистр B— ACME — — — ADTS2 ADTS1 ADTS00x00
0x24 (I/O 0x04)ADCРезультат преобразования АЦП16 бит0x0000
0x26 (I/O 0x06)ADCSRAУправление АЦП, регистр AADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPS00x00
0x27 (I/O 0x07)ADMUXОпорное напряжение и вход АЦП— REFS0 ADLAR — — — MUX1 MUX00x00
0x28 (I/O 0x08)ACSRУправление и состояние компаратораACD ACBG ACO ACI ACIE — ACIS1 ACIS0—
0x34 (I/O 0x14)DIDR0Отключение цифровых входов АЦП— — ADC0D ADC2D ADC3D ADC1D AIN1D AIN0D0x00
0x35 (I/O 0x15)PCMSKМаска выводов PCINT— — PCINT5 PCINT4 PCINT3 PCINT2 PCINT1 PCINT00x00
0x36 (I/O 0x16)PINBВходы порта B— — PINB5 PINB4 PINB3 PINB2 PINB1 PINB0—
0x37 (I/O 0x17)DDRBНаправление выводов порта B— — DDB5 DDB4 DDB3 DDB2 DDB1 DDB00x00
0x38 (I/O 0x18)PORTBВыходы и подтяжки порта B— — PORTB5 PORTB4 PORTB3 PORTB2 PORTB1 PORTB00x00
0x3C (I/O 0x1C)EECRУправление EEPROM— — EEPM1 EEPM0 EERIE EEMWE / EEMPE EEWE / EEPE EERE—
0x3D (I/O 0x1D)EEDRДанные EEPROMданные—
0x3E (I/O 0x1E)EEARАдрес EEPROMданные—
0x41 (I/O 0x21)WDTCRУправление сторожевым таймеромWDTIF WDTIE WDP3 WDCE WDE WDP2 WDP1 WDP0—
0x45 (I/O 0x25)PRRОтключение тактирования модулей— — — — — — PRTIM0 PRADC0x00
0x46 (I/O 0x26)CLKPRДелитель тактовой частотыCLKPCE — — — CLKPS3 CLKPS2 CLKPS1 CLKPS0—
0x48 (I/O 0x28)GTCCRОбщее управление таймерамиTSM — — — — — — PSR100x00
0x49 (I/O 0x29)OCR0BРегистр сравнения B таймера 0данные0x00
0x4E (I/O 0x2E)DWDRДанные debugWIREданные0x00
0x4F (I/O 0x2F)TCCR0AУправление таймером 0, регистр ACOM0A1 COM0A0 COM0B1 COM0B0 — — WGM01 WGM000x00
0x50 (I/O 0x30)BODCRОтключение BOD на время сна— — — — — — BODS BODSE0x00
0x51 (I/O 0x31)OSCCALКалибровка RC-генератораданные—
0x52 (I/O 0x32)TCNT0Счётный регистр таймера 0данные0x00
0x53 (I/O 0x33)TCCR0BУправление таймером 0, регистр BFOC0A FOC0B — — WGM02 CS02 CS01 CS000x00
0x54 (I/O 0x34)MCUSRПричина сброса— — — — WDRF BORF EXTRF PORF—
0x55 (I/O 0x35)MCUCRУправление микроконтроллером— PUD SE SM1 SM0 — ISC01 ISC000x00
0x56 (I/O 0x36)OCR0AРегистр сравнения A таймера 0данные0x00
0x57 (I/O 0x37)SPMCSRСамопрограммирование (SPM)— — — CTPB RFLB PGWRT PGERS SPMEN / SELFPRGEN0x00
0x58 (I/O 0x38)TIFR0Флаги прерываний таймера 0— — — — OCF0B OCF0A TOV0 —0x00
0x59 (I/O 0x39)TIMSK0Маска прерываний таймера 0— — — — OCIE0B OCIE0A TOIE0 —0x00
0x5A (I/O 0x3A)GIFRФлаги внешних прерываний— INTF0 PCIF — — — — —0x00
0x5B (I/O 0x3B)GIMSKРазрешение внешних прерываний— INT0 PCIE — — — — —0x00
0x5D (I/O 0x3D)SPLУказатель стекаданные0x9F
0x5F (I/O 0x3F)SREGРегистр состоянияI T H S V N Z C0x00

Частые вопросы

Сколько регистров ввода-вывода у ATtiny13A?

В описании Microchip у ATtiny13A 34 регистра периферии и ядра (16-битные — ADC — считаются одним регистром). 34 из них доступны командами IN и OUT, 13 — ещё и битовыми командами SBI и CBI.

Чем адрес регистра в области ввода-вывода отличается от адреса в памяти?

Регистры с адресами 0x20–0x5F в пространстве данных доступны и как область ввода-вывода с адресами 0x00–0x3F: IN и OUT принимают именно этот адрес, на 0x20 меньше. Регистры выше 0x5F (расширенная область) читаются и пишутся только командами LDS, STS, LD и ST.

Где описаны биты регистров ATtiny13A?

На страницах блоков: ADC, AC, EEPROM, CPU, порты, EXINT и TC0. У каждого бита — номер, имя из avr/io.h, назначение, доступ и значение после сброса по даташиту DS40002307A.

Источники

  1. Microchip. ATtiny13A Data Sheet (DS40002307A) — сводка регистров, диаграммы битов и значения после сброса
  2. Microchip ATtiny_DFP 3.4.278, описание ATtiny13A (ATDF) — регистры, битовые поля и их значения, лицензия Apache-2.0

Нашли ошибку в регистрах?