39
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.

What is a Microcontroller? A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Embed Size (px)

Citation preview

Page 1: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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.

Page 2: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Basic Block Diagram of Microcontroller

Page 3: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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

Page 4: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Block Diagram to show the difference

Page 5: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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

Page 6: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

AVR Atmega8 Microcontroller

Page 7: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

How AVR Atmega8 got its name?

It was developed by Atmel Corporation

AVR implies it belongs to AVR family.

‘16’ in Atmega8 means this microcontroller has 16Kb of flash memory

Page 8: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, 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.

Page 9: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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.

Page 10: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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.

Page 11: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Harvard and Von Neumann Architecture

Page 12: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Harvard Architecture

Harvard architecture has separate data and instruction buses.

This allows transfers to be performed simultaneously on both buses.

Page 13: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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

Page 14: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Introduction to Atmega8

Atmega8 is a low-power CMOS 8-bit microcontroller based on the AVR RISC architecture.

Atmega8 achieves Up to 16 MIPS Throughput at 16 MHz

In order to maximize performance and parallelism, the AVR uses a Harvard architecture.

Page 15: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Features Of Atmega8High-performance, Low-power AVR 8-bit

MicrocontrollerUp to 16 MIPS Throughput at 16 MHz32 x 8 General Purpose Working RegistersInternal Calibrated RC OscillatorExternal and Internal Interrupt SourcesData retention: 20 years at 85°C/100 years at

25°C

Page 16: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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)

Page 17: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, 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 and QFN/MLF package• Eight Channels 10-bit Accuracy• – 6-channel ADC in PDIP package• Six Channels 10-bit Accuracy

Page 18: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

• – 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

Page 19: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

TYPES OF PACKAGES

– 28-lead PDIP 32-lead TQFP32-pad QFN/MLF

Page 20: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

How Atmega8 PDIP Package looks like?

Page 21: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

How ATmega8 TQFP Package looks like?

Page 22: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Pinout of ATmega8

Page 23: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Pin DescriptionVCC: 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.

Page 24: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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.

Page 25: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

PORTS There are 3 ports in Atmega8: Port B, Port C,

Port D.Three registers are associated with every portDDRx – Data Direction RegisterPINx – Port inputPORTx- Port output

Where x would be either B,C or D.

Page 26: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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).

Page 27: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

PORT C(PC6-PC0)

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).

Page 28: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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).

Page 29: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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.

Page 30: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

REGISTER DESCRIPTION OF I/O PORTS

Page 31: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Continued…

Page 32: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Continued....

Page 33: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Continued....

Page 34: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

Continued....

Page 35: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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)

Page 36: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

PORTx RegisterIf 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.

Page 37: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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.

Page 38: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

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 PINxIf 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.

Page 39: What is a Microcontroller?  A microcontroller (sometimes abbreviated µC or MCU) is a small computer on a single IC containing a processor core, memory,

THANK YOU