LA PROGRAMMATION DES PIC® PAR BIGONOFF PREMIERE PARTIE – Révision 32 DEMARRER L
LA PROGRAMMATION DES PIC® PAR BIGONOFF PREMIERE PARTIE – Révision 32 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......................................................................................................................... 13 2.4 LES OPERATIONS.......................................................................................................................................... 14 2.5 LES NOMBRES SIGNES .................................................................................................................................. 15 2.6 LES OPERATIONS BOOLEENNES. ................................................................................................................... 16 2.6.1 Le complément ..................................................................................................................................... 16 2.6.2 La fonction « ET » ou « AND »............................................................................................................ 16 2.6.3 La fonction « OU » ou « OR » ............................................................................................................. 17 2.6.4 La fonction « OU EXCLUSIF » ou « Exclusif OR » ou « XOR »........................................................ 18 2.7 UN MOT SUR LES UNITES .............................................................................................................................. 18 3. COMPOSITION ET FONCTIONNEMENT DES PIC®............................................................................ 21 3.1 QU’EST-CE QU’UN PIC® ? ........................................................................................................................... 21 3.2 LES DIFFERENTES FAMILLES DES PIC®........................................................................................................ 22 3.3 IDENTIFICATION D’UN PIC®........................................................................................................................ 22 3.4 ORGANISATION DU 16F84............................................................................................................................ 23 3.4.1 La mémoire programme....................................................................................................................... 23 3.4.2 La mémoire Eeprom............................................................................................................................. 24 3.4.3 La mémoire Ram .................................................................................................................................. 24 4. ORGANISATION DES INSTRUCTIONS................................................................................................... 25 4.1 GENERALITES............................................................................................................................................... 25 4.2 LES TYPES D’INSTRUCTIONS......................................................................................................................... 25 4.2.1 Les instructions « orientées octet »...................................................................................................... 25 4.2.2 Les instructions « orientées bits »........................................................................................................ 25 4.2.3 Les instructions générales.................................................................................................................... 26 4.2.4 Les sauts et appels de sous-routines..................................................................................................... 26 4.3 PANORAMIQUE DES INSTRUCTIONS .............................................................................................................. 26 4.4 LES INDICATEURS D’ETAT............................................................................................................................ 28 4.4.1 L’indicateur d’état « Z » ...................................................................................................................... 28 4.4.2 L’indicateur d’état « C »...................................................................................................................... 29 5. LES DEBUTS AVEC MPLAB®.................................................................................................................... 31 5.1 PREPARATION A L’UTILISATION ................................................................................................................... 31 5.2 CREATION DE NOTRE PREMIER PROJET......................................................................................................... 31 6. ORGANISATION D’UN FICHIER « .ASM » ............................................................................................. 39 6.1 LES COMMENTAIRES .................................................................................................................................... 39 6.2 LES DIRECTIVES ........................................................................................................................................... 39 6.3 LES FICHIERS « INCLUDE » ........................................................................................................................... 39 6.4 LA DIRECTIVE _CONFIG............................................................................................................................. 40 6.5 LES ASSIGNATIONS....................................................................................................................................... 41 6.6 LES DEFINITIONS.......................................................................................................................................... 41 6.7 LES MACROS ................................................................................................................................................ 42 6.8 LA ZONE DES VARIABLES ............................................................................................................................. 42 6.9 LES ETIQUETTES........................................................................................................................................... 43 6.10 LA DIRECTIVE « ORG » ............................................................................................................................. 43 6.11 LA DIRECTIVE « END » ET LA FIN D’UN PROGRAMME................................................................................ 44 7. REALISATION D’UN PROGRAMME ....................................................................................................... 45 7.1 CREATION DE NOTRE PREMIER PROGRAMME................................................................................................ 45 7.2 L’ASSEMBLAGE D’UN PROGRAMME.............................................................................................................. 46 8. LA SIMULATION D’UN PROGRAMME................................................................................................... 49 3 8.1 LANCEMENT ET PARAMETRAGE DU SIMULATEUR......................................................................................... 49 8.2 EXPLICATION DES REGISTRES FONDAMENTAUX........................................................................................... 51 8.2.1 Les registres « PCL » et « PCLATH » ................................................................................................. 51 8.2.2 Le registre « W ».................................................................................................................................. 52 8.2.3 Le registre « STATUS »........................................................................................................................ 52 8.3 LANCEMENT DE LA SIMULATION.................................................................................................................. 53 9. LE JEU D’INSTRUCTIONS ......................................................................................................................... 59 9.1 L’INSTRUCTION « GOTO » (ALLER À) ......................................................................................................... 59 9.2 L’INSTRUCTION « INCF » (INCREMENT FILE)............................................................................................. 60 9.3 L’INSTRUCTION « DECF » (DECREMENT FILE).......................................................................................... 61 9.4 L’INSTRUCTION « MOVLW » (MOVE LITERAL TO W)............................................................................... 61 9.5 L’INSTRUCTION « MOVF » (MOVE FILE)................................................................................................... 61 9.6 L’INSTRUCTION « MOVWF » (MOVE W TO FILE)...................................................................................... 63 9.7 L’INSTRUCTION « ADDLW » (ADD LITERAL AND W)................................................................................ 63 9.8 L’INSTRUCTION « ADDWF » (ADD W AND F) ........................................................................................... 63 9.9 L’INSTRUCTION « SUBLW » (SUBTRACT W FROM LITERAL)..................................................................... 64 9.10 L’INSTRUCTION « SUBWF » (SUBTRACT W FROM F) .............................................................................. 66 9.11 L’INSTRUCTION « ANDLW » (AND LITERAL WITH W)............................................................................ 66 9.12 L’INSTRUCTION « ANDWF » (AND W WITH F)........................................................................................ 67 9.13 L’INSTRUCTION « IORLW » (INCLUSIVE OR LITERAL WITH W) ............................................................... 67 9.14 L’INSTRUCTION « IORWF » (INCLUSIVE OR W WITH FILE)...................................................................... 68 9.15 L’INSTRUCTION « XORLW » (EXCLUSIVE OR LITERAL WITH W)............................................................ 68 9.16 L’INSTRUCTION « XORWF » (EXCLUSIVE OR W WITH F) ........................................................................ 69 9.17 L’INSTRUCTION « BSF » (BIT SET F)......................................................................................................... 69 9.18 L’INSTRUCTION « BCF » (BIT CLEAR F).................................................................................................... 70 9.19 L’INSTRUCTION « RLF » ( ROTATE LEFT THROUGH CARRY)..................................................................... 70 9.20 L’INSTRUCTION « RRF » ( ROTATE RIGHT THROUGH CARRY)................................................................... 71 9.21 L’INSTRUCTION « BTFSC » (BIT TEST F, SKIP IF CLEAR).......................................................................... 72 9.22 L’INSTRUCTION « BTFSS » (BIT TEST F, SKIP IF SET)............................................................................... 73 9.23 L’INSTRUCTION « DECFSZ » (DECREMENT F, SKIP IF Z)......................................................................... 74 9.24 L’INSTRUCTION « INCFSZ » (INCREMENT F, SKIP IF ZERO)..................................................................... 75 9.25 L’INSTRUCTION « SWAPF » (SWAP NIBBLES IN F) .................................................................................. 75 9.26 L’INSTRUCTION « CALL » (CALL SUBROUTINE)...................................................................................... 75 9.27 L’INSTRUCTION « RETURN » (RETURN FROM SUBROUTINE) ................................................................. 76 9.28 L’INSTRUCTION « RETLW » (RETURN WITH LITERAL IN W) ................................................................... 79 9.29 L’INSTRUCTION « RETFIE » (RETURN FROM INTERRUPT)....................................................................... 79 9.30 L’INSTRUCTION « CLRF » (CLEAR F)....................................................................................................... 80 9.31 L’INSTRUCTION « CLRW » (CLEAR W).................................................................................................... 80 9.32 L’INSTRUCTION « CLRWDT » (CLEAR WATCHDOG) .............................................................................. 80 9.33 L’INSTRUCTION « COMF » (COMPLEMENT F).......................................................................................... 81 9.34 L’INSTRUCTION « SLEEP » (MISE EN SOMMEIL) ....................................................................................... 81 9. 35 L’INSTRUCTION « NOP » (NO OPERATION) .............................................................................................. 82 9.36 LES INSTRUCTIONS OBSOLETES.................................................................................................................. 82 10. LES MODES D’ADRESSAGE.................................................................................................................... 83 10.1 L’ADRESSAGE LITTERAL OU IMMEDIAT...................................................................................................... 83 10.2 L’ADRESSAGE DIRECT................................................................................................................................ 83 10.3 L’ADRESSAGE INDIRECT............................................................................................................................ 83 10.3.1 Les registres FSR et INDF ................................................................................................................. 84 10.4 QUELQUES EXEMPLES ................................................................................................................................ 85 11. REALISATION D’UN PROGRAMME EMBARQUE............................................................................. 87 11.1 LE MATERIEL NECESSAIRE ......................................................................................................................... 87 11.2 MONTAGE DE LA PLATINE D’ESSAIS........................................................................................................... 87 11.3 CREATION DU PROJET................................................................................................................................. 88 11.4 EDITION DU FICHIER SOURCE ..................................................................................................................... 89 11.5 CHOIX DE LA CONFIGURATION ................................................................................................................... 89 11.6 LE REGISTRE OPTION............................................................................................................................... 90 11.7 EDITION DU PROGRAMME........................................................................................................................... 92 4 11.8 LE REGISTRE PORTA................................................................................................................................. 94 11.8.1 Fonctionnement particulier des PORTS............................................................................................. 95 11.9 LE REGISTRE TRISA.................................................................................................................................. 96 11.10 LES REGISTRES PORTB ET TRISB........................................................................................................... 97 11.11 EXEMPLE D’APPLICATION ........................................................................................................................ 97 11.12 LA ROUTINE D’INITIALISATION................................................................................................................. 98 11.13 LES RESULTATS DE LA COMPILATION ..................................................................................................... 101 11.14 LE PROGRAMME PRINCIPAL.................................................................................................................... 102 11.15 LA SOUS-ROUTINE DE TEMPORISATION .................................................................................................. 102 12. LES INTERRUPTIONS............................................................................................................................. 109 12.1 QU’EST-CE QU’UNE INTERRUPTION ?....................................................................................................... 109 12.2 MECANISME GENERAL D’UNE INTERRUPTION .......................................................................................... 109 12.3 MECANISME D’INTERRUPTION SUR LES PIC®.......................................................................................... 110 12.4 LES SOURCES D’INTERRUPTIONS DU 16F84.............................................................................................. 112 12.5 LES DISPOSITIFS MIS EN ŒUVRE................................................................................................................ 112 12.6 LE REGISTRE INTCON (INTERRUPT CONTROL)..................................................................................... 114 12.7 SAUVEGARDE ET RESTAURATION DE L’ENVIRONNEMENT ........................................................................ 116 12.7.1 Les registres à sauvegarder ............................................................................................................. 116 12.7.2 La méthode de sauvegarde............................................................................................................... 116 12.7.3 La méthode de restauration.............................................................................................................. 117 12.7.4 OPERATIONS SUR LE REGISTRE STATUS.............................................................................................. 119 12.7.5Particularité de l’instruction « RETFIE »......................................................................................... 120 12.8 UTILISATION D’UNE ROUTINE D’INTERRUPTION....................................................................................... 120 12.9 ANALYSE DE LA ROUTINE D’INTERRUPTION............................................................................................. 123 12.10 ADAPTATION DE LA ROUTINE D’INTERRUPTION ..................................................................................... 125 12.11 L’INITIALISATION................................................................................................................................... 127 12.12 CONSTRUCTION DU PROGRAMME PRINCIPAL.......................................................................................... 128 12.13 CONSTRUCTION DE LA ROUTINE D’INTERRUPTION ................................................................................. 129 12.14 PASSAGE AU SIMULATEUR D’UNE ROUTINE D’INTERRUPTION ................................................................ 130 12.15 PREMIERE CORRECTION : RESET DU FLAG.............................................................................................. 133 12.16 SE METTRE A L’ECHELLE DE TEMPS DU PIC® ........................................................................................ 134 12.17 LE PROBLEME DE L’ANTI-REBOND.......................................................................................................... 134 12.18 FINALISATION DU PROGRAMME.............................................................................................................. 135 12.19 REMARQUES IMPORTANTES.................................................................................................................... 138 12.20 CONCLUSIONS........................................................................................................................................ 139 13. LE TIMER 0................................................................................................................................................ 141 13.1 LES DIFFERENTS MODES DE FONCTIONNEMENT........................................................................................ 141 13.2 LE REGISTRE TMR0................................................................................................................................... 141 13.3 LES METHODES D’UTILISATION DU TIMER0 ............................................................................................. 141 13.3.1 Le mode de lecture simple................................................................................................................ 142 13.3.2 Le mode de scrutation du flag.......................................................................................................... 142 13.3.3 Le mode d’interruption..................................................................................................................... 143 13.3.4 Les méthodes combinées .................................................................................................................. 143 13.4 LE PREDIVISEUR....................................................................................................................................... 143 13.5 APPLICATION PRATIQUE DU TIMER0......................................................................................................... 145 13.5.1 Préparations..................................................................................................................................... 145 13.5.2 L’initialisation.................................................................................................................................. 146 13.5.3 La routine d’interruption ................................................................................................................. 147 13.6 MODIFICATION DES REGISTRES DANS LE SIMULATEUR............................................................................. 148 13.7 MISE EN PLACE SUR LA PLATINE D’ESSAIS................................................................................................ 149 13.8 PREMIERE AMELIORATION DE LA PRECISION ............................................................................................ 149 13.9 SECONDE AMELIORATION DE LA PRECISION ............................................................................................. 150 13.10 LA BONNE METHODE - ADAPTATION DE L’HORLOGE............................................................................. 150 13.11 LA METHODE DE LUXE : LA DOUBLE HORLOGE ...................................................................................... 151 13.12 EXEMPLE D’UTILISATION DE 2 INTERRUPTIONS...................................................................................... 151 13.13 CONCLUSION.......................................................................................................................................... 153 14. LES ACCES EN MEMOIRE « EEPROM » ............................................................................................ 155 5 14.1 TAILLE ET LOCALISATION DE LA MEMOIRE « EEPROM »........................................................................... 155 14.2 PREPARATION DU PROGRAMME................................................................................................................ 155 14.3 INITIALISATION DE LA ZONE EEPROM ....................................................................................................... 157 14.4 LE REGISTRE EEDATA............................................................................................................................ 158 14.5 LE REGISTRE EEADR .............................................................................................................................. 159 14.6 LE REGISTRE EECON1 ............................................................................................................................ 159 14.7 LE REGISTRE EECON2 ............................................................................................................................ 160 14.8 ACCES EN LECTURE DANS LA MEMOIRE « EEPROM »................................................................................ 160 14.9 L’ACCES EN ECRITURE A LA ZONE EEPROM .............................................................................................. 161 14.10 UTILISATION PRATIQUE DE LA MEMOIRE « EEPROM » ............................................................................ 163 14.11 SECURISATION DES ACCES EN MEMOIRE « EEPROM »............................................................................. 166 14.12 CONCLUSION.......................................................................................................................................... 166 15. LE WATCHDOG........................................................................................................................................ 167 15.1 LE PRINCIPE DE FONCTIONNEMENT .......................................................................................................... 167 15.2 LE PREDIVISEUR ET LE WATCHDOG .......................................................................................................... 167 15.3 LES ROLES DU WATCHDOG....................................................................................................................... 168 15.4 UTILISATION CORRECTE DU WATCHDOG .................................................................................................. 169 15.5 CE QU’IL NE FAUT PAS FAIRE.................................................................................................................... 170 15.6 MESURE DU TEMPS REEL DU WATCHDOG ................................................................................................. 170 15.7 SIMULATION DU PLANTAGE D’UN PROGRAMME ....................................................................................... 172 15.7.1 Correction avec utilisation du watchdog ......................................................................................... 172 15.8 CHOIX DE LA VALEUR DU PREDIVISEUR.................................................................................................... 173 15.9 TEMPS TYPIQUE, MINIMAL, ET MAXIMUM................................................................................................. 174 15.10 CONCLUSION.......................................................................................................................................... 174 16. LE MODE SLEEP ...................................................................................................................................... 175 16.1 PRINCIPE DE FONCTIONNEMENT............................................................................................................... 175 16.2 LA SORTIE DU MODE « SLEEP » ................................................................................................................ 175 16.3 REVEIL AVEC GIE HORS SERVICE............................................................................................................. 176 16.4 REVEIL AVEC GIE EN SERVICE................................................................................................................. 176 16.5 MISE EN SOMMEIL IMPOSSIBLE................................................................................................................. 176 16.6 UTILISATION DU MODE « SLEEP »............................................................................................................. 177 REMARQUE...................................................................................................................................................... 177 16.7 CAS TYPIQUES D’UTILISATION.................................................................................................................. 178 16.7 POUR UNE CONSOMMATION MINIMALE .................................................................................................... 178 16.8 CONCLUSION............................................................................................................................................ 178 17. LE RESTE DU DATASHEET................................................................................................................... 179 17.1 LA STRUCTURE INTERNE .......................................................................................................................... 179 17.2 LA SEQUENCE DE DECODAGE ................................................................................................................... 179 17.3 ORGANISATION DE LA MEMOIRE .............................................................................................................. 179 17.4 LES REGISTRES SPECIAUX......................................................................................................................... 180 17.5 L’ELECTRONIQUE DES PORTS ................................................................................................................... 180 17.6 LE REGISTRE DE CONFIGURATION ............................................................................................................ 180 17.7 LES DIFFERENTS TYPES D’OSCILLATEURS................................................................................................. 181 17.7.1 La précision de uploads/Management/ premierepartie-depart1-r32-pdf.pdf
Documents similaires
-
22
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Aoû 22, 2022
- Catégorie Management
- Langue French
- Taille du fichier 1.2710MB