0% found this document useful (0 votes)
60 views45 pages

1.introduction To AVR Microcontrollers

The document provides an introduction to AVR microcontrollers, detailing their components, differences from microprocessors, and categories such as TinyAVR, MegaAVR, and XmegaAVR. It discusses the architecture of the ATmega16 microcontroller, including its I/O ports, timers, memory types, and communication interfaces. Additionally, it covers the selection criteria for microcontrollers and programming methods using ISP.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
60 views45 pages

1.introduction To AVR Microcontrollers

The document provides an introduction to AVR microcontrollers, detailing their components, differences from microprocessors, and categories such as TinyAVR, MegaAVR, and XmegaAVR. It discusses the architecture of the ATmega16 microcontroller, including its I/O ports, timers, memory types, and communication interfaces. Additionally, it covers the selection criteria for microcontrollers and programming methods using ISP.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd

Introduction to AVR Microcontrollers

by:
Eng. Mohamed Tarek.

© 2016 by Eng. Mohamed Tarek. 1


Micro-controller vs. Micro-processor

 Micro-controller
• Basically a microcontroller can be described as
a computer on a chip. a single chip containing
a CPU, non-volatile memory (RAM), volatile
memory(ROM), a timer and an I/O control unit.
• A microcontroller apart from the above mentioned
components usually also include serial
communication capabilities, interrupt controls and
analog I/O capabilities.
• Used for a few dedicated functions determined by
the system designer.

© 2016 by Eng. Mohamed Tarek. 2


Micro-controller vs. Micro-processor

Many IC’s into one IC

© 2016 by Eng. Mohamed Tarek. 3


Micro-controller vs. Micro-processor

 Microcontrollers don’t work alone in the circuit it must


interfaces with other on chip devices like Sensors,
Switches, Leds, LCD, Keypad and DC Motor
 Microcontroller can accept inputs from some
components and provide outputs to other components
within any given system.
 Differences in requirements, make the manufacturers
produce different microcontrollers with different
memory sizes, number of I/O lines and number of
integrated peripheral devices. Other wise they are all
similar to use.

© 2016 by Eng. Mohamed Tarek. 4


Micro-controller vs. Micro-processor

© 2016 by Eng. Mohamed Tarek. 5


Micro-controller vs. Micro-processor

 Micro-processor
• Just a CPU has to add externally memory, clock,
input/output interfaces, timer and all other
needed peripheral. This is the reason
a microprocessor has so many pins.
• The difference between a microcontroller and
a microprocessor is that the microprocessor is
a general purpose computer while a microcontroller
is a computer dedicated to one or just a few tasks.

© 2016 by Eng. Mohamed Tarek. 6


Micro-controller vs. Micro-processor

© 2016 by Eng. Mohamed Tarek. 7


Micro-Controller Components

 Processor
The processor refers to the Central Processing Unit (CPU) of the
microcontroller. It contains the Arithmetic Logic Unit (ALU), Control
Unit, Instruction Decoder and some Special Registers (Stack
Pointer, Status Register, Program Counter, etc.).

 Volatile Data Memory(RAM)


This is memory used by the microcontroller for temporary data
storage, system setup and peripherals configuration registers.
Memory in this category includes SRAM and DRAM. AVR
microcontrollers utilize SRAM.

© 2016 by Eng. Mohamed Tarek. 8


Micro-Controller Components

 Non-Volatile Program Memory


This is memory used by the microcontroller to store programs. Data
can also be stored in this memory but the access time is much
slower than that of RAM. Memory in this category includes ROM,
PROM, EPROM, EEPROM and FLASH. The AVR microcontrollers
utilize Flash for program storage, some AVR controllers contains a
bit of EEPROM as well to store non volatile data.

 Timer Module
Most microcontrollers have at least one timer/counter peripheral.
Timer/Counter modules are used to perform timing or counting
operations in the controller. These include time stamping, measuring
intervals, counting events, etc.

© 2016 by Eng. Mohamed Tarek. 9


Micro-Controller Components

 Interrupt Module
Interrupts enable the microcontroller to monitor certain events in the
background while executing and application program and react to
the event if necessary pausing the original program. This is all
coordinated by the interrupt module.

 Digital I/O Module


This module allows digital/logic communication with the
microcontroller and the external world. Communication signals are
that of TTL or CMOS logic.

 Analog I/O Modules


These modules are use to input/output analog information from/to
the external world. Analog modules include Analog Comparators
and Analog-to-Digital Converters.

© 2016 by Eng. Mohamed Tarek. 10


Micro-Controller Components

 Serial Modules
These modules are used for serial communication with the external
world. An example is the USART peripheral which utilizes the
RS232 standard. Serial Peripheral Interface(SPI) and Inter
Integrated Circuit(I2C).

© 2016 by Eng. Mohamed Tarek. 11


How to select a Micro-Controller

 Number of I/O ports.


 Peripherals required (Timers, ADC, USART,SPI and
EEPROM).
 Memory requirements.
 Maximum clock speed.
 Real-Time considerations.
 Number of interrupts required
 Power Consumption / sleep modes.
 Availability and Cost.
 Vendor Support.
 Development Environment.

© 2016 by Eng. Mohamed Tarek. 12


Microcontroller Vendors

 Microcontroller Vendor is the manufacture of


the microcontroller chip it self.

Vendor Families Derivative

AVR ATmega16

8051 AT83EB5114
PIC PIC16F877A

V850 V850ES
HC12 MC9S12XEP100

TM4C TM4C123GH6PM

© 2016 by Eng. Mohamed Tarek. 13


AVR History

 AVR was developed in the year 1996 by Atmel


Corporation.

 The architecture of AVR was developed by Alf-Egil


Bogen and Vegard Wollan.

 AVR derives its name from its developers and stands for
Alf-Egil Bogen Vegard Wollan RISC microcontroller.

 Also known as Advanced Virtual RISC.

 The first microcontroller to hit the commercial market


was AT90S1200 in the year 1997.

© 2016 by Eng. Mohamed Tarek. 14


AVR Micro-controllers Categories

 1.TinyAVR
• Less memory
• small size
• suitable only for simpler applications.

 2.MegaAVR
• These are the most popular ones.

• having good amount of memory (up to 256 KB) higher number of


inbuilt peripherals.

• suitable for moderate to complex applications.

 3.XmegaAVR
• Used commercially for complex applications, which require large
program memory and high speed.
© 2016 by Eng. Mohamed Tarek. 15
AVR Micro-controllers Categories

© 2016 by Eng. Mohamed Tarek. 16


AVR Micro-controllers Categories

© 2016 by Eng. Mohamed Tarek. 17


What’s special about AVR?

 AVR micro-controllers are fast executes most of the


instructions in single execution cycle.
 AVRs are about 4 times faster than PICs.
 They consume less power and can be operated in
different power saving modes.
 Free IDE.
 Available in Egyptian market.

© 2016 by Eng. Mohamed Tarek. 18


What’s special about AVR?

 Comparison between the three most


commonly used families of microcontrollers:

© 2016 by Eng. Mohamed Tarek. 19


What’s special about AVR?

© 2016 by Eng. Mohamed Tarek. 20


What’s special about AVR?

 8-bit Micro-controllers

© 2016 by Eng. Mohamed Tarek. 21


What’s special about AVR?

 AVR follows Harvard Architecture


• the processor is equipped with separate memories and buses for
Program and the Data information. Here while an instruction is
being executed, the next instruction is pre-fetched from the
program memory.

© 2016 by Eng. Mohamed Tarek. 22


ATmega16

 Naming Convention

© 2016 by Eng. Mohamed Tarek. 23


Flavors of ATmega16

 There are two flavors for ATmega16 microcontroller:


1. ATmega16: Operating frequency range is 0 – 16 MHz.

2. ATmega16L: Operating frequency range is 0 – 8 MHz.

If we are using a crystal of 8 MHz = 8 x 106 Hertz =


8 Million cycles, then AVR can execute 8 million add
instructions per second.

© 2016 by Eng. Mohamed Tarek. 24


ATmega16 Architecture

© 2016 by Eng. Mohamed Tarek. 25


ATmega16 Architecture

 I/O Ports
ATmega16 has four (PORTA, PORTB, PORTC and PORTD) 8-bit
input-output ports.

 Timers/Counters
ATmega16 consists of two 8-bit and one 16-bit timer/counter.

 Watchdog Timer
Present with internal oscillator. Watchdog timer continuously
monitors and resets the controller if the code gets stuck at any
execution action for more than a defined time interval.

 ADC Interface
ATmega16 is equipped with an 8 channels ADC with a resolution of
10-bits.

© 2016 by Eng. Mohamed Tarek. 26


ATmega16 Architecture

 Analog Comparator
The Analog Comparator compares the input values of two analog
signals.

 Interrupt Unit
Consists of 21 interrupt sources out of which four are external. The
remaining are internal interrupts which support the peripherals like
USART, ADC, Timers etc.

 USART
Universal Synchronous and Asynchronous Receiver and
Transmitter interface is available for interfacing with external device
capable of communicating serially (data transmission bit by bit).

© 2016 by Eng. Mohamed Tarek. 27


ATmega16 Architecture

 TWI(Two Wire Interface )


Also called Inter-integrated Circuits can be used to set up a network
of devices, many devices can be connected over TWI interface
forming a network, the devices can simultaneously transmit and
receive and have their own unique address.

 SPI (Serial Peripheral Interface)


Used for serial communication between two devices on a
common clock source.

 ISP(In System Programmable )


Flash Memory which can be programmed without removing the IC
from the circuit.

© 2016 by Eng. Mohamed Tarek. 28


ATmega16 Architecture

 Internal Calibrated Oscillator


• ATmega16 is equipped with an internal oscillator for driving its
clock. By default ATmega16 is set to operate at internal
calibrated oscillator of 1 Mhz.
• The maximum frequency of internal oscillator is 8Mhz.
• ATmega16 can be operated using an external crystal oscillator
with a maximum frequency of 16MHz

© 2016 by Eng. Mohamed Tarek. 29


ATmega16 Architecture

 Memory: ATmega16 has three different memories


• Program flash EEPROM memory: ATmega16 is available with
16KB of in system programmable Flash EEPROM.
• SRAM(data memory) :ATmega16 is equipped with 1KB of
internal SRAM.
• Byte Addressable EEPROM: ATmega16 has 512 bytes of
EEPROM used to store non-volatile data.

Note: A small portion of SRAM is set aside for general


purpose registers used by CPU and for the peripheral
subsystems of the microcontroller.

© 2016 by Eng. Mohamed Tarek. 30


ATmega16 pins

© 2016 by Eng. Mohamed Tarek. 31


ATmega16 pins

© 2016 by Eng. Mohamed Tarek. 32


ATmega16 pins

© 2016 by Eng. Mohamed Tarek. 33


ATmega16 pins

© 2016 by Eng. Mohamed Tarek. 34


ATmega16 Active Low Reset circuit

R= 4.7KΩ
C= 0.1µf or 100nf

© 2016 by Eng. Mohamed Tarek. 35


Micro-controller clock

 Clock signal is a particular type of signal that oscillates


between a high and a low state, Circuits use the clock
signal for synchronization may become active at either
the rising edge, falling edge, or, in the case of double
data rate, both in the rising and in the falling edges of the
clock cycle.
 Microcontroller clock generator source could be internal
or external.
 Microcontroller external clock sources could be RC
oscillator or Crystal oscillator but internal clock source
could by RC oscillator only.

© 2016 by Eng. Mohamed Tarek. 36


Micro-controller clock(External sources)

Crystal oscillator RC oscillator

© 2016 by Eng. Mohamed Tarek. 37


ATmega16 Internal Calibrated RC Oscillator

© 2016 by Eng. Mohamed Tarek. 38


ATmega16 External Crystal Oscillator

C1 = C2 = 12 - 22pf

© 2016 by Eng. Mohamed Tarek. 39


ATmega16 External Crystal Oscillator

© 2016 by Eng. Mohamed Tarek. 40


ATmega16 External Crystal Oscillator

 Example configure the µC to deal with 16Mhz Crystal


• CKSEL3  1
• CKSEL2  1
• CKSEL1  1
• CKSEL0  1
• CKOPT  0

© 2016 by Eng. Mohamed Tarek. 41


How to program AVR Microcontroller using ISP

 Connection between Microcontroller and PC


Parallel Port

© 2016 by Eng. Mohamed Tarek. 42


AVR Useful Tutorials

 http://maxembedded.com/
 http://extremeelectronics.co.in/
 http://www.embedds.com/avr-tutorials/
 http://avr-tutorials.com/

© 2016 by Eng. Mohamed Tarek. 43


© 2016 by Eng. Mohamed Tarek. 44
My Full Embedded Diploma Contents :
http://www.mediafire.com/download/cdqqwh14uwi4dnd/Embedded+Systems+Full+Diplo
ma+Contents.pdf

My Facebook Group :
https://www.facebook.com/groups/Embedded.Systems.Programming

Contact Details
Eng. Mohamed Tarek.
Embedded Software Engineer
Mob: 01115154316
[email protected]

© 2016 by Eng. Mohamed Tarek. 45

You might also like