
- •Features
- •Pin Configuration
- •Disclaimer
- •Description
- •Pin Descriptions
- •AVCC
- •Port A (PA7..PA0)
- •Port B (PB7..PB0)
- •XTAL1
- •XTAL2
- •SRAM Data Memory
- •I/O Direct
- •Data Direct
- •Data Indirect with Displacement
- •Data Indirect
- •EEPROM Data Memory
- •I/O Memory
- •Status Register – SREG
- •Stack Pointer – SP
- •Reset Sources
- •Power-on Reset
- •External Reset
- •Brown-out Detection
- •Watchdog Reset
- •Clock Systems and their Distribution
- •CPU Clock – clkCPU
- •I/O Clock – clkI/O
- •Flash Clock – clkFLASH
- •ADC Clock – clkADC
- •Internal PLL for Fast Peripheral Clock Generation – clkPCK
- •Clock Sources
- •Crystal Oscillator
- •External RC Oscillator
- •External Clock
- •Interrupt Handling
- •Interrupt Response Time
- •External Interrupt
- •Pin Change Interrupt
- •Idle Mode
- •ADC Noise Reduction Mode
- •Power-down Mode
- •Standby Mode
- •Analog to Digital Converter
- •Analog Comparator
- •Brown-out Detector
- •Internal Voltage Reference
- •Watchdog Timer
- •Port Pins
- •Timer/Counters
- •Timer/Counter0 Prescaler
- •Timer/Counter1 Prescaler
- •8-bit Timer/Counter0
- •Timer/Counter0 – TCNT0
- •8-bit Timer/Counter1
- •Timer/Counter1 – TCNT1
- •Timer/Counter1 in PWM Mode
- •Watchdog Timer
- •Overview
- •Register Descriptions
- •USI Data Register – USIDR
- •USI Status Register – USISR
- •USI Control Register – USICR
- •Functional Descriptions
- •Three-wire Mode
- •SPI Slave Operation Example
- •Two-wire Mode
- •Start Condition Detector
- •Alternative USI Usage
- •4-bit Counter
- •12-bit Timer/Counter
- •Software Interrupt
- •Analog Comparator
- •Analog to Digital Converter
- •Features
- •Operation
- •ADC Conversion Result
- •ADLAR = 0
- •ADLAR = 1
- •I/O Ports
- •Introduction
- •Configuring the Pin
- •Reading the Pin Value
- •Alternate Port Functions
- •Alternate Functions of Port A
- •Alternate Functions Of Port B
- •Register Description for I/O Ports
- •Port A Data Register – PORTA
- •Port B Data Register – PORTB
- •Fuse Bits
- •Latching of Fuses
- •Signature Bytes
- •Calibration Byte
- •Signal Names
- •Parallel Programming
- •Enter Programming Mode
- •Chip Erase
- •Programming the Flash
- •Programming the EEPROM
- •Reading the Flash
- •Reading the EEPROM
- •Programming the Lock Bits
- •Reading the Signature Bytes
- •Reading the Calibration Byte
- •Serial Downloading
- •Data Polling Flash
- •Data Polling EEPROM
- •Electrical Characteristics
- •Absolute Maximum Ratings*
- •External Clock Drive Waveforms
- •External Clock Drive
- •ADC Characteristics – Preliminary Data
- •ATtiny26/L Register Summary
- •Ordering Information(1)
- •Packaging Information
- •Data Sheet Change Log for ATtiny26
- •Changes from Rev. 1477A-03/02 to Rev. 1477B-04/02
- •Table of Contents

ATtiny26(L)
Alternate Port Functions Most port pins have alternate functions in addition to being general digital I/Os. Figure 57 shows how the port pin control signals from the simplified Figure 54 can be overridden by alternate functions. The overriding signals may not be present in all port pins, but the figure serves as a generic description applicable to all port pins in the AVR microcontroller family.
Figure 57. Alternate Port Functions(1) |
|
|
|
|
|
|
|
|
|
PUOExn |
|
|
|
|
|
|
1 |
PUOVxn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
PUD |
|
|
|
|
|
|
|
|
|
|
|
DDOExn |
|
|
|
|
|
|
1 |
DDOVxn |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
Q |
D |
|
|
|
|
|
|
DDxn |
|
|
|
|
|
|
|
Q CLR |
|
|
|
|
PVOExn |
|
|
|
WDx |
|
|
|
|
|
RESET |
|
||
|
|
|
|
|
|
||
|
|
PVOVxn |
|
|
|
RDx |
BUS |
Pxn |
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
Q |
D |
DATA |
|
|
|
|
|
PORTxn |
||
|
|
|
|
|
|
||
|
|
DIEOExn |
|
|
Q CLR |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WPx |
|
|
1 |
DIEOVxn |
|
|
RESET |
|
|
|
|
|
|
|
RRx |
|
|
|
0 |
SLEEP |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
SYNCHRONIZER |
RPx |
|
||
|
|
|
|
|
|
|
|
|
|
|
D SET |
Q |
D Q |
|
|
|
|
|
|
|
PINxn |
|
|
|
|
|
L CLR |
Q |
CLR Q |
|
|
|
|
|
|
|
|
clk I/O |
|
|
|
|
|
|
|
DIxn |
|
|
|
|
|
|
|
AIOxn |
|
PUOExn: |
Pxn PULL-UP OVERRIDE ENABLE |
|
PUD: |
|
PULLUP DISABLE |
|
|
PUOVxn: |
Pxn PULL-UP OVERRIDE VALUE |
|
WDx: |
|
WRITE DDRx |
|
|
DDOExn: |
Pxn DATA DIRECTION OVERRIDE ENABLE |
|
RDx: |
|
READ DDRx |
|
|
DDOVxn: |
Pxn DATA DIRECTION OVERRIDE VALUE |
|
RRx: |
|
READ PORTx REGISTER |
|
|
PVOExn: |
Pxn PORT VALUE OVERRIDE ENABLE |
|
WPx: |
|
WRITE PORTx |
|
|
PVOVxn: |
Pxn PORT VALUE OVERRIDE VALUE |
|
RPx: |
|
READ PORTx PIN |
|
|
DIEOExn: Pxn DIGITAL INPUT-ENABLE OVERRIDE ENABLE |
clk : |
|
I/O CLOCK |
|
|
||
DIEOVxn: |
Pxn DIGITAL INPUT-ENABLE OVERRIDE VALUE |
I/O |
|
DIGITAL INPUT PIN n ON PORTx |
|
||
DIxn: |
|
|
|||||
SLEEP: |
SLEEP CONTROL |
|
AIOxn: |
ANALOG INPUT/OUTPUT PIN n ON PORTx |
Note: 1. WPx, WDx, RLx, RPx, and RDx are common to all pins within the same port. clkI/O,
SLEEP, and PUD are common to all ports. All other signals are unique for each pin.
Table 40 summarizes the function of the overriding signals. The pin and port indexes from Figure 57 are not shown in the succeeding tables. The overriding signals are generated internally in the modules having the alternate function.
95
1477B–AVR–04/02

Table 40. Generic Description of Overriding Signals for Alternate Functions
Signal Name |
Full Name |
Description |
|
|
|
PUOE |
Pull-up Override |
If this signal is set, the pull-up enable is controlled by |
|
Enable |
the PUOV signal. If this signal is cleared, the pull-up is |
|
|
enabled when {DDxn, PORTxn, PUD} = 0b010. |
|
|
|
PUOV |
Pull-up Override |
If PUOE is set, the pull-up is enabled/disabled when |
|
Value |
PUOV is set/cleared, regardless of the setting of the |
|
|
DDxn, PORTxn, and PUD Register bits. |
|
|
|
DDOE |
Data Direction |
If this signal is set, the Output Driver Enable is |
|
Override Enable |
controlled by the DDOV signal. If this signal is cleared, |
|
|
the Output driver is enabled by the DDxn Register bit. |
|
|
|
DDOV |
Data Direction |
If DDOE is set, the Output Driver is enabled/disabled |
|
Override Value |
when DDOV is set/cleared, regardless of the setting of |
|
|
the DDxn Register bit. |
|
|
|
PVOE |
Port Value |
If this signal is set and the Output Driver is enabled, |
|
Override Enable |
the port value is controlled by the PVOV signal. If |
|
|
PVOE is cleared, and the Output Driver is enabled, the |
|
|
port Value is controlled by the PORTxn Register bit. |
|
|
|
PVOV |
Port Value |
If PVOE is set, the port value is set to PVOV, |
|
Override Value |
regardless of the setting of the PORTxn Register bit. |
|
|
|
DIEOE |
Digital Input Enable |
If this bit is set, the Digital Input Enable is controlled by |
|
Override Enable |
the DIEOV signal. If this signal is cleared, the Digital |
|
|
Input Enable is determined by MCU-state (Normal |
|
|
mode, sleep modes). |
|
|
|
DIEOV |
Digital Input Enable |
If DIEOE is set, the Digital Input is enabled/disabled |
|
Override Value |
when DIEOV is set/cleared, regardless of the MCU |
|
|
state (Normal mode, sleep modes). |
|
|
|
DI |
Digital Input |
This is the Digital Input to alternate functions. In the |
|
|
figure, the signal is connected to the output of the |
|
|
schmitt trigger but before the synchronizer. Unless the |
|
|
Digital Input is used as a clock source, the module with |
|
|
the alternate function will use its own synchronizer. |
|
|
|
AIO |
Analog Input/output |
This is the Analog Input/Output to/from alternate |
|
|
functions. The signal is connected directly to the pad, |
|
|
and can be used bidirectionally. |
|
|
|
The following subsections shortly describes the alternate functions for each port, and relates the overriding signals to the alternate function. Refer to the alternate function description for further details.
MCU Control Register – |
The MCU Control Register contains control bits for general MCU functions. |
|
||||||||
MCUCR |
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
$35 ($55) |
– |
PUD |
SE |
SM1 |
SM0 |
– |
ISC01 |
ISC00 |
MCUCR |
|
Read/Write |
R |
R/W |
R/W |
R/W |
R/W |
R |
R/W |
R/W |
|
|
Initial Value |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
• Bit 6 – PUD: Pull-up Disable
When this bit is set (one), the pull-ups in the I/O ports are disabled even if the DDxn and PORTxn Registers are configured to enable the pull-ups ({DDxn, PORTxn} = 0b01). See “Configuring the Pin” on page 91 for more details about this feature.
96 ATtiny26(L)
1477B–AVR–04/02

ATtiny26(L)
Alternate Functions of Port A Port A has an alternate functions as analog inputs for the ADC and Analog Comparator and pin change interrupt as shown in Table 41. If some Port A pins are configured as outputs, it is essential that these do not switch when a conversion is in progress. This might corrupt the result of the conversion. The ADC is described in “Analog to Digital Converter” on page 77. Analog Comparator is described in “Analog Comparator” on page 74. Pin change interrupt triggers on pins PA7, PA6 and PA3 if interrupt is enabled and it is not masked by the alternate functions even if the pin is configured as an output. See details from “Pin Change Interrupt” on page 38.
Table 41. Port A Pins Alternate Functions
Port Pin |
Alternate Function |
|
|
PA7 |
ADC6 (ADC input channel 6) |
|
AIN1 (Analog Comparator negative input) |
|
PCINT1 (Pin Change Interrupt 1) |
|
|
PA6 |
ADC5 (ADC input channel 5) |
|
AIN0 (Analog Comparator positive input) |
|
PCINT1 (Pin Change Interrupt 1) |
|
|
PA5 |
ADC4 (ADC input channel 4) |
|
|
PA4 |
ADC3 (ADC input channel 3) |
|
|
PA3 |
AREF (ADC external reference) |
|
PCINT1 (Pin Change Interrupt 1) |
|
|
PA2 |
ADC2 (ADC input channel 2) |
|
|
PA1 |
ADC1 (ADC input channel 1) |
|
|
PA0 |
ADC0 (ADC input channel 0) |
|
|
Table 42 and Table 43 relates the alternate functions of Port A to the overriding signals shown in Figure 57 on page 95. Thera are changes on PA7, PA6, and PA3 digital inputs. PA3 output and pullup driver are also overridden.
• ADC6/AIN1 Port – A, Bit 7
AIN1: Analog Comparator Negative input and ADC6: ADC input channel 6. Configure the port pin as input with the internal pull-up switched off to avoid the digital port function from interfering with the function of the analog comparator or analog to digital converter.
PCINT1: Pin Change Interrupt 1 pin. Pin change interrupt is enabled on pin when global interrupt is enabled, pin change interrupt is enabled and the alternate function do not mask the interrupt. The masking alternate function is the Analog Comparator. Digital input is enabled on pin PA7 also in SLEEP modes, if the pin change interrupt is enabled and not masked by the alternate function.
• ADC5/AIN0 Port – A, Bit 6
AIN0: Analog Comparator Positive input and ADC5: ADC input channel 5. Configure the port pin as input with the internal pull-up switched off to avoid the digital port function from interfering with the function of the Analog Comparator or analog to digital converter.
PCINT1: Pin Change Interrupt 1 pin. Pin change interrupt is enabled on pin when global interrupt is enabled, pin change interrupt is enabled and the alternate function do not mask the interrupt. The masking alternate function is the Analog Comparator. Digital input is enabled on pin PA6 also in SLEEP modes, if the pin change interrupt is enabled and not masked by the alternate function.
97
1477B–AVR–04/02

• ADC4, ADC3 Port – A, Bit 5, 4
ADC4/ADC3: ADC Input Channel 4 and 3. Configure the port pins as inputs with the internal pull-ups switched off to avoid the digital port function from interfering with the function of the analog to digital converter.
• AREF/PCINT1 Port – A, Bit 3
AREF: External Reference for ADC. Pullup and output driver are disabled on PA3 when the pin is used as an external reference or Internal Voltage Reference (2.56V) with external capacitor at the AREF pin by setting (one) the bit REFS0 in the ADC Multiplexer Selection Register (ADMUX).
PCINT1: Pin Change Interrupt 1 pin. Pin change interrupt is enabled on pin when global interrupt is enabled, pin change interrupt is enabled and the alternate function do not mask the interrupt. The masking alternate function is the pin usage as an analog reference for the ADC. Digital input is enabled on pin PA3 also in SLEEP modes, if the pin change interrupt is enabled and not masked by the alternate function.
Table 42. Overriding Signals for Alternate Functions in PA7..PA4
Signal |
PA7/ADC6/ |
PA6/ADC5/ |
|
|
Name |
AIN1/PCINT1 |
AIN0/PCINT1 |
PA5/ADC4 |
PA4/ADC3 |
|
|
|
|
|
PUOE |
0 |
0 |
0 |
0 |
|
|
|
|
|
PUOV |
0 |
0 |
0 |
0 |
|
|
|
|
|
DDOE |
0 |
0 |
0 |
0 |
|
|
|
|
|
DDOV |
0 |
0 |
0 |
0 |
|
|
|
|
|
PVOE |
0 |
0 |
0 |
0 |
|
|
|
|
|
PVOV |
0 |
0 |
0 |
0 |
|
|
|
|
|
DIEOE |
PCINT1_ENABLE(1) • |
PCINT1_ENABLE(1)• |
0 |
0 |
|
ACSR[ACD] |
ACSR[ACD] |
|
|
|
|
|
|
|
DIEOV |
1 |
1 |
0 |
0 |
|
|
|
|
|
DI |
PCINT1 |
PCINT1 |
– |
– |
|
|
|
|
|
AIO |
ADC6 INPUT, AIN1 |
ADC5 INPUT, AIN0 |
ADC4 INPUT |
ADC3 INPUT |
|
|
|
|
|
98 ATtiny26(L)
1477B–AVR–04/02

ATtiny26(L)
Table 43. Overriding Signals for Alternate Functions in PA3..PA0
Signal |
|
|
|
|
Name |
PA3/AREF/PCINT1 |
PA2/ADC2 |
PA1/ADC1 |
PA0/ADC0 |
|
|
|
|
|
PUOE |
ADMUX[REFS0] |
0 |
0 |
0 |
|
|
|
|
|
PUOV |
0 |
0 |
0 |
0 |
|
|
|
|
|
DDOE |
ADMUX[REFS0] |
0 |
0 |
0 |
|
|
|
|
|
DDOV |
0 |
0 |
0 |
0 |
|
|
|
|
|
PVOE |
0 |
0 |
0 |
0 |
|
|
|
|
|
PVOV |
0 |
0 |
0 |
0 |
|
|
|
|
|
DIEOE |
PCINT1_ENABLE(1) • |
0 |
0 |
0 |
|
~(2)ADMUX[REFS0] |
|
|
|
DIEOV |
1 |
0 |
0 |
0 |
|
|
|
|
|
DI |
PCINT1 |
– |
– |
– |
|
|
|
|
|
AIO |
ANALOG REFERENCE INPUT |
ADC2 INPUT |
ADC1 INPUT |
ADC0 INPUT |
|
|
|
|
|
Notes: 1. Note that the PCINT1 Interrupt is only enabled if both the Global Interrupt Flag is enabled, the PCIE1 flag in GIMSK is set and the alternate function of the pin is disabled as described in “Pin Change Interrupt” on page 38
2. Not operator is marked with “~”.
99
1477B–AVR–04/02