Documente Academic
Documente Profesional
Documente Cultură
Introducere în microcontrolere
Arhitectura microcontrolerului PIC16F887
Convertorul analog-digital
Generatorul PWM
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Mag. de date
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 7 – Microprocesoare şi microcontrolere
Curs 8
Microcontrolere
Circuite aferente pinilor I / O
Circuite de temporizare
Curs 8 – Microprocesoare şi microcontrolere
• Microcontrolerul PIC16F887 dispune de 35 de pini de I / O de uz
general.
• Aceşti pini pot fi programaţi individual sau în grup (port) pentru a fi
folosiţi fie ca pini / porturi de intrare fie ca pini / porturi de ieşire.
• Programarea pinilor de uz general, respectiv stabilirea sensului de
transfer a datelor la nivel de pin sau de port, se face cu ajutorul
registrelor TRISX, unde, în cazul de faţă, X este A … E. Existenţa celor
5 registre indică faptul că cei 35 de pini I / O de uz general sunt grupaţi
în cinci porturi. Porturile A … D sunt formate din 8 pini iar portul E
conţine doar 3 pini.
• Datele care urmează a fi trimise la / primite de la un pin sau port sunt
reţinute temporar în registrele PORTX, unde X este A … E. Registrele
PORTX de tip LATCH asigură o interfaţă între magistrala internă de
date a microcontrolerului şi pinii respectiv porturile I / O.
• În cazul în care un circuit intern dedicat (convertor analog digital,
comparator etc.) foloseşte pinul sau pinii corespunzători, pinul sau pinii
respectivi nu mai pot fi utilizaţi ca şi pini de I / O de uz general.
Curs 8 – Microprocesoare şi microcontrolere
o linie a magistralei de date (linia 1)
CSCR – 1 mod Master, 0 mod slave (semnalul de tact primit din exterior)
TX9 – formatul datelor – 1 data reprez. pe 9 biţi, 0 data reprez. pe 8 biţi
TXEN – 1 transmisie permisă, 0 transmisie invalidată
SYNC – 1 mod de transmisie sincron, 0 mod de transmisie asincron
SENDB – trimite break character bit pentru transmiterea asincronă
BRGH – bit de selecţie a transmisiei cu rată ridicată la modul asincron
TRMT – bit care indică starea registrului de deplasare de la transmisie (1 gol, 0 plin)
TX9D – valoarea celui de al 9-lea bit care se transmite
Curs 9 – Microprocesoare şi microcontrolere
Memoria program:
- Tip FLASH
- există un numărător de program PC pe 13 biţi
- se pot adresa (şi există fizic) 8 k locaţii de memorie
- fiecare locaţie de memorie de program este organizată pe 14 biţi
(instrucţiunile sunt codate pe 14 biţi)
- există un mecanism de protecţie la citire a memoriei program
- vectorul de RESET se află la adresa 0000 H iar vectorul de
întrerupere se găseşte la adresa 0004 H
-…
Curs 9 – Microprocesoare şi microcontrolere
Memoria de date:
- De tip SRAM, memorie volatilă, 368 octeţi
- conţine 278 registre de uz general (se pot stoca date, variabile etc.)
- conţine 90 registre cu funcţii speciale (folosite pentru configurarea
microcontrolerului şi a modulelor sale specializate integrate precum şi a
modului lor de funcţionare)
- memoria este organizată în patru bancuri
- fiecare banc de registre conţine 127 de locaţii de memorie
- la un moment dat doar un singur banc de registre este activ
- registrul STATUS conţine 2 biţi cu ajutorul cărora se poate selecta
unul din cele 4 bancuri de registre
- registrul STATUS conţine informaţii referitoare la starea unităţii
centrale de prelucrare (biţii C, DC, Z etc.)
- Există o stivă de 8 locaţii (vezi figura anterioară)
Curs 9 – Microprocesoare şi microcontrolere
Registrul STATUS
Setul de instructiuni
Exemple de aplicatii
Curs 10 – Microprocesoare şi microcontrolere
Registrul STATUS
Circuit cu LED
PORTA – banc 0
STATUS – identic în fiecare banc
Curs 11
PORTA – banc 0
Loop :
BSF PORTA, 0 ; LED-ul este aprins
; … întârziere ( rutină de menţinere a LED-ului aprins pentru un anumit interval de timp )
BCF PORTA, 0 ; LED-ul este stins
; … întârziere ( rutină de menţinere a LED-ului stins pentru un anumit interval de timp)
GOTO Loop
1
= 4 ⋅
1
tCM = 4 ⋅ 6
= 1µs
f OSC 4 ⋅10
Curs 11 – Microprocesoare şi microcontrolere