Page 18 - Microcontrolere - Indrumator de laborator
P. 18

program,  prin  setarea  unor  biți  din  cadrul  registrelor  de  stare  și  control  dedicate.
          Această setare a microcontrolerului trebuie să aibă prioritate. Odată ce a fost stabilită
          sursa  și  frecvența  semnalului  de  tact,  se  poate  determina  durata  unui  ciclu  mașină,
          durată  care  reprezintă  intervalul  de  timp  necesar  executării  unei  instrucțiuni.
          Majoritatea instrucțiunilor microcontrolerului PIC16F887 sunt executate într-un singur
          ciclu mașină, cu excepția instrucțiunilor de ramificare a programului și de executare
          condiționată  care  necesită  două  cicluri  mașină.  Durata  unui  ciclu  mașină  este
          echivalentă cu durata a patru perioade ale semnalului de tact. De exemplu, dacă s-a
          setat  frecvența  semnalului  de  tact  la  4  MHz,  durata  unui  ciclu  mașină  este  dată  de
                           -6
          egalitatea: 4·(1/4)·10  s = 1µs. Acest lucru ne va mai oferi în consecință și o referință
          de timp cu valoarea de 1µs. Pentru setarea sursei interne a semnalului de tact și cea a
          frecvenței sale se folosește registrul OSCCON, iar dacă sursa semnalului este externă
          se mai folosește registrul CONFIG1, ambele registre fiind mapate în memoria de date
          a microcontrolerului.
                 Validarea sa invalidare funcționării  microcontrolerului cu întreruperi este și
          ea  esențială,  depinzând  de  tipul  aplicației.  Această  setare  se  poate  realiza  la  nivel
          global,  sau  la  nivelul  fiecărei  resurse  interne  specializate  a  microcontrolerului,  prin
          program,  prin  intermediul  unor  registre  cu  funcții  special  dedicate  acestui  fapt.
          Registrele  cu  funcții  speciale  implicate  în  modul  de  lucru  cu  întreruperi  al
          microcontrolerului  PIC16F887  sunt  următoarele:  INTCON,  PIR1,  PIR2,  plasate  și
          acestea în memoria de date.

               2.1. Configurarea  minimală  a  microcontrolerului  pentru  aplicația
                   propusă
                 Pentru  aplicația  din  acest  laborator,  microcontrolerului  PIC16F887  i  se  vor
          realiza  următoarele  configurări:  alegerea  sursei  interne  de  semnal  de  tact  și  a
          frecvenței sale de 4 MHz, invalidarea sistemului de întreruperi, alegerea a 4 pini din
          portul A al microcontrolerului și utilizarea lor ca pini de ieșire.
                 Secvența de instrucțiuni de configurare a microcontrolerului din codul sursă
          al aplicației este indicată alăturat.
                 ↓ prima coloană a fișierului sursă
                        ; se alege sursa internă de frecvență ridicată pentru semnalul de tact
                        ; și se stabilește frecvența acestui semnal la 4 MHz
                        BANKSEL(OSCCON)
                        MOVLW         67H
                        MOVWF         OSCCON
                        ; se invalidează sistemul de întreruperi al microcontrolerului
                        BANKSEL(INTCON)
                        BCF           INTCOM, 7
                        ; se aleg pinii RA4, RA5, RA6 și RA7 din portul A cu rol de
                        ; ieșire digitală pentru a genera semnale de comandă pentru
                        ; sistemul de iluminare
                        BANKSEL(PORTA)
                                              15
   13   14   15   16   17   18   19   20   21   22   23