LA PROGRAMMATION DES PIC® PAR BIGONOFF PREMIERE PARTIE – Révision 25 DEMARRER L
LA PROGRAMMATION DES PIC® PAR BIGONOFF PREMIERE PARTIE – Révision 25 DEMARRER LES PIC® AVEC LE PIC16F84 2 1. INTRODUCTION............................................................................................................................................. 9 2. LES SYSTEMES DE NUMERATION ......................................................................................................... 11 2.1 LE SYSTEME DECIMAL.................................................................................................................................. 11 2.2 LE SYSTEME BINAIRE ................................................................................................................................... 11 2.3 LE SYSTEME HEXADECIMAL......................................................................................................................... 12 2.4 LES OPERATIONS.......................................................................................................................................... 14 2.5 LES NOMBRES SIGNES .................................................................................................................................. 14 2.6 LES OPERATIONS BOOLEENNES. ................................................................................................................... 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 PIC®............................................................................ 19 3.1 QU’EST-CE QU’UN PIC® ? ........................................................................................................................... 19 3.2 LES DIFFERENTES FAMILLES DES PIC®........................................................................................................ 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 GENERALITES............................................................................................................................................... 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’ETAT............................................................................................................................ 26 4.4.1 L’indicateur d’état « Z » ...................................................................................................................... 27 4.4.2 L’indicateur d’état « C »...................................................................................................................... 27 5. LES DEBUTS AVEC MPLAB®.................................................................................................................... 29 5.1 PREPARATION A L’UTILISATION ................................................................................................................... 29 5.2 CREATION 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 DEFINITIONS.......................................................................................................................................... 39 6.7 LES MACROS ................................................................................................................................................ 40 6.8 LA ZONE DES VARIABLES ............................................................................................................................. 40 6.9 LES ETIQUETTES........................................................................................................................................... 41 6.10 LA DIRECTIVE « ORG » ............................................................................................................................. 41 6.11 LA DIRECTIVE « END ».............................................................................................................................. 42 7. REALISATION D’UN PROGRAMME ....................................................................................................... 43 7.1 CREATION DE NOTRE PREMIER PROGRAMME................................................................................................ 43 7.2 L’ASSEMBLAGE D’UN PROGRAMME.............................................................................................................. 44 8. LA SIMULATION D’UN PROGRAMME................................................................................................... 47 8.1 LANCEMENT ET PARAMETRAGE DU SIMULATEUR......................................................................................... 47 3 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 OBSOLETES.................................................................................................................. 80 10. LES MODES D’ADRESSAGE.................................................................................................................... 81 10.1 L’ADRESSAGE LITTERAL OU IMMEDIAT...................................................................................................... 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. REALISATION D’UN PROGRAMME EMBARQUE............................................................................. 85 11.1 LE MATERIEL NECESSAIRE ......................................................................................................................... 85 11.2 MONTAGE DE LA PLATINE D’ESSAIS........................................................................................................... 85 11.3 CREATION DU PROJET................................................................................................................................. 86 11.4 EDITION DU FICHIER SOURCE ..................................................................................................................... 87 11.5 CHOIX DE LA CONFIGURATION ................................................................................................................... 87 11.6 LE REGISTRE OPTION............................................................................................................................... 88 11.7 EDITION DU PROGRAMME........................................................................................................................... 90 11.8 LE REGISTRE PORTA................................................................................................................................. 92 4 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 RESULTATS 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 MECANISME GENERAL D’UNE INTERRUPTION .......................................................................................... 107 12.3 MECANISME D’INTERRUPTION SUR LES PIC®.......................................................................................... 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 ........................................................................ 114 12.7.1 Les registres à sauvegarder ............................................................................................................. 114 12.7.2 La méthode de sauvegarde............................................................................................................... 114 12.7.3 La méthode de restauration.............................................................................................................. 115 12.7.4 OPERATIONS SUR LE REGISTRE STATUS.............................................................................................. 117 12.7.5Particularité de l’instruction « RETFIE »......................................................................................... 118 12.8 UTILISATION D’UNE ROUTINE D’INTERRUPTION....................................................................................... 118 12.9 ANALYSE DE LA ROUTINE D’INTERRUPTION............................................................................................. 121 12.10 ADAPTATION DE LA ROUTINE D’INTERRUPTION ..................................................................................... 123 12.11 L’INITIALISATION................................................................................................................................... 125 12.12 CONSTRUCTION DU PROGRAMME PRINCIPAL.......................................................................................... 126 12.13 CONSTRUCTION DE LA ROUTINE D’INTERRUPTION ................................................................................. 127 12.14 PASSAGE AU SIMULATEUR D’UNE ROUTINE D’INTERRUPTION ................................................................ 128 12.15 PREMIERE CORRECTION : RESET DU FLAG.............................................................................................. 131 12.16 SE METTRE A L’ECHELLE DE TEMPS DU PIC® ........................................................................................ 132 12.17 LE PROBLEME DE L’ANTI-REBOND.......................................................................................................... 132 12.18 FINALISATION DU PROGRAMME.............................................................................................................. 133 12.19 REMARQUES IMPORTANTES.................................................................................................................... 136 12.20 CONCLUSIONS........................................................................................................................................ 137 13. LE TIMER 0................................................................................................................................................ 139 13.1 LES DIFFERENTS MODES DE FONCTIONNEMENT........................................................................................ 139 13.2 LE REGISTRE TMR0................................................................................................................................... 139 13.3 LES METHODES D’UTILISATION DU TIMER0 ............................................................................................. 139 13.3.1 Le mode de lecture simple................................................................................................................ 140 13.3.2 Le mode de scrutation du flag.......................................................................................................... 140 13.3.3 Le mode d’interruption..................................................................................................................... 141 13.3.4 Les méthodes combinées .................................................................................................................. 141 13.4 LE PREDIVISEUR....................................................................................................................................... 141 13.5 APPLICATION PRATIQUE DU TIMER0......................................................................................................... 143 13.5.1 Préparations..................................................................................................................................... 143 13.5.2 L’initialisation.................................................................................................................................. 144 13.5.3 La routine d’interruption ................................................................................................................. 145 13.6 MODIFICATION DES REGISTRES DANS LE SIMULATEUR............................................................................. 146 13.7 MISE EN PLACE SUR LA PLATINE D’ESSAIS................................................................................................ 147 13.8 PREMIERE AMELIORATION DE LA PRECISION ............................................................................................ 147 13.9 SECONDE AMELIORATION DE LA PRECISION ............................................................................................. 148 13.10 LA BONNE METHODE - ADAPTATION DE L’HORLOGE............................................................................. 148 13.11 LA METHODE DE LUXE : LA DOUBLE HORLOGE ...................................................................................... 149 13.12 EXEMPLE D’UTILISATION DE 2 INTERRUPTIONS...................................................................................... 149 13.13 CONCLUSION.......................................................................................................................................... 151 14. LES ACCES EN MEMOIRE « EEPROM » ............................................................................................ 153 14.1 TAILLE ET LOCALISATION DE LA MEMOIRE « EEPROM »........................................................................... 153 5 14.2 PREPARATION DU PROGRAMME................................................................................................................ 153 14.3 INITIALISATION DE LA ZONE EEPROM ....................................................................................................... 155 14.4 LE REGISTRE EEDATA............................................................................................................................ 156 14.5 LE REGISTRE EEADR .............................................................................................................................. 157 14.6 LE REGISTRE EECON1 ............................................................................................................................ 157 14.7 LE REGISTRE EECON2 ............................................................................................................................ 158 14.8 ACCES EN LECTURE DANS LA MEMOIRE « EEPROM »................................................................................ 158 14.9 L’ACCES EN ECRITURE A LA ZONE EEPROM .............................................................................................. 159 14.10 UTILISATION PRATIQUE DE LA MEMOIRE « EEPROM » ............................................................................ 161 14.11 SECURISATION DES ACCES EN MEMOIRE « EEPROM »............................................................................. 164 14.12 CONCLUSION.......................................................................................................................................... 164 15. LE WATCHDOG........................................................................................................................................ 165 15.1 LE PRINCIPE DE FONCTIONNEMENT .......................................................................................................... 165 15.2 LE PREDIVISEUR ET LE WATCHDOG .......................................................................................................... 165 15.3 LES ROLES DU WATCHDOG....................................................................................................................... 166 15.4 UTILISATION CORRECTE DU WATCHDOG .................................................................................................. 167 15.5 CE QU’IL NE FAUT PAS FAIRE.................................................................................................................... 168 15.6 MESURE DU TEMPS REEL DU WATCHDOG ................................................................................................. 168 15.7 SIMULATION DU PLANTAGE D’UN PROGRAMME ....................................................................................... 170 15.7.1 Correction avec utilisation du watchdog ......................................................................................... 170 15.8 CHOIX DE LA VALEUR DU PREDIVISEUR.................................................................................................... 171 15.9 TEMPS TYPIQUE, MINIMAL, ET MAXIMUM................................................................................................. 172 15.10 CONCLUSION.......................................................................................................................................... 172 16. LE MODE SLEEP ...................................................................................................................................... 173 16.1 PRINCIPE DE FONCTIONNEMENT............................................................................................................... 173 16.2 LA SORTIE DU MODE « SLEEP » ................................................................................................................ 173 16.3 REVEIL AVEC GIE HORS SERVICE............................................................................................................. 174 16.4 REVEIL AVEC GIE EN SERVICE................................................................................................................. 174 16.5 MISE EN SOMMEIL IMPOSSIBLE................................................................................................................. 174 16.6 UTILISATION DU MODE « SLEEP »............................................................................................................. 175 REMARQUE...................................................................................................................................................... 175 16.7 CAS TYPIQUES D’UTILISATION.................................................................................................................. 176 16.7 POUR UNE CONSOMMATION MINIMALE .................................................................................................... 176 16.8 CONCLUSION............................................................................................................................................ 176 17. LE RESTE DU DATASHEET................................................................................................................... 177 17.1 LA STRUCTURE INTERNE .......................................................................................................................... 177 17.2 LA SEQUENCE DE DECODAGE ................................................................................................................... 177 17.3 ORGANISATION DE LA MEMOIRE .............................................................................................................. 177 17.4 LES REGISTRES SPECIAUX......................................................................................................................... 178 17.5 L’ELECTRONIQUE DES PORTS ................................................................................................................... 178 17.6 LE REGISTRE DE CONFIGURATION ............................................................................................................ 178 17.7 LES DIFFERENTS TYPES D’OSCILLATEURS................................................................................................. 179 17.7.1 La précision de l’oscillateur ............................................................................................................ 180 17.8 LE RESET.................................................................................................................................................. 181 17.9 LA MISE SOUS TENSION ............................................................................................................................ uploads/Geographie/ cours-bigonoff.pdf
Documents similaires










-
60
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Dec 26, 2021
- Catégorie Geography / Geogra...
- Langue French
- Taille du fichier 1.2480MB