SlideShare a Scribd company logo
7
Interrupt Enable (IE) register

     All interrupt are disabled after reset
     We can enable and disable them bye IE




M_Nokhodchian @ yahoo.com                       Microprocessors 1-7
Most read
15
Example of external interuupt
             ORG 0000H
             LJMP MAIN
    ;
    ;interrupt service routine (ISR)
    ;for hardware external interrupt INT1
    ;

             ORG 0013H
             SETB P1.1
             MOV R0,200
    WAIT:    DJNZ R0,WAIT
             CLR P1.1
             RETI
    ;
    ;main program for initialization
    ;
           ORG 30H
    MAIN: SETB IT1           ;on negative edge of INT1
           MOV IE,#10000100B
    WAIT2: SJMP WAIT2
           END

M_Nokhodchian @ yahoo.com                          Microprocessors 1-15
Most read
19
Interrupt Priorities (IP) Register

       ---       ---        PT2   PS   PT1   PX1   PT0       PX0


     IP.7: reserved
     IP.6: reserved
     IP.5: timer 2 interrupt priority bit(8052 only)
     IP.4: serial port interrupt priority bit
     IP.3: timer 1 interrupt priority bit
     IP.2: external interrupt 1 priority bit
     IP.1: timer 0 interrupt priority bit
     IP.0: external interrupt 0 priority bit


M_Nokhodchian @ yahoo.com                              Microprocessors 1-19
Most read
8051
                            Interrupts



M_Nokhodchian @ yahoo.com                Microprocessors 1-1
Interrupts Programming
     An interrupt is an external or internal event that
      interrupts the microcontroller to inform it that a
      device needs its service.
      Interrupts vs. Polling
     A single microcontroller can serve several devices.
     There are two ways to do that:
         interrupts
         polling.
     The program which is associated with the interrupt
      is called the interrupt service routine (ISR) or
      interrupt handler.

M_Nokhodchian @ yahoo.com                         Microprocessors 1-2
Steps in executing an interrupt
    Finish current instruction and saves the PC on stack.

    Jumps to a fixed location in memory depend on type
     of interrupt

    Starts to execute the interrupt service routine until
     RETI (return from interrupt)

    Upon executing the RETI the microcontroller returns
     to the place where it was interrupted. Get pop PC
     from stack




M_Nokhodchian @ yahoo.com                        Microprocessors 1-3
Interrupt Sources
     Original 8051 has 6 sources of interrupts
         Reset
         Timer 0 overflow
         Timer 1 overflow
         External Interrupt 0
         External Interrupt 1
         Serial Port events (buffer full, buffer empty, etc)

     Enhanced version has 22 sources
         More timers, programmable counter array, ADC, more
          external interrupts, another serial port (UART)




M_Nokhodchian @ yahoo.com                                  Microprocessors 1-4
Interrupt Vectors
  Each interrupt has a specific place in code memory where
    program execution (interrupt service routine) begins.

  External Interrupt 0:     0003h
  Timer 0 overflow:         000Bh
  External Interrupt 1:     0013h
  Timer 1 overflow:         001Bh
                                       Note: that there are
  Serial :                  0023h      only 8 memory
  Timer 2 overflow(8052+)   002bh      locations between
                                       vectors.




M_Nokhodchian @ yahoo.com                          Microprocessors 1-5
ISRs and Main Program in 8051
              SJMP      main
              ORG      03H
              ljmp     int0sr
              ORG      0BH
              ljmp     t0sr
              ORG      13H
              ljmp     int1sr
              ORG      1BH
              ljmp     t1sr
              ORG      23H
              ljmp     serialsr
              ORG      30H
    main:
              …
              END

M_Nokhodchian @ yahoo.com         Microprocessors 1-6
Interrupt Enable (IE) register

     All interrupt are disabled after reset
     We can enable and disable them bye IE




M_Nokhodchian @ yahoo.com                       Microprocessors 1-7
Enabling and disabling an
                          interrupt
   by bit operation
   Recommended in the middle of program
            SETB    EA      SETB   IE.7   ;Enable   All
            SETB    ET0     SETB   IE.1   ;Enable   Timer0 ovrf
            SETB    ET1     SETB   IE.3   ;Enable   Timer1 ovrf
            SETB    EX0     SETB   IE.0   ;Enable   INT0
            SETB    EX1     SETB   IE.2   ;Enable   INT1
            SETB    ES                    ;Enable   Serial port
                            SETB   IE.4
   by mov instruction
   Recommended in the first of program
            MOV IE, #10010110B




M_Nokhodchian @ yahoo.com                                  Microprocessors 1-8
Example
   A 10khz square wave with 50% duty cycle
           ORG      0        ;Reset entry poit
           LJMP     MAIN     ;Jump above interrupt

        ORG         000BH    ;Timer 0 interrupt vector
  T0ISR:CPL         P1.0     ;Toggle port bit
        RETI                 ;Return from ISR to Main program

        ORG 0030H            ;Main Program entry point
  MAIN: MOV   TMOD,#02H      ;Timer 0, mode 2
        MOV   TH0,#-50       ;50 us delay
        SETB TR0             ;Start timer
        MOV   IE,#82H        ;Enable timer 0 interrupt
        SJMP $               ;Do nothing just wait
        END
M_Nokhodchian @ yahoo.com                            Microprocessors 1-9
Example
     Write a program using interrupts to
      simultaneously create 7 kHz and 500 Hz
      square waves on P1.7 and P1.6.

                            8051        143µs
                                            71µs
                            P1.7




                                           2ms
                            P1.6                   1ms




M_Nokhodchian @ yahoo.com                                Microprocessors 1-10
ORG        0           Solution
          LJMP       MAIN
          ORG        000BH
          LJMP       T0ISR
          ORG        001BH
          LJMP       T1ISR              8051    143µs
          ORG        0030H                          71µs
                                        P1.7
   MAIN:  MOV        TMOD,#12H
          MOV        TH0,#-71
          SETB       TR0
          SETB       TF1
          MOV        IE,#8AH                       2ms
          MOV        IE,#8AH            P1.6               1ms
          SJMP       $
   T0ISR: CPL        P1.7
          RETI
   T1ISR: CLR        TR1
          MOV        TH1,#HIGH(-1000)
          MOV        TL1,#LOW(-1000)
          SETB       TR1
          CPL        P1.6
          RETI
          END


M_Nokhodchian @ yahoo.com                      Microprocessors 1-11
Timer ISR
     Notice that
          There is no need for a “CLR TFx” instruction in
           timer ISR
          8051 clears the TF internally upon jumping to ISR


     Notice that
          We must reload timer in mode 1
          There is no need on mode 2 (timer auto reload)




M_Nokhodchian @ yahoo.com                          Microprocessors 1-12
External interrupt type control
  By low nibble of Timer control register TCON
  IE0 (IE1): External interrupt 0(1) edge flag.
       set by CPU when external interrupt edge (H-to-L) is detected.
       Does not affected by H-to-L while ISR is executed(no int on int)
       Cleared by CPU when RETI executed.
       does not latch low-level triggered interrupt
  IT0 (IT1): interrupt 0 (1) type control bit.
       Set/cleared by software
       IT=1 edge trigger
       IT=0 low-level trigger

   (MSB)                                                                (LSB)
    TF1 TR1                 TF0 TR0        IE1      IT1 IE0              IT0
      Timer 1                Timer0                for Interrupt
M_Nokhodchian @ yahoo.com                                       Microprocessors 1-13
External Interrupts

                                     (Level-triggered (default
               INT0
             (Pin 3.2)         0
                                                                                            0003
                                           IT0
                               1                                      (IE0 (TCON.3
                               2

                             Edge-triggered



                                          (Level-triggered (default
                   INT0
                 (Pin 3.3)           0                                                      0013
                                                 IT1
                                     1                                   (IE1 (TCON.3
                                     2

                                   Edge-triggered




M_Nokhodchian @ yahoo.com                                                               Microprocessors 1-14
Example of external interuupt
             ORG 0000H
             LJMP MAIN
    ;
    ;interrupt service routine (ISR)
    ;for hardware external interrupt INT1
    ;

             ORG 0013H
             SETB P1.1
             MOV R0,200
    WAIT:    DJNZ R0,WAIT
             CLR P1.1
             RETI
    ;
    ;main program for initialization
    ;
           ORG 30H
    MAIN: SETB IT1           ;on negative edge of INT1
           MOV IE,#10000100B
    WAIT2: SJMP WAIT2
           END

M_Nokhodchian @ yahoo.com                          Microprocessors 1-15
Example of external interuupt




M_Nokhodchian @ yahoo.com            Microprocessors 1-16
Example of external interuupt
             Org 0000h
             Ljmp main

           Org 0003h
    x0isr: clr p1.7
           Reti

           Org 0013h
    x1isr: setb p1.7
           Reti

             Org 0030h
    Main:    mov ie,#85h
             Setb it0
             Setb it1
             Setb p1.7
             Jb p3.2,skip
             Clr p1.7
    Skip:    Sjmp $
    end
M_Nokhodchian @ yahoo.com             Microprocessors 1-17
Interrupt Priorities
    What if two interrupt sources interrupt at the same
     time?
    The interrupt with the highest PRIORITY gets
     serviced first.
    All interrupts have a power on default priority order.
       1. External interrupt 0 (INT0)
       2. Timer interrupt0 (TF0)
       3. External interrupt 1 (INT1)
       4. Timer interrupt1 (TF1)
       5. Serial communication (RI+TI)
    Priority can also be set to “high” or “low” by IP reg.

M_Nokhodchian @ yahoo.com                          Microprocessors 1-18
Interrupt Priorities (IP) Register

       ---       ---        PT2   PS   PT1   PX1   PT0       PX0


     IP.7: reserved
     IP.6: reserved
     IP.5: timer 2 interrupt priority bit(8052 only)
     IP.4: serial port interrupt priority bit
     IP.3: timer 1 interrupt priority bit
     IP.2: external interrupt 1 priority bit
     IP.1: timer 0 interrupt priority bit
     IP.0: external interrupt 0 priority bit


M_Nokhodchian @ yahoo.com                              Microprocessors 1-19
Interrupt Priorities Example
       ---        ---       PT2   PS       PT1     PX1     PT0      PX0

      MOV IP , #00000100B             or SETB IP.2 gives priority order
             1.   Int1
             2.   Int0
             3.   Timer0
             4.   Timer1
             5.   Serial
      MOV IP , #00001100B gives priority order
             1.   Int1
             2.   Timer1
             3.   Int0
             4.   Timer0
             5.   Serial


M_Nokhodchian @ yahoo.com                                     Microprocessors 1-20
Interrupt inside an interrupt
       ---       ---        PT2   PS   PT1   PX1   PT0     PX0

    A high-priority interrupt can interrupt a low-priority
     interrupy
    All interrupt are latched internally
    Low-priority interrupt wait until 8051 has finished
     servicing the high-priority interrupt




M_Nokhodchian @ yahoo.com                            Microprocessors 1-21

More Related Content

What's hot (20)

8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware
Prof. Swapnil V. Kaware
 
Seven segment interfacing with 8051.pdf
Seven segment interfacing with 8051.pdfSeven segment interfacing with 8051.pdf
Seven segment interfacing with 8051.pdf
Srikrishna Thota
 
LOGIC FAMILY.pptx
LOGIC FAMILY.pptxLOGIC FAMILY.pptx
LOGIC FAMILY.pptx
anil_gaur
 
Digital electronics logic families
Digital electronics logic familiesDigital electronics logic families
Digital electronics logic families
BLESSINAR0
 
Interfacing external memory in 8051
Interfacing external memory in 8051Interfacing external memory in 8051
Interfacing external memory in 8051
ssuser3a47cb
 
Pass Transistor Logic
Pass Transistor LogicPass Transistor Logic
Pass Transistor Logic
Sudhanshu Janwadkar
 
PIC-18 Microcontroller
PIC-18 MicrocontrollerPIC-18 Microcontroller
PIC-18 Microcontroller
ASHISH RANJAN
 
8051 block diagram
8051 block diagram8051 block diagram
8051 block diagram
DominicHendry
 
Interfacing Stepper motor with 8051
Interfacing Stepper motor with 8051Interfacing Stepper motor with 8051
Interfacing Stepper motor with 8051
Pantech ProLabs India Pvt Ltd
 
Addressing modes of 8051
Addressing modes of 8051Addressing modes of 8051
Addressing modes of 8051
Dr. AISHWARYA N
 
Transistor Transistor Logic
Transistor Transistor LogicTransistor Transistor Logic
Transistor Transistor Logic
surat murthy
 
8051 Inturrpt
8051 Inturrpt8051 Inturrpt
8051 Inturrpt
Ramasubbu .P
 
8051 instruction set
8051 instruction set8051 instruction set
8051 instruction set
Andri Prastiyo
 
Lcd interfaing using 8051 and assambly language programming
Lcd interfaing using 8051 and assambly language programmingLcd interfaing using 8051 and assambly language programming
Lcd interfaing using 8051 and assambly language programming
Vikas Dongre
 
LCD Interacing with 8051
LCD Interacing with 8051LCD Interacing with 8051
LCD Interacing with 8051
Sudhanshu Janwadkar
 
Adc interfacing
Adc interfacingAdc interfacing
Adc interfacing
Monica Gunjal
 
8051 timer counter
8051 timer counter8051 timer counter
8051 timer counter
vishalgohel12195
 
interfacing of temperature sensor LM 35 with 8051.pdf
interfacing of temperature sensor LM 35 with 8051.pdfinterfacing of temperature sensor LM 35 with 8051.pdf
interfacing of temperature sensor LM 35 with 8051.pdf
Srikrishna Thota
 
Sensor interfacing in 8051
Sensor interfacing in 8051Sensor interfacing in 8051
Sensor interfacing in 8051
Irfan Ahmad
 
8051 serial communication-UART
8051 serial communication-UART8051 serial communication-UART
8051 serial communication-UART
Pantech ProLabs India Pvt Ltd
 
8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware8051 Microcontroller PPT's By Er. Swapnil Kaware
8051 Microcontroller PPT's By Er. Swapnil Kaware
Prof. Swapnil V. Kaware
 
Seven segment interfacing with 8051.pdf
Seven segment interfacing with 8051.pdfSeven segment interfacing with 8051.pdf
Seven segment interfacing with 8051.pdf
Srikrishna Thota
 
LOGIC FAMILY.pptx
LOGIC FAMILY.pptxLOGIC FAMILY.pptx
LOGIC FAMILY.pptx
anil_gaur
 
Digital electronics logic families
Digital electronics logic familiesDigital electronics logic families
Digital electronics logic families
BLESSINAR0
 
Interfacing external memory in 8051
Interfacing external memory in 8051Interfacing external memory in 8051
Interfacing external memory in 8051
ssuser3a47cb
 
PIC-18 Microcontroller
PIC-18 MicrocontrollerPIC-18 Microcontroller
PIC-18 Microcontroller
ASHISH RANJAN
 
Addressing modes of 8051
Addressing modes of 8051Addressing modes of 8051
Addressing modes of 8051
Dr. AISHWARYA N
 
Transistor Transistor Logic
Transistor Transistor LogicTransistor Transistor Logic
Transistor Transistor Logic
surat murthy
 
Lcd interfaing using 8051 and assambly language programming
Lcd interfaing using 8051 and assambly language programmingLcd interfaing using 8051 and assambly language programming
Lcd interfaing using 8051 and assambly language programming
Vikas Dongre
 
interfacing of temperature sensor LM 35 with 8051.pdf
interfacing of temperature sensor LM 35 with 8051.pdfinterfacing of temperature sensor LM 35 with 8051.pdf
interfacing of temperature sensor LM 35 with 8051.pdf
Srikrishna Thota
 
Sensor interfacing in 8051
Sensor interfacing in 8051Sensor interfacing in 8051
Sensor interfacing in 8051
Irfan Ahmad
 

Similar to 8 interrupt 8051 (20)

37471656 interrupts
37471656 interrupts37471656 interrupts
37471656 interrupts
tt_aljobory
 
Interrupt programming
Interrupt programming Interrupt programming
Interrupt programming
vijaydeepakg
 
8051 interrupts
8051 interrupts8051 interrupts
8051 interrupts
Shreyans Pathak
 
8051-interrupts-temporary suspension of a program
8051-interrupts-temporary suspension of a program8051-interrupts-temporary suspension of a program
8051-interrupts-temporary suspension of a program
Jason J Pulikkottil
 
Embedded systems, lesson 16
Embedded systems, lesson 16Embedded systems, lesson 16
Embedded systems, lesson 16
REKHASENCHAgs0801bm1
 
Live B tech Projects & Industrial Training @Technogroovy
Live B tech Projects & Industrial Training @Technogroovy Live B tech Projects & Industrial Training @Technogroovy
Live B tech Projects & Industrial Training @Technogroovy
Technogroovy India
 
Interrupts programming in embedded C using 8051
Interrupts programming in embedded C using 8051Interrupts programming in embedded C using 8051
Interrupts programming in embedded C using 8051
Vikas Dongre
 
8051
80518051
8051
Birudugadda Pranathi
 
Mc module5 ppt_msj
Mc module5 ppt_msjMc module5 ppt_msj
Mc module5 ppt_msj
mangala jolad
 
Pin diagram-of-8085
Pin diagram-of-8085Pin diagram-of-8085
Pin diagram-of-8085
sharan Kumar
 
Class8
Class8Class8
Class8
Sai Santosh Praveen
 
Microprocessor Part 4
Microprocessor    Part 4Microprocessor    Part 4
Microprocessor Part 4
Sajan Agrawal
 
Interrupt in 8051
Interrupt in 8051Interrupt in 8051
Interrupt in 8051
ssuser3a47cb
 
Microcontroller part 2
Microcontroller part 2Microcontroller part 2
Microcontroller part 2
Keroles karam khalil
 
Dsp interrupciones
Dsp interrupcionesDsp interrupciones
Dsp interrupciones
Juan Villeda
 
10_interrupt processing on AVR Microcont
10_interrupt processing on AVR Microcont10_interrupt processing on AVR Microcont
10_interrupt processing on AVR Microcont
KumaranG25
 
8051 Microcontroller Overview by Venkatrao Ramisetti
8051 Microcontroller Overview by Venkatrao Ramisetti 8051 Microcontroller Overview by Venkatrao Ramisetti
8051 Microcontroller Overview by Venkatrao Ramisetti
VenkatraoRamisetti
 
Micro controller 8051 Interrupts
Micro controller 8051 InterruptsMicro controller 8051 Interrupts
Micro controller 8051 Interrupts
dharmesh nakum
 
Embedded System
Embedded SystemEmbedded System
Embedded System
Richa Arora
 
8051 Architecture, System Bus, Advantages
8051 Architecture, System Bus, Advantages8051 Architecture, System Bus, Advantages
8051 Architecture, System Bus, Advantages
ptkarule
 
37471656 interrupts
37471656 interrupts37471656 interrupts
37471656 interrupts
tt_aljobory
 
Interrupt programming
Interrupt programming Interrupt programming
Interrupt programming
vijaydeepakg
 
8051-interrupts-temporary suspension of a program
8051-interrupts-temporary suspension of a program8051-interrupts-temporary suspension of a program
8051-interrupts-temporary suspension of a program
Jason J Pulikkottil
 
Live B tech Projects & Industrial Training @Technogroovy
Live B tech Projects & Industrial Training @Technogroovy Live B tech Projects & Industrial Training @Technogroovy
Live B tech Projects & Industrial Training @Technogroovy
Technogroovy India
 
Interrupts programming in embedded C using 8051
Interrupts programming in embedded C using 8051Interrupts programming in embedded C using 8051
Interrupts programming in embedded C using 8051
Vikas Dongre
 
Pin diagram-of-8085
Pin diagram-of-8085Pin diagram-of-8085
Pin diagram-of-8085
sharan Kumar
 
Microprocessor Part 4
Microprocessor    Part 4Microprocessor    Part 4
Microprocessor Part 4
Sajan Agrawal
 
Dsp interrupciones
Dsp interrupcionesDsp interrupciones
Dsp interrupciones
Juan Villeda
 
10_interrupt processing on AVR Microcont
10_interrupt processing on AVR Microcont10_interrupt processing on AVR Microcont
10_interrupt processing on AVR Microcont
KumaranG25
 
8051 Microcontroller Overview by Venkatrao Ramisetti
8051 Microcontroller Overview by Venkatrao Ramisetti 8051 Microcontroller Overview by Venkatrao Ramisetti
8051 Microcontroller Overview by Venkatrao Ramisetti
VenkatraoRamisetti
 
Micro controller 8051 Interrupts
Micro controller 8051 InterruptsMicro controller 8051 Interrupts
Micro controller 8051 Interrupts
dharmesh nakum
 
8051 Architecture, System Bus, Advantages
8051 Architecture, System Bus, Advantages8051 Architecture, System Bus, Advantages
8051 Architecture, System Bus, Advantages
ptkarule
 
Ad

Recently uploaded (20)

TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Ben Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding WorldBen Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding World
AWS Chicago
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
Secure Access with Azure Active Directory
Secure Access with Azure Active DirectorySecure Access with Azure Active Directory
Secure Access with Azure Active Directory
VICTOR MAESTRE RAMIREZ
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Infrassist Technologies Pvt. Ltd.
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Cisco ISE Performance, Scalability and Best Practices.pdf
Cisco ISE Performance, Scalability and Best Practices.pdfCisco ISE Performance, Scalability and Best Practices.pdf
Cisco ISE Performance, Scalability and Best Practices.pdf
superdpz
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME FlowProviding an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven InfrastructureNo-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too LateKubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent IntegrationPyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
Edge AI and Vision Alliance
 
TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025TimeSeries Machine Learning - PyData London 2025
TimeSeries Machine Learning - PyData London 2025
Suyash Joshi
 
Your startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean accountYour startup on AWS - How to architect and maintain a Lean and Mean account
Your startup on AWS - How to architect and maintain a Lean and Mean account
angelo60207
 
Ben Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding WorldBen Blair - Operating Safely in a Vibe Coding World
Ben Blair - Operating Safely in a Vibe Coding World
AWS Chicago
 
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOMEstablish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Establish Visibility and Manage Risk in the Supply Chain with Anchore SBOM
Anchore
 
Secure Access with Azure Active Directory
Secure Access with Azure Active DirectorySecure Access with Azure Active Directory
Secure Access with Azure Active Directory
VICTOR MAESTRE RAMIREZ
 
Edge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdfEdge-banding-machines-edgeteq-s-200-en-.pdf
Edge-banding-machines-edgeteq-s-200-en-.pdf
AmirStern2
 
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025Azure vs AWS  Which Cloud Platform Is Best for Your Business in 2025
Azure vs AWS Which Cloud Platform Is Best for Your Business in 2025
Infrassist Technologies Pvt. Ltd.
 
Murdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementaryMurdledescargadarkweb.pdfvolumen1 100 elementary
Murdledescargadarkweb.pdfvolumen1 100 elementary
JorgeSemperteguiMont
 
Cisco ISE Performance, Scalability and Best Practices.pdf
Cisco ISE Performance, Scalability and Best Practices.pdfCisco ISE Performance, Scalability and Best Practices.pdf
Cisco ISE Performance, Scalability and Best Practices.pdf
superdpz
 
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Scaling GenAI Inference From Prototype to Production: Real-World Lessons in S...
Anish Kumar
 
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und AnwendungsfälleDomino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
Domino IQ – Was Sie erwartet, erste Schritte und Anwendungsfälle
panagenda
 
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Creating an Accessible Future-How AI-powered Accessibility Testing is Shaping...
Impelsys Inc.
 
Providing an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME FlowProviding an OGC API Processes REST Interface for FME Flow
Providing an OGC API Processes REST Interface for FME Flow
Safe Software
 
Oracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization ProgramOracle Cloud and AI Specialization Program
Oracle Cloud and AI Specialization Program
VICTOR MAESTRE RAMIREZ
 
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven InfrastructureNo-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
No-Code Workflows for CAD & 3D Data: Scaling AI-Driven Infrastructure
Safe Software
 
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdfvertical-cnc-processing-centers-drillteq-v-200-en.pdf
vertical-cnc-processing-centers-drillteq-v-200-en.pdf
AmirStern2
 
Kubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too LateKubernetes Security Act Now Before It’s Too Late
Kubernetes Security Act Now Before It’s Too Late
Michael Furman
 
PyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent IntegrationPyData - Graph Theory for Multi-Agent Integration
PyData - Graph Theory for Multi-Agent Integration
barqawicloud
 
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdfHow Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
How Advanced Environmental Detection Is Revolutionizing Oil & Gas Safety.pdf
Rejig Digital
 
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
“Solving Tomorrow’s AI Problems Today with Cadence’s Newest Processor,” a Pre...
Edge AI and Vision Alliance
 
Ad

8 interrupt 8051

  • 1. 8051 Interrupts M_Nokhodchian @ yahoo.com Microprocessors 1-1
  • 2. Interrupts Programming  An interrupt is an external or internal event that interrupts the microcontroller to inform it that a device needs its service. Interrupts vs. Polling  A single microcontroller can serve several devices.  There are two ways to do that:  interrupts  polling.  The program which is associated with the interrupt is called the interrupt service routine (ISR) or interrupt handler. M_Nokhodchian @ yahoo.com Microprocessors 1-2
  • 3. Steps in executing an interrupt  Finish current instruction and saves the PC on stack.  Jumps to a fixed location in memory depend on type of interrupt  Starts to execute the interrupt service routine until RETI (return from interrupt)  Upon executing the RETI the microcontroller returns to the place where it was interrupted. Get pop PC from stack M_Nokhodchian @ yahoo.com Microprocessors 1-3
  • 4. Interrupt Sources  Original 8051 has 6 sources of interrupts  Reset  Timer 0 overflow  Timer 1 overflow  External Interrupt 0  External Interrupt 1  Serial Port events (buffer full, buffer empty, etc)  Enhanced version has 22 sources  More timers, programmable counter array, ADC, more external interrupts, another serial port (UART) M_Nokhodchian @ yahoo.com Microprocessors 1-4
  • 5. Interrupt Vectors Each interrupt has a specific place in code memory where program execution (interrupt service routine) begins. External Interrupt 0: 0003h Timer 0 overflow: 000Bh External Interrupt 1: 0013h Timer 1 overflow: 001Bh Note: that there are Serial : 0023h only 8 memory Timer 2 overflow(8052+) 002bh locations between vectors. M_Nokhodchian @ yahoo.com Microprocessors 1-5
  • 6. ISRs and Main Program in 8051 SJMP main ORG 03H ljmp int0sr ORG 0BH ljmp t0sr ORG 13H ljmp int1sr ORG 1BH ljmp t1sr ORG 23H ljmp serialsr ORG 30H main: … END M_Nokhodchian @ yahoo.com Microprocessors 1-6
  • 7. Interrupt Enable (IE) register All interrupt are disabled after reset We can enable and disable them bye IE M_Nokhodchian @ yahoo.com Microprocessors 1-7
  • 8. Enabling and disabling an interrupt by bit operation Recommended in the middle of program SETB EA SETB IE.7 ;Enable All SETB ET0 SETB IE.1 ;Enable Timer0 ovrf SETB ET1 SETB IE.3 ;Enable Timer1 ovrf SETB EX0 SETB IE.0 ;Enable INT0 SETB EX1 SETB IE.2 ;Enable INT1 SETB ES ;Enable Serial port SETB IE.4 by mov instruction Recommended in the first of program MOV IE, #10010110B M_Nokhodchian @ yahoo.com Microprocessors 1-8
  • 9. Example  A 10khz square wave with 50% duty cycle ORG 0 ;Reset entry poit LJMP MAIN ;Jump above interrupt ORG 000BH ;Timer 0 interrupt vector T0ISR:CPL P1.0 ;Toggle port bit RETI ;Return from ISR to Main program ORG 0030H ;Main Program entry point MAIN: MOV TMOD,#02H ;Timer 0, mode 2 MOV TH0,#-50 ;50 us delay SETB TR0 ;Start timer MOV IE,#82H ;Enable timer 0 interrupt SJMP $ ;Do nothing just wait END M_Nokhodchian @ yahoo.com Microprocessors 1-9
  • 10. Example  Write a program using interrupts to simultaneously create 7 kHz and 500 Hz square waves on P1.7 and P1.6. 8051 143µs 71µs P1.7 2ms P1.6 1ms M_Nokhodchian @ yahoo.com Microprocessors 1-10
  • 11. ORG 0 Solution LJMP MAIN ORG 000BH LJMP T0ISR ORG 001BH LJMP T1ISR 8051 143µs ORG 0030H 71µs P1.7 MAIN: MOV TMOD,#12H MOV TH0,#-71 SETB TR0 SETB TF1 MOV IE,#8AH 2ms MOV IE,#8AH P1.6 1ms SJMP $ T0ISR: CPL P1.7 RETI T1ISR: CLR TR1 MOV TH1,#HIGH(-1000) MOV TL1,#LOW(-1000) SETB TR1 CPL P1.6 RETI END M_Nokhodchian @ yahoo.com Microprocessors 1-11
  • 12. Timer ISR  Notice that  There is no need for a “CLR TFx” instruction in timer ISR  8051 clears the TF internally upon jumping to ISR  Notice that  We must reload timer in mode 1  There is no need on mode 2 (timer auto reload) M_Nokhodchian @ yahoo.com Microprocessors 1-12
  • 13. External interrupt type control  By low nibble of Timer control register TCON  IE0 (IE1): External interrupt 0(1) edge flag.  set by CPU when external interrupt edge (H-to-L) is detected.  Does not affected by H-to-L while ISR is executed(no int on int)  Cleared by CPU when RETI executed.  does not latch low-level triggered interrupt  IT0 (IT1): interrupt 0 (1) type control bit.  Set/cleared by software  IT=1 edge trigger  IT=0 low-level trigger (MSB) (LSB) TF1 TR1 TF0 TR0 IE1 IT1 IE0 IT0 Timer 1 Timer0 for Interrupt M_Nokhodchian @ yahoo.com Microprocessors 1-13
  • 14. External Interrupts (Level-triggered (default INT0 (Pin 3.2) 0 0003 IT0 1 (IE0 (TCON.3 2 Edge-triggered (Level-triggered (default INT0 (Pin 3.3) 0 0013 IT1 1 (IE1 (TCON.3 2 Edge-triggered M_Nokhodchian @ yahoo.com Microprocessors 1-14
  • 15. Example of external interuupt ORG 0000H LJMP MAIN ; ;interrupt service routine (ISR) ;for hardware external interrupt INT1 ; ORG 0013H SETB P1.1 MOV R0,200 WAIT: DJNZ R0,WAIT CLR P1.1 RETI ; ;main program for initialization ; ORG 30H MAIN: SETB IT1 ;on negative edge of INT1 MOV IE,#10000100B WAIT2: SJMP WAIT2 END M_Nokhodchian @ yahoo.com Microprocessors 1-15
  • 16. Example of external interuupt M_Nokhodchian @ yahoo.com Microprocessors 1-16
  • 17. Example of external interuupt Org 0000h Ljmp main Org 0003h x0isr: clr p1.7 Reti Org 0013h x1isr: setb p1.7 Reti Org 0030h Main: mov ie,#85h Setb it0 Setb it1 Setb p1.7 Jb p3.2,skip Clr p1.7 Skip: Sjmp $ end M_Nokhodchian @ yahoo.com Microprocessors 1-17
  • 18. Interrupt Priorities  What if two interrupt sources interrupt at the same time?  The interrupt with the highest PRIORITY gets serviced first.  All interrupts have a power on default priority order. 1. External interrupt 0 (INT0) 2. Timer interrupt0 (TF0) 3. External interrupt 1 (INT1) 4. Timer interrupt1 (TF1) 5. Serial communication (RI+TI)  Priority can also be set to “high” or “low” by IP reg. M_Nokhodchian @ yahoo.com Microprocessors 1-18
  • 19. Interrupt Priorities (IP) Register --- --- PT2 PS PT1 PX1 PT0 PX0 IP.7: reserved IP.6: reserved IP.5: timer 2 interrupt priority bit(8052 only) IP.4: serial port interrupt priority bit IP.3: timer 1 interrupt priority bit IP.2: external interrupt 1 priority bit IP.1: timer 0 interrupt priority bit IP.0: external interrupt 0 priority bit M_Nokhodchian @ yahoo.com Microprocessors 1-19
  • 20. Interrupt Priorities Example --- --- PT2 PS PT1 PX1 PT0 PX0  MOV IP , #00000100B or SETB IP.2 gives priority order 1. Int1 2. Int0 3. Timer0 4. Timer1 5. Serial  MOV IP , #00001100B gives priority order 1. Int1 2. Timer1 3. Int0 4. Timer0 5. Serial M_Nokhodchian @ yahoo.com Microprocessors 1-20
  • 21. Interrupt inside an interrupt --- --- PT2 PS PT1 PX1 PT0 PX0  A high-priority interrupt can interrupt a low-priority interrupy  All interrupt are latched internally  Low-priority interrupt wait until 8051 has finished servicing the high-priority interrupt M_Nokhodchian @ yahoo.com Microprocessors 1-21