30.07.2015 Views

La programmation des PICs - Seconde partie

La programmation des PICs - Seconde partie

La programmation des PICs - Seconde partie

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>La</strong> première opération (ADRESSE & 0x7FF) permet de conserver l’adresse codée sur 11bits, tandis que la seconde ( | PICI ) ajoute en fait l’adresse de base de la page courante.Il ne reste plus qu’à modifier notre programme principal.org 0x000saut1nopnopGOTOX saut2; Adresse de départ après reset; ne rien faire; ne rien faire; sauterorg 0x850 ; adresse de la suite du programmesaut2nop; ne rien fairenop; ne rien faireGOTOX saut1 ; sauter en page 0END; directive fin de programmeCompilez le tout : plus de warning. Exécutez : tout ce passe sans problème. Allez jeter unœil sur le code obtenu à l’aide de cette macro dans la fenêtre « window-> program memory ».Amusez-vous également à modifier les directives « org » pour essayer toutes sortes decombinaisons de pages. Vous verrez qu’à chaque fois MPASM compile correctement votreprogramme. Plus de warning, plus de soucis.Il ne vous reste plus qu’une chose à retenir : en cas de warning concernant les sauts depage, remplacez l’instruction « goto » par la macro « GOTOX » pour les lignes concernées, etle problème sera automatiquement résolu. N’est-ce pas utile, les macros ?Attention, ne tombez cependant pas dans le piège grossier suivant. Par exemple, neremplacez pas :btfss STATUS , Zgoto plusloinparbtfss STATUS , ZGOTOX plusloinPourquoi ? Tout simplement parce que btfss permet de sauter l’instruction suivante, et queGOTOX est une macro qui contient 3 instructions. Donc, le test ne fonctionnerait pas.En effet, ce ne serait pas goto qui suivrait btfss, mais bsf ou bcf PCLATH,3. Il vous faudradonc, soit exécuter votre test d’une autre façon, soit placer les modifications de PCLATHavant le test.Je vous ai écris 2 macros séparées directement utilisables avec ce genre de configuration. :« PCLAX » (modifie PCLATH) et « GOTSX » (saut simple, sans modification de PCLATH).En fait, PCLAX suivi de GOTSX est l’équivalent de GOTOX.L’avantage est de séparer le saut de l’initialisation de PCLATH.PCLAX macro ADRESSE; positionne PCLATH pour; les sauts sans le sautlocal BIT4 = (ADRESSE & 0x1000) ; voir bit 12local BIT3 = (ADRESSE & 0x0800) ; voir bit 1137

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!