Documente Academic
Documente Profesional
Documente Cultură
P%an du cours
& C'(P')I*I'N +* F'NC*I'NN+(+N* ,+) PIC) & A-C.I*+C*/-+ IN*+-N+ & 0+) (',+) ,1A,-+))A2+ +* 0+ 3+/ ,1IN)*-/C*I'N & 0+) IN*+--/P*I'N) & 0+) P+-IP.+-I4/+)
$/43
Introduction
& PIC 5 6ami%%e de 7Contr8%eurs / (icroChip & 7Contr8%eurs
9 0a %o:ique c;b%e 9 0e microprocesseur 9 0e microcontr8%eur
& & & & /ne unit centra%e qui est %e c<ur du systme /ne mmoire contenant %e pro:ramme = e>cuter /ne mmoire ?i?e :a%ement appe%e -A( /n port d@ entres A sorties pour B dia%o:uer C a?ec %@e>trieur
(icroAcontr8%eur
& /n microcontrleur DCE est un circuit int:r rassemb%ant un microprocesseurF de %a mmoire de pro:rammeF mmoire de donnes et des priphriquesG & uti%iss dans %@%aboration des systmes embarqusF ncessitant des traitements spcia%iss Dt%phones portab%esF autoradiosF %ecteur (P3F 2P)F et robotique & 4ue%ques e>emp%es DAtme% A*H1F .itachi .!F Inte% !I51F (otoro%a !.C11F %es PIC de (icrochipF )*(icroe%ectronicF etcGE
4/43
0e PIC 1 F!""
& /nit centra%e 5 ! bits & (moire pro:ramme 5 14 bits / ! Ko & (moire donnes 5 -A( de ! bits / 3 ! o
9 -e:istres en mmoire
"/43
!/43
01A0/
H/43
1I/43
(moire pro:ramme
& !Jo > 14bits or:anise en 4 pa:es > $Jo D%imite d1adressa:e pour 11 bitsE & Prob%me M %es re:istres ne 6ont que ! bits or 13bits sont ncessaires pour adresser %a tota%it des ! JoF PC L $ bits status -PIA-P1E & PC0 DPC 0oQE M ! bits de poids 6aib%e & PC0A*. DPC 0A*chE M counter .i:hE & PC 5 S PC0A*. L PC0 & 0a pi%e est circu%aire T
4 banques
1$/43
14/43
0es sauts
& 0ors d1un sautF %e contenu du PC est char: a?ec %es 11 bits de destination contenus dans %1instructionG & 0es $ bits manquants sont e>traits du re:istre PC0PA*.G Ces bitsF positionns par %1uti%isateurF sont p%acs dans %es bits 11 et 1$ du PC a6in de comp%ter %1adresse de destination & 0e rsu%tatF adresse concatne sur 13 bitsF est char: dans %e PCG 0e pro:ramme se poursuit = partir de %a nou?e%%e adresseG
1 /43
&
&
&
1"/43
& ,irect
9 movf 0x55,W; charger le contenu de ladresse 0x55 dans W 9 /ti%ise %e re:istre )*A*/) D-PIF -P1E
& Indirect
9 /ti%ise %es re:istres F)- et )*A*/) DI-PE
1!/43
I>+F
N F)-5 I>+F
movwf FSR X on p%ace %1adresse de destination dans F)- X on dira que F)- P'IN*+ sur maUariab%e
I>I+F
I>1I
maUariab%e
movf INDF,w X adressa:e indirect M %ecture de %1adresse contenue dans %e re:istre F)- Dici I>+FE X puis %ecture du contenu de %1adresse DI>+FE F ici I>1I dans NG
I>1I
indf n1est pas un re:istre physique X toute r6rence = ind6 dans une instruction 6orce %e PIC = %ire %e contenu de %1emp%acement mmoire point par %e re:istre F)- Dici DNE 5 I>1I E
1H/43
$I/43
0+) IN*+--/P*I'N)
& ,6inition d1une interruption & (canisme :nra% d1une interruption sur %e PICs & )ources et type d1interruptions
$1/43
)crutation ou interruption
& )crutation
9 (aZtrise des temps 9 Conser?ation du caractre squentie%
& Interruption
9 Permet de prendre en compte un ?nement au p%us ?ite 9 [?ite scrutations inuti%es 9 -isque d@en:or:ement
$$/43
3G 4G 5G G "G !G HG
0e pro:ramme se drou%e norma%ement 01?nement asynchone sur?ient 0e pro:ramme ach?e %1instruction en cours de traitement )au?e:arde du conte>te Pranchement = %1adresse de traitement de %1interruption 0e pro:ramme traite %1interruption -etour de %1I* M branchement = %1instruction qui suit %a dernire e>cute dans %e pro:ramme principa%G
$3/43
$4/43
Principe Interruptions
,bordement *imer I Chan:ement -PI
F%a: *'IF
V+ M ?a%idation VF M indicateur
Pranchement adresse I4
$5/43
$ /43
$"/43
0es interruptions V
& 13 sources d1interruption disponib%es sur %e PIC 1 F!""
9 9 9 9 9 9 9 9 9 9 9 9 9
,ec%encheur F%a: -e:istre Adr P+I+ +nab%e -e:istre Adr Timer 0 *IIF IN*C'N I>IP N'N *II+ IN*C'N I>IP Pin RB0 / INT IN*F IN*C'N I>IP N'N IN*+ IN*C'N I>IP Ch. RB4/RB7 -PIF IN*C'N I>IP N'N -PI+ IN*C'N I>IP
primaires
Convert. A/D A,IF PI-1 I>IC '/I A,I+ PI+1 I>!C Rx !ART -CIF PI-1 I>IC '/I -CI+ PI+1 I>!C Tx !ART *#IF PI-1 I>IC '/I *#I+ PI+1 I>!C Port "erie !!P ))PIF PI-1 I>IC '/I ))PI+ PI+1 I>!C #o$ule CCP CCP1IF PI-1 I>IC '/I CCP1I+ PI+1 I>!C Timer % *(-1IF PI-1 I>IC '/I *(-1I+ PI+1 I>!C Timer & *(-$IF PI-1 I>IC '/I *(-$I+ PI+1 I>!C ''PR(# ++IF PI-$ I>I, '/I ++I+ PI+$ I>!, !!P mo$e I&C PC0IF PI-$ I>I, '/I PC0I+ PI+$ I>!, Port )*r*llele P!PI+ PI-1 I>IC '/I P)PI+ PI+1 I>!C
priphriques
$!/43
& Pin -PI M si:na%e une transition sur %e pin -PI dans %e sens dtermin par IN*+,2
9 Ua%ider M IN*+X F%a: M IN*F
& Ch -P4/" M chan:ement de ni?eau sur une des entres -P4 = -P"
9 Ua%iderM -PI+X F%a: -PIF
9 /ti%isationM
& Ua%ider %e bit concernant %1interruption & Ua%ider %e bit 2I+ $H/43
*ypes d1interruptions
& Priphriques
9 Ua%ider M re:istres PI+1 et PI+$ 9 F%a:sM re:istres PI-1 et PI-$ 9 /ti%isation
& Ua%ider %e bit concernant %1interruption DPI+1/PI+$E & Ua%ider %e bit P+I+ D?a%idation priphrique dans IN*C'NE & Ua%ider %e bit 2I+ D?a%idation :nra%e dans IN*C'NE
3I/43
0e Natchdo:
& *imer interne spci6ique D\" msE
9 -:%ab%eF 9 ,sacti?ab%e au dmarra:e 9 -emis = I sur appe% de c%rQdt 9 -edmarre %e PIC p%ac en mode s%eep
& )i:na% par bit *I de statut
9 /ti%isation
& ,tection bouc%e dans pro:ramme Dpossib%e sur 6aute %ectrique ou du pro:rammeurE & -?ei% sur s%eep
31/43
(ode )0++P
& P%acement en sommei% D%imitation consommationE
9 -emise = ]ro du Qatchdo: 9 ArrRt de %@osci%%ateur Ddonc des instructionsE
& -?ei%
9 -eset 9 [chance du Qatchdo: 9 Interruption -PI/IN* -P ++P-'(
3$/43
9 )*A*/)
& b3 M P, M PoQer ,oQn bit M passa:e en mode sleep & b4 M *' M *ime 'ut bit M reset par dbordement du Qatchdo:
33/43
,termination de %1?nement
PC'N DI>!+E
)*A*/)DI>!3E
34/43
0es *imers
& Ncessit de sou%a:er %e CP/ pour %es oprations de temporisation et de compta:e & 3 timers disponib%es dans %e PIC 1 F!"" & (ode compteur De> M compter des impu%sions re_uesE & (ode timer Dcompta:e des cyc%es d1hor%o:e du PICE & +> uti%isation timer I
clrf tmr0 xxxx ; tmr0 est localis ladresse 01 en banque 0 ; suite programme movf tmr0, w ; chargement valeur du compteur dans W movwf maDuree ; sauvegarde w
35/43
& Fonctionnement
9 0ecture / (odi6ication / +criture
bsf PORTA, 1 ; envoyer niveau 1 sur RA1 clrf PORTA ; sortie port A 0 btfss PORTB, 3 ; test RA3
& Con6i:uration
9 -e:istre *-I)A/P/C/, D15entreX I5sortieE
bcf TRISA, 2 ; bit 2 de TRISA = 0 (sortie)
3"/43
/*#/CK et -C"/-#/,*
& Fonctionnement
9 (aZtre / esc%a?e 9 *oJenArin:
3!/43
+>emp%e de pro:rammation
& Con6i:uration
9 0e re:istre *#)*A Dre:istre de transmission ` contro% re:isterE 9 0e re:istre -C)*A Dre:istre de rception et d1tatE
3H/43
& *ensions de r6rence DUre6A et Ure6LE & [chanti%%onna:e sur 1I bits D1I$4 ?a%GE & (/# D! canau> d1entreE )e r6rer = %a doc pour %a con6i:urationVE
4I/43
41/43
& I))
Implementation Phase
Implementation Phase
Verification Phase
,e?e%opment processor
,ebu::er/ I))
+mu%ator
9 2i?es us contro% o?er time 9 set breaJpointsF %ooJ at re:ister ?a%uesF set ?a%uesF stepAbyAstep e>ecutionF GGG 9 PutF doesn1t interact Qith rea% en?ironment
+>terna% too%s
9 -uns in rea% en?ironmentF at speed or near 9 )upports some contro%%abi%ity 6rom the PC
4$/43
Pib%io:raphie
& (icrochip
9 ,ata )heet du PIC 1 F!"> 9 )imu%ateur (P0AP