SlideShare uma empresa Scribd logo
1 de 94
MICROCONTROLLER-8051MICROCONTROLLER-8051
Features & ApplicationsFeatures & Applications
Dr. Y .Narasimha Murthy Ph.D.,Dr. Y .Narasimha Murthy Ph.D.,
Sri Saibaba National CollegeSri Saibaba National College
(Autonomous)(Autonomous)
ANANTAPUR-515001(A.P)ANANTAPUR-515001(A.P)
…….... Man’s glory lies in his knowledge,Man’s glory lies in his knowledge,
his upright conduct, his praise-worthy character,his upright conduct, his praise-worthy character,
his wisdom, and not in his nationality or rankhis wisdom, and not in his nationality or rank
--Baha’ullah--Baha’ullah
(From, the book The 8051 Microcontroller and Embedded systems- Mazidi )(From, the book The 8051 Microcontroller and Embedded systems- Mazidi )
OverviewOverview
IntroductionIntroduction
Block Diagram andBlock Diagram and PinPin
Description of the 8051Description of the 8051
RegistersRegisters
Memory mapping in 8051Memory mapping in 8051
Stack in the 8051Stack in the 8051
I/O Port ProgrammingI/O Port Programming
TimersTimers
Interrupts &Interrupts &
ApplicationsApplications
 Its not an exaggeration if I say that ,today
there is no electronic gadget on the earth
which is designed without a Microcontroller.
Ex: communication devices, digital
entertainment, portable devices etc…
Not believable ??? See the next slide
Why do we need to learnWhy do we need to learn
Microcontrollers ?Microcontrollers ?
 Personal information products: Cell phone, pager,Personal information products: Cell phone, pager,
watch, pocket recorder, calculatorwatch, pocket recorder, calculator
 Laptop components: mouse, keyboard, modem,Laptop components: mouse, keyboard, modem,
fax card, sound card, battery chargerfax card, sound card, battery charger
 Home appliances: door lock, alarm clock,Home appliances: door lock, alarm clock,
thermostat, air conditioner, TV remote, VCR,thermostat, air conditioner, TV remote, VCR,
small refrigerator, exercise equipment,small refrigerator, exercise equipment,
washer/dryer, microwave ovenwasher/dryer, microwave oven
 Industrial equipment: Temperature/pressureIndustrial equipment: Temperature/pressure
controllers, Counters, timers, RPM Controllerscontrollers, Counters, timers, RPM Controllers
 Toys: video games, cars, dolls, etc.Toys: video games, cars, dolls, etc.
So, A good designer should always
know what type of controller he/she
is using ,their architecture, advantages ,
disadvantages , ways to reduce
production costs and product reliability
etc….
O.K ????O.K ????
Then What is a Microcontroller ?
 A smaller computer
 On-chip RAM, ROM, I/O ports...
 Example : Motorola’s 6811, Intel’s 8051,
Zilog’s Z8 and PIC 16X
RAM ROM
I/O
Port
Timer
Serial
COM
Port
CPU
A single chip
Microcontroller
How is it different from aHow is it different from a
Microprocessor ??Microprocessor ??
 General-purpose microprocessor
CPU for Computers
No RAM, ROM, I/O on CPU chip itself
Example : Intel’s x86, Motorola’s 680x0
CPU
General-
Purpose
Micro-
processor
RAM ROM I/O
Port
Timer
Serial
COM
Port
Data Bus
Address Bus
Microprocessor
 CPU is stand-alone, RAM,
ROM, I/O, timer are separate
 designer can decide on the
amount of ROM, RAM and
I/O ports.
 expansive
 versatility
 general-purpose
Microcontroller
• CPU, RAM, ROM, I/O and
timer are all on a single chip
• fix amount of on-chip ROM,
RAM, I/O ports
• Highly bit addressable
• for applications in which cost,
power and space are critical
• single-purpose
Microprocessor vs. Microcontroller
EVOLUTIONEVOLUTION
Flashback !!!!Flashback !!!!
In the year 1976, Motorola created a MicroprocessorIn the year 1976, Motorola created a Microprocessor
chip called 6801 which replaced its brother 6800 withchip called 6801 which replaced its brother 6800 with
certain add-on chips to make a computer. This pavedcertain add-on chips to make a computer. This paved
the way for the new revolution in the history of chipthe way for the new revolution in the history of chip
design and gave birth to a new entity calleddesign and gave birth to a new entity called
MICROCONTROLLER.MICROCONTROLLER.
The INTEL bagged the credit of producing the firstThe INTEL bagged the credit of producing the first
Microcontroller 8048 with a CPU and 1K bytes ofMicrocontroller 8048 with a CPU and 1K bytes of
EPROM, 64 Bytes of RAM an 8-Bit Timer and 27 I/OEPROM, 64 Bytes of RAM an 8-Bit Timer and 27 I/O
pins in 1976.pins in 1976.
EvolutionEvolution contdcontd……
 Then followed the most popular controller 8051Then followed the most popular controller 8051
in the year 1980 with 4K bytes of ROM,128in the year 1980 with 4K bytes of ROM,128
Bytes ofBytes of RAMRAM , a serial port, two 16-bit Timers ,, a serial port, two 16-bit Timers ,
and 32 I/O pins.and 32 I/O pins.
 The 8051 family has many additions andThe 8051 family has many additions and
improvements over the years and remains aimprovements over the years and remains a
most soughtafter tool for todays circuitmost soughtafter tool for todays circuit
designers.designers.
 The same INTEL introduced a 16 bit controllerThe same INTEL introduced a 16 bit controller
8096 in the year 19828096 in the year 1982
 Later INTEL introduced 80c196 series of 16-bitLater INTEL introduced 80c196 series of 16-bit
microcontrollers for mainly industrialmicrocontrollers for mainly industrial
applicationsapplications
 Microchip, another company has introduced aMicrochip, another company has introduced a
microcontroller PIC 16C64 an 8-bit in the yearmicrocontroller PIC 16C64 an 8-bit in the year
19851985..
 32-bit microcontrollers have been developed by IBM32-bit microcontrollers have been developed by IBM
and Motorola-MPC 505 is a 32-bit RISC controller ofand Motorola-MPC 505 is a 32-bit RISC controller of
MotorolaMotorola
 The 403 GA is a 32 -bit RISC embedded controller ofThe 403 GA is a 32 -bit RISC embedded controller of
IBMIBM
ARM ControllersARM Controllers
 In recent times ARM company (Advanced RiscIn recent times ARM company (Advanced Risc
machines) has developed and introduced 32 bitmachines) has developed and introduced 32 bit
controllers which are highend applicationcontrollers which are highend application
devices,especially communication devices likedevices,especially communication devices like
mobiles , ipods etc..(Refer www.arm.com)mobiles , ipods etc..(Refer www.arm.com)
Types of MicrocontrollersTypes of Microcontrollers
Microcontrollers from different manufacturersMicrocontrollers from different manufacturers
•Atmel
•ARM
•Intel
•8-bit
•8XC42
•MCS48
•MCS51
•8xC251
•16-bit
•MCS96
•MXS296
•National Semiconductor
•COP8
•Microchip
•12-bit instruction PIC
•14-bit instruction PIC
•PIC16F84
•16-bit instruction PIC
•NEC
•Motorola
•8-bit
•68HC05
•68HC08
•68HC11
•16-bit
•68HC12
•68HC16
•32-bit
•683xx
•Texas Instruments
•TMS370
•MSP430
•Zilog
•Z8
•Z86E02
MCS-51 “Family” of MicrocontollersMCS-51 “Family” of Microcontollers
Feature 8031 8051 8052 8751Feature 8031 8051 8052 8751
ROMROM NONO 4kB 8kB 4kB UV Eprom4kB 8kB 4kB UV Eprom
RAM (Bytes) 128 128 256 128RAM (Bytes) 128 128 256 128
TIMERS 2 2 3 2TIMERS 2 2 3 2
I/O PINS 32 32 32 32I/O PINS 32 32 32 32
SERIAL PORTS 1 1 1 1SERIAL PORTS 1 1 1 1
INTERRUPTINTERRUPT 6 6 8 66 6 8 6
SOURCESSOURCES
Microcontroller ArchitecturesMicrocontroller Architectures
CPU
Program
+ Data
Address Bus
Data Bus
Memory
Von Neumann
Architecture
CPU
Program
Address Bus
Data Bus
Harvard
Architecture
Memory
Data
Address Bus
Fetch Bus
0
0
0
2n
Important Features of 8051Important Features of 8051
 4K bytes ROM4K bytes ROM
 128 bytes RAM128 bytes RAM
 Four 8-bit I/O portsFour 8-bit I/O ports
 Two 16-bit timersTwo 16-bit timers
 Serial interfaceSerial interface
 64K external code memory space64K external code memory space
 64K data memory space64K data memory space
““Original” 8051 MicrocontrollerOriginal” 8051 Microcontroller
Oscillator
and timing
4096 Bytes
Program Memory
(ROM)
128 Bytes
Data Memory
(RAM)
Two 16 Bit
Timer/Event
Counters
8051
CPU
64 K Byte Bus
Expansion
Control
Programmable
I/O
Programmable
Serial Port Full
Duplex UART
Synchronous Shifter
Internal data bus
External interrupts
subsystem interrupts
Control Parallel ports
Address Data Bus
I/O pins
Serial Input
Serial Output
Pin Description of the 8051Pin Description of the 8051
 The 8051 is a 40 pinThe 8051 is a 40 pin
device, but out ofdevice, but out of
these 40 pins, 32 arethese 40 pins, 32 are
used for I/O.used for I/O.
 24 of these are dual24 of these are dual
purpose, i.e. they canpurpose, i.e. they can
operate as I/O or aoperate as I/O or a
control line or as partcontrol line or as part
of address or dateof address or date
bus.bus.
8051 CPU Registers8051 CPU Registers
A (8-bit Accumulator)
B (8-bit register for Mul &Div)
PSW (8-bit Program Status Word)
SP (8-bit Stack Pointer)
PC (16-bit Program Counter)
DPTR (16-bit Data Pointer)
Special Function RegistersSpecial Function Registers
DATA registers
CONTROL registers
•Timers
•Serial ports
•Interrupt system
•Analog to Digital converter
•Digital to Analog converter
etc..
Addresses 80h – FFh
Direct Addressing is used to
access SFRs
List of RegistersList of Registers
(*Denotes the SFRs)(*Denotes the SFRs)
Contd…Contd…
PSW REGISTERPSW REGISTER
Memory mapping in 8051Memory mapping in 8051
ROM memory map in 8051 family
0000H
0FFFH
0000H
1FFFH
0000H
7FFFH
8051
8752
4k
DS5000-32
8k 32k
from Atmel
Corporation
from Dallas
Semiconductor
RAM memory space allocation in the 8051
7FH
30H
2FH
20H
1FH
17H
10H
0FH
07H
08H
18H
00H
Register Bank 0
)Stack) Register Bank 1
Register Bank 2
Register Bank 3
Bit-Addressable RAM
Scratch pad RAM
PORTS OF 8051PORTS OF 8051
 8051 has 4 Ports. Port 0, Port1, Port2 , Port38051 has 4 Ports. Port 0, Port1, Port2 , Port3
 Port 0 is a dual purpose port, it is located from pin 32Port 0 is a dual purpose port, it is located from pin 32
to pin 39 (8 pins). To use this port as bothto pin 39 (8 pins). To use this port as both
input/output ports each pin must be connectedinput/output ports each pin must be connected
externally to a 10 k ohm pull-up resistor.This isexternally to a 10 k ohm pull-up resistor.This is
because Port 0 is an open drain.because Port 0 is an open drain.
Simple ex:Simple ex: MOV A, #22MOV A, #22
BACKBACK MOV P0 ,AP0 ,A
ACALL DELAYACALL DELAY
CPL ACPL A
SJMP BACKSJMP BACK
Port 0 with Pull-Up ResistorsPort 0 with Pull-Up Resistors
 Port 1 is a dedicated I/O port from pin 1 to
pin 8.Upon reset it is configured as outport.
It is generally used for interfacing to
external device thus if you need to connect
to switches or LEDs, you could make use of
these 8 pins,but it doesn’t need any pull-up
resistors as it is having internally
 Like port 0, port 2 is a dual-purpose port.(Pins 21Like port 0, port 2 is a dual-purpose port.(Pins 21
through 28) It can be used for general I/O or asthrough 28) It can be used for general I/O or as
the high byte of the address bus for designs withthe high byte of the address bus for designs with
external code memoryexternal code memory.Like P1 ,Port2 also doesn’t.Like P1 ,Port2 also doesn’t
require any pull-up resistorsrequire any pull-up resistors
Ports….Ports….
Ports contd…Ports contd…
 Port 3 is also dual purpose but designers generallyPort 3 is also dual purpose but designers generally
avoid using this port unnecessarily for I/Oavoid using this port unnecessarily for I/O
because the pins have alternate functions whichbecause the pins have alternate functions which
are related to special features of the 8051.are related to special features of the 8051.
Indiscriminate use of these pins may interfere withIndiscriminate use of these pins may interfere with
the normal operation of the 8051.the normal operation of the 8051.
 However, for a programmer, it is the same to
program P0, P1, P2 and P3.
 All the ports upon RESET are configured as
output. To use any of the ports as an input port,it
must be set(Programmed)
Alternate functions of P3Alternate functions of P3
I/O Port structureI/O Port structure
 The internal circuitry for the I/O port is shown inThe internal circuitry for the I/O port is shown in
the next slidethe next slide
 If you want to read in from a pin, you must firstIf you want to read in from a pin, you must first
give a logic ‘1’ to the port latch to turn off thegive a logic ‘1’ to the port latch to turn off the
FET otherwise the data read in will always be logicFET otherwise the data read in will always be logic
‘0’.‘0’.
 When you write to the port you are actuallyWhen you write to the port you are actually
writing to the latch e.g. a logic 0 given to the latchwriting to the latch e.g. a logic 0 given to the latch
will be inverted and turn on the FET which causewill be inverted and turn on the FET which cause
the port pin to be connected to Gnd (logic 0).the port pin to be connected to Gnd (logic 0).
I/O Port contd…I/O Port contd…
Timers /CountersTimers /Counters
 The 8051 has 2 timers/counters:The 8051 has 2 timers/counters:
 Timer/Counter 0Timer/Counter 0
 Timer/Counter 1Timer/Counter 1
They can be used asThey can be used as
1.1. TheThe TimerTimer :Uused as a time delay generator.:Uused as a time delay generator.
 The clock source is theThe clock source is the internalinternal crystal frequency of thecrystal frequency of the
8051.8051.
2.2. An eventAn event countercounter..
 External inputExternal input from input pin to count the number offrom input pin to count the number of
events on registers.events on registers.
 These clock pulses cold represent the number of peopleThese clock pulses cold represent the number of people
passing through an entrance, or the number of wheelpassing through an entrance, or the number of wheel
rotations, or any other event that can be converted to pulses.rotations, or any other event that can be converted to pulses.
TimerTimer
 Set the initial value of registersSet the initial value of registers
 Start the timer and then the 8051 counts up.Start the timer and then the 8051 counts up.
 Input from internal system clock (machine cycle)Input from internal system clock (machine cycle)
 When the registers equal to 0 and the 8051 sets aWhen the registers equal to 0 and the 8051 sets a
bit to denote time outbit to denote time out
to
LCD
P1
8051
TL0
TH0
P2
Set
Timer 0
CounterCounter
 Count the number of eventsCount the number of events
 Show the number of events on registersShow the number of events on registers
 External input from T0 input pin (P3.4) for Counter 0External input from T0 input pin (P3.4) for Counter 0
 External input from T1 input pin (P3.5) for Counter 1External input from T1 input pin (P3.5) for Counter 1
 External inputExternal input from Tx input pin.from Tx input pin.
 We use Tx to denote T0 or T1.We use Tx to denote T0 or T1.
T0
to
LCD
P3.4
P1
8051
a switch
TL0
TH0
RegistersRegisters Used in Timer/CounterUsed in Timer/Counter
 8051 has two 16-bit Timer registers ,Timer 0 &8051 has two 16-bit Timer registers ,Timer 0 &
Timer 1.Timer 1.
 As 8051 has 8-bit architecture , each TimerAs 8051 has 8-bit architecture , each Timer
register is treated as two 8-bit registers namelyregister is treated as two 8-bit registers namely
TH0, TL0, TH1, TL1.TH0, TL0, TH1, TL1.
 One 8-bit mode register -TMOD.One 8-bit mode register -TMOD.
 One 8-bit control register-TCON.One 8-bit control register-TCON.
TMOD RegisterTMOD Register
 Both Timer 0 &Timer 1 use the same Mode registerBoth Timer 0 &Timer 1 use the same Mode register
TMOD.TMOD.
 It is an-8-bit register .The lower 4-bits are meant forIt is an-8-bit register .The lower 4-bits are meant for
Timer 0 &the uooer 4-bits are meant for Timer 1Timer 0 &the uooer 4-bits are meant for Timer 1
 It is not bit addressible.It is not bit addressible.
 It is used similar to any other register of 8051 . For ex:It is used similar to any other register of 8051 . For ex:
MOV TMOD,#21HMOV TMOD,#21H
GATE C/T M1 M0 GATE C/T M1 M0
Timer 1 Timer 0
(MSB) (LSB)
GateGate
 Every timer has a mean of starting and stopping.Every timer has a mean of starting and stopping.
 GATE=0GATE=0
 InternalInternal controlcontrol
 The start and stop of the timer are controlled by way ofThe start and stop of the timer are controlled by way of
software.software.
 Set/clear the TR for start/stop timer.Set/clear the TR for start/stop timer.
SETB TR0SETB TR0
CLR TR0CLR TR0
 GATE=1GATE=1
 ExternalExternal controlcontrol
 The hardware way of starting and stopping the timer byThe hardware way of starting and stopping the timer by
softwaresoftware andand an external sourcean external source..
 Timer/counter is enabled only while the INT pin is high andTimer/counter is enabled only while the INT pin is high and
the TR control pin is set (TR).the TR control pin is set (TR).
TMod contd….TMod contd….
C/T :C/T : Timer or counter selected cleared for timer operation (inputTimer or counter selected cleared for timer operation (input
from internal system clock). Set for counter operationfrom internal system clock). Set for counter operation
(input from Tx input pin).(input from Tx input pin).
M1,M0 : Used for mode selection.Because the Timers of 8051 canUsed for mode selection.Because the Timers of 8051 can
be set in 4-different modes.be set in 4-different modes.
M1 M0 Mode OperationM1 M0 Mode Operation
0 00 0 00 113-bit timer3-bit timer mode 8-bit THx + 5-bit TLx (x= 0 or 1)mode 8-bit THx + 5-bit TLx (x= 0 or 1)
00 1 11 1 16-bit timer16-bit timer mode 8-bit THx + 8-bit TLxmode 8-bit THx + 8-bit TLx
1 01 0 22 8-bit auto reload8-bit auto reload 8-bit auto reload timer/counter;8-bit auto reload timer/counter;
THx holds a value which is to be reloaded intoTHx holds a value which is to be reloaded into
TLx each time it overflows.TLx each time it overflows.
11 11 33 Split timer modeSplit timer mode
TMod contd…TMod contd…
Let us understand the working of Timer Mode 1Let us understand the working of Timer Mode 1
 For this , let us consider timer 0 as an example.For this , let us consider timer 0 as an example.
 16-bit16-bit timer (TH0 and TL0)timer (TH0 and TL0)
 TH0-TL0 is incremented continuously when TR0 is setTH0-TL0 is incremented continuously when TR0 is set
to 1. And the 8051 stops to increment TH0-TL0 whento 1. And the 8051 stops to increment TH0-TL0 when
TR0 is cleared.TR0 is cleared.
 The timer works with the internal system clock. In otherThe timer works with the internal system clock. In other
words, the timer counts up each machine cycle.words, the timer counts up each machine cycle.
 When the timer (TH0-TL0) reaches its maximum ofWhen the timer (TH0-TL0) reaches its maximum of
FFFFH, it rolls over to 0000, and TF0 is raised.FFFFH, it rolls over to 0000, and TF0 is raised.
 Programmer should check TF0 and stop the timer 0.Programmer should check TF0 and stop the timer 0.
Steps of Mode 1Steps of Mode 1
1.1. Choose mode 1 timer 0Choose mode 1 timer 0
 MOV TMOD,#01HMOV TMOD,#01H
2.2. Set the original value to TH0 and TL0.Set the original value to TH0 and TL0.
 MOV TH0,#FFHMOV TH0,#FFH
 MOV TL0,#FCHMOV TL0,#FCH
3.3. You better to clear the TF: TF0=0.You better to clear the TF: TF0=0.
 CLR TF0CLR TF0
4.4. Start the timer.Start the timer.
 SETB TR0SETB TR0
Mode 1 contd…Mode 1 contd…
5.5. The 8051 starts to count up by incrementing theThe 8051 starts to count up by incrementing the
TH0-TL0TH0-TL0..
 TH0-TL0= FFFCH,FFFDH,FFFEH,FFFFH,0000HTH0-TL0= FFFCH,FFFDH,FFFEH,FFFFH,0000H
FFFC FFFD FFFE FFFF 0000
TF = 0 TF = 0 TF = 0 TF = 0 TF = 1
TH0 TL0Start timer
Stop timer
Monitor TF until TF=1
TR0=1 TR0=0
TF
Mode 1 contd…Mode 1 contd…
6.6. When TH0-TL0 rolls over from FFFFH toWhen TH0-TL0 rolls over from FFFFH to 0000,0000,
the 8051 set TF0=1.the 8051 set TF0=1.
TH0-TL0= FFFE H, FFFF H, 0000 H (NowTH0-TL0= FFFE H, FFFF H, 0000 H (Now
TF0=1)TF0=1)
6.6. Keep monitoring the timer flag )TF) to see if it isKeep monitoring the timer flag )TF) to see if it is
raised.raised.
AGAIN: JNB TF0, AGAINAGAIN: JNB TF0, AGAIN
6.6. Clear TR0 to stop the process.Clear TR0 to stop the process.
CLR TR0CLR TR0
6.6. Clear the TF flag for the next round.Clear the TF flag for the next round.
CLR TF0CLR TF0
TCON RegisterTCON Register
Timer control register TMOD is a 8-bit
register which is bit addressable and in
which Upper nibble is for timer/counter,
lower nibble is for interrupts
Tcon contd…Tcon contd…
 TR (Timer run control bit)
 TR0 for Timer/counter 0; TR1 for Timer/counter 1.
 TR is set by programmer to turn timer/counter on/off.
 TR=0 : off (stop)
 TR=1 : on (start)
 TF (timer flag, control flag)
 TF0 for timer/counter 0; TF1 for timer/counter 1.
 TF is like a carry. Originally, TF=0. When TH-TL roll over to 0000
from FFFFH, the TF is set to 1.
 TF=0 : not reach
 TF=1: reach
 If we enable interrupt, TF=1 will trigger ISR.
Equivalent Instructions for the TimerEquivalent Instructions for the Timer
Control RegisterControl Register
For timer 0For timer 0
SETB TR0SETB TR0 == SETB TCON.4SETB TCON.4
CLR TR0CLR TR0 == CLR TCON.4CLR TCON.4
SETB TF0SETB TF0 == SETB TCON.5SETB TCON.5
CLR TF0CLR TF0 == CLR TCON.5CLR TCON.5
For timer 1For timer 1
SETB TR1SETB TR1 == SETB TCON.6SETB TCON.6
CLR TR1CLR TR1 == CLR TCON.6CLR TCON.6
SETB TF1SETB TF1 == SETB TCON.7SETB TCON.7
CLR TF1CLR TF1 == CLR TCON.7CLR TCON.7
TF1 IT0IE0IT1IE1TR0TF0TR1
TCON: Timer/Counter Control Register
Simple applications using ports &TimersSimple applications using ports &Timers
 Using a port ,by a simple program you can generate a SquareUsing a port ,by a simple program you can generate a Square
wave of any duty cycle.wave of any duty cycle.
HEREHERE :: SETB P1.0 (Make bit of Port 0 High)SETB P1.0 (Make bit of Port 0 High)
LCALL DELAYLCALL DELAY
CLR P1.0CLR P1.0
LCALL DELAYLCALL DELAY
SJMP HERE : Keep doing itSJMP HERE : Keep doing it
Here same delay is used for bothHere same delay is used for both
High & lowHigh & low
Square-wave of 66%duty cycle.Square-wave of 66%duty cycle.
HEREHERE : SETB P1.0 ( Make bit of Port 0 High): SETB P1.0 ( Make bit of Port 0 High)
LCALL DELAYLCALL DELAY
LCALL DELAYLCALL DELAY
CLR P1.0CLR P1.0
LCALL DELAYLCALL DELAY
SJMP HERE : Keep doing itSJMP HERE : Keep doing it
Square-wave generation using TimerSquare-wave generation using Timer
DELAY:
SETB TR0 ;start the timer 0
AGAIN: JNB TF0,AGAIN
CLR TR0 ;stop timer 0
CLR TF0 ;clear timer 0 flag
RET
 Square wave of 50% duty on P1.5
 Timer 0 is used
; each loop is a half clock
MOV TMOD,#01 ;Timer 0,mode 1(16-bit)
HERE: MOV TL0,#0F2H ;Timer value = FFF2H
MOV TH0,#0FFH
CPL P1.5
ACALL DELAY
SJMP HERE
8051- SERIAL COMMUNICATION8051- SERIAL COMMUNICATION
Basics of serial communicationBasics of serial communication
Types of Serial communicationsTypes of Serial communications
RxD and TxD pins in the 8051RxD and TxD pins in the 8051
 The 8051 has two pins for transferring andThe 8051 has two pins for transferring and
receiving data by serial communication. Thesereceiving data by serial communication. These
two pins are part of the Port3(P3.0 &P3.1)two pins are part of the Port3(P3.0 &P3.1)
 These pins are TTL compatible and hence theyThese pins are TTL compatible and hence they
require a line driver to make them RS232require a line driver to make them RS232
compatiblecompatible
 Max232 chip is one such line driver in use.Max232 chip is one such line driver in use.
 Serial communication is controlled by an 8-bitSerial communication is controlled by an 8-bit
register called SCON register,it is a bitregister called SCON register,it is a bit
addressable register.addressable register.
Interfacing to PCInterfacing to PC
SCON (Serial control) registerSCON (Serial control) register
SM0 , SM1SM0 , SM1
 These two bits of SCON register determine the framingThese two bits of SCON register determine the framing
of data by specifying the number of bits per characterof data by specifying the number of bits per character
and start bit and stop bits. There are 4 serial modes.and start bit and stop bits. There are 4 serial modes.
SM0 SM1
0 0 Serial Mode 0
0 1 Serial Mode 1, 8 bit data,
1 stop bit, 1 start bit
1 0 Serial Mode 2
1 1 Serial Mode 3
RENREN,, TITI,, RIRI
 REN (Receive Enable) also referred asREN (Receive Enable) also referred as SCON.4SCON.4..
When it is high,it allows the 8051 to receive dataWhen it is high,it allows the 8051 to receive data
on the RxD pin. So to receive and transfer dataon the RxD pin. So to receive and transfer data
REN must be set to 1.When REN=0,theREN must be set to 1.When REN=0,the
receiver is disabled. This is achieved as belowreceiver is disabled. This is achieved as below
SETB SCON.4SETB SCON.4
& CLR SCON.4& CLR SCON.4
Contd…Contd…
 TI (Transmit interrupt) is the D1 bit of SCON register.TI (Transmit interrupt) is the D1 bit of SCON register.
When 8051 finishes the transfer of 8-bit character, itWhen 8051 finishes the transfer of 8-bit character, it
raises the TI flag to indicate that it is ready to transferraises the TI flag to indicate that it is ready to transfer
another byte. The TI bit is raised at the beginning ofanother byte. The TI bit is raised at the beginning of
the stop bit.the stop bit.
 RI (Receive interrupt) is the D0 bit of the SCONRI (Receive interrupt) is the D0 bit of the SCON
register. When the 8051 receives data serially ,via RxD,register. When the 8051 receives data serially ,via RxD,
it gets rid of the start and stop bits and places the byteit gets rid of the start and stop bits and places the byte
in the SBUF register.Then it raises the RI flag bit toin the SBUF register.Then it raises the RI flag bit to
indicate that a byte has been received and should beindicate that a byte has been received and should be
picked up before it is lost.RI is raised halfway throughpicked up before it is lost.RI is raised halfway through
the stop bit.the stop bit.
8051 Interrupts8051 Interrupts
 AnAn interruptinterrupt is an external or internal event thatis an external or internal event that disturbsdisturbs
thethe microcontroller to inform it that a device needs itsmicrocontroller to inform it that a device needs its
service.service.
AA MMicrocontroller can serveicrocontroller can serve variousvarious devices.devices.
 ThThereere are two ways to do that:are two ways to do that:
 interruptsinterrupts &&
 polling.polling.
 The program which is associated with the interrupt isThe program which is associated with the interrupt is
called thecalled the interrupt service routineinterrupt service routine (ISR) or(ISR) or interruptinterrupt
handlerhandler..
Steps in executing an interruptSteps in executing an interrupt
 Upon receiving the interrupt signal theUpon receiving the interrupt signal the
Microcontroller , fMicrocontroller , finishinish currentcurrent instruction andinstruction and
ssaaves the PC on stack.ves the PC on stack.
 JJumps to a fixed location in memoryumps to a fixed location in memory dependingdepending
on type of interrupton type of interrupt
 SStarts to execute the interrupt service routinetarts to execute the interrupt service routine
until RETI (return from interrupt)until RETI (return from interrupt)
 Upon executing the RETI the microcontrollerUpon executing the RETI the microcontroller
returns to the place where it was interrupted.returns to the place where it was interrupted.
GetGet poppop PC from stackPC from stack
Interrupt SourcesInterrupt Sources
 Original 8051 has 6 sources of interruptsOriginal 8051 has 6 sources of interrupts
 ResetReset
 Timer 0 overflowTimer 0 overflow
 Timer 1 overflowTimer 1 overflow
 External Interrupt 0External Interrupt 0
 External Interrupt 1External Interrupt 1
 Serial Port events (buffer full, buffer empty, etc)Serial Port events (buffer full, buffer empty, etc)
 Enhanced version has 22 sourcesEnhanced version has 22 sources
 More timers, programmable counter array, ADC,More timers, programmable counter array, ADC,
more external interrupts, another serial port (UART)more external interrupts, another serial port (UART)
 Each interrupt has a specific place in codeEach interrupt has a specific place in code
memory where program execution (interruptmemory where program execution (interrupt
service routine) begins.service routine) begins.
 External Interrupt 0:External Interrupt 0: 0003h0003h
 Timer 0 overflow:Timer 0 overflow: 000Bh000Bh
 External Interrupt 1:External Interrupt 1: 0013h0013h
 Timer 1 overflow:Timer 1 overflow: 001Bh001Bh
 Serial : 0023hSerial : 0023h
 Timer 2 overflowTimer 2 overflow(8052+)(8052+) 002bh002bh
Interrupt Vectors
Interrupt Enable RegisterInterrupt Enable Register
 Upon reset all Interrupts are disabled & do
not respond to the Microcontroller
 These interrupts must be enabled by software
in order for the Microcontroller to respond to
them.
 This is done by an 8-bit register called
Interrupt Enable Register (IE).
 EA : Global enable/disable.
 --- : Undefined.
 ET2 : Enable Timer 2 interrupt.
 ES : Enable Serial port interrupt.
 ET1 : Enable Timer 1 interrupt.
 EX1 :Enable External 1 interrupt.
 ET0 : Enable Timer 0 interrupt.
 EX0 : Enable External 0 interrupt..
Enabling and disabling an
interrupt
By bit operation
Recommended in the middle of program
SETB EA ;Enable All
SETB ET0 ;Enable Timer0 ovrf
SETB ET1 ;Enable Timer1 ovrf
SETB EX0 ;Enable INT0
SETB EX1 ;Enable INT1
SETB ES ;Enable Serial port
By Mov instruction
Recommended in the first of program
MOV IE, #10010110B
SETB IE.7
SETB IE.1
SETB IE.3
SETB IE.0
SETB IE.2
SETB IE.4
 What if two interrupt sources interrupt at the sameWhat if two interrupt sources interrupt at the same
time?time?
 The interrupt with the highest PRIORITY getsThe interrupt with the highest PRIORITY gets
serviced first.serviced first.
 All interrupts have a power on default priority order.All interrupts have a power on default priority order.
1.1. External interrupt 0 (INT0)External interrupt 0 (INT0)
2.2. Timer interrupt0 (TF0)Timer interrupt0 (TF0)
3.3. External interrupt 1 (INT1)External interrupt 1 (INT1)
4.4. Timer interrupt1 (TF1)Timer interrupt1 (TF1)
5.5. Serial communication (RI+TI)Serial communication (RI+TI)
 Priority can also be set to “high” or “low” by IP reg.Priority can also be set to “high” or “low” by IP reg.
Interrupt PrioritiesInterrupt Priorities
Interrupt Priorities (IP) RegisterInterrupt Priorities (IP) Register
IP.7: reservedIP.7: reserved
IP.6: reservedIP.6: reserved
IP.5: Timer 2 interrupt priority bit (8052 only)IP.5: Timer 2 interrupt priority bit (8052 only)
IP.4: Serial port interrupt priority bitIP.4: Serial port interrupt priority bit
IP.3: Timer 1 interrupt priority bitIP.3: Timer 1 interrupt priority bit
IP.2: External interrupt 1 priority bitIP.2: External interrupt 1 priority bit
IP.1: Timer 0 interrupt priority bitIP.1: Timer 0 interrupt priority bit
IP.0: External interrupt 0 priority bitIP.0: External interrupt 0 priority bit
--- PX0PT0PX1PT1PSPT2---
Interrupt Priorities ExampleInterrupt Priorities Example
 MOV IP , #00000100BMOV IP , #00000100B oror SETB IP.2SETB IP.2 gives prioritygives priority
orderorder
1.1. Int1Int1
2.2. Int0Int0
3.3. Timer0Timer0
4.4. Timer1Timer1
5.5. SerialSerial
 MOV IP , #00001100BMOV IP , #00001100B gives priority ordergives priority order
1.1. Int1Int1
2.2. Timer1Timer1
3.3. Int0Int0
4.4. Timer0Timer0
5.5. SerialSerial
--- PX0PT0PX1PT1PSPT2---
Interrupt inside an interruptInterrupt inside an interrupt
--- PX0PT0PX1PT1PSPT2---
 A high-priority interrupt can interrupt a low-A high-priority interrupt can interrupt a low-
priority interrupypriority interrupy
 All interrupt are latched internallyAll interrupt are latched internally
 Low-priority interrupt wait until 8051 hasLow-priority interrupt wait until 8051 has
finished servicing the high-priority interruptfinished servicing the high-priority interrupt
Applications of MicrocontrollersApplications of Microcontrollers
Simple Interfacing ExamplesSimple Interfacing Examples
Seven segment InterfacingSeven segment Interfacing
Traffic light controllerTraffic light controller
Closed loop control system-Closed loop control system-
Temperature control exampleTemperature control example
Recent Wonders
Recent Wonders contd ........Recent Wonders contd ........
Recent Wonders contd ........Recent Wonders contd ........
Books that have helped me to understand theBooks that have helped me to understand the
Microcontrollers & embedded systemsMicrocontrollers & embedded systems
1)1) Barr, Michael, Programming embedded sytemsBarr, Michael, Programming embedded sytems
in C and C++ - OReilly Publ.in C and C++ - OReilly Publ.
2)2) Raj Kamal, Embedded systems,Raj Kamal, Embedded systems, TMGTMG
3)3) Mazidi and Mazidi, The 8051 microcontrollerMazidi and Mazidi, The 8051 microcontroller
and embedded sytems - Pearson education.and embedded sytems - Pearson education.
4)4) Peatman,J.B. Design with microcontrollers andPeatman,J.B. Design with microcontrollers and
microcomputers, McGraw Hilmicrocomputers, McGraw Hil
5)5) Sewart. J.W. The 8051 Microcontroller Hardware,Sewart. J.W. The 8051 Microcontroller Hardware,
Software and Interfacing – Prentice HallSoftware and Interfacing – Prentice Hall
6) Ayala Kenneth, The 8051 Microntroller –Ayala Kenneth, The 8051 Microntroller –
Architecture, Programming and Applications –Architecture, Programming and Applications –
Delmar Publ.Delmar Publ.
7)7) Ajay Deshmukh, Microcontrollers – TATAAjay Deshmukh, Microcontrollers – TATA
McGraw HillMcGraw Hill
8)8) Rajkamal, Microcontrollers - Architecture,Rajkamal, Microcontrollers - Architecture,
Programming – Pearson Publ.Programming – Pearson Publ.
9) Myke Predko, Programming the 8051 Microcontroller –Myke Predko, Programming the 8051 Microcontroller –
McGraw HillMcGraw Hill
10)10) Michael J. Pont, Embedded C - Addison WeselyMichael J. Pont, Embedded C - Addison Wesely
Publ.Publ.
Useful websitesUseful websites
Useful websitesUseful websites contd…contd…
1.1. http://www.eg3.comhttp://www.eg3.com
2.2. http://www.ARM.MCU.comhttp://www.ARM.MCU.com
3.3. http://www.mcjournal.comhttp://www.mcjournal.com
4.4. http://www.iar.comhttp://www.iar.com
5.5. http://http://http://www.embedded.comhttp://www.embedded.com
6.6. http://www.powersoftsystems.comhttp://www.powersoftsystems.com
EpilogueEpilogue
 The woods are lovely, dark and deep,
But I have promises to keep,
And miles to go before I sleep,
And miles to go before I sleep.
---- Robert Frost
 GOOD LUCK!

Mais conteúdo relacionado

Mais procurados

MICROCONTROLLER 8051- Architecture & Pin Configuration
MICROCONTROLLER 8051- Architecture & Pin Configuration MICROCONTROLLER 8051- Architecture & Pin Configuration
MICROCONTROLLER 8051- Architecture & Pin Configuration AKHIL MADANKAR
 
8051 microcontroller
8051 microcontroller 8051 microcontroller
8051 microcontroller Gaurav Verma
 
8085 interrupts
8085 interrupts8085 interrupts
8085 interruptsRam Babu
 
microcontroller basics
microcontroller basicsmicrocontroller basics
microcontroller basicssagar Ramdev
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051guest70d48b1
 
Microprocessor Interfacing and 8155 Features
Microprocessor Interfacing and 8155 FeaturesMicroprocessor Interfacing and 8155 Features
Microprocessor Interfacing and 8155 FeaturesSrikrishna Thota
 
Serial Communication Interfaces
Serial Communication InterfacesSerial Communication Interfaces
Serial Communication Interfacesanishgoel
 
8085-microprocessor
8085-microprocessor8085-microprocessor
8085-microprocessorATTO RATHORE
 
Interfacing external memory in 8051
Interfacing external memory in 8051Interfacing external memory in 8051
Interfacing external memory in 8051ssuser3a47cb
 
8085 microprocessor ramesh gaonkar
8085 microprocessor   ramesh gaonkar8085 microprocessor   ramesh gaonkar
8085 microprocessor ramesh gaonkarSAQUIB AHMAD
 
Interfacing adc
Interfacing adcInterfacing adc
Interfacing adcPRADEEP
 
microcontroller vs microprocessor
microcontroller vs microprocessormicrocontroller vs microprocessor
microcontroller vs microprocessorsobhadevi
 
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijayVijay Kumar
 

Mais procurados (20)

MICROCONTROLLER 8051- Architecture & Pin Configuration
MICROCONTROLLER 8051- Architecture & Pin Configuration MICROCONTROLLER 8051- Architecture & Pin Configuration
MICROCONTROLLER 8051- Architecture & Pin Configuration
 
8051 microcontroller
8051 microcontroller 8051 microcontroller
8051 microcontroller
 
8085 interrupts
8085 interrupts8085 interrupts
8085 interrupts
 
microcontroller basics
microcontroller basicsmicrocontroller basics
microcontroller basics
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
 
8051 timer counter
8051 timer counter8051 timer counter
8051 timer counter
 
ARM Processors
ARM ProcessorsARM Processors
ARM Processors
 
Microprocessor Interfacing and 8155 Features
Microprocessor Interfacing and 8155 FeaturesMicroprocessor Interfacing and 8155 Features
Microprocessor Interfacing and 8155 Features
 
Serial Communication Interfaces
Serial Communication InterfacesSerial Communication Interfaces
Serial Communication Interfaces
 
UART
UART UART
UART
 
Interfacing Stepper motor with 8051
Interfacing Stepper motor with 8051Interfacing Stepper motor with 8051
Interfacing Stepper motor with 8051
 
8085-microprocessor
8085-microprocessor8085-microprocessor
8085-microprocessor
 
8251 USART
8251 USART8251 USART
8251 USART
 
AVR ATmega32
AVR ATmega32AVR ATmega32
AVR ATmega32
 
Interfacing external memory in 8051
Interfacing external memory in 8051Interfacing external memory in 8051
Interfacing external memory in 8051
 
8085 microprocessor ramesh gaonkar
8085 microprocessor   ramesh gaonkar8085 microprocessor   ramesh gaonkar
8085 microprocessor ramesh gaonkar
 
Interfacing adc
Interfacing adcInterfacing adc
Interfacing adc
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
 
microcontroller vs microprocessor
microcontroller vs microprocessormicrocontroller vs microprocessor
microcontroller vs microprocessor
 
8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay8259 Programmable Interrupt Controller by vijay
8259 Programmable Interrupt Controller by vijay
 

Destaque

4Sem VTU-HDL Programming Notes-Unit2-Data Flow Descriptions
4Sem VTU-HDL Programming Notes-Unit2-Data Flow Descriptions4Sem VTU-HDL Programming Notes-Unit2-Data Flow Descriptions
4Sem VTU-HDL Programming Notes-Unit2-Data Flow DescriptionsDr. Shivananda Koteshwar
 
Fundamentals of cmos vlsi
Fundamentals of cmos vlsiFundamentals of cmos vlsi
Fundamentals of cmos vlsiBhavya Mc
 
4Sem VTU-HDL Programming Notes-Unit3-Behavioral Descriptions
4Sem VTU-HDL Programming Notes-Unit3-Behavioral Descriptions4Sem VTU-HDL Programming Notes-Unit3-Behavioral Descriptions
4Sem VTU-HDL Programming Notes-Unit3-Behavioral DescriptionsDr. Shivananda Koteshwar
 
4Sem VTU-HDL Programming Notes-Unit1-Introduction
4Sem VTU-HDL Programming Notes-Unit1-Introduction4Sem VTU-HDL Programming Notes-Unit1-Introduction
4Sem VTU-HDL Programming Notes-Unit1-IntroductionDr. Shivananda Koteshwar
 
105926921 cmos-digital-integrated-circuits-solution-manual-1
105926921 cmos-digital-integrated-circuits-solution-manual-1105926921 cmos-digital-integrated-circuits-solution-manual-1
105926921 cmos-digital-integrated-circuits-solution-manual-1Savvas Dimopoulos
 
Verilog hdl-synthesis-a-practical-primer-j-bhasker
Verilog hdl-synthesis-a-practical-primer-j-bhaskerVerilog hdl-synthesis-a-practical-primer-j-bhasker
Verilog hdl-synthesis-a-practical-primer-j-bhaskergsivakumar50
 
Solution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidiSolution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidiMuhammad Abdullah
 
Architecture of 8051 microcontroller))
Architecture of 8051 microcontroller))Architecture of 8051 microcontroller))
Architecture of 8051 microcontroller))Ganesh Ram
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051Rashmi
 
Microcontroller presentation
Microcontroller presentationMicrocontroller presentation
Microcontroller presentationredwan1006066
 
8051 Microcontroller Notes
8051 Microcontroller Notes8051 Microcontroller Notes
8051 Microcontroller NotesDr.YNM
 

Destaque (12)

4Sem VTU-HDL Programming Notes-Unit2-Data Flow Descriptions
4Sem VTU-HDL Programming Notes-Unit2-Data Flow Descriptions4Sem VTU-HDL Programming Notes-Unit2-Data Flow Descriptions
4Sem VTU-HDL Programming Notes-Unit2-Data Flow Descriptions
 
Fundamentals of cmos vlsi
Fundamentals of cmos vlsiFundamentals of cmos vlsi
Fundamentals of cmos vlsi
 
4Sem VTU-HDL Programming Notes-Unit3-Behavioral Descriptions
4Sem VTU-HDL Programming Notes-Unit3-Behavioral Descriptions4Sem VTU-HDL Programming Notes-Unit3-Behavioral Descriptions
4Sem VTU-HDL Programming Notes-Unit3-Behavioral Descriptions
 
4Sem VTU-HDL Programming Notes-Unit1-Introduction
4Sem VTU-HDL Programming Notes-Unit1-Introduction4Sem VTU-HDL Programming Notes-Unit1-Introduction
4Sem VTU-HDL Programming Notes-Unit1-Introduction
 
105926921 cmos-digital-integrated-circuits-solution-manual-1
105926921 cmos-digital-integrated-circuits-solution-manual-1105926921 cmos-digital-integrated-circuits-solution-manual-1
105926921 cmos-digital-integrated-circuits-solution-manual-1
 
Verilog hdl-synthesis-a-practical-primer-j-bhasker
Verilog hdl-synthesis-a-practical-primer-j-bhaskerVerilog hdl-synthesis-a-practical-primer-j-bhasker
Verilog hdl-synthesis-a-practical-primer-j-bhasker
 
Solution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidiSolution manual 8051 microcontroller by mazidi
Solution manual 8051 microcontroller by mazidi
 
Architecture of 8051 microcontroller))
Architecture of 8051 microcontroller))Architecture of 8051 microcontroller))
Architecture of 8051 microcontroller))
 
Microcontroller 8051
Microcontroller 8051Microcontroller 8051
Microcontroller 8051
 
Microcontroller presentation
Microcontroller presentationMicrocontroller presentation
Microcontroller presentation
 
8051 MICROCONTROLLER
8051 MICROCONTROLLER 8051 MICROCONTROLLER
8051 MICROCONTROLLER
 
8051 Microcontroller Notes
8051 Microcontroller Notes8051 Microcontroller Notes
8051 Microcontroller Notes
 

Semelhante a 8051 Microcontroller Features & Applications

microcontroller-8051-ppt(1)
microcontroller-8051-ppt(1)microcontroller-8051-ppt(1)
microcontroller-8051-ppt(1)jhcid
 
microcontroller-8051-ppt
 microcontroller-8051-ppt microcontroller-8051-ppt
microcontroller-8051-pptjhcid
 
8051mc notes-121004121921-phpapp01
8051mc notes-121004121921-phpapp018051mc notes-121004121921-phpapp01
8051mc notes-121004121921-phpapp01blacktricker
 
8051mc notes-121004121921-phpapp01
8051mc notes-121004121921-phpapp018051mc notes-121004121921-phpapp01
8051mc notes-121004121921-phpapp01ayushi sharma
 
8085 notes g scheme 2016 (2)
8085 notes g scheme 2016 (2)8085 notes g scheme 2016 (2)
8085 notes g scheme 2016 (2)HarshitParkar6677
 
Microcontroller-8051.ppt
Microcontroller-8051.pptMicrocontroller-8051.ppt
Microcontroller-8051.pptDr.YNM
 
All about Microcontroller - 8051 ..pptx
All about Microcontroller -  8051 ..pptxAll about Microcontroller -  8051 ..pptx
All about Microcontroller - 8051 ..pptxBlackAdam7
 
btech 8051 Microcontroller Programing.pptx
btech 8051 Microcontroller Programing.pptxbtech 8051 Microcontroller Programing.pptx
btech 8051 Microcontroller Programing.pptxSKWriters
 
PRESENTATION OF MICROCONTROLLER
PRESENTATION OF MICROCONTROLLERPRESENTATION OF MICROCONTROLLER
PRESENTATION OF MICROCONTROLLERAviSharma63
 
microprocessors
 microprocessors microprocessors
microprocessorsjhcid
 
MPI-uses and their applications in day to day life
MPI-uses and their applications in day to day lifeMPI-uses and their applications in day to day life
MPI-uses and their applications in day to day lifessuser2b759d
 

Semelhante a 8051 Microcontroller Features & Applications (20)

microcontroller-8051-ppt(1)
microcontroller-8051-ppt(1)microcontroller-8051-ppt(1)
microcontroller-8051-ppt(1)
 
microcontroller-8051-ppt
 microcontroller-8051-ppt microcontroller-8051-ppt
microcontroller-8051-ppt
 
Microcontroller-8051.ppt
Microcontroller-8051.pptMicrocontroller-8051.ppt
Microcontroller-8051.ppt
 
Mcu51
Mcu51Mcu51
Mcu51
 
8051 basics
8051 basics8051 basics
8051 basics
 
8051mc notes-121004121921-phpapp01
8051mc notes-121004121921-phpapp018051mc notes-121004121921-phpapp01
8051mc notes-121004121921-phpapp01
 
8051mc notes-121004121921-phpapp01
8051mc notes-121004121921-phpapp018051mc notes-121004121921-phpapp01
8051mc notes-121004121921-phpapp01
 
8085 notes g scheme
8085 notes g scheme8085 notes g scheme
8085 notes g scheme
 
8085 notes g scheme
8085 notes g scheme8085 notes g scheme
8085 notes g scheme
 
8085 notes g scheme 2016 (2)
8085 notes g scheme 2016 (2)8085 notes g scheme 2016 (2)
8085 notes g scheme 2016 (2)
 
8085 notes g scheme 2016
8085 notes g scheme 20168085 notes g scheme 2016
8085 notes g scheme 2016
 
8085 notes g scheme 2016
8085 notes g scheme 20168085 notes g scheme 2016
8085 notes g scheme 2016
 
Microcontroller-8051.ppt
Microcontroller-8051.pptMicrocontroller-8051.ppt
Microcontroller-8051.ppt
 
All about Microcontroller - 8051 ..pptx
All about Microcontroller -  8051 ..pptxAll about Microcontroller -  8051 ..pptx
All about Microcontroller - 8051 ..pptx
 
btech 8051 Microcontroller Programing.pptx
btech 8051 Microcontroller Programing.pptxbtech 8051 Microcontroller Programing.pptx
btech 8051 Microcontroller Programing.pptx
 
PRESENTATION OF MICROCONTROLLER
PRESENTATION OF MICROCONTROLLERPRESENTATION OF MICROCONTROLLER
PRESENTATION OF MICROCONTROLLER
 
8051.pptx
8051.pptx8051.pptx
8051.pptx
 
microprocessors
 microprocessors microprocessors
microprocessors
 
8 bit microcontroller
8 bit microcontroller8 bit microcontroller
8 bit microcontroller
 
MPI-uses and their applications in day to day life
MPI-uses and their applications in day to day lifeMPI-uses and their applications in day to day life
MPI-uses and their applications in day to day life
 

Mais de John Williams

Employee job retention
Employee job retentionEmployee job retention
Employee job retentionJohn Williams
 
Mobile cellular-telecommunication-system-revised
Mobile cellular-telecommunication-system-revisedMobile cellular-telecommunication-system-revised
Mobile cellular-telecommunication-system-revisedJohn Williams
 
Microwave engineering jwfiles
Microwave engineering jwfilesMicrowave engineering jwfiles
Microwave engineering jwfilesJohn Williams
 
Lut optimization for memory based computation
Lut optimization for memory based computationLut optimization for memory based computation
Lut optimization for memory based computationJohn Williams
 
Llr test english_totalquestions
Llr test english_totalquestionsLlr test english_totalquestions
Llr test english_totalquestionsJohn Williams
 
Lecture notes -_microwaves_jwfiles
Lecture notes -_microwaves_jwfilesLecture notes -_microwaves_jwfiles
Lecture notes -_microwaves_jwfilesJohn Williams
 
Image processing spatialfiltering
Image processing spatialfilteringImage processing spatialfiltering
Image processing spatialfilteringJohn Williams
 
Image processing9 segmentation(pointslinesedges)
Image processing9 segmentation(pointslinesedges)Image processing9 segmentation(pointslinesedges)
Image processing9 segmentation(pointslinesedges)John Williams
 
Image trnsformations
Image trnsformationsImage trnsformations
Image trnsformationsJohn Williams
 
Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)John Williams
 
morphological image processing
morphological image processingmorphological image processing
morphological image processingJohn Williams
 
Arm teaching material
Arm teaching materialArm teaching material
Arm teaching materialJohn Williams
 
4 things you_cannot_recover
4 things you_cannot_recover4 things you_cannot_recover
4 things you_cannot_recoverJohn Williams
 

Mais de John Williams (20)

Employee job retention
Employee job retentionEmployee job retention
Employee job retention
 
Moore's law & more
Moore's law & moreMoore's law & more
Moore's law & more
 
Mobile cellular-telecommunication-system-revised
Mobile cellular-telecommunication-system-revisedMobile cellular-telecommunication-system-revised
Mobile cellular-telecommunication-system-revised
 
Mnr
MnrMnr
Mnr
 
Microwave engineering jwfiles
Microwave engineering jwfilesMicrowave engineering jwfiles
Microwave engineering jwfiles
 
Lut optimization for memory based computation
Lut optimization for memory based computationLut optimization for memory based computation
Lut optimization for memory based computation
 
Llr test english_totalquestions
Llr test english_totalquestionsLlr test english_totalquestions
Llr test english_totalquestions
 
Lecture1
Lecture1Lecture1
Lecture1
 
Lecture notes -_microwaves_jwfiles
Lecture notes -_microwaves_jwfilesLecture notes -_microwaves_jwfiles
Lecture notes -_microwaves_jwfiles
 
Image processing spatialfiltering
Image processing spatialfilteringImage processing spatialfiltering
Image processing spatialfiltering
 
Image processing9 segmentation(pointslinesedges)
Image processing9 segmentation(pointslinesedges)Image processing9 segmentation(pointslinesedges)
Image processing9 segmentation(pointslinesedges)
 
Image trnsformations
Image trnsformationsImage trnsformations
Image trnsformations
 
Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)Image processing3 imageenhancement(histogramprocessing)
Image processing3 imageenhancement(histogramprocessing)
 
Friday xpress
Friday xpressFriday xpress
Friday xpress
 
Fft
FftFft
Fft
 
morphological image processing
morphological image processingmorphological image processing
morphological image processing
 
Arm teaching material
Arm teaching materialArm teaching material
Arm teaching material
 
An atm with an eye
An atm with an eyeAn atm with an eye
An atm with an eye
 
4 things you_cannot_recover
4 things you_cannot_recover4 things you_cannot_recover
4 things you_cannot_recover
 
Lect21 Engin112
Lect21 Engin112Lect21 Engin112
Lect21 Engin112
 

Último

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesThousandEyes
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demoHarshalMandlekar2
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersRaghuram Pandurangan
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Alkin Tezuysal
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Hiroshi SHIBATA
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsRavi Sanghani
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditSkynet Technologies
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 

Último (20)

How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyesHow to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
How to Effectively Monitor SD-WAN and SASE Environments with ThousandEyes
 
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyesAssure Ecommerce and Retail Operations Uptime with ThousandEyes
Assure Ecommerce and Retail Operations Uptime with ThousandEyes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
Sample pptx for embedding into website for demo
Sample pptx for embedding into website for demoSample pptx for embedding into website for demo
Sample pptx for embedding into website for demo
 
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Generative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information DevelopersGenerative AI for Technical Writer or Information Developers
Generative AI for Technical Writer or Information Developers
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
Unleashing Real-time Insights with ClickHouse_ Navigating the Landscape in 20...
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024Long journey of Ruby standard library at RubyConf AU 2024
Long journey of Ruby standard library at RubyConf AU 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Potential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and InsightsPotential of AI (Generative AI) in Business: Learnings and Insights
Potential of AI (Generative AI) in Business: Learnings and Insights
 
Manual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance AuditManual 508 Accessibility Compliance Audit
Manual 508 Accessibility Compliance Audit
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 

8051 Microcontroller Features & Applications

  • 1. MICROCONTROLLER-8051MICROCONTROLLER-8051 Features & ApplicationsFeatures & Applications Dr. Y .Narasimha Murthy Ph.D.,Dr. Y .Narasimha Murthy Ph.D., Sri Saibaba National CollegeSri Saibaba National College (Autonomous)(Autonomous) ANANTAPUR-515001(A.P)ANANTAPUR-515001(A.P)
  • 2. …….... Man’s glory lies in his knowledge,Man’s glory lies in his knowledge, his upright conduct, his praise-worthy character,his upright conduct, his praise-worthy character, his wisdom, and not in his nationality or rankhis wisdom, and not in his nationality or rank --Baha’ullah--Baha’ullah (From, the book The 8051 Microcontroller and Embedded systems- Mazidi )(From, the book The 8051 Microcontroller and Embedded systems- Mazidi )
  • 3. OverviewOverview IntroductionIntroduction Block Diagram andBlock Diagram and PinPin Description of the 8051Description of the 8051 RegistersRegisters Memory mapping in 8051Memory mapping in 8051 Stack in the 8051Stack in the 8051 I/O Port ProgrammingI/O Port Programming TimersTimers Interrupts &Interrupts & ApplicationsApplications
  • 4.  Its not an exaggeration if I say that ,today there is no electronic gadget on the earth which is designed without a Microcontroller. Ex: communication devices, digital entertainment, portable devices etc… Not believable ??? See the next slide Why do we need to learnWhy do we need to learn Microcontrollers ?Microcontrollers ?
  • 5.  Personal information products: Cell phone, pager,Personal information products: Cell phone, pager, watch, pocket recorder, calculatorwatch, pocket recorder, calculator  Laptop components: mouse, keyboard, modem,Laptop components: mouse, keyboard, modem, fax card, sound card, battery chargerfax card, sound card, battery charger  Home appliances: door lock, alarm clock,Home appliances: door lock, alarm clock, thermostat, air conditioner, TV remote, VCR,thermostat, air conditioner, TV remote, VCR, small refrigerator, exercise equipment,small refrigerator, exercise equipment, washer/dryer, microwave ovenwasher/dryer, microwave oven  Industrial equipment: Temperature/pressureIndustrial equipment: Temperature/pressure controllers, Counters, timers, RPM Controllerscontrollers, Counters, timers, RPM Controllers  Toys: video games, cars, dolls, etc.Toys: video games, cars, dolls, etc.
  • 6. So, A good designer should always know what type of controller he/she is using ,their architecture, advantages , disadvantages , ways to reduce production costs and product reliability etc…. O.K ????O.K ????
  • 7. Then What is a Microcontroller ?  A smaller computer  On-chip RAM, ROM, I/O ports...  Example : Motorola’s 6811, Intel’s 8051, Zilog’s Z8 and PIC 16X RAM ROM I/O Port Timer Serial COM Port CPU A single chip Microcontroller
  • 8. How is it different from aHow is it different from a Microprocessor ??Microprocessor ??  General-purpose microprocessor CPU for Computers No RAM, ROM, I/O on CPU chip itself Example : Intel’s x86, Motorola’s 680x0 CPU General- Purpose Micro- processor RAM ROM I/O Port Timer Serial COM Port Data Bus Address Bus
  • 9. Microprocessor  CPU is stand-alone, RAM, ROM, I/O, timer are separate  designer can decide on the amount of ROM, RAM and I/O ports.  expansive  versatility  general-purpose Microcontroller • CPU, RAM, ROM, I/O and timer are all on a single chip • fix amount of on-chip ROM, RAM, I/O ports • Highly bit addressable • for applications in which cost, power and space are critical • single-purpose Microprocessor vs. Microcontroller
  • 10. EVOLUTIONEVOLUTION Flashback !!!!Flashback !!!! In the year 1976, Motorola created a MicroprocessorIn the year 1976, Motorola created a Microprocessor chip called 6801 which replaced its brother 6800 withchip called 6801 which replaced its brother 6800 with certain add-on chips to make a computer. This pavedcertain add-on chips to make a computer. This paved the way for the new revolution in the history of chipthe way for the new revolution in the history of chip design and gave birth to a new entity calleddesign and gave birth to a new entity called MICROCONTROLLER.MICROCONTROLLER. The INTEL bagged the credit of producing the firstThe INTEL bagged the credit of producing the first Microcontroller 8048 with a CPU and 1K bytes ofMicrocontroller 8048 with a CPU and 1K bytes of EPROM, 64 Bytes of RAM an 8-Bit Timer and 27 I/OEPROM, 64 Bytes of RAM an 8-Bit Timer and 27 I/O pins in 1976.pins in 1976.
  • 11. EvolutionEvolution contdcontd……  Then followed the most popular controller 8051Then followed the most popular controller 8051 in the year 1980 with 4K bytes of ROM,128in the year 1980 with 4K bytes of ROM,128 Bytes ofBytes of RAMRAM , a serial port, two 16-bit Timers ,, a serial port, two 16-bit Timers , and 32 I/O pins.and 32 I/O pins.  The 8051 family has many additions andThe 8051 family has many additions and improvements over the years and remains aimprovements over the years and remains a most soughtafter tool for todays circuitmost soughtafter tool for todays circuit designers.designers.  The same INTEL introduced a 16 bit controllerThe same INTEL introduced a 16 bit controller 8096 in the year 19828096 in the year 1982
  • 12.  Later INTEL introduced 80c196 series of 16-bitLater INTEL introduced 80c196 series of 16-bit microcontrollers for mainly industrialmicrocontrollers for mainly industrial applicationsapplications  Microchip, another company has introduced aMicrochip, another company has introduced a microcontroller PIC 16C64 an 8-bit in the yearmicrocontroller PIC 16C64 an 8-bit in the year 19851985..  32-bit microcontrollers have been developed by IBM32-bit microcontrollers have been developed by IBM and Motorola-MPC 505 is a 32-bit RISC controller ofand Motorola-MPC 505 is a 32-bit RISC controller of MotorolaMotorola  The 403 GA is a 32 -bit RISC embedded controller ofThe 403 GA is a 32 -bit RISC embedded controller of IBMIBM
  • 13. ARM ControllersARM Controllers  In recent times ARM company (Advanced RiscIn recent times ARM company (Advanced Risc machines) has developed and introduced 32 bitmachines) has developed and introduced 32 bit controllers which are highend applicationcontrollers which are highend application devices,especially communication devices likedevices,especially communication devices like mobiles , ipods etc..(Refer www.arm.com)mobiles , ipods etc..(Refer www.arm.com)
  • 14. Types of MicrocontrollersTypes of Microcontrollers
  • 15. Microcontrollers from different manufacturersMicrocontrollers from different manufacturers •Atmel •ARM •Intel •8-bit •8XC42 •MCS48 •MCS51 •8xC251 •16-bit •MCS96 •MXS296 •National Semiconductor •COP8 •Microchip •12-bit instruction PIC •14-bit instruction PIC •PIC16F84 •16-bit instruction PIC •NEC •Motorola •8-bit •68HC05 •68HC08 •68HC11 •16-bit •68HC12 •68HC16 •32-bit •683xx •Texas Instruments •TMS370 •MSP430 •Zilog •Z8 •Z86E02
  • 16. MCS-51 “Family” of MicrocontollersMCS-51 “Family” of Microcontollers Feature 8031 8051 8052 8751Feature 8031 8051 8052 8751 ROMROM NONO 4kB 8kB 4kB UV Eprom4kB 8kB 4kB UV Eprom RAM (Bytes) 128 128 256 128RAM (Bytes) 128 128 256 128 TIMERS 2 2 3 2TIMERS 2 2 3 2 I/O PINS 32 32 32 32I/O PINS 32 32 32 32 SERIAL PORTS 1 1 1 1SERIAL PORTS 1 1 1 1 INTERRUPTINTERRUPT 6 6 8 66 6 8 6 SOURCESSOURCES
  • 17. Microcontroller ArchitecturesMicrocontroller Architectures CPU Program + Data Address Bus Data Bus Memory Von Neumann Architecture CPU Program Address Bus Data Bus Harvard Architecture Memory Data Address Bus Fetch Bus 0 0 0 2n
  • 18. Important Features of 8051Important Features of 8051  4K bytes ROM4K bytes ROM  128 bytes RAM128 bytes RAM  Four 8-bit I/O portsFour 8-bit I/O ports  Two 16-bit timersTwo 16-bit timers  Serial interfaceSerial interface  64K external code memory space64K external code memory space  64K data memory space64K data memory space
  • 19. ““Original” 8051 MicrocontrollerOriginal” 8051 Microcontroller Oscillator and timing 4096 Bytes Program Memory (ROM) 128 Bytes Data Memory (RAM) Two 16 Bit Timer/Event Counters 8051 CPU 64 K Byte Bus Expansion Control Programmable I/O Programmable Serial Port Full Duplex UART Synchronous Shifter Internal data bus External interrupts subsystem interrupts Control Parallel ports Address Data Bus I/O pins Serial Input Serial Output
  • 20. Pin Description of the 8051Pin Description of the 8051  The 8051 is a 40 pinThe 8051 is a 40 pin device, but out ofdevice, but out of these 40 pins, 32 arethese 40 pins, 32 are used for I/O.used for I/O.  24 of these are dual24 of these are dual purpose, i.e. they canpurpose, i.e. they can operate as I/O or aoperate as I/O or a control line or as partcontrol line or as part of address or dateof address or date bus.bus.
  • 21. 8051 CPU Registers8051 CPU Registers A (8-bit Accumulator) B (8-bit register for Mul &Div) PSW (8-bit Program Status Word) SP (8-bit Stack Pointer) PC (16-bit Program Counter) DPTR (16-bit Data Pointer)
  • 22. Special Function RegistersSpecial Function Registers DATA registers CONTROL registers •Timers •Serial ports •Interrupt system •Analog to Digital converter •Digital to Analog converter etc.. Addresses 80h – FFh Direct Addressing is used to access SFRs
  • 23. List of RegistersList of Registers (*Denotes the SFRs)(*Denotes the SFRs)
  • 26. Memory mapping in 8051Memory mapping in 8051 ROM memory map in 8051 family 0000H 0FFFH 0000H 1FFFH 0000H 7FFFH 8051 8752 4k DS5000-32 8k 32k from Atmel Corporation from Dallas Semiconductor
  • 27. RAM memory space allocation in the 8051 7FH 30H 2FH 20H 1FH 17H 10H 0FH 07H 08H 18H 00H Register Bank 0 )Stack) Register Bank 1 Register Bank 2 Register Bank 3 Bit-Addressable RAM Scratch pad RAM
  • 28. PORTS OF 8051PORTS OF 8051  8051 has 4 Ports. Port 0, Port1, Port2 , Port38051 has 4 Ports. Port 0, Port1, Port2 , Port3  Port 0 is a dual purpose port, it is located from pin 32Port 0 is a dual purpose port, it is located from pin 32 to pin 39 (8 pins). To use this port as bothto pin 39 (8 pins). To use this port as both input/output ports each pin must be connectedinput/output ports each pin must be connected externally to a 10 k ohm pull-up resistor.This isexternally to a 10 k ohm pull-up resistor.This is because Port 0 is an open drain.because Port 0 is an open drain. Simple ex:Simple ex: MOV A, #22MOV A, #22 BACKBACK MOV P0 ,AP0 ,A ACALL DELAYACALL DELAY CPL ACPL A SJMP BACKSJMP BACK
  • 29. Port 0 with Pull-Up ResistorsPort 0 with Pull-Up Resistors
  • 30.  Port 1 is a dedicated I/O port from pin 1 to pin 8.Upon reset it is configured as outport. It is generally used for interfacing to external device thus if you need to connect to switches or LEDs, you could make use of these 8 pins,but it doesn’t need any pull-up resistors as it is having internally  Like port 0, port 2 is a dual-purpose port.(Pins 21Like port 0, port 2 is a dual-purpose port.(Pins 21 through 28) It can be used for general I/O or asthrough 28) It can be used for general I/O or as the high byte of the address bus for designs withthe high byte of the address bus for designs with external code memoryexternal code memory.Like P1 ,Port2 also doesn’t.Like P1 ,Port2 also doesn’t require any pull-up resistorsrequire any pull-up resistors Ports….Ports….
  • 31. Ports contd…Ports contd…  Port 3 is also dual purpose but designers generallyPort 3 is also dual purpose but designers generally avoid using this port unnecessarily for I/Oavoid using this port unnecessarily for I/O because the pins have alternate functions whichbecause the pins have alternate functions which are related to special features of the 8051.are related to special features of the 8051. Indiscriminate use of these pins may interfere withIndiscriminate use of these pins may interfere with the normal operation of the 8051.the normal operation of the 8051.  However, for a programmer, it is the same to program P0, P1, P2 and P3.  All the ports upon RESET are configured as output. To use any of the ports as an input port,it must be set(Programmed)
  • 32. Alternate functions of P3Alternate functions of P3
  • 33. I/O Port structureI/O Port structure  The internal circuitry for the I/O port is shown inThe internal circuitry for the I/O port is shown in the next slidethe next slide  If you want to read in from a pin, you must firstIf you want to read in from a pin, you must first give a logic ‘1’ to the port latch to turn off thegive a logic ‘1’ to the port latch to turn off the FET otherwise the data read in will always be logicFET otherwise the data read in will always be logic ‘0’.‘0’.  When you write to the port you are actuallyWhen you write to the port you are actually writing to the latch e.g. a logic 0 given to the latchwriting to the latch e.g. a logic 0 given to the latch will be inverted and turn on the FET which causewill be inverted and turn on the FET which cause the port pin to be connected to Gnd (logic 0).the port pin to be connected to Gnd (logic 0).
  • 34. I/O Port contd…I/O Port contd…
  • 35. Timers /CountersTimers /Counters  The 8051 has 2 timers/counters:The 8051 has 2 timers/counters:  Timer/Counter 0Timer/Counter 0  Timer/Counter 1Timer/Counter 1 They can be used asThey can be used as 1.1. TheThe TimerTimer :Uused as a time delay generator.:Uused as a time delay generator.  The clock source is theThe clock source is the internalinternal crystal frequency of thecrystal frequency of the 8051.8051. 2.2. An eventAn event countercounter..  External inputExternal input from input pin to count the number offrom input pin to count the number of events on registers.events on registers.  These clock pulses cold represent the number of peopleThese clock pulses cold represent the number of people passing through an entrance, or the number of wheelpassing through an entrance, or the number of wheel rotations, or any other event that can be converted to pulses.rotations, or any other event that can be converted to pulses.
  • 36. TimerTimer  Set the initial value of registersSet the initial value of registers  Start the timer and then the 8051 counts up.Start the timer and then the 8051 counts up.  Input from internal system clock (machine cycle)Input from internal system clock (machine cycle)  When the registers equal to 0 and the 8051 sets aWhen the registers equal to 0 and the 8051 sets a bit to denote time outbit to denote time out to LCD P1 8051 TL0 TH0 P2 Set Timer 0
  • 37. CounterCounter  Count the number of eventsCount the number of events  Show the number of events on registersShow the number of events on registers  External input from T0 input pin (P3.4) for Counter 0External input from T0 input pin (P3.4) for Counter 0  External input from T1 input pin (P3.5) for Counter 1External input from T1 input pin (P3.5) for Counter 1  External inputExternal input from Tx input pin.from Tx input pin.  We use Tx to denote T0 or T1.We use Tx to denote T0 or T1. T0 to LCD P3.4 P1 8051 a switch TL0 TH0
  • 38. RegistersRegisters Used in Timer/CounterUsed in Timer/Counter  8051 has two 16-bit Timer registers ,Timer 0 &8051 has two 16-bit Timer registers ,Timer 0 & Timer 1.Timer 1.  As 8051 has 8-bit architecture , each TimerAs 8051 has 8-bit architecture , each Timer register is treated as two 8-bit registers namelyregister is treated as two 8-bit registers namely TH0, TL0, TH1, TL1.TH0, TL0, TH1, TL1.  One 8-bit mode register -TMOD.One 8-bit mode register -TMOD.  One 8-bit control register-TCON.One 8-bit control register-TCON.
  • 39. TMOD RegisterTMOD Register  Both Timer 0 &Timer 1 use the same Mode registerBoth Timer 0 &Timer 1 use the same Mode register TMOD.TMOD.  It is an-8-bit register .The lower 4-bits are meant forIt is an-8-bit register .The lower 4-bits are meant for Timer 0 &the uooer 4-bits are meant for Timer 1Timer 0 &the uooer 4-bits are meant for Timer 1  It is not bit addressible.It is not bit addressible.  It is used similar to any other register of 8051 . For ex:It is used similar to any other register of 8051 . For ex: MOV TMOD,#21HMOV TMOD,#21H GATE C/T M1 M0 GATE C/T M1 M0 Timer 1 Timer 0 (MSB) (LSB)
  • 40. GateGate  Every timer has a mean of starting and stopping.Every timer has a mean of starting and stopping.  GATE=0GATE=0  InternalInternal controlcontrol  The start and stop of the timer are controlled by way ofThe start and stop of the timer are controlled by way of software.software.  Set/clear the TR for start/stop timer.Set/clear the TR for start/stop timer. SETB TR0SETB TR0 CLR TR0CLR TR0  GATE=1GATE=1  ExternalExternal controlcontrol  The hardware way of starting and stopping the timer byThe hardware way of starting and stopping the timer by softwaresoftware andand an external sourcean external source..  Timer/counter is enabled only while the INT pin is high andTimer/counter is enabled only while the INT pin is high and the TR control pin is set (TR).the TR control pin is set (TR).
  • 41. TMod contd….TMod contd…. C/T :C/T : Timer or counter selected cleared for timer operation (inputTimer or counter selected cleared for timer operation (input from internal system clock). Set for counter operationfrom internal system clock). Set for counter operation (input from Tx input pin).(input from Tx input pin). M1,M0 : Used for mode selection.Because the Timers of 8051 canUsed for mode selection.Because the Timers of 8051 can be set in 4-different modes.be set in 4-different modes. M1 M0 Mode OperationM1 M0 Mode Operation 0 00 0 00 113-bit timer3-bit timer mode 8-bit THx + 5-bit TLx (x= 0 or 1)mode 8-bit THx + 5-bit TLx (x= 0 or 1) 00 1 11 1 16-bit timer16-bit timer mode 8-bit THx + 8-bit TLxmode 8-bit THx + 8-bit TLx 1 01 0 22 8-bit auto reload8-bit auto reload 8-bit auto reload timer/counter;8-bit auto reload timer/counter; THx holds a value which is to be reloaded intoTHx holds a value which is to be reloaded into TLx each time it overflows.TLx each time it overflows. 11 11 33 Split timer modeSplit timer mode
  • 43. Let us understand the working of Timer Mode 1Let us understand the working of Timer Mode 1  For this , let us consider timer 0 as an example.For this , let us consider timer 0 as an example.  16-bit16-bit timer (TH0 and TL0)timer (TH0 and TL0)  TH0-TL0 is incremented continuously when TR0 is setTH0-TL0 is incremented continuously when TR0 is set to 1. And the 8051 stops to increment TH0-TL0 whento 1. And the 8051 stops to increment TH0-TL0 when TR0 is cleared.TR0 is cleared.  The timer works with the internal system clock. In otherThe timer works with the internal system clock. In other words, the timer counts up each machine cycle.words, the timer counts up each machine cycle.  When the timer (TH0-TL0) reaches its maximum ofWhen the timer (TH0-TL0) reaches its maximum of FFFFH, it rolls over to 0000, and TF0 is raised.FFFFH, it rolls over to 0000, and TF0 is raised.  Programmer should check TF0 and stop the timer 0.Programmer should check TF0 and stop the timer 0.
  • 44. Steps of Mode 1Steps of Mode 1 1.1. Choose mode 1 timer 0Choose mode 1 timer 0  MOV TMOD,#01HMOV TMOD,#01H 2.2. Set the original value to TH0 and TL0.Set the original value to TH0 and TL0.  MOV TH0,#FFHMOV TH0,#FFH  MOV TL0,#FCHMOV TL0,#FCH 3.3. You better to clear the TF: TF0=0.You better to clear the TF: TF0=0.  CLR TF0CLR TF0 4.4. Start the timer.Start the timer.  SETB TR0SETB TR0
  • 45. Mode 1 contd…Mode 1 contd… 5.5. The 8051 starts to count up by incrementing theThe 8051 starts to count up by incrementing the TH0-TL0TH0-TL0..  TH0-TL0= FFFCH,FFFDH,FFFEH,FFFFH,0000HTH0-TL0= FFFCH,FFFDH,FFFEH,FFFFH,0000H FFFC FFFD FFFE FFFF 0000 TF = 0 TF = 0 TF = 0 TF = 0 TF = 1 TH0 TL0Start timer Stop timer Monitor TF until TF=1 TR0=1 TR0=0 TF
  • 46. Mode 1 contd…Mode 1 contd… 6.6. When TH0-TL0 rolls over from FFFFH toWhen TH0-TL0 rolls over from FFFFH to 0000,0000, the 8051 set TF0=1.the 8051 set TF0=1. TH0-TL0= FFFE H, FFFF H, 0000 H (NowTH0-TL0= FFFE H, FFFF H, 0000 H (Now TF0=1)TF0=1) 6.6. Keep monitoring the timer flag )TF) to see if it isKeep monitoring the timer flag )TF) to see if it is raised.raised. AGAIN: JNB TF0, AGAINAGAIN: JNB TF0, AGAIN 6.6. Clear TR0 to stop the process.Clear TR0 to stop the process. CLR TR0CLR TR0 6.6. Clear the TF flag for the next round.Clear the TF flag for the next round. CLR TF0CLR TF0
  • 47. TCON RegisterTCON Register Timer control register TMOD is a 8-bit register which is bit addressable and in which Upper nibble is for timer/counter, lower nibble is for interrupts
  • 48. Tcon contd…Tcon contd…  TR (Timer run control bit)  TR0 for Timer/counter 0; TR1 for Timer/counter 1.  TR is set by programmer to turn timer/counter on/off.  TR=0 : off (stop)  TR=1 : on (start)  TF (timer flag, control flag)  TF0 for timer/counter 0; TF1 for timer/counter 1.  TF is like a carry. Originally, TF=0. When TH-TL roll over to 0000 from FFFFH, the TF is set to 1.  TF=0 : not reach  TF=1: reach  If we enable interrupt, TF=1 will trigger ISR.
  • 49. Equivalent Instructions for the TimerEquivalent Instructions for the Timer Control RegisterControl Register For timer 0For timer 0 SETB TR0SETB TR0 == SETB TCON.4SETB TCON.4 CLR TR0CLR TR0 == CLR TCON.4CLR TCON.4 SETB TF0SETB TF0 == SETB TCON.5SETB TCON.5 CLR TF0CLR TF0 == CLR TCON.5CLR TCON.5 For timer 1For timer 1 SETB TR1SETB TR1 == SETB TCON.6SETB TCON.6 CLR TR1CLR TR1 == CLR TCON.6CLR TCON.6 SETB TF1SETB TF1 == SETB TCON.7SETB TCON.7 CLR TF1CLR TF1 == CLR TCON.7CLR TCON.7 TF1 IT0IE0IT1IE1TR0TF0TR1 TCON: Timer/Counter Control Register
  • 50. Simple applications using ports &TimersSimple applications using ports &Timers  Using a port ,by a simple program you can generate a SquareUsing a port ,by a simple program you can generate a Square wave of any duty cycle.wave of any duty cycle. HEREHERE :: SETB P1.0 (Make bit of Port 0 High)SETB P1.0 (Make bit of Port 0 High) LCALL DELAYLCALL DELAY CLR P1.0CLR P1.0 LCALL DELAYLCALL DELAY SJMP HERE : Keep doing itSJMP HERE : Keep doing it Here same delay is used for bothHere same delay is used for both High & lowHigh & low
  • 51. Square-wave of 66%duty cycle.Square-wave of 66%duty cycle. HEREHERE : SETB P1.0 ( Make bit of Port 0 High): SETB P1.0 ( Make bit of Port 0 High) LCALL DELAYLCALL DELAY LCALL DELAYLCALL DELAY CLR P1.0CLR P1.0 LCALL DELAYLCALL DELAY SJMP HERE : Keep doing itSJMP HERE : Keep doing it
  • 52. Square-wave generation using TimerSquare-wave generation using Timer DELAY: SETB TR0 ;start the timer 0 AGAIN: JNB TF0,AGAIN CLR TR0 ;stop timer 0 CLR TF0 ;clear timer 0 flag RET  Square wave of 50% duty on P1.5  Timer 0 is used ; each loop is a half clock MOV TMOD,#01 ;Timer 0,mode 1(16-bit) HERE: MOV TL0,#0F2H ;Timer value = FFF2H MOV TH0,#0FFH CPL P1.5 ACALL DELAY SJMP HERE
  • 53. 8051- SERIAL COMMUNICATION8051- SERIAL COMMUNICATION
  • 54. Basics of serial communicationBasics of serial communication
  • 55. Types of Serial communicationsTypes of Serial communications
  • 56. RxD and TxD pins in the 8051RxD and TxD pins in the 8051  The 8051 has two pins for transferring andThe 8051 has two pins for transferring and receiving data by serial communication. Thesereceiving data by serial communication. These two pins are part of the Port3(P3.0 &P3.1)two pins are part of the Port3(P3.0 &P3.1)  These pins are TTL compatible and hence theyThese pins are TTL compatible and hence they require a line driver to make them RS232require a line driver to make them RS232 compatiblecompatible  Max232 chip is one such line driver in use.Max232 chip is one such line driver in use.  Serial communication is controlled by an 8-bitSerial communication is controlled by an 8-bit register called SCON register,it is a bitregister called SCON register,it is a bit addressable register.addressable register.
  • 58. SCON (Serial control) registerSCON (Serial control) register
  • 59. SM0 , SM1SM0 , SM1  These two bits of SCON register determine the framingThese two bits of SCON register determine the framing of data by specifying the number of bits per characterof data by specifying the number of bits per character and start bit and stop bits. There are 4 serial modes.and start bit and stop bits. There are 4 serial modes. SM0 SM1 0 0 Serial Mode 0 0 1 Serial Mode 1, 8 bit data, 1 stop bit, 1 start bit 1 0 Serial Mode 2 1 1 Serial Mode 3
  • 60. RENREN,, TITI,, RIRI  REN (Receive Enable) also referred asREN (Receive Enable) also referred as SCON.4SCON.4.. When it is high,it allows the 8051 to receive dataWhen it is high,it allows the 8051 to receive data on the RxD pin. So to receive and transfer dataon the RxD pin. So to receive and transfer data REN must be set to 1.When REN=0,theREN must be set to 1.When REN=0,the receiver is disabled. This is achieved as belowreceiver is disabled. This is achieved as below SETB SCON.4SETB SCON.4 & CLR SCON.4& CLR SCON.4
  • 61. Contd…Contd…  TI (Transmit interrupt) is the D1 bit of SCON register.TI (Transmit interrupt) is the D1 bit of SCON register. When 8051 finishes the transfer of 8-bit character, itWhen 8051 finishes the transfer of 8-bit character, it raises the TI flag to indicate that it is ready to transferraises the TI flag to indicate that it is ready to transfer another byte. The TI bit is raised at the beginning ofanother byte. The TI bit is raised at the beginning of the stop bit.the stop bit.  RI (Receive interrupt) is the D0 bit of the SCONRI (Receive interrupt) is the D0 bit of the SCON register. When the 8051 receives data serially ,via RxD,register. When the 8051 receives data serially ,via RxD, it gets rid of the start and stop bits and places the byteit gets rid of the start and stop bits and places the byte in the SBUF register.Then it raises the RI flag bit toin the SBUF register.Then it raises the RI flag bit to indicate that a byte has been received and should beindicate that a byte has been received and should be picked up before it is lost.RI is raised halfway throughpicked up before it is lost.RI is raised halfway through the stop bit.the stop bit.
  • 62. 8051 Interrupts8051 Interrupts  AnAn interruptinterrupt is an external or internal event thatis an external or internal event that disturbsdisturbs thethe microcontroller to inform it that a device needs itsmicrocontroller to inform it that a device needs its service.service. AA MMicrocontroller can serveicrocontroller can serve variousvarious devices.devices.  ThThereere are two ways to do that:are two ways to do that:  interruptsinterrupts &&  polling.polling.  The program which is associated with the interrupt isThe program which is associated with the interrupt is called thecalled the interrupt service routineinterrupt service routine (ISR) or(ISR) or interruptinterrupt handlerhandler..
  • 63. Steps in executing an interruptSteps in executing an interrupt  Upon receiving the interrupt signal theUpon receiving the interrupt signal the Microcontroller , fMicrocontroller , finishinish currentcurrent instruction andinstruction and ssaaves the PC on stack.ves the PC on stack.  JJumps to a fixed location in memoryumps to a fixed location in memory dependingdepending on type of interrupton type of interrupt  SStarts to execute the interrupt service routinetarts to execute the interrupt service routine until RETI (return from interrupt)until RETI (return from interrupt)  Upon executing the RETI the microcontrollerUpon executing the RETI the microcontroller returns to the place where it was interrupted.returns to the place where it was interrupted. GetGet poppop PC from stackPC from stack
  • 64. Interrupt SourcesInterrupt Sources  Original 8051 has 6 sources of interruptsOriginal 8051 has 6 sources of interrupts  ResetReset  Timer 0 overflowTimer 0 overflow  Timer 1 overflowTimer 1 overflow  External Interrupt 0External Interrupt 0  External Interrupt 1External Interrupt 1  Serial Port events (buffer full, buffer empty, etc)Serial Port events (buffer full, buffer empty, etc)  Enhanced version has 22 sourcesEnhanced version has 22 sources  More timers, programmable counter array, ADC,More timers, programmable counter array, ADC, more external interrupts, another serial port (UART)more external interrupts, another serial port (UART)
  • 65.  Each interrupt has a specific place in codeEach interrupt has a specific place in code memory where program execution (interruptmemory where program execution (interrupt service routine) begins.service routine) begins.  External Interrupt 0:External Interrupt 0: 0003h0003h  Timer 0 overflow:Timer 0 overflow: 000Bh000Bh  External Interrupt 1:External Interrupt 1: 0013h0013h  Timer 1 overflow:Timer 1 overflow: 001Bh001Bh  Serial : 0023hSerial : 0023h  Timer 2 overflowTimer 2 overflow(8052+)(8052+) 002bh002bh Interrupt Vectors
  • 66. Interrupt Enable RegisterInterrupt Enable Register  Upon reset all Interrupts are disabled & do not respond to the Microcontroller  These interrupts must be enabled by software in order for the Microcontroller to respond to them.  This is done by an 8-bit register called Interrupt Enable Register (IE).
  • 67.  EA : Global enable/disable.  --- : Undefined.  ET2 : Enable Timer 2 interrupt.  ES : Enable Serial port interrupt.  ET1 : Enable Timer 1 interrupt.  EX1 :Enable External 1 interrupt.  ET0 : Enable Timer 0 interrupt.  EX0 : Enable External 0 interrupt..
  • 68. Enabling and disabling an interrupt By bit operation Recommended in the middle of program SETB EA ;Enable All SETB ET0 ;Enable Timer0 ovrf SETB ET1 ;Enable Timer1 ovrf SETB EX0 ;Enable INT0 SETB EX1 ;Enable INT1 SETB ES ;Enable Serial port By Mov instruction Recommended in the first of program MOV IE, #10010110B SETB IE.7 SETB IE.1 SETB IE.3 SETB IE.0 SETB IE.2 SETB IE.4
  • 69.  What if two interrupt sources interrupt at the sameWhat if two interrupt sources interrupt at the same time?time?  The interrupt with the highest PRIORITY getsThe interrupt with the highest PRIORITY gets serviced first.serviced first.  All interrupts have a power on default priority order.All interrupts have a power on default priority order. 1.1. External interrupt 0 (INT0)External interrupt 0 (INT0) 2.2. Timer interrupt0 (TF0)Timer interrupt0 (TF0) 3.3. External interrupt 1 (INT1)External interrupt 1 (INT1) 4.4. Timer interrupt1 (TF1)Timer interrupt1 (TF1) 5.5. Serial communication (RI+TI)Serial communication (RI+TI)  Priority can also be set to “high” or “low” by IP reg.Priority can also be set to “high” or “low” by IP reg. Interrupt PrioritiesInterrupt Priorities
  • 70. Interrupt Priorities (IP) RegisterInterrupt Priorities (IP) Register IP.7: reservedIP.7: reserved IP.6: reservedIP.6: reserved IP.5: Timer 2 interrupt priority bit (8052 only)IP.5: Timer 2 interrupt priority bit (8052 only) IP.4: Serial port interrupt priority bitIP.4: Serial port interrupt priority bit IP.3: Timer 1 interrupt priority bitIP.3: Timer 1 interrupt priority bit IP.2: External interrupt 1 priority bitIP.2: External interrupt 1 priority bit IP.1: Timer 0 interrupt priority bitIP.1: Timer 0 interrupt priority bit IP.0: External interrupt 0 priority bitIP.0: External interrupt 0 priority bit --- PX0PT0PX1PT1PSPT2---
  • 71. Interrupt Priorities ExampleInterrupt Priorities Example  MOV IP , #00000100BMOV IP , #00000100B oror SETB IP.2SETB IP.2 gives prioritygives priority orderorder 1.1. Int1Int1 2.2. Int0Int0 3.3. Timer0Timer0 4.4. Timer1Timer1 5.5. SerialSerial  MOV IP , #00001100BMOV IP , #00001100B gives priority ordergives priority order 1.1. Int1Int1 2.2. Timer1Timer1 3.3. Int0Int0 4.4. Timer0Timer0 5.5. SerialSerial --- PX0PT0PX1PT1PSPT2---
  • 72. Interrupt inside an interruptInterrupt inside an interrupt --- PX0PT0PX1PT1PSPT2---  A high-priority interrupt can interrupt a low-A high-priority interrupt can interrupt a low- priority interrupypriority interrupy  All interrupt are latched internallyAll interrupt are latched internally  Low-priority interrupt wait until 8051 hasLow-priority interrupt wait until 8051 has finished servicing the high-priority interruptfinished servicing the high-priority interrupt
  • 74. Simple Interfacing ExamplesSimple Interfacing Examples
  • 75. Seven segment InterfacingSeven segment Interfacing
  • 77.
  • 78. Closed loop control system-Closed loop control system- Temperature control exampleTemperature control example
  • 79.
  • 80.
  • 81.
  • 82.
  • 83.
  • 84.
  • 85.
  • 86.
  • 88. Recent Wonders contd ........Recent Wonders contd ........
  • 89. Recent Wonders contd ........Recent Wonders contd ........
  • 90. Books that have helped me to understand theBooks that have helped me to understand the Microcontrollers & embedded systemsMicrocontrollers & embedded systems 1)1) Barr, Michael, Programming embedded sytemsBarr, Michael, Programming embedded sytems in C and C++ - OReilly Publ.in C and C++ - OReilly Publ. 2)2) Raj Kamal, Embedded systems,Raj Kamal, Embedded systems, TMGTMG 3)3) Mazidi and Mazidi, The 8051 microcontrollerMazidi and Mazidi, The 8051 microcontroller and embedded sytems - Pearson education.and embedded sytems - Pearson education. 4)4) Peatman,J.B. Design with microcontrollers andPeatman,J.B. Design with microcontrollers and microcomputers, McGraw Hilmicrocomputers, McGraw Hil
  • 91. 5)5) Sewart. J.W. The 8051 Microcontroller Hardware,Sewart. J.W. The 8051 Microcontroller Hardware, Software and Interfacing – Prentice HallSoftware and Interfacing – Prentice Hall 6) Ayala Kenneth, The 8051 Microntroller –Ayala Kenneth, The 8051 Microntroller – Architecture, Programming and Applications –Architecture, Programming and Applications – Delmar Publ.Delmar Publ. 7)7) Ajay Deshmukh, Microcontrollers – TATAAjay Deshmukh, Microcontrollers – TATA McGraw HillMcGraw Hill 8)8) Rajkamal, Microcontrollers - Architecture,Rajkamal, Microcontrollers - Architecture, Programming – Pearson Publ.Programming – Pearson Publ. 9) Myke Predko, Programming the 8051 Microcontroller –Myke Predko, Programming the 8051 Microcontroller – McGraw HillMcGraw Hill 10)10) Michael J. Pont, Embedded C - Addison WeselyMichael J. Pont, Embedded C - Addison Wesely Publ.Publ.
  • 93. Useful websitesUseful websites contd…contd… 1.1. http://www.eg3.comhttp://www.eg3.com 2.2. http://www.ARM.MCU.comhttp://www.ARM.MCU.com 3.3. http://www.mcjournal.comhttp://www.mcjournal.com 4.4. http://www.iar.comhttp://www.iar.com 5.5. http://http://http://www.embedded.comhttp://www.embedded.com 6.6. http://www.powersoftsystems.comhttp://www.powersoftsystems.com
  • 94. EpilogueEpilogue  The woods are lovely, dark and deep, But I have promises to keep, And miles to go before I sleep, And miles to go before I sleep. ---- Robert Frost  GOOD LUCK!

Notas do Editor

  1. Program memory – RAM or ROM? Data memory – RAM or ROM?