EEC 214 Lecture 2
EEC 214 Lecture 2
Computer
Microprocessor
Lecture 2
MICROCONTROLLERS AND EMBEDDED PROCESSORS
By microprocessor is meant the general-purpose microprocessors such as Intel’s x86 family
(8086, 80286, 80386, 80486, and the Pentium) or Motorola’s PowerPC family. These
microprocessors contain no RAM, no ROM, and no I/O ports on the chip itself. For this reason,
they are commonly referred to as general-purpose microprocessor.
You may ask what AVR stands for; AVR can have different meanings for different people! Atmel
says that it is nothing more than a product name, but it might stand for Advanced Virtual RISC,
or Alf and Vegard RISC (the names of the AVR designers).
There are many kinds of AVR microcontroller with different properties. Except for AVR32,
which is a 32-bit microcontroller, AVRs are all 8-bit microprocessors, meaning that the CPU can
work on only 8 bits of data at a time. Data larger than 8 bits has to be broken into 8-bit pieces to
be processed by the CPU.
Most of the AVRs come with ADC (analog-to-digital converter), timers, and USART (Universal
Synchronous Asynchronous Receiver Transmitter) as standard peripherals. The ADC is 10-bit
and the number of ADC channels in AVR chips varies and can be up to 16, depending on the
number of pins in the package. The AVR can have up to 6 timers besides the watchdog timer. The
USART peripheral allows us to connect the AVR-based system to serial ports such as the COM
port of the x86 IBM PC. Most of the AVR family members come with the I2C and SPI buses and
some of them have USB or CAN bus as well.
AVR microcontrollers have many registers for arithmetic and logic operations. In the CPU,
registers are used to store information temporarily. That information could be a byte of data to be
processed, or an address pointing to the data to be fetched. The vast majority of AVR registers are
8-bit registers. In the AVR there is only one data type: 8-bit. The 8 bits of a register are shown in
the diagram below. These range from the MSB (most-significant bit) D7
In AVR there are 32 general purpose registers. They are R0–R31 and are
located in the lowest location of memory address.
See Figure 1.