Vous êtes sur la page 1sur 24

1

Systmes microprocesseurs
Structure interne du PIC 16F887

2
Prsentation du PIC 16F887

Documentation constructeur page 7 :



3
Prsentation du PIC 16F887

Le PIC 16F887 comprend donc :

3 Timers (compteurs)

1 CAN 10 bits

2 modules PWM

1 modue de com sync!rone "#SSP$

1 module EUSART

% comparateurs

1 mmoire &&P'(#

4
Prsentation
du PIC
16F887

Sc!ma de
a structure
interne

5
(rganisation du pan mmoire

)rc!itecture du type *ar+ard

, pans mmoires spars

-ne mmoire de programme de 8. mots de 1/ 0its

#moire Fas!

-ne mmoire de donnes de /6% octets

,68 1 2/ octets

-ne pie de 8 ni+eau3

I e3iste un /
me
pan mmoire4 mais 5ue nous
n6a0orderons pas4 i s6agit d6une mmoire de
type &&P'(# 777

6
(rganisation du pan mmoire

)rc!itecture du type *ar+ard

, pans mmoires spars :



7
#moire de programme

Capacit : ! mots de 1" bits

C!a5ue instruction est donc


code sur 1" bits

1 i#structio# $ 1" bits

C%p%cit& '
1(2 i#structio#s
m%)imum

8
#moire de donnes

Capacit totae : 81% octets

,68 octets d6usage gnra

2/ octets associs au3


prip!ri5ues

50 octets inutiliss

Pan mmoire dcoup en / 9ones


"0an.$ de 1%8 octets

Section de a 9one par es


0its 'P: et 'P1 du registre
S;);-S

9

10
#moire de donnes

'egistres spciau3 "SF'$

SF' < Specia Function 'egisters

(nt pour r=e de con>igurer et d6utiiser es


prip!ri5ues du PIC ";imers4 -S)';4 C)?4
etc$

Is se trou+ent au d0ut de c!a5ue @0an.@

2/ octets au tota

11
Pie systme

Le PIC 16F887 possde une pie LIF( "Last In


First (ut$ de 1, 0its comportant 8 ni+eau37

'=e de cette mmoire : conser+er 6adresse de


retour ors d6un appe un sousAprogramme7

Le contenu de PC est sau+egard "empi$


dans a pie ors d6un appe un
sousAprogramme "ou ors d6une interruption$7

La pie est dpie ors d6un retour d6un


sousAprogramme "ou aprs 6e3cution d6une
interruption$

12
Pie systme

13
'egistres internes

)ccumuateur B

'egistre de tra+ai : @Bor.@ en angais

Sert stoc.er temporairement a donne sur


a5uee +a tra+aier 6instruction en cours
d6e3cution "en source ou en destination$7

&3empe : )DDLB 7

C6est un registre
trs utiis7

14
'egistres internes

'egistre S;);-S

C6est un registre d6tat 5ui indi5ue es


caractristi5ues du dernier rsutat
d6oprations arit!mti5ues ou ogi5ues
rais par 6)L-7

I permet gaement e c!oi3 des @0an.@ "0its


'P: et 'P1$

I se situe 6adresse :3:, de a ')#



15
'egistres internes

'egistre S;);-S

16
S5uencement d6une instruction

L6!oroge

Le #C- PIC16F887 peut utiiser pusieurs


types d6!oroges7

La seection du type se >ait dans e registre


C(?FIC1 des registres de con>iguration7

17
S5uencement d6une instruction

C!ronogramme de >onctionnement
Structure permettant de rcuprer une instruction tout en
e3cutant 6instruction prcdente

18
S5uencement d6une instruction

C!ronogramme de >onctionnement

1 instruction < 1 cyce mac!ine < / cyces d6!oroge

?om0re d6instructions par seconde < F


osc
D/

Si F
5uart9
< / #*94 aors une instruction sera e3cute
toutes es 1 Es7

Si F
5uart9
< %: #*94 aors e #C- peut raiser 8 #IPS
"#iions d6Instructions Per Second$ "une instruction
toutes es %::ns$

19
C!oi3 de a >r5uence du signa
d6!oroge

Le c!oi3 du type d6!oroge ainsi 5ue de a


>r5uence du signa d6!oroge n6est pas anodin
+isAA+is des points sui+ants :

Consommation

Prcision

Le type du circuit d6!oroge in>ue sur a


prcision :

-n circuit 0ase de 5uart9 est 0eaucoup pus


prcis et sta0e 5u6un osciateur 'C7

20
C!oi3 de a >r5uence du signa
d6!oroge

In>uence sur a prcision :

Imaginons 5ue 6on +euie passer du temps


a+ec 6instruction nop"$ 5ui dure 1 cyce
mac!ine7

F / #*94 1 nop"$ < 1Es

F %:#*94 1 nop"$ < %::ns

Si on +eut a+oir une prcision %::ns prs4 i


ne sera donc pas possi0e d6utiiser un signa
d6!oroge / #*97

21
C!oi3 de a >r5uence du signa
d6!oroge

In>uence sur a prcision :

Par e3empe4 si on +eut >aire une >onction 5ui


gnre un signa carr ,6.*9 durant par
e3empe / priodes7

;<1D><%748Es

F /#*94 on ne pourra >aire 5ue ;<%8Es soit ><


,847.*9

F %:#*94 on pourra o0tenir ;< %748Es



22
C!oi3 de a >r5uence du signa
d6!oroge

Pus a >r5uence du signa d6!oroge est


e+e4 pus a consommation augmente7

23
Le c!ien de garde

@Batc!Dog ;imer@ en angais

Pour5uoi @;imer@ G Parce 5ue c6est un compteur H

Le Iatc!dog timer compte en permanence7

Juand e programme >onctionne normaement4 une


instruction permettant de e remettre 9ro ">onction
crIdt"$ en C$ doit Ktre e3cute trs rguirement
a+ant 5u6i n6arri+e d0ordement7

Si cette instruction n6est pas e3cute4 cea signi>ie


5ue e programme est @pant@4 donc e Iatc!dog
timer arri+e d0ordement4 ce 5ui a pour e>>et de
rinitiaiser comptement e programme7

24
Le c!ien de garde

C6est en >ait un ment de scurit 5ui sur+eie "5ui


@monte a garde@ H$ en permanence e programme
pour +iter 5u6i ne reste pant ind>iniment7

Le ;imeAout "c6est dire e temps 5ue e compteur


met pour arri+er en d0ordement$ est rega0e de
1ms %68 secondes7

Le prescaer permettant de con>igurer a dure de


comptage est mutuais a+ec e ;imer: : si ceuiAci
est utiis a+ec e Iatc!dog4 i ne pourra pas 6Ktre
pour e ;imer: et in+ersement7