Page 31 - Microcontrolere - Indrumator de laborator
P. 31

resurse interne integrate specializate: porturi seriale, module de comparație, convertor
          analog digital, circuite de temporizare etc. Schema de principiu în care sunt indicate
          strict doar semnalele de întrerupere necesare aplicației studiată în această lucrare de
          laborator este indicată în figura următoare.
                 Se  poate  remarca  în  figura  următoare  că  o  întrerupere,  semnal  logic  care
          indică în timp real apariția unui eveniment, ca să ajungă la unitatea centrală, trebuie să
          parcurgă mai multe nivele de validare, bazate pe logica programului care le folosește.
          Astfel, se observă că evenimentul, numărarea unui anumit număr de impulsuri, cu o
          scalare  și  o  postscalare  impusă  de  către  utilizator,  este  indicată  prin  setarea  bitului
          TMR2IF din registrul cu funcție specială PIR1 din memoria de date. Cu toate acestea,
          această informație, întreruperea propriu zisă, va ajunge la unitatea centrală CPU doar
          dacă sunt realizate trei validări: validarea întreruperii (la nivel de periferic) cu ajutorul
          bitului de validare TMR2IE din registrul PIE1, validarea tuturor întreruperilor (la nivel
          de grup de periferice) care provin de la toate circuitele periferice ale unității centrale,
          printre care și modulul de temporizare Timer2, cu ajutorul bitului PEIE din registrul
          INTCON,  respectiv  validarea  întregului  sistem  de  întreruperi  cu  ajutorul  bitului  de
          validare  globală  a  întreruperilor  GIE  care  se  găsește  tot  în  registrul  INTCON  din
          memoria de date a microcontrolerului.
                           alte întreruperi   alte întreruperi


                  TMR2IF
                  TMR2IE                                        CPU

                                         PEIE           GIE



                         INTCON   GIE  PEIE  T0IE  INTE  RBIE  T0IF   INTF  RBIF
                                     7         6          5            4       3    2          1           0
                          PIE1    -   ADIE  RCIE  TXIE  SSPIE  CCP1IE  TMR2IE  TMR1IE
                                     7         6          5            4       3    2          1           0
                          PIR1    -   ADIF  RCIF  TXIF  SSPIF  CPP1IF  TMR2IF  TMR1IF
                                     7         6          5            4       3    2          1           0

               Fig.3.2. Structura sistemului de întreruperi aferentă întreruperii TMR2IF

                 Pentru  ca  întreruperea  TMR2IF  să  ajungă  la  CPU  (unitatea  centrală  de
          prelucrare), biții TMR2IE, PEIE și GIE trebuie să aibă valori logice 1. La oricare alt
          nivel, dacă valoarea bitului de validare a întreruperii este nul, întreruperea TMR2IF nu
          mai ajunge la CPU.
                 Este important de remarcat faptul că imediat după acceptarea unei întreruperi
          de  către  CPU,  microcontrolerul  cedează  execuția  programului  curent  și  încarcă
                                              28
   26   27   28   29   30   31   32   33   34   35   36