Page 28 - Microcontrolere - Indrumator de laborator
P. 28

Sursa  semnalului  de  tact  este  internă,  iar  frecvența  semnalului  de  tact  este
          egală  cu  4MHz,  motiv  pentru  care  durata  unui  ciclu  mașină  este  de  1  µs.  Pentru
          alegerea semnalului de tact se va folosi registrul OSCCON.
                 Pentru configurarea portului A ca port de comandă a sistemului de iluminare
          de  putere,  registrele  cu  funcții  speciale  folosite  sunt:  TRISA,  ANSEL  și  PORTA,
          registre care se găsesc mapate în memoria de date a microcontrolerului.
                 Pentru  cele  două  resurse  interne  ale  microcontrolerului  PIC16F887,
          generatorul intern de semnal de tact și portul A, se reutilizează secvența de instrucțiuni
          indicată în lucrarea de laborator nr. 2.
                 În această secvență se remarcă și instrucțiunea BCF INTCON, 7, instrucțiune
          cu  care  este  invalidat  sistemul  de  întreruperi  până  în  momentul  finalizării
          microcontrolerului,  când  după  caz,  se  poate  reveni  asupra  acestei  setări,
          microcontrolerul utilizează întreruperi, sau nu.

                 ↓ 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           INTCON, 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)
                        MOVLW         0
                        MOVWF         PORTA
                        BANKSEL(TRISA)
                        MOVLW         0FH
                        MOVWF         TRISA  ; pinii RA4-RA7 sunt pini de ieșire
                        BANKSEL(ANSEL)
                        CLRF          ANSEL  ; se anulează celelalte
                 Întrucât  în  această  lucrare  se  va  realiza  o  rutină  care  va  folosi  sistemul  de
          întreruperi al microcontrolerului, respectiv un temporizator intern, secvența de mai sus
          va fi completată cu instrucțiuni de configurare care vor fi explicate în cele ce urmează.


               2.1. Temporizatorul Timer2 al microcontrolerului
                 Microcontrolerul  PIC16F887  cuprinde  în  structura  sa  trei  module  de
          temporizare. Pentru temporizări de ordinul secundei sau chiar mai mari, se poate folosi
          modulul de temporizare Timer2, indicat în figura următoare.


                                              25
   23   24   25   26   27   28   29   30   31   32   33