ATmega168 Atmel Corporation, ATmega168 Datasheet - Page 73
![no-image](/images/manufacturer_photos/0/0/79/atmel_corporation_sml.jpg)
ATmega168
Manufacturer Part Number
ATmega168
Description
Manufacturer
Atmel Corporation
Specifications of ATmega168
Flash (kbytes)
16 Kbytes
Pin Count
32
Max. Operating Frequency
20 MHz
Cpu
8-bit AVR
# Of Touch Channels
16
Hardware Qtouch Acquisition
No
Max I/o Pins
23
Ext Interrupts
24
Usb Speed
No
Usb Interface
No
Spi
2
Twi (i2c)
1
Uart
1
Graphic Lcd
No
Video Decoder
No
Camera Interface
No
Adc Channels
8
Adc Resolution (bits)
10
Adc Speed (ksps)
15
Analog Comparators
1
Resistive Touch Screen
No
Temp. Sensor
No
Crypto Engine
No
Sram (kbytes)
1
Eeprom (bytes)
512
Self Program Memory
YES
Dram Memory
No
Nand Interface
No
Picopower
No
Temp. Range (deg C)
-40 to 85
I/o Supply Class
1.8 to 5.5
Operating Voltage (vcc)
1.8 to 5.5
Fpu
No
Mpu / Mmu
no / no
Timers
3
Output Compare Channels
6
Input Capture Channels
1
Pwm Channels
6
32khz Rtc
Yes
Calibrated Rc Oscillator
Yes
Available stocks
Company
Part Number
Manufacturer
Quantity
Price
Company:
Part Number:
ATMEGA168
Manufacturer:
AVAILINK
Quantity:
1 590
Company:
Part Number:
ATmega168-15AD
Manufacturer:
VISHAY
Quantity:
15 600
Part Number:
ATmega168-15AT1
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Company:
Part Number:
ATmega168-15MT
Manufacturer:
ATMEL
Quantity:
686
Part Number:
ATmega168-15MT
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Company:
Part Number:
ATmega168-15MT1
Manufacturer:
ATMEL
Quantity:
372
Part Number:
ATmega168-15MZ
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
Part Number:
ATmega168-20AU
Manufacturer:
ATMEL/爱特梅尔
Quantity:
20 000
14.2.2
14.2.3
14.2.4
2545T–AVR–05/11
Toggling the pin
Switching between input and output
Reading the pin value
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 14-1
Table 14-1.
Independent of the setting of Data Direction bit DDxn, the port pin can be read through the
PINxn Register bit. As shown in
ing latch constitute 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.
page 74
value. The maximum and minimum propagation delays are denoted t
respectively.
DDxn
0
0
0
1
1
shows a timing diagram of the synchronization when reading an externally applied pin
PORTxn
summarizes the control signals for the pin value.
0
1
1
0
1
Port pin configurations.
(in MCUCR)
PUD
X
X
X
0
1
Figure 14-2 on page
Output
Output
Input
Input
Input
I/O
Pull-up
Yes
No
No
No
No
72, the PINxn Register bit and the preced-
Comment
Tri-state (Hi-Z)
Pxn will source current if ext. pulled low
Tri-state (Hi-Z)
Output low (sink)
Output high (source)
ATmega48/88/168
pd,max
Figure 14-3 on
and t
pd,min
73