|
|
|
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 Atmels AVR microcontrollers.
Theres 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 youre not familiar with Atmels AVR
family, follow along and Ill 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).
 |
| Photo 1A 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 |
| |
|
|
|
|
|
|
|
|
|