Atmel ATmega48PV Manual page 77

8-bit microcontroller with 4/8/16/32k bytes in-system programmable flash
Table of Contents

Advertisement

11.2.2
Toggling the Pin
11.2.3
Switching Between Input and Output
11.2.4
Reading the Pin Value
8025I–AVR–02/09
If PORTxn is written logic one when the pin is configured as an output pin, the port pin is driven
high (one). If PORTxn is written logic zero when the pin is configured as an output pin, the port
pin is driven low (zero).
Writing a logic one to PINxn toggles the value of PORTxn, independent on the value of DDRxn.
Note that the SBI instruction can be used to toggle one single bit in a port.
When switching between tri-state ({DDxn, PORTxn} = 0b00) and output high ({DDxn, PORTxn}
= 0b11), an intermediate state with either pull-up enabled {DDxn, PORTxn} = 0b01) or output
low ({DDxn, PORTxn} = 0b10) must occur. Normally, the pull-up enabled state is fully accept-
able, as a high-impedance environment will not notice the difference between a strong high
driver and a pull-up. If this is not the case, the PUD bit in the MCUCR Register can be set to dis-
able all pull-ups in all ports.
Switching between input with pull-up and output low generates the same problem. The user
must use either the tri-state ({DDxn, PORTxn} = 0b00) or the output high state ({DDxn, PORTxn}
= 0b11) as an intermediate step.
Table 11-1
summarizes the control signals for the pin value.
Table 11-1.
Port Pin Configurations
DDxn
PORTxn
(in MCUCR)
0
0
0
1
0
1
1
0
1
1
Independent of the setting of Data Direction bit DDxn, the port pin can be read through the
PINxn Register bit. As shown in
stitute a synchronizer. This is needed to avoid metastability if the physical pin changes value
near the edge of the internal clock, but it also introduces a delay.
gram of the synchronization when reading an externally applied pin value. The maximum and
minimum propagation delays are denoted t
ATmega48P/88P/168P/328P
PUD
I/O
Pull-up
X
Input
No
0
Input
Yes
1
Input
No
X
Output
No
X
Output
No
Figure
11-2, the PINxn Register bit and the preceding latch con-
and t
pd,max
Comment
Tri-state (Hi-Z)
Pxn will source current if ext. pulled low.
Tri-state (Hi-Z)
Output Low (Sink)
Output High (Source)
Figure 11-3
shows a timing dia-
respectively.
pd,min
77

Hide quick links:

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ATmega48PV and is the answer not in the manual?

Subscribe to Our Youtube Channel

Table of Contents

Save PDF