The AVR core combines a rich instruction set with 32 general purpose working registers. All the
32 registers are directly connected to the Arithmetic Logic Unit (ALU), allowing two independent
registers to be accessed in one single instruction executed in one clock cycle. The resulting
PORT D (8) PORT B (8) PORT C (7)
USART 0
8bit T/C 2
8bit T/C 0 16bit T/C 1 A/D Conv.
Internal
Bandgap
Analog
Comp.
SPI TWI
Flash SRAM
EEPROM
Watchdog
Oscillator
Watchdog
Timer
Oscillator
Circuits /
Clock
Generation
Power
Supervision
POR / BOD &
RESET
VCC
GND
PROGRAM
LOGIC
debugWIRE
2
GND
AREF
AVCC
DATABUS
PD[0..7] PB[0..7] PC[0..6] ADC[6..7]
6
RESET
XTAL[1..2]
CPU
6
8161DS–AVR–10/09
ATmega48PA/88PA/168PA/328P
architecture is more code efficient while achieving throughputs up to ten times faster than conventional
CISC microcontrollers.