ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 02.06.2025
Просмотров: 3633
Скачиваний: 0
Special Function IO Register –
SFIOR
Bit |
7 |
6 |
5 |
4 |
3 |
2 |
1 |
0 |
||||
ACME |
PUD |
PSR2 |
PSR10 |
SFIOR |
||||||||
Read/Write |
R |
R |
R |
R |
R/W |
R/W |
R/W |
R/W |
||||
Initial Value |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
||||
• Bit 2 – PUD: Pull-up Disable
When this bit is written to 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 50 for more details about this feature.
Alternate Functions of Port B The Port B pins with alternate functions are shown in Table 22.
Table 22. Port B Pins Alternate Functions
Port Pin |
Alternate Functions |
PB7 |
XTAL2 (Chip Clock Oscillator pin 2) |
||
TOSC2 (Timer Oscillator pin 2) |
|||
PB6 |
XTAL1 (Chip Clock Oscillator pin 1 or External clock input) |
||
TOSC1 (Timer Oscillator pin 1) |
|||
PB5 |
SCK (SPI Bus Master clock Input) |
||
PB4 |
MISO (SPI Bus Master Input/Slave Output) |
||
PB3 |
MOSI (SPI Bus Master Output/Slave Input) |
||
OC2 (Timer/Counter2 Output Compare Match Output) |
|||
(SPI Bus Master Slave select) |
|||
PB2 |
SS |
||
OC1B (Timer/Counter1 Output Compare Match B Output) |
|||
PB1 |
OC1A (Timer/Counter1 Output Compare Match A Output) |
||
PB0 |
ICP1 (Timer/Counter1 Input Capture Pin) |
||
The alternate pin configuration is as follows:
• XTAL2/TOSC2 – Port B, Bit 7
XTAL2: Chip clock Oscillator pin 2. Used as clock pin for crystal Oscillator or Low-fre- quency crystal Oscillator. When used as a clock pin, the pin can not be used as an I/O pin.
TOSC2: Timer Oscillator pin 2. Used only if internal calibrated RC Oscillator is selected as chip clock source, and the asynchronous timer is enabled by the correct setting in ASSR. When the AS2 bit in ASSR is set (one) to enable asynchronous clocking of Timer/Counter2, pin PB7 is disconnected from the port, and becomes the inverting output of the Oscillator amplifier. In this mode, a crystal Oscillator is connected to this pin, and the pin cannot be used as an I/O pin.
If PB7 is used as a clock pin, DDB7, PORTB7 and PINB7 will all read 0.
• XTAL1/TOSC1 – Port B, Bit 6
XTAL1: Chip clock Oscillator pin 1. Used for all chip clock sources except internal calibrated RC Oscillator. When used as a clock pin, the pin can not be used as an I/O pin.
TOSC1: Timer Oscillator pin 1. Used only if internal calibrated RC Oscillator is selected as chip clock source, and the asynchronous timer is enabled by the correct setting in ASSR. When the AS2 bit in ASSR is set (one) to enable asynchronous clocking of Timer/Counter2, pin PB6 is disconnected from the port, and becomes the input of the
56 ATmega8(L)
2486O–AVR–10/04
ATmega8(L)
inverting Oscillator amplifier. In this mode, a crystal Oscillator is connected to this pin, and the pin can not be used as an I/O pin.
If PB6 is used as a clock pin, DDB6, PORTB6 and PINB6 will all read 0.
• SCK – Port B, Bit 5
SCK: Master Clock output, Slave Clock input pin for SPI channel. When the SPI is enabled as a Slave, this pin is configured as an input regardless of the setting of DDB5. When the SPI is enabled as a Master, the data direction of this pin is controlled by DDB5. When the pin is forced by the SPI to be an input, the pull-up can still be controlled by the PORTB5 bit.
• MISO – Port B, Bit 4
MISO: Master Data input, Slave Data output pin for SPI channel. When the SPI is enabled as a Master, this pin is configured as an input regardless of the setting of DDB4. When the SPI is enabled as a Slave, the data direction of this pin is controlled by DDB4. When the pin is forced by the SPI to be an input, the pull-up can still be controlled by the PORTB4 bit.
• MOSI/OC2 – Port B, Bit 3
MOSI: SPI Master Data output, Slave Data input for SPI channel. When the SPI is enabled as a Slave, this pin is configured as an input regardless of the setting of DDB3. When the SPI is enabled as a Master, the data direction of this pin is controlled by DDB3. When the pin is forced by the SPI to be an input, the pull-up can still be controlled by the PORTB3 bit.
OC2, Output Compare Match Output: The PB3 pin can serve as an external output for the Timer/Counter2 Compare Match. The PB3 pin has to be configured as an output (DDB3 set (one)) to serve this function. The OC2 pin is also the output pin for the PWM mode timer function.
• SS/OC1B – Port B, Bit 2
SS: Slave Select input. When the SPI is enabled as a Slave, this pin is configured as an input regardless of the setting of DDB2. As a Slave, the SPI is activated when this pin is driven low. When the SPI is enabled as a Master, the data direction of this pin is controlled by DDB2. When the pin is forced by the SPI to be an input, the pull-up can still be controlled by the PORTB2 bit.
OC1B, Output Compare Match output: The PB2 pin can serve as an external output for the Timer/Counter1 Compare Match B. The PB2 pin has to be configured as an output (DDB2 set (one)) to serve this function. The OC1B pin is also the output pin for the PWM mode timer function.
• OC1A – Port B, Bit 1
OC1A, Output Compare Match output: The PB1 pin can serve as an external output for the Timer/Counter1 Compare Match A. The PB1 pin has to be configured as an output (DDB1 set (one)) to serve this function. The OC1A pin is also the output pin for the PWM mode timer function.
• ICP1 – Port B, Bit 0
ICP1 – Input Capture Pin: The PB0 pin can act as an Input Capture Pin for
Timer/Counter1.
Table 23 and Table 24 relate the alternate functions of Port B to the overriding signals shown in Figure 25 on page 54. SPI MSTR INPUT and SPI SLAVE OUTPUT constitute the MISO signal, while MOSI is divided into SPI MSTR OUTPUT and SPI SLAVE INPUT.
57
2486O–AVR–10/04
Table 23. Overriding Signals for Alternate Functions in PB7..PB4
Signal |
PB7/XTAL2/ |
PB6/XTAL1/ |
||||||||||||||||
Name |
TOSC2(1)(2) |
TOSC1(1) |
PB5/SCK |
PB4/MISO |
||||||||||||||
PUOE |
• |
+ |
+ AS2 |
SPE • |
SPE • MSTR |
|||||||||||||
EXT |
(INTRC |
INTRC |
MSTR |
|||||||||||||||
AS2) |
||||||||||||||||||
PUO |
0 |
0 |
PORTB5 • |
PORTB4 • |
||||||||||||||
PUD |
PUD |
|||||||||||||||||
DDOE |
• |
+ |
+ AS2 |
SPE • |
SPE • MSTR |
|||||||||||||
EXT |
(INTRC |
INTRC |
MSTR |
|||||||||||||||
AS2) |
||||||||||||||||||
DDOV |
0 |
0 |
0 |
0 |
||||||||||||||
PVOE |
0 |
0 |
SPE • MSTR |
SPE • |
||||||||||||||
MSTR |
||||||||||||||||||
PVOV |
0 |
0 |
SCK OUTPUT |
SPI SLAVE OUTPUT |
||||||||||||||
DIEOE |
• |
+ |
+ AS2 |
0 |
0 |
|||||||||||||
EXT |
(INTRC |
INTRC |
||||||||||||||||
AS2) |
||||||||||||||||||
DIEOV |
0 |
0 |
0 |
0 |
||||||||||||||
DI |
– |
– |
SCK INPUT |
SPI MSTR INPUT |
||||||||||||||
AIO |
Oscillator Output |
Oscillator/Clock |
– |
– |
||||||||||||||
Input |
||||||||||||||||||
Notes: 1. INTRC means that the internal RC Oscillator is selected (by the CKSEL Fuse).
2.EXT means that the external RC Oscillator or an external clock is selected (by the CKSEL Fuse).
Table 24. Overriding Signals for Alternate Functions in PB3..PB0
Signal |
|||||||||||||||||
Name |
PB3/MOSI/OC2 |
PB2/SS/OC1B |
PB1/OC1A |
PB0/ICP1 |
|||||||||||||
PUOE |
SPE • |
SPE • |
0 |
0 |
|||||||||||||
MSTR |
MSTR |
||||||||||||||||
PUO |
PORTB3 • |
PORTB2 • |
0 |
0 |
|||||||||||||
PUD |
PUD |
||||||||||||||||
DDOE |
SPE • |
SPE • |
0 |
0 |
|||||||||||||
MSTR |
MSTR |
||||||||||||||||
DDOV |
0 |
0 |
0 |
0 |
|||||||||||||
PVOE |
SPE • MSTR + |
OC1B ENABLE |
OC1A ENABLE |
0 |
|||||||||||||
OC2 ENABLE |
|||||||||||||||||
PVOV |
SPI MSTR OUTPUT + OC2 |
OC1B |
OC1A |
0 |
|||||||||||||
DIEOE |
0 |
0 |
0 |
0 |
|||||||||||||
DIEOV |
0 |
0 |
0 |
0 |
|||||||||||||
DI |
SPI SLAVE INPUT |
SPI |
– |
ICP1 INPUT |
|||||||||||||
SS |
|||||||||||||||||
AIO |
– |
– |
– |
– |
|||||||||||||
58 ATmega8(L)
2486O–AVR–10/04
ATmega8(L)
Alternate Functions of Port C The Port C pins with alternate functions are shown in Table 25.
Table 25. Port C Pins Alternate Functions
Port Pin |
Alternate Function |
||
PC6 |
(Reset pin) |
||
RESET |
|||
PC5 |
ADC5 (ADC Input Channel 5) |
||
SCL (Two-wire Serial Bus Clock Line) |
|||
PC4 |
ADC4 (ADC Input Channel 4) |
||
SDA (Two-wire Serial Bus Data Input/Output Line) |
|||
PC3 |
ADC3 (ADC Input Channel 3) |
||
PC2 |
ADC2 (ADC Input Channel 2) |
||
PC1 |
ADC1 (ADC Input Channel 1) |
||
PC0 |
ADC0 (ADC Input Channel 0) |
||
The alternate pin configuration is as follows:
• RESET – Port C, Bit 6
RESET, Reset pin: When the RSTDISBL Fuse is programmed, this pin functions as a normal I/O pin, and the part will have to rely on Power-on Reset and Brown-out Reset as its reset sources. When the RSTDISBL Fuse is unprogrammed, the reset circuitry is connected to the pin, and the pin can not be used as an I/O pin.
If PC6 is used as a reset pin, DDC6, PORTC6 and PINC6 will all read 0.
• SCL/ADC5 – Port C, Bit 5
SCL, Two-wire Serial Interface Clock: When the TWEN bit in TWCR is set (one) to enable the Two-wire Serial Interface, pin PC5 is disconnected from the port and becomes the Serial Clock I/O pin for the Two-wire Serial Interface. In this mode, there is a spike filter on the pin to suppress spikes shorter than 50 ns on the input signal, and the pin is driven by an open drain driver with slew-rate limitation.
PC5 can also be used as ADC input Channel 5. Note that ADC input channel 5 uses digital power.
• SDA/ADC4 – Port C, Bit 4
SDA, Two-wire Serial Interface Data: When the TWEN bit in TWCR is set (one) to enable the Two-wire Serial Interface, pin PC4 is disconnected from the port and becomes the Serial Data I/O pin for the Two-wire Serial Interface. In this mode, there is a spike filter on the pin to suppress spikes shorter than 50 ns on the input signal, and the pin is driven by an open drain driver with slew-rate limitation.
PC4 can also be used as ADC input Channel 4. Note that ADC input channel 4 uses digital power.
• ADC3 – Port C, Bit 3
PC3 can also be used as ADC input Channel 3. Note that ADC input channel 3 uses analog power.
• ADC2 – Port C, Bit 2
PC2 can also be used as ADC input Channel 2. Note that ADC input channel 2 uses analog power.
• ADC1 – Port C, Bit 1
59
2486O–AVR–10/04
PC1 can also be used as ADC input Channel 1. Note that ADC input channel 1 uses analog power.
• ADC0 – Port C, Bit 0
PC0 can also be used as ADC input Channel 0. Note that ADC input channel 0 uses analog power.
Table 26 and Table 27 relate the alternate functions of Port C to the overriding signals shown in Figure 25 on page 54.
Table 26. Overriding Signals for Alternate Functions in PC6..PC4
Signal Name |
PC6/RESET |
PC5/SCL/ADC5 |
PC4/SDA/ADC4 |
||||||||
PUOE |
TWEN |
TWEN |
|||||||||
RSTDISBL |
|||||||||||
PUOV |
1 |
PORTC5 • |
PORTC4 • |
||||||||
PUD |
PUD |
||||||||||
DDOE |
TWEN |
TWEN |
|||||||||
RSTDISBL |
|||||||||||
DDOV |
0 |
SCL_OUT |
SDA_OUT |
||||||||
PVOE |
0 |
TWEN |
TWEN |
||||||||
PVOV |
0 |
0 |
0 |
||||||||
DIEOE |
0 |
0 |
|||||||||
RSTDISBL |
|||||||||||
DIEOV |
0 |
0 |
0 |
||||||||
DI |
– |
– |
– |
||||||||
AIO |
RESET INPUT |
ADC5 INPUT / SCL INPUT |
ADC4 INPUT / SDA INPUT |
||||||||
Table 27. Overriding Signals for Alternate Functions in PC3..PC0(1)
Signal Name |
PC3/ADC3 |
PC2/ADC2 |
PC1/ADC1 |
PC0/ADC0 |
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 |
0 |
0 |
0 |
0 |
DIEOV |
0 |
0 |
0 |
0 |
DI |
– |
– |
– |
– |
AIO |
ADC3 INPUT |
ADC2 INPUT |
ADC1 INPUT |
ADC0 INPUT |
Note: 1. When enabled, the Two-wire Serial Interface enables slew-rate controls on the output pins PC4 and PC5. This is not shown in the figure. In addition, spike filters are connected between the AIO outputs shown in the port figure and the digital logic of the TWI module.
60 ATmega8(L)
2486O–AVR–10/04