LA PROGRAMMATION DES PICS PAR BIGONOFF PREMIERE PARTIE DEMARRER LES PICS AVEC L
LA PROGRAMMATION DES PICS PAR BIGONOFF PREMIERE PARTIE DEMARRER LES PICS AVEC LE PIC16F84 Révision 22 2 3 RÉVISION 22........................................................................................................................................................ 1 1. INTRODUCTION............................................................................................................................................. 9 2. LES SYSTÈMES DE NUMÉROTATION ................................................................................................... 11 2.1 LE SYSTÈME DÉCIMAL.................................................................................................................................. 11 2.2 LE SYSTÈME BINAIRE ................................................................................................................................... 11 2.3 LE SYSTÈME HEXADÉCIMAL......................................................................................................................... 12 2.4 LES OPÉRATIONS.......................................................................................................................................... 14 2.5 LES NOMBRES SIGNÉS .................................................................................................................................. 14 2.6 LES OPÉRATIONS BOOLÉENNES. ................................................................................................................... 15 2.6.1 Le complément ..................................................................................................................................... 15 2.6.2 La fonction « ET » ou « AND »............................................................................................................ 16 2.6.3 La fonction « OU » ou « OR » ............................................................................................................. 16 2.6.4 La fonction « OU EXCLUSIF » ou « Exclusif OR » ou « XOR »........................................................ 17 3. COMPOSITION ET FONCTIONNEMENT DES PICS ............................................................................ 19 3.1 QU’EST-CE QU’UN PIC ?.............................................................................................................................. 19 3.2 LES DIFFÉRENTES FAMILLES DES PICS......................................................................................................... 20 3.3 IDENTIFICATION D’UN PIC........................................................................................................................... 20 3.4 ORGANISATION DU 16F84............................................................................................................................ 21 3.4.1 La mémoire programme....................................................................................................................... 21 3.4.2 La mémoire Eeprom............................................................................................................................. 22 3.4.3 La mémoire Ram .................................................................................................................................. 22 4. ORGANISATION DES INSTRUCTIONS................................................................................................... 23 4.1 GÉNÉRALITÉS .............................................................................................................................................. 23 4.2 LES TYPES D’INSTRUCTIONS......................................................................................................................... 23 4.2.1 Les instructions « orientées octet »...................................................................................................... 23 4.2.2 Les instructions « orientées bits »........................................................................................................ 23 4.2.3 Les instructions générales.................................................................................................................... 24 4.2.4 Les sauts et appels de sous-routines..................................................................................................... 24 4.3 PANORAMIQUE DES INSTRUCTIONS.............................................................................................................. 25 4.4 LES INDICATEURS D’ÉTAT............................................................................................................................ 26 4.4.1 L’indicateur d’état « Z » ...................................................................................................................... 27 4.4.2 L’indicateur d’état « C »...................................................................................................................... 27 5. LES DÉBUTS AVEC MPLAB ...................................................................................................................... 29 5.1 PRÉPARATION À L’UTILISATION................................................................................................................... 29 5.2 CRÉATION DE NOTRE PREMIER PROJET......................................................................................................... 29 6. ORGANISATION D’UN FICHIER « .ASM » ............................................................................................. 37 6.1 LES COMMENTAIRES .................................................................................................................................... 37 6.2 LES DIRECTIVES........................................................................................................................................... 37 6.3 LES FICHIERS « INCLUDE » ........................................................................................................................... 37 6.4 LA DIRECTIVE _CONFIG............................................................................................................................. 38 6.5 LES ASSIGNATIONS ...................................................................................................................................... 39 6.6 LES DÉFINITIONS.......................................................................................................................................... 39 6.7 LES MACROS ................................................................................................................................................ 40 6.8 LA ZONE DES VARIABLES ............................................................................................................................. 40 6.9 LES ÉTIQUETTES........................................................................................................................................... 41 6.10 LA DIRECTIVE « ORG »............................................................................................................................. 41 6.11 LA DIRECTIVE « END » ............................................................................................................................. 42 7. RÉALISATION D’UN PROGRAMME ....................................................................................................... 43 7.1 CRÉATION DE NOTRE PREMIER PROGRAMME................................................................................................ 43 7.2 L’ASSEMBLAGE D’UN PROGRAMME ............................................................................................................. 44 4 8. LA SIMULATION D’UN PROGRAMME................................................................................................... 47 8.1 LANCEMENT ET PARAMÉTRAGE DU SIMULATEUR......................................................................................... 47 8.2 EXPLICATION DES REGISTRES FONDAMENTAUX........................................................................................... 49 8.2.1 Les registres « PCL » et « PCLATH » ................................................................................................. 49 8.2.2 Le registre « W ».................................................................................................................................. 50 8.2.3 Le registre « STATUS »........................................................................................................................ 50 8.3 LANCEMENT DE LA SIMULATION.................................................................................................................. 51 9. LE JEU D’INSTRUCTIONS ......................................................................................................................... 57 9.1 L’INSTRUCTION « GOTO » (ALLER À)......................................................................................................... 57 9.2 L’INSTRUCTION « INCF » (INCREMENT FILE) ............................................................................................ 58 9.3 L’INSTRUCTION « DECF » (DECREMENT FILE).......................................................................................... 59 9.4 L’INSTRUCTION « MOVLW » (MOVE LITERAL TO W) .............................................................................. 59 9.5 L’INSTRUCTION « MOVF » (MOVE FILE)................................................................................................... 59 9.6 L’INSTRUCTION « MOVWF » (MOVE W TO FILE)........................................................................................ 61 9.7 L’INSTRUCTION « ADDLW » (ADD LITERAL AND W)............................................................................... 61 9.8 L’INSTRUCTION « ADDWF » (ADD W AND F) .......................................................................................... 61 9.9 L’INSTRUCTION « SUBLW » (SUBTRACT W FROM LITERAL) .................................................................... 62 9.10 L’INSTRUCTION « SUBWF » (SUBTRACT W FROM F).............................................................................. 64 9.11 L’INSTRUCTION « ANDLW » (AND LITERAL WITH W) ........................................................................... 64 9.12 L’INSTRUCTION « ANDWF » (AND W WITH F)....................................................................................... 65 9.13 L’INSTRUCTION « IORLW » (INCLUSIVE OR LITERAL WITH W)............................................................... 65 9.14 L’INSTRUCTION « IORWF » (INCLUSIVE OR W WITH FILE) ..................................................................... 66 9.15 L’INSTRUCTION « XORLW » (EXCLUSIVE OR LITERAL WITH W)........................................................... 66 9.16 L’INSTRUCTION « XORWF » (EXCLUSIVE OR W WITH F) ....................................................................... 67 9.17 L’INSTRUCTION « BSF » (BIT SET F)......................................................................................................... 67 9.18 L’INSTRUCTION « BCF » (BIT CLEAR F) ................................................................................................... 68 9.19 L’INSTRUCTION « RLF » ( ROTATE LEFT THROUGH CARRY) .................................................................... 68 9.20 L’INSTRUCTION « RRF » ( ROTATE RIGHT THROUGH CARRY).................................................................. 69 9.21 L’INSTRUCTION « BTFSC » (BIT TEST F, SKIP IF CLEAR)......................................................................... 70 9.22 L’INSTRUCTION « BTFSS » (BIT TEST F, SKIP IF SET) .............................................................................. 71 9.23 L’INSTRUCTION « DECFSZ » (DECREMENT F, SKIP IF Z) ........................................................................ 72 9.24 L’INSTRUCTION « INCFSZ » (INCREMENT F, SKIP IF ZERO) .................................................................... 73 9.25 L’INSTRUCTION « SWAPF » (SWAP NIBBLES IN F).................................................................................. 73 9.26 L’INSTRUCTION « CALL » (CALL SUBROUTINE) ..................................................................................... 73 9.27 L’INSTRUCTION « RETURN » (RETURN FROM SUBROUTINE)................................................................. 74 9.28 L’INSTRUCTION « RETLW » (RETURN WITH LITERAL IN W)................................................................... 77 9.29 L’INSTRUCTION « RETFIE » (RETURN FROM INTERRUPT) ...................................................................... 77 9.30 L’INSTRUCTION « CLRF » (CLEAR F) ...................................................................................................... 78 9.31 L’INSTRUCTION « CLRW » (CLEAR W)................................................................................................... 78 9.32 L’INSTRUCTION « CLRWDT » (CLEAR WATCHDOG).............................................................................. 78 9.33 L’INSTRUCTION « COMF » (COMPLEMENT F) ......................................................................................... 79 9.34 L’INSTRUCTION « SLEEP » (MISE EN SOMMEIL)....................................................................................... 79 9. 35 L’INSTRUCTION « NOP » (NO OPERATION).............................................................................................. 80 9.36 LES INSTRUCTIONS OBSOLÈTES.................................................................................................................. 80 10. LES MODES D’ADRESSAGE.................................................................................................................... 81 10.1 L’ADRESSAGE LITTÉRAL OU IMMÉDIAT...................................................................................................... 81 10.2 L’ADRESSAGE DIRECT................................................................................................................................ 81 10.3 L’ADRESSAGE INDIRECT............................................................................................................................ 81 10.3.1 Les registres FSR et INDF ................................................................................................................. 82 10.4 QUELQUES EXEMPLES................................................................................................................................ 83 11. RÉALISATION D’UN PROGRAMME EMBARQUÉ............................................................................. 85 11.1 LE MATÉRIEL NÉCESSAIRE ......................................................................................................................... 85 11.2 MONTAGE DE LA PLATINE D’ESSAIS........................................................................................................... 85 11.3 CRÉATION DU PROJET ................................................................................................................................ 86 11.4 EDITION DU FICHIER SOURCE ..................................................................................................................... 87 11.5 CHOIX DE LA CONFIGURATION................................................................................................................... 87 11.6 LE REGISTRE OPTION............................................................................................................................... 88 5 11.7 EDITION DU PROGRAMME........................................................................................................................... 90 11.8 LE REGISTRE PORTA ................................................................................................................................ 92 11.8.1 Fonctionnement particulier des PORTS............................................................................................. 93 11.9 LE REGISTRE TRISA.................................................................................................................................. 94 11.10 LES REGISTRES PORTB ET TRISB .......................................................................................................... 95 11.11 EXEMPLE D’APPLICATION ........................................................................................................................ 95 11.12 LA ROUTINE D’INITIALISATION ................................................................................................................ 96 11.13 LES RÉSULTATS DE LA COMPILATION....................................................................................................... 99 11.14 LE PROGRAMME PRINCIPAL.................................................................................................................... 100 11.15 LA SOUS-ROUTINE DE TEMPORISATION .................................................................................................. 100 12. LES INTERRUPTIONS............................................................................................................................. 107 12.1 QU’EST-CE QU’UNE INTERRUPTION ? ...................................................................................................... 107 12.2 MÉCANISME GÉNÉRAL D’UNE INTERRUPTION .......................................................................................... 107 12.3 MÉCANISME D’INTERRUPTION SUR LES PICS........................................................................................... 108 12.4 LES SOURCES D’INTERRUPTIONS DU 16F84.............................................................................................. 110 12.5 LES DISPOSITIFS MIS EN ŒUVRE ............................................................................................................... 110 12.6 LE REGISTRE INTCON (INTERRUPT CONTROL) .................................................................................... 112 12.7 SAUVEGARDE ET RESTAURATION DE L’ENVIRONNEMENT ........................................................................ 113 12.7.1 Les registres à sauvegarder ............................................................................................................. 114 12.7.2 La méthode de sauvegarde............................................................................................................... 114 12.7.3 Particularité de l’instruction « RETFIE » ....................................................................................... 116 12.8 UTILISATION D’UNE ROUTINE D’INTERRUPTION....................................................................................... 117 12.9 ANALYSE DE LA ROUTINE D’INTERRUPTION............................................................................................. 119 12.10 ADAPTATION DE LA ROUTINE D’INTERRUPTION ..................................................................................... 122 12.11 L’INITIALISATION .................................................................................................................................. 123 12.12 CONSTRUCTION DU PROGRAMME PRINCIPAL.......................................................................................... 124 12.13 CONSTRUCTION DE LA ROUTINE D’INTERRUPTION ................................................................................. 125 12.14 PASSAGE AU SIMULATEUR D’UNE ROUTINE D’INTERRUPTION ................................................................ 126 12.15 PREMIÈRE CORRECTION : RESET DU FLAG............................................................................................. 129 12.16 SE METTRE À L’ÉCHELLE DE TEMPS DU PIC ........................................................................................... 130 12.17 LE PROBLÈME DE L’ANTI-REBOND ......................................................................................................... 130 12.18 FINALISATION DU PROGRAMME ............................................................................................................. 131 12.19 REMARQUES IMPORTANTES ................................................................................................................... 134 12.20 CONCLUSIONS........................................................................................................................................ 135 13. LE TIMER 0................................................................................................................................................ 136 13.1 LES DIFFÉRENTS MODES DE FONCTIONNEMENT........................................................................................ 136 13.2 LE REGISTRE TMR0................................................................................................................................... 136 13.3 LES MÉTHODES D’UTILISATION DU TIMER0 ............................................................................................. 136 13.3.1 Le mode de lecture simple................................................................................................................ 137 13.3.2 Le mode de scrutation du flag.......................................................................................................... 137 13.3.3 Le mode d’interruption .................................................................................................................... 138 13.3.4 Les méthodes combinées .................................................................................................................. 138 13.4 LE PRÉDIVISEUR....................................................................................................................................... 138 13.5 APPLICATION PRATIQUE DU TIMER0......................................................................................................... 140 13.5.1 Préparations..................................................................................................................................... 140 13.5.2 L’initialisation.................................................................................................................................. 141 13.5.3 La routine d’interruption ................................................................................................................. 142 13.6 MODIFICATION DES REGISTRES DANS LE SIMULATEUR............................................................................. 143 13.7 MISE EN PLACE SUR LA PLATINE D’ESSAIS ............................................................................................... 144 13.8 PREMIÈRE AMÉLIORATION DE LA PRÉCISION............................................................................................ 145 13.9 SECONDE AMÉLIORATION DE LA PRÉCISION............................................................................................. 145 13.10 LA BONNE MÉTHODE - ADAPTATION DE L’HORLOGE ............................................................................ 146 13.11 LA MÉTHODE DE LUXE : LA DOUBLE HORLOGE...................................................................................... 147 13.12 EXEMPLE D’UTILISATION DE 2 INTERRUPTIONS ..................................................................................... 147 13.13 CONCLUSION.......................................................................................................................................... 148 14. LES ACCÈS EN MÉMOIRE « EEPROM » ............................................................................................ 149 14.1 TAILLE ET LOCALISATION DE LA MÉMOIRE « EEPROM »........................................................................... 149 6 14.2 PRÉPARATION DU PROGRAMME................................................................................................................ 149 14.3 INITIALISATION DE LA ZONE EEPROM....................................................................................................... 151 14.4 LE REGISTRE EEDATA ........................................................................................................................... 152 14.5 LE REGISTRE EEADR .............................................................................................................................. 153 14.6 LE REGISTRE EECON1 ............................................................................................................................ 153 14.7 LE REGISTRE EECON2 ............................................................................................................................ 154 14.8 ACCÈS EN LECTURE DANS LA MÉMOIRE « EEPROM »................................................................................ 154 14.9 L’ACCÈS EN ÉCRITURE À LA ZONE EEPROM .............................................................................................. 155 14.10 UTILISATION PRATIQUE DE LA MÉMOIRE « EEPROM »............................................................................ 157 14.11 SÉCURISATION DES ACCÈS EN MÉMOIRE « EEPROM »............................................................................. 160 14.12 CONCLUSION.......................................................................................................................................... 160 15. LE WATCHDOG........................................................................................................................................ 161 15.1 LE PRINCIPE DE FONCTIONNEMENT .......................................................................................................... 161 15.2 LE PRÉDIVISEUR ET LE WATCHDOG.......................................................................................................... 161 15.3 LES RÔLES DU WATCHDOG....................................................................................................................... 162 15.4 UTILISATION CORRECTE DU WATCHDOG.................................................................................................. 162 15.5 CE QU’IL NE FAUT PAS FAIRE.................................................................................................................... 162 15.6 MESURE DU TEMPS RÉEL DU WATCHDOG ................................................................................................. 163 15.7 SIMULATION DU PLANTAGE D’UN PROGRAMME ....................................................................................... 164 15.7.1 Correction avec utilisation du watchdog ......................................................................................... 165 15.8 CHOIX DE LA VALEUR DU PRÉDIVISEUR ................................................................................................... 166 15.9 TEMPS TYPIQUE, MINIMAL, ET MAXIMUM................................................................................................ 167 15.10 CONCLUSION.......................................................................................................................................... 167 16. LE MODE SLEEP ...................................................................................................................................... 169 16.1 PRINCIPE DE FONCTIONNEMENT............................................................................................................... 169 16.2 LA SORTIE DU MODE « SLEEP » ................................................................................................................ 169 16.3 RÉVEIL AVEC GIE HORS SERVICE. ........................................................................................................... 170 16.4 RÉVEIL AVEC GIE EN SERVICE................................................................................................................. 170 16.5 MISE EN SOMMEIL IMPOSSIBLE ................................................................................................................ 170 16.6 UTILISATION DU MODE « SLEEP » ............................................................................................................ 171 REMARQUE...................................................................................................................................................... 171 16.7 CAS TYPIQUES D’UTILISATION ................................................................................................................. 172 16.7 POUR UNE CONSOMMATION MINIMALE .................................................................................................... 172 16.8 CONCLUSION............................................................................................................................................ 172 17. LE RESTE DU DATASHEET................................................................................................................... 173 17.1 LA STRUCTURE INTERNE.......................................................................................................................... 173 17.2 LA SÉQUENCE DE DÉCODAGE ................................................................................................................... 173 17.3 ORGANISATION DE LA MÉMOIRE .............................................................................................................. 173 17.4 LES REGISTRES SPÉCIAUX ........................................................................................................................ 174 17.5 L’ÉLECTRONIQUE DES PORTS ................................................................................................................... 174 17.6 LE REGISTRE DE CONFIGURATION ............................................................................................................ 174 17.7 LES DIFFÉRENTS TYPES D’OSCILLATEURS ................................................................................................ 175 17.7.1 La précision de l’oscillateur ............................................................................................................ 176 uploads/Management/ la-programmation-des-pic-bigonoff.pdf
Documents similaires
-
11
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 28, 2022
- Catégorie Management
- Langue French
- Taille du fichier 1.0832MB