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