Introduction to Avr Microcontrollers

Mohamed Tarek
Mohamed TarekSenior Embedded Software Engineer at Mentor Graphics
Introduction to AVR Microcontrollers
by:
Eng. Mohamed Tarek.
© 2015 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.
© 2015 by Eng. Mohamed Tarek. 2
Micro-controller vs. Micro-processor
Many IC’s into one IC
© 2015 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.
© 2015 by Eng. Mohamed Tarek. 4
Micro-controller vs. Micro-processor
© 2015 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.
© 2015 by Eng. Mohamed Tarek. 6
Micro-controller vs. Micro-processor
© 2015 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.
© 2015 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.
© 2015 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.
© 2015 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).
© 2015 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.
12© 2015 by Eng. Mohamed Tarek.
Microcontroller Vendors
 Microcontroller Vendor is the manufacture of
the microcontroller chip it self.
© 2015 by Eng. Mohamed Tarek. 13
Vendor Families Derivative
AVR ATmega16
8051 AT83EB5114
PIC PIC16F877A
V850 V850ES
HC12 MC9S12XEP100
TM4C TM4C123GH6PM
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.
© 2015 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.
© 2015 by Eng. Mohamed Tarek. 15
AVR Micro-controllers Categories
© 2015 by Eng. Mohamed Tarek. 16
AVR Micro-controllers Categories
© 2015 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.
© 2015 by Eng. Mohamed Tarek. 18
What’s special about AVR?
 Comparison between the three most
commonly used families of microcontrollers:
© 2015 by Eng. Mohamed Tarek. 19
What’s special about AVR?
© 2015 by Eng. Mohamed Tarek. 20
What’s special about AVR?
 8-bit Micro-controllers
© 2015 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.
© 2015 by Eng. Mohamed Tarek. 22
ATmega16
 Naming Convention
© 2015 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.
© 2015 by Eng. Mohamed Tarek. 24
ATmega16 Architecture
© 2015 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 channel ADC with a resolution of
10-bits.
© 2015 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).
© 2015 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.
© 2015 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
© 2015 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.
© 2015 by Eng. Mohamed Tarek. 30
ATmega16 pins
© 2015 by Eng. Mohamed Tarek. 31
ATmega16 pins
© 2015 by Eng. Mohamed Tarek. 32
ATmega16 pins
© 2015 by Eng. Mohamed Tarek. 33
ATmega16 pins
© 2015 by Eng. Mohamed Tarek. 34
ATmega16 Active Low Reset circuit
R= 4.7KΩ
C= 0.1µf or 100nf
© 2015 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.
36© 2015 by Eng. Mohamed Tarek.
Micro-controller clock(External sources)
37
Crystal oscillator RC oscillator
© 2015 by Eng. Mohamed Tarek.
ATmega16 Internal Calibrated RC Oscillator
© 2015 by Eng. Mohamed Tarek. 38
ATmega16 External Crystal Oscillator
C1 = C2 = 12 - 22pf
© 2015 by Eng. Mohamed Tarek. 39
ATmega16 External Crystal Oscillator
© 2015 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
© 2015 by Eng. Mohamed Tarek. 41
How to program AVR Microcontroller using ISP
 Connection between Microcontroller and PC
Parallel Port
© 2015 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/
© 2015 by Eng. Mohamed Tarek. 43
© 2015 by Eng. Mohamed Tarek. 44
Contact Details
Eng. Mohamed Tarek.
Embedded Software Engineer
Mob: 01115154316
Mail: mtarek.2013@gmail.com
45
My Embedded Diploma Contents :
http://www.mediafire.com/download/94n11ai9ovo1xri/Embedded+Diploma+
Contents.pdf
Facebook Group :
https://www.facebook.com/groups/Embedded.Systems.Programming/
© 2015 by Eng. Mohamed Tarek.
1 of 45

Recommended

Introduction to Embedded Systems by
Introduction to Embedded SystemsIntroduction to Embedded Systems
Introduction to Embedded SystemsMohamed Tarek
32.8K views195 slides
Introduction to AVR Microcontroller by
Introduction to AVR Microcontroller Introduction to AVR Microcontroller
Introduction to AVR Microcontroller Mahmoud Sadat
11.2K views20 slides
AVR Fundamentals by
AVR FundamentalsAVR Fundamentals
AVR FundamentalsVinit Vyas
25.9K views91 slides
Atmega32 by
Atmega32Atmega32
Atmega32Phong Hồ Quang Phong
1.6K views346 slides
Introduction to embedded systems by
Introduction to embedded systemsIntroduction to embedded systems
Introduction to embedded systemsDileep Kumar Tiwari
1.3K views18 slides
Embedded system by
Embedded systemEmbedded system
Embedded systemAnmol Bagga
16.1K views39 slides

More Related Content

What's hot

8051 Microcontroller ppt by
8051 Microcontroller ppt8051 Microcontroller ppt
8051 Microcontroller pptRahul Kumar
31.1K views26 slides
L8 understanding-atmega328 p-1 by
L8 understanding-atmega328 p-1L8 understanding-atmega328 p-1
L8 understanding-atmega328 p-1rsamurti
5.4K views21 slides
Introduction to Microcontroller by
Introduction to MicrocontrollerIntroduction to Microcontroller
Introduction to MicrocontrollerPantech ProLabs India Pvt Ltd
23.9K views19 slides
ATmega32-AVR microcontrollers-Part I by
ATmega32-AVR microcontrollers-Part IATmega32-AVR microcontrollers-Part I
ATmega32-AVR microcontrollers-Part IVineethMP2
6.4K views130 slides
Microprocessor and microcontrollers by
Microprocessor and microcontrollersMicroprocessor and microcontrollers
Microprocessor and microcontrollersHiran Gabriel
1.3K views11 slides
AVR Microcontroller by
AVR MicrocontrollerAVR Microcontroller
AVR MicrocontrollerÖzcan Acar
11.7K views188 slides

What's hot(20)

8051 Microcontroller ppt by Rahul Kumar
8051 Microcontroller ppt8051 Microcontroller ppt
8051 Microcontroller ppt
Rahul Kumar31.1K views
L8 understanding-atmega328 p-1 by rsamurti
L8 understanding-atmega328 p-1L8 understanding-atmega328 p-1
L8 understanding-atmega328 p-1
rsamurti5.4K views
ATmega32-AVR microcontrollers-Part I by VineethMP2
ATmega32-AVR microcontrollers-Part IATmega32-AVR microcontrollers-Part I
ATmega32-AVR microcontrollers-Part I
VineethMP26.4K views
Microprocessor and microcontrollers by Hiran Gabriel
Microprocessor and microcontrollersMicroprocessor and microcontrollers
Microprocessor and microcontrollers
Hiran Gabriel1.3K views
AVR Microcontroller by Özcan Acar
AVR MicrocontrollerAVR Microcontroller
AVR Microcontroller
Özcan Acar11.7K views
microcontroller basics by sagar Ramdev
microcontroller basicsmicrocontroller basics
microcontroller basics
sagar Ramdev884 views
Microcontroller overview 1 by Sally Salem
Microcontroller overview 1Microcontroller overview 1
Microcontroller overview 1
Sally Salem1.5K views
Microcontoller and Embedded System by Karan Thakkar
Microcontoller and Embedded SystemMicrocontoller and Embedded System
Microcontoller and Embedded System
Karan Thakkar1.8K views
Embedded Systems - Training ppt by Nishant Kayal
Embedded Systems - Training pptEmbedded Systems - Training ppt
Embedded Systems - Training ppt
Nishant Kayal12.8K views
Embedded C programming based on 8051 microcontroller by Gaurav Verma
Embedded C programming based on 8051 microcontrollerEmbedded C programming based on 8051 microcontroller
Embedded C programming based on 8051 microcontroller
Gaurav Verma105.5K views
Embedded Systems by Navin Kumar
Embedded SystemsEmbedded Systems
Embedded Systems
Navin Kumar3.2K views
Introduction to Microcontroller by Nikhil Sharma
Introduction to MicrocontrollerIntroduction to Microcontroller
Introduction to Microcontroller
Nikhil Sharma5.5K views
Difference Between Microprocessors and Microcontrollers by elprocus
Difference Between Microprocessors and MicrocontrollersDifference Between Microprocessors and Microcontrollers
Difference Between Microprocessors and Microcontrollers
elprocus4.7K views

Similar to Introduction to Avr Microcontrollers

1.Introduction to AVR.pdf by
1.Introduction to AVR.pdf1.Introduction to AVR.pdf
1.Introduction to AVR.pdfMostafaKhaled78
69 views42 slides
Intro to micro controller (Atmega16) by
Intro to micro controller (Atmega16)Intro to micro controller (Atmega16)
Intro to micro controller (Atmega16)Ramadan Ramadan
1.4K views28 slides
Micro controller by
Micro controllerMicro controller
Micro controllerمحمدعبد الحى
899 views33 slides
Microcontroller by
MicrocontrollerMicrocontroller
MicrocontrollerKumar Satyam
716 views33 slides
3.TechieNest microcontrollers by
3.TechieNest  microcontrollers3.TechieNest  microcontrollers
3.TechieNest microcontrollersTechieNest Pvt. Ltd .
106 views26 slides
introduction to embedded systems part 2 by
introduction to embedded systems part 2introduction to embedded systems part 2
introduction to embedded systems part 2Hatem Abd El-Salam
226 views25 slides

Similar to Introduction to Avr Microcontrollers(20)

Intro to micro controller (Atmega16) by Ramadan Ramadan
Intro to micro controller (Atmega16)Intro to micro controller (Atmega16)
Intro to micro controller (Atmega16)
Ramadan Ramadan1.4K views
embedded systems - Developer Student Clubs.pptx.pdf by YoussefAbobakr
embedded systems - Developer Student Clubs.pptx.pdfembedded systems - Developer Student Clubs.pptx.pdf
embedded systems - Developer Student Clubs.pptx.pdf
YoussefAbobakr23 views
Overview of Microcontroller and ATMega32 microcontroller by Rup Chowdhury
Overview of Microcontroller and ATMega32 microcontrollerOverview of Microcontroller and ATMega32 microcontroller
Overview of Microcontroller and ATMega32 microcontroller
Rup Chowdhury45 views
Summer training embedded system and its scope by Arshit Rai
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
Arshit Rai3.8K views
EE6602 Embedded System by rmkceteee
EE6602 Embedded SystemEE6602 Embedded System
EE6602 Embedded System
rmkceteee6.3K views
Tutorial on avr atmega8 microcontroller, architecture and its applications by Edgefxkits & Solutions
Tutorial on avr atmega8 microcontroller, architecture and its applicationsTutorial on avr atmega8 microcontroller, architecture and its applications
Tutorial on avr atmega8 microcontroller, architecture and its applications
INDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptx by MeghdeepSingh
INDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptxINDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptx
INDUSTRIAL TRAINING REPORT EMBEDDED SYSTEM.pptx
MeghdeepSingh12 views
Summer training embedded system and its scope by Arshit Rai
Summer training  embedded system and its scopeSummer training  embedded system and its scope
Summer training embedded system and its scope
Arshit Rai1.6K views
Solution manual the 8051 microcontroller based embedded systems by manishpatel_79
Solution manual the 8051 microcontroller based embedded systemsSolution manual the 8051 microcontroller based embedded systems
Solution manual the 8051 microcontroller based embedded systems
manishpatel_796.7K views
Embedded training report(mcs 51) by Gurwinder Singh
Embedded training report(mcs 51)Embedded training report(mcs 51)
Embedded training report(mcs 51)
Gurwinder Singh1.9K views

Recently uploaded

DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDeltares
8 views17 slides
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...sparkfabrik
5 views46 slides
Copilot Prompting Toolkit_All Resources.pdf by
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdfRiccardo Zamana
8 views4 slides
SAP FOR TYRE INDUSTRY.pdf by
SAP FOR TYRE INDUSTRY.pdfSAP FOR TYRE INDUSTRY.pdf
SAP FOR TYRE INDUSTRY.pdfVirendra Rai, PMP
24 views3 slides
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsRa'Fat Al-Msie'deen
5 views49 slides
WebAssembly by
WebAssemblyWebAssembly
WebAssemblyJens Siebert
37 views18 slides

Recently uploaded(20)

DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs by Deltares
DSD-INT 2023 The Danube Hazardous Substances Model - KovacsDSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
DSD-INT 2023 The Danube Hazardous Substances Model - Kovacs
Deltares8 views
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with... by sparkfabrik
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
20231129 - Platform @ localhost 2023 - Application-driven infrastructure with...
sparkfabrik5 views
Copilot Prompting Toolkit_All Resources.pdf by Riccardo Zamana
Copilot Prompting Toolkit_All Resources.pdfCopilot Prompting Toolkit_All Resources.pdf
Copilot Prompting Toolkit_All Resources.pdf
Riccardo Zamana8 views
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports by Ra'Fat Al-Msie'deen
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug ReportsBushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
BushraDBR: An Automatic Approach to Retrieving Duplicate Bug Reports
A first look at MariaDB 11.x features and ideas on how to use them by Federico Razzoli
A first look at MariaDB 11.x features and ideas on how to use themA first look at MariaDB 11.x features and ideas on how to use them
A first look at MariaDB 11.x features and ideas on how to use them
Federico Razzoli45 views
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema by Deltares
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - GeertsemaDSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
DSD-INT 2023 Delft3D FM Suite 2024.01 1D2D - Beta testing programme - Geertsema
Deltares17 views
Airline Booking Software by SharmiMehta
Airline Booking SoftwareAirline Booking Software
Airline Booking Software
SharmiMehta5 views
Fleet Management Software in India by Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 views
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... by Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares7 views
Advanced API Mocking Techniques by Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 views
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... by Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 views
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ... by Donato Onofri
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Unmasking the Dark Art of Vectored Exception Handling: Bypassing XDR and EDR ...
Donato Onofri795 views
FIMA 2023 Neo4j & FS - Entity Resolution.pptx by Neo4j
FIMA 2023 Neo4j & FS - Entity Resolution.pptxFIMA 2023 Neo4j & FS - Entity Resolution.pptx
FIMA 2023 Neo4j & FS - Entity Resolution.pptx
Neo4j6 views
Navigating container technology for enhanced security by Niklas Saari by Metosin Oy
Navigating container technology for enhanced security by Niklas SaariNavigating container technology for enhanced security by Niklas Saari
Navigating container technology for enhanced security by Niklas Saari
Metosin Oy13 views
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -... by Deltares
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
DSD-INT 2023 Simulating a falling apron in Delft3D 4 - Engineering Practice -...
Deltares6 views

Introduction to Avr Microcontrollers

  • 1. Introduction to AVR Microcontrollers by: Eng. Mohamed Tarek. © 2015 by Eng. Mohamed Tarek. 1
  • 2. 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. © 2015 by Eng. Mohamed Tarek. 2
  • 3. Micro-controller vs. Micro-processor Many IC’s into one IC © 2015 by Eng. Mohamed Tarek. 3
  • 4. 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. © 2015 by Eng. Mohamed Tarek. 4
  • 5. Micro-controller vs. Micro-processor © 2015 by Eng. Mohamed Tarek. 5
  • 6. 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. © 2015 by Eng. Mohamed Tarek. 6
  • 7. Micro-controller vs. Micro-processor © 2015 by Eng. Mohamed Tarek. 7
  • 8. 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. © 2015 by Eng. Mohamed Tarek. 8
  • 9. 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. © 2015 by Eng. Mohamed Tarek. 9
  • 10. 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. © 2015 by Eng. Mohamed Tarek. 10
  • 11. 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). © 2015 by Eng. Mohamed Tarek. 11
  • 12. 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. 12© 2015 by Eng. Mohamed Tarek.
  • 13. Microcontroller Vendors  Microcontroller Vendor is the manufacture of the microcontroller chip it self. © 2015 by Eng. Mohamed Tarek. 13 Vendor Families Derivative AVR ATmega16 8051 AT83EB5114 PIC PIC16F877A V850 V850ES HC12 MC9S12XEP100 TM4C TM4C123GH6PM
  • 14. 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. © 2015 by Eng. Mohamed Tarek. 14
  • 15. 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. © 2015 by Eng. Mohamed Tarek. 15
  • 16. AVR Micro-controllers Categories © 2015 by Eng. Mohamed Tarek. 16
  • 17. AVR Micro-controllers Categories © 2015 by Eng. Mohamed Tarek. 17
  • 18. 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. © 2015 by Eng. Mohamed Tarek. 18
  • 19. What’s special about AVR?  Comparison between the three most commonly used families of microcontrollers: © 2015 by Eng. Mohamed Tarek. 19
  • 20. What’s special about AVR? © 2015 by Eng. Mohamed Tarek. 20
  • 21. What’s special about AVR?  8-bit Micro-controllers © 2015 by Eng. Mohamed Tarek. 21
  • 22. 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. © 2015 by Eng. Mohamed Tarek. 22
  • 23. ATmega16  Naming Convention © 2015 by Eng. Mohamed Tarek. 23
  • 24. 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. © 2015 by Eng. Mohamed Tarek. 24
  • 25. ATmega16 Architecture © 2015 by Eng. Mohamed Tarek. 25
  • 26. 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 channel ADC with a resolution of 10-bits. © 2015 by Eng. Mohamed Tarek. 26
  • 27. 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). © 2015 by Eng. Mohamed Tarek. 27
  • 28. 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. © 2015 by Eng. Mohamed Tarek. 28
  • 29. 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 © 2015 by Eng. Mohamed Tarek. 29
  • 30. 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. © 2015 by Eng. Mohamed Tarek. 30
  • 31. ATmega16 pins © 2015 by Eng. Mohamed Tarek. 31
  • 32. ATmega16 pins © 2015 by Eng. Mohamed Tarek. 32
  • 33. ATmega16 pins © 2015 by Eng. Mohamed Tarek. 33
  • 34. ATmega16 pins © 2015 by Eng. Mohamed Tarek. 34
  • 35. ATmega16 Active Low Reset circuit R= 4.7KΩ C= 0.1µf or 100nf © 2015 by Eng. Mohamed Tarek. 35
  • 36. 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. 36© 2015 by Eng. Mohamed Tarek.
  • 37. Micro-controller clock(External sources) 37 Crystal oscillator RC oscillator © 2015 by Eng. Mohamed Tarek.
  • 38. ATmega16 Internal Calibrated RC Oscillator © 2015 by Eng. Mohamed Tarek. 38
  • 39. ATmega16 External Crystal Oscillator C1 = C2 = 12 - 22pf © 2015 by Eng. Mohamed Tarek. 39
  • 40. ATmega16 External Crystal Oscillator © 2015 by Eng. Mohamed Tarek. 40
  • 41. ATmega16 External Crystal Oscillator  Example configure the µC to deal with 16Mhz Crystal • CKSEL3  1 • CKSEL2  1 • CKSEL1  1 • CKSEL0  1 • CKOPT  0 © 2015 by Eng. Mohamed Tarek. 41
  • 42. How to program AVR Microcontroller using ISP  Connection between Microcontroller and PC Parallel Port © 2015 by Eng. Mohamed Tarek. 42
  • 43. AVR Useful Tutorials  http://maxembedded.com/  http://extremeelectronics.co.in/  http://www.embedds.com/avr-tutorials/  http://avr-tutorials.com/ © 2015 by Eng. Mohamed Tarek. 43
  • 44. © 2015 by Eng. Mohamed Tarek. 44
  • 45. Contact Details Eng. Mohamed Tarek. Embedded Software Engineer Mob: 01115154316 Mail: mtarek.2013@gmail.com 45 My Embedded Diploma Contents : http://www.mediafire.com/download/94n11ai9ovo1xri/Embedded+Diploma+ Contents.pdf Facebook Group : https://www.facebook.com/groups/Embedded.Systems.Programming/ © 2015 by Eng. Mohamed Tarek.