circuitcellar.com
Magazine Support   Digital Library   Products & Services   Suppliers Directory 
 
 





 

Issue 127, February 2001
Working with AVR Microcontrollers


by Stuart Ball

With great cash prizes on the line in the Design Logic 2001 contest, Stuart offers his design expertise on Atmel’s AVR microcontrollers. There’s a whole prize category devoted to the AVR family, so read up and then get started on your entry!


Start The Hardware The Software Tools Design Considerations The Bottom Line Sources PDF

This month, Circuit Cellar and Atmel are kicking off the Design Logic 2001 contest. If you’re not familiar with Atmel’s AVR family, follow along and I’ll explain some of the details about designing with the AVR microcontroller. The only thing left for you to do is to request your sample part or order the development kit (see Photo 1).

ball-p1.jpg (126460 bytes)
Photo 1—A development kit, like this one for the STK500, is a great place to start on your contest entry.

The AVR series is a RISC-based, 8-bit microcontroller family with 20 devices that are available in package sizes from 8 pins to 44 pins. The AVR architecture is optimized for use with high-level languages such as C.

The core processor in all AVR devices is the same. All devices have flash-based program memory (except the FPSLIC series) and execute essentially the same instruction set. The AVR family is available with an array of options; some parts have a single 8-bit timer, others have multiple 8- and 16-bit timers. Some parts have multiple channels of 10-bit ADCs and some have one or more UARTS for serial communication. Table 1 shows a breakdown of the major features.

Device

Package pins, I/O pins

Flash
(bytes)

RAM
(bytes)

EEPROM
(bytes)

Maximum
frequency (MHz)

8-bit
timers

16-bit
timers

Other

ATtiny10/11/12 8, 6 1024 0 64 8 1 0  
ATtiny22 8, 6 1024 0 64 1.6 2 0  
ATtiny15 8, 6 1024 0 64 1.6 2 0 Four 10-bit ADC channels
AT90S2323 8, 3 2048 128 128 10 1 0  
AT90S2343 8, 5 2048 128 128 10 1 0  
AT90S1200 20, 15 4096 0 64 12 1 0  
AT90S2313 20, 15 2048 128 128 10 1 1 UART
AT90S2333 28, 20 2048 128 128 8 1 1 UART, six 10-bit ADC channels
AT90S4433 28, 20 4096 128 256 8 1 1 UART, six 10-bit ADC channels
AT90S4414 40, 32 4096 256 256 8 1 1 UART
AT90S8515 40, 32 8192 512 512 8 1 1 UART
AT90S4434 40, 32 4096 256 256 8 2 1 UART, eight 10-bit ADC channels
AT90S8535 40, 32 8192 512 512 8 2 1 UART, eight 10-bit ADC channels
ATmega161 40, 32 16,384 1024 512 8 2 1 Two UARTS, SPI
ATmega603 64, 32 64 K 4 K 2 K 6 2 1 UART, eight 10-bit ADC channels
ATmega103 64, 32 128 K 4 K 4 K 6 2 1 UART, eight 10-bit ADC channels