AT MEGA 32 IC

ATmega32 is very much similar to ATmega16 microcontroller with certain differences which are discussed below. ATmega32 is an 8-bit high performance microcontroller of Atmel’s Mega AVR family. Atmega32 is based on enhanced RISC (Reduced Instruction Set Computing) architecture with 131 powerful instructions. Most of the instructions execute in one machine cycle. Atmega32 can work on a maximum frequency of 16MHz.
The differences between ATmega32 and ATmega16 can be summarized as follows:

ATmega32 has 32 KB programmable flash memory, static RAM of 2 KB and EEPROM of 1 KB. The endurance cycle of flash memory and EEPROM is 10,000 and 100,000, respectively.

ATmega32

ATmega16

RAM

2 KB

1 KB

Flash

32 KB

16 KB

EEPROM

1 KB

512 bytes

The Bootloader area, the NRWW section starts at word 0x3800 in ATmega32 while in ATmega16 it starts at 0x1C00.

ATmega32 has a different interrupt table, the table given below shows the difference. More details can be obtained from the respective datasheets.

Vector #

ATmega32

ATmega16

1

Reset

Reset

2

INT0

INT0

3

INT1

INT1

4

INT2

Timer2 COMP

5

Timer2 COMP

Timer2 OVF

6

Timer2 OVF

Timer1 CAPT

7

Timer1 CAPT

Timer1 COMPA

8

Timer1 COMPA

Timer1 COMPB

9

Timer1 COMPB

Timer1 OVF

10

Timer1 OVF

Timer0 OVF

11

Timer0 COMP

SPI, STC

12

Timer0 OVF

USART, RXC

13

SPI, STC

USART, UDRE

14

USART, RXC

USART, TXC

15

USART, UDRE

ADC

16

USART, TXC

EE_RDY

17

ADC

ANA_COMP

18

EE_RDY

TWI

19

ANA_COMP

INT2

20

TWI

Timer0 COMP

21

SPM_RDY

SPM_RDY

In MCUCR register, the SM2 and SE bits are swapped, i.e., the SM2 bit is bit7 and SE bit is bit6 in MCUCR register in ATmega32.