Вы находитесь на странице: 1из 40

AVR ATMega 8 uC

Lets Learn fundamentals !!

Wh at i s a M icrocontroller?

A microcontroller (sometimes abbreviated C


or MCU) is a small computer on a single IC
containing a processor core, memory, and
programmable input/output peripherals
It is a decision making device used widely in
embedded systems and all intelligent devices

Basic Block Diagram of Microcontroller

Difference between Microcontroller and Microprocessor

Microcontroller has I/O ports, Memory, timers etc all


integrated on chip itself
In Microprocessors, I/O ports, memory, timer etc are to be
connected externally

Block Diagram to show the difference

What is a 8-bit microcontroller?


8-bit means it can process 8-bit data per clock cycle
It has 8-bit data bus
It can process 1byte(i.e. 8 bit) of data at a time

AVR ATmega8 Microcontroller

How AVR ATmega8 got its name?


It was developed by Atmel Corporation
AVR implies it belongs to AVR family.
8 in Atmega8 means this microcontroller has 8Kb of
flash memory

What is AVR?
AVR is a modified Harvard architecture, 8-bit
RISC single chip microcontroller
It was developed in the year 1996 by Atmel
Corporation

Whats special about AVR?

They are fast


AVR Microcontroller executes most of the
instructions in single execution cycle
They consume less power and can be operated in
different power saving modes

What is RISC?
RISC stands for Reduced Instruction Set
Computer
It is a very fast architecture which executes one
instruction per clock cycle
RISC contains very small instruction set
Programming is easy, but code length increases

Harvard and Von Neumann Architecture

Harvard Architecture
Harvard architecture has separate data and instruction
buses
This allows transfers to be performed simultaneously
on both buses

Von Neumann Architecture


A Von Neumann architecture has only one bus which is used
for both data transfers and instruction fetch
Data transfers and instruction fetches must be scheduled as
they cannot be performed at the same time

Introduction to Atmega8
ATmega8 is a low-power CMOS 8-bit microcontroller
based on the AVR RISC architecture
By executing powerful instructions in a single clock
cycle, the ATmega8 achieves throughput approaching 1
MIPS per MHz
In order to maximize performance and parallelism, the
AVR uses a Harvard architecture

Features Of ATmega8
High-performance, Low-power AVR 8-bit
microcontroller
Up to 16 MIPS Throughput at 16 MHz
32 x 8 General Purpose Working Registers
Internal Calibrated RC Oscillator
External and Internal Interrupt Sources
Data retention: 20 years at 85C/100 years at 25C

Memory Segments
8K Bytes of In-System Self-programmable Flash
program memory
512 Bytes EEPROM (Electrically Erasable Programmable
Read Only Memory)
1K Byte Internal SRAM (Static Random Access Memory)

Peripheral Features
Two 8-bit Timer/Counters with Separate Prescaler, one Compare Mode
One 16-bit Timer/Counter with Separate Prescaler, Compare Mode, and
Capture Mode
Real Time Counter with Separate Oscillator
Three PWM Channels
8-channel ADC in TQFP package

Continued
6-channel ADC in PDIP package
Byte-oriented Two-wire Serial Interface
Programmable Serial USART
Master/Slave SPI Serial Interface
Programmable Watchdog Timer with Separate On-chip
Oscillator
On-chip Analog Comparator

TYPES OF PACKAGES
28-lead PDIP (Plastic Dual In-line Package)
32-lead TQFP (Thin Quad film Package)

How ATmega8 PDIP Package looks like?

How ATmega8 TQFP Package looks like?

Pinout of ATmega8

Pin Description
VCC: Digital supply voltage 5V.
GND: Ground.
RESET: A low level on this pin for longer than the
minimum pulse length will generate a reset, even if
the clock is not running.
AREF: The analog reference pin for the A/D Converter.

Continued.
AVCC : The supply voltage pin for the A/D Converter, Port C
(3..0).It should be externally connected to VCC, even if the
ADC is not used. If the ADC is used, it should be connected to
VCC through a low-pass filter.

PORTS

There are 3 ports in ATmega8: Port B, Port C, Port D


Three registers are associated with every port
DDRx Data Direction Register
PINx Port input
PORTx- Port output

Where x would be either B,C or D.

PORT B(PB7-PB0)
It is a 8-bit bi-directional I/O port
It has internal pull up resistors(selected for each bit)
It can be used either as a input port or as output port (
direction must be specified in programming)

PORT C(PC6-PC0)
It is a 7-bit bi-directional I/O port
It has internal pull up resistors(selected for
each bit)
It can be used either as a input port or as
output port ( direction must be specified in
programming)

PORTD(PD7-PD0)
It is a 8-bit bi-directional I/O port
It has internal pull up resistors(selected for each bit)
It can be used either as a input port or as output port
( direction must be specified in programming)

Registers to Communicate with I/O Ports


To communicate with the ports of Atmega8, we use
three registers:
PINx
PORTx
DDRx
Where x would be either B,C or D.

REGISTER DESCRIPTION OF I/O PORTS

Continued

Continued....

Continued....

Continued....

DDRx Register
It stands for Data Direction Register
It is used to define Port as Input or Output
In order to make Port as Input Port: DDRx=0x00 (In
Hexadecimal)
DDRx = 0b00000000(In Binary)
In order to make Port as output Port: DDRx=0xFF (In
Hexadecimal)
DDRx = 0b11111111(In Binary)

PORTx Register
If DDRx =0xFF(Output port)
Writing logic 1 to PORTx will make output high i.e. 5v for
that particular pin
Writing 0 to PORTx will make output low i.e. 0v for that
particular pin

Continued.
If DDRx=Ox00(Input port):
If corresponding PORTx bit is set to 1, Internal pull up
resistors are enabled i.e if we do not connect this pin
to anything it still reads as 1
If corresponding PORTx bit is set to 0, internal pull up
resistors are disabled i.e the pin will enter a high
impedance state and will become unpredictable

PINx Register
It reads data from the port pins
If any/all bits of DDRx is set to 0(input)for a particular
pin, we can read data from PINx
If any/all bits of DDRx is set to 1(output), then reading
PINx register gives the same data which has been
output on that particular pin

THANK YOU!!!

Вам также может понравиться