Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
0% found this document useful (0 votes)
47 views

Microcontroller Basics - PPSX

A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. It is used in embedded systems to make intelligent decisions. The main differences between microcontrollers and microprocessors are that microcontrollers have integrated I/O ports, memory and timers, while microprocessors require these components to be connected externally. AVR microcontrollers are 8-bit RISC devices developed by Atmel with fast execution speeds and low power consumption. The ATmega8 is a popular 8-bit AVR microcontroller with features like 8K flash memory, timers, ADC and I/O ports.

Uploaded by

hola
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPSX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
47 views

Microcontroller Basics - PPSX

A microcontroller is a small computer on a single integrated circuit containing a processor core, memory, and programmable input/output peripherals. It is used in embedded systems to make intelligent decisions. The main differences between microcontrollers and microprocessors are that microcontrollers have integrated I/O ports, memory and timers, while microprocessors require these components to be connected externally. AVR microcontrollers are 8-bit RISC devices developed by Atmel with fast execution speeds and low power consumption. The ATmega8 is a popular 8-bit AVR microcontroller with features like 8K flash memory, timers, ADC and I/O ports.

Uploaded by

hola
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PPSX, PDF, TXT or read online on Scribd
You are on page 1/ 44

What is a Microcontroller?

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
ROM
RAM
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 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.
What’s special about AVR?
 They are fast.

 AVR Microcontroller executes most of the


instructions in single execution cycle.

 AVRs are about 4 times faster than PIC.

 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
Memory Addressing
Memory Addressing
Memory Addressing
Memory Addressing
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 85°C/100 years at
25°C
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)


Pin Configuration 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.
Input And Output
Required to communicate with outside world PC System:
Keyboard
Monitor
Parallel port (printer port)
Serial port + USB

Embedded System:
Sensors (e.g. in automobile: acceleration sensor, seat
sensor)
Actuators (e.g. in automobile: valves for airbags)
Input And Output
Input / output device implementation can be:
• Memory-mapped
• I/O mapped (ports)
• DMA (direct memory access)
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.


PORTB(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).
PORTC(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).
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

You might also like