8051,chapter1,architecture and peripherals

Post on 20-Mar-2017

913 Views

Category:

Engineering

4 Downloads

Preview:

Click to see full reader

TRANSCRIPT

8051 Microcontroller

Chapter 1

BY

Amruta Chintawar

(Asst.Prof at RAIT, Navi Mumbai)

Thursday, September 03, 2015 1 By AMRUTA CHINTAWAR

Topics Covered • Comparison Between Microprocessors and

Microcontroller

• Features, Architecture & Pin configuration

• CPU Timing and Machine cycle

• I/P and O/P Ports

• Memory Organization

• Counters and Timers

• Interrupts

• Serial data I/P &O/P

Thursday, September 03, 2015 2 By AMRUTA CHINTAWAR

Comparison Between P & C

P C

CPU is stand-alone, RAM, ROM, I/O,

timer are separate

CPU, RAM, ROM, I/O and timer are all

on a single chip

Designer can decide on the amount of

ROM, RAM and I/O ports

fix amount of on-chip ROM, RAM, I/P

O/P ports (internal h/w is fixed)

general-purpose single-purpose

Instructions are mainly to move large

volume of data

Many bit handling instructions along

with byte processing

More access time for peripherals-system

slower

Less access time on On-chip devices-

system faster

In contrast, similar system that builds

from uP would require a lot of

additional units

Only single chip can be a complete

system

Thursday, September 03, 2015 3 By AMRUTA CHINTAWAR

Comparison Between P & C

P C

Implementation is complicated Implementation is easy

Bulkier, costly, less reliable and consume

more power

Compact, Cheaper, more reliable and

consume less power

S/W protection not possible - external

code memory

Possible –On chip memory

uPs are suitable to processing

information in computer systems.

uCs are suitable to control of I/O devices

in designs requiring a minimum

component

Thursday, September 03, 2015 4 By AMRUTA CHINTAWAR

Features of 8051

• 12Mhz/ (11.0592Mhz to support standard baud rate for serial

port)

• 4K bytes ROM

• 128 bytes RAM

• Four 8-bit I/O ports (32 I/O pins)

• Two 8/16 bit timers

• Serial port-Asynchronous

• 64K external code memory space

• 64K data memory space

• Multiple internal and external interrupt sources (5 srcs)

Thursday, September 03, 2015 5 By AMRUTA CHINTAWAR

Features of 8051

Thursday, September 03, 2015 6 By AMRUTA CHINTAWAR

Blocks of Architecture

• ALU

• Memory

• Peripherals

• Timing and Control Unit

• Oscillator

Thursday, September 03, 2015 7 By AMRUTA CHINTAWAR

ALU

• 8-bit

• Performs all arithmetic and

logical operations

• Updates status flags(PSW)

Thursday, September 03, 2015 8 By AMRUTA CHINTAWAR

Memory

• Separate On-chip Data and Code memor

• Code Memory-Programs instructions (ROM-4KB)

• Data memory-various Data (RAM-128B)

• Few RAM locations used to program control

various on-chip peripherals and features-SFRs

Thursday, September 03, 2015 9 By AMRUTA CHINTAWAR

Peripherals

• 2, 16 bit Timers T0,T1

SFRs- TCON,TMOD,T0,T1

PINs-T0, T1

• 4,I/O ports P0,P1,P2,P3

SFRs-P0,P1,P2,P3

PINs-P0.0-P0.7 ,P1.0-P1.7

• Serial Port

SFRs-SCON,SBUF,PCON (1-bit)

PINs-Rxd,Txd

• Interrupts

SFRs-IP,IE,TCON

PINs-INT0,INT1 (H/W)

Thursday, September 03, 2015 10 By AMRUTA CHINTAWAR

Timing and Control • Generate time and Control signal

• Necessary for Execution

• Synchronizes all activities with clock

Thursday, September 03, 2015 11 By AMRUTA CHINTAWAR

Oscillator • Onchip oscillator circuit – generates clock

pulses.

• External resonant ckt connected (complete

oscillator)

• 12Mhz

Thursday, September 03, 2015 12 By AMRUTA CHINTAWAR

Pin Configuration

Thursday, September 03, 2015 13 By AMRUTA CHINTAWAR

Pin Configuration

• 40 pins DIP package

• Four 8-bit I/O port pins-has two functions

1. Vcc (pin 40): Power supply ,+5v

2. GND(pin 20) : supply is connected wrp to

ground

Thursday, September 03, 2015 14 By AMRUTA CHINTAWAR

Pin Configuration

3. XTAL1 &XTAL2: The external resonant circuit is

connected to on-chip oscillator circuit .

• NORMALLY Quartz crystal and capacitor are

connected with XTAL1(pin 19) & XTAL2 (pin

18)

• Works at a frequency of crystal oscillator

• If clock signal external oscillator is used,its

onne ted to XTAL …XTAL is left unconnected.

Thursday, September 03, 2015 15

By AMRUTA CHINTAWAR

Pin Configuration

3. XTAL1 &XTAL2: The external resonant circuit

is connected to on-chip oscillator circuit .

• NORMALLY Quartz crystal and capacitor are

connected with XTAL1(pin 19) & XTAL2 (pin

18)

• Works at a frequency of crystal oscillator

• If clock signal external oscillator is used,its

onne ted to XTAL …XTAL is left unconnected.

Thursday, September 03, 2015 16 By AMRUTA CHINTAWAR

Pin Configuration

Crystal connections:

Thursday, September 03, 2015 17 By AMRUTA CHINTAWAR

Pin Configuration

Machine Cycle:

Thursday, September 03, 2015 18 By AMRUTA CHINTAWAR

Pin Configuration

4.ALE/PROG#: Address latch Enable

• Used to Demultiplex address and data

• ALE=1,indicates presence of lower address bits on P0,thus enable latch to store address.

• ALE=0, contents are latched, it retains till next ALE.

• ALE=0, P0 act as data bus

PROG#

• for on-chip flash memory programming

• After reset if this pin is low ,uC enters into programming mode

Thursday, September 03, 2015 19

By AMRUTA CHINTAWAR

Pin Configuration, ALE

Thursday, September 03, 2015 20 By AMRUTA CHINTAWAR

Pin Configuration

5.RST: Reset

• Active high I/P

• Terminates all the activities

• Clears the contents of all the registers

• Default values will be loaded in SFRs

• Reset signal must be held high for at least 2

m/c cycles

Thursday, September 03, 2015 21 By AMRUTA CHINTAWAR

Pin Configuration

RESET:

Thursday, September 03, 2015 22 By AMRUTA CHINTAWAR

Pin Configuration

6.PSEN#: Program store Enable

• Active low

• Activate external ROM/EPROM/EEPROM

• Connected to OE# of ROM chip

• not activated when On-chip ROM is accessed

Thursday, September 03, 2015 23 By AMRUTA CHINTAWAR

Pin Configuration

7.EA#/VPP: External Access

• Active low, External Access, complete code on external ROM

• If high fetch code from on-chip ROM

• Connected to OE# of ROM chip

• not activated when On-chip ROM is accessed

• However any reference to program address outside the address range of on-chip memory will automatically access External memory

Thursday, September 03, 2015 24 By AMRUTA CHINTAWAR

Pin Configuration

8.PORT 0:

• 8-bit open drain bidirectional I/O port

• Occupies 8-pins

• Open drain external pull-up resistor of 10Kohm must be connected to each pin

• To program P0 as I/P, write 1 to lacth register

• It also has alternate function of ADD/DATA

• However any reference to program address outside the address range of on-chip memory will automatically access External memory

Thursday, September 03, 2015 25 By AMRUTA CHINTAWAR

Pin Configuration

9.PORT 1:

• 8-bit bidirectional I/O port

• Occupies 8-pins

• Has Internal pull-up resistor

• To program P1 as I/P, write 1 to latch register

Thursday, September 03, 2015 26 By AMRUTA CHINTAWAR

Pin Configuration

9.PORT 2:

• 8-bit bidirectional I/O port

• Occupies 8-pins

• Has Internal pull-up resistor

• Act as Higher order address bus A8-A15 while accessing external memory

• To program P1 as I/P, write 1 to latch register

Thursday, September 03, 2015 27 By AMRUTA CHINTAWAR

Pin Configuration

9.PORT 3:

• 8-bit bidirectional I/O port

• Occupies 8-pins

• Has Internal pull-up resistor

• Has alternate functions

• To program P1 as I/P, write 1 to latch register

• TXD & RXD , INT0# & INT1# , T0 & T1 ,WR# and Rd#

Thursday, September 03, 2015 28 By AMRUTA CHINTAWAR

Programming Model

• H/W which is available for Programmer to

directly use it through S/W

• It is a collection of 8 and 16 bit register and 8

bit memory locations.

• Can be operated using software instructions

• Each register with exception of PC, has an

internal one byte address assigned to it.

Thursday, September 03, 2015 By AMRUTA CHINTAWAR 29

Programming Model

• Some registers such as TCON, SCON, IP, IE, A,

B, PSW and ports are all bit addressable and

are marked with * mark.

• These types have provision for reading or

writing the entire byte of data and also each

individual bits may be read or altered

• operations can be done by software

instructions that are generally able to specify a

register by its address or its symbolic name or

both Thursday, September 03, 2015 By AMRUTA CHINTAWAR 30

Programming Model

Thursday, September 03, 2015 31 By AMRUTA CHINTAWAR

SFRs Memory Mapping

Thursday, September 03, 2015 32 By AMRUTA CHINTAWAR

PSW Structure

Thursday, September 03, 2015 33 By AMRUTA CHINTAWAR

I/P and O/P Port

• Ports can be accessed directly by instructions

during program execution

• I/O ports are memory mapped, they are

treated as memory locations

• All ports are bit addressable

• Each PIN consists of a D latch, I/P buffer and

O/P driver

• SFRs for each port is made of 8-latches

• Accessed by SFRs address or name of that port

Thursday, September 03, 2015 34 By AMRUTA CHINTAWAR

Port 0

Thursday, September 03, 2015 35 By AMRUTA CHINTAWAR

Port 1

Thursday, September 03, 2015 36 By AMRUTA CHINTAWAR

Port 2

Thursday, September 03, 2015 37 By AMRUTA CHINTAWAR

Port 3

Thursday, September 03, 2015 38 By AMRUTA CHINTAWAR

Timer Structure

Thursday, September 03, 2015 39 By AMRUTA CHINTAWAR

TMOD Register

Thursday, September 03, 2015 40 By AMRUTA CHINTAWAR

TCON Register

Thursday, September 03, 2015 41 By AMRUTA CHINTAWAR

Timer Modes

• It operates in 4 different modes

1. Mode0: 13-bit Timer /Counter

2. Mode1: 16-bit Timer/Counter

3.Mode2: 8-bit Auto-reload

4.Mode3: 8-bit split timer(TL0,TH0)

Thursday, September 03, 2015 42 By AMRUTA CHINTAWAR

Timer Modes

Thursday, September 03, 2015 43 By AMRUTA CHINTAWAR

Timer Modes

Thursday, September 03, 2015 44 By AMRUTA CHINTAWAR

Timer Modes

Thursday, September 03, 2015 45 By AMRUTA CHINTAWAR

Timer Modes

Thursday, September 03, 2015 46 By AMRUTA CHINTAWAR

Timer Modes

Thursday, September 03, 2015 47 By AMRUTA CHINTAWAR

Serial Port

• Slow Process

• To tie-up with valuable processor time serial

data flags are included

• Transmission is under control of program

• Reception unpredictable

• Many a times beyond control of program

• Programmers must write routine to clear flags

Thursday, September 03, 2015 48 By AMRUTA CHINTAWAR

Serial Port

• Support full-duplex serial communication

• Transmit and receive buffer register with shift

register

• Logic for generating timing signal

• Status bit showing that data byte has been

sent

• Status bit to indicate data bytes has been

received

• Controlled by SBUF & SCON

Thursday, September 03, 2015 49 By AMRUTA CHINTAWAR

Serial Port

Thursday, September 03, 2015 50 By AMRUTA CHINTAWAR

Serial Data Transmission

Thursday, September 03, 2015 51 By AMRUTA CHINTAWAR

Serial Data Transmission

Thursday, September 03, 2015 52 By AMRUTA CHINTAWAR

SCON

Thursday, September 03, 2015 53 By AMRUTA CHINTAWAR

Serial Modes

MODE 0 MODE 1,2,3

Fixed baud rate Variable by T1 and SMOD bit of

PCON

Thursday, September 03, 2015 54 By AMRUTA CHINTAWAR

Serial Mode 0 • 8-bit half Duplex

• START/STOP Bit not required

• TRN and REN is on RxD

• TxD-provides shift clock for data transfer

-data shifted out at S6P2

-data shifted in after Rxd is sampled S5P2

-signal is square wave

-high for S6,S1,S2

-low for S3,S4,S5

• Timer1 baud rate f/12

• For high speed data collection

Thursday, September 03, 2015 55 By AMRUTA CHINTAWAR

Serial Mode 0

Thursday, September 03, 2015 56 By AMRUTA CHINTAWAR

Serial Mode 1 • 10-bits per character, full duplex

• 1-start(0),8-data,1-stop bit(1)

• Start and stop bit -----discard

• RxD-receives

• TxD-Transmit

• TI=1-after all 10-bits transmitted

• RI=1-if SM2=0 unconditional

RB8=1 condition satisfies

Thursday, September 03, 2015 57

By AMRUTA CHINTAWAR

Serial Mode 1 • Reception- START bit discarded

-8-Bit SBUF

-stop bit RB8

• Data received at programmed baud rate

fbaud =2smod /32 xT1

1/32 x T1 ----SMOD=0

1/16xT1 ----SMOD=1

Thursday, September 03, 2015 58 By AMRUTA CHINTAWAR

Serial Mode 1

Thursday, September 03, 2015 59 By AMRUTA CHINTAWAR

Serial Mode 2 • 11-bits per character

• 1-start(0),8-data,9th-programmable,1-stop

bit(1)

9th- RB8 and 8-SBUF ------reception

9th -TB8 and 8-SBUF------transmission

• Start and stop bit -----discard

• Baud rate controlled by oscillator frequency

fbaud =2smod /64,1/64,1/32 x OSC freq

Thursday, September 03, 2015 60 By AMRUTA CHINTAWAR

Serial Mode 3

• Operates like Mode 2

only

• Baud rate is variable

Thursday, September 03, 2015 61 By AMRUTA CHINTAWAR

Serial Mode 2 & 3

Thursday, September 03, 2015 62 By AMRUTA CHINTAWAR

Interrupts

• It’s a signal generated y an event that auses the controller to stop temporarily its current

program

• Performs ISR to service that event(Interrupt

handler)

• These events are asynchronous generated by

peripherals

• It allows most efficient utilization of resources

and time

• It’s a H/W generated all Thursday, September 03, 2015 63

By AMRUTA CHINTAWAR

Interrupts of 8051

• The source may be internal peripheral or

external devices

• Total 5---3 internal & 2 H/W

• Internal– Timer0 (TF0),Timer1(TF1),serial

port(TI/RI)

• External--INT0#,INT1#,also referred as IE0,IE1

• Each interrupt has fixed memory location that

contains its ISR

• ISRs are stored in IVT

Thursday, September 03, 2015 64 Thursday, September 03, 2015 64 By AMRUTA CHINTAWAR

Interrupts of 8051

• All flags auto clear except RI/TI it has to be

cleared manually

Thursday, September 03, 2015 65 Thursday, September 03, 2015 65 By AMRUTA CHINTAWAR

IP

Thursday, September 03, 2015 66 By AMRUTA CHINTAWAR

IE

Thursday, September 03, 2015 67 By AMRUTA CHINTAWAR

Power Saving Modes

• Two Power saving modes activated by

programming PCON

• IDLE and POWER DOWN mode

• Most important factor to save powe

consumption is to use crystal frequency just

sufficient for application

• Operating with higher frequency will consume

more power

Thursday, September 03, 2015 68 Thursday, September 03, 2015 68 By AMRUTA CHINTAWAR

IDLE Mode

• By setting IDLE bit in PCON =1

• Stops program execution and contents of internal RAM are preserved

• Oscillator continues to run,but clock is disconnected from CPU

• Timer and serial port operates normally

• Come out by activation of any Interrupt or RESET,this will make IDLE=0

• After execution of ISR,program resume from instruction after set idle.

Thursday, September 03, 2015 69 Thursday, September 03, 2015 69

By AMRUTA CHINTAWAR

Power Down Mode

• By setting PWDN=1

• Stops on chip oscillator

• Program execution, timers and serial port

operation also stops

• Content of internal RAM are preserved

• Come out of by RESET

Thursday, September 03, 2015 70 Thursday, September 03, 2015 70 By AMRUTA CHINTAWAR

Power Saving Modes

Thursday, September 03, 2015 71 By AMRUTA CHINTAWAR

PCON

Thursday, September 03, 2015 72 By AMRUTA CHINTAWAR

• Not bit addressable

top related