LA PROGRAMMATION DES PIC® PAR BIGONOFF PREMIERE PARTIE – Révision 36 DEMARRER L

LA PROGRAMMATION DES PIC® PAR BIGONOFF PREMIERE PARTIE – Révision 36 DEMARRER LES PIC® AVEC LE PIC16F84 2 3 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®........................................................................................................................ 23 3.4 ORGANISATION DU 16F84............................................................................................................................ 24 3.4.1 La mémoire programme....................................................................................................................... 24 3.4.2 La mémoire Eeprom............................................................................................................................. 24 3.4.3 La mémoire Ram .................................................................................................................................. 25 4. ORGANISATION DES INSTRUCTIONS................................................................................................... 27 4.1 GENERALITES............................................................................................................................................... 27 4.2 LES TYPES D’INSTRUCTIONS......................................................................................................................... 27 4.2.1 Les instructions « orientées octet »...................................................................................................... 27 4.2.2 Les instructions « orientées bits »........................................................................................................ 28 4.2.3 Les instructions générales.................................................................................................................... 28 4.2.4 Les sauts et appels de sous-routines..................................................................................................... 28 4.3 PANORAMIQUE DES INSTRUCTIONS .............................................................................................................. 28 4.4 LES INDICATEURS D’ETAT............................................................................................................................ 30 4.4.1 L’indicateur d’état « Z » ...................................................................................................................... 31 4.4.2 L’indicateur d’état « C »...................................................................................................................... 31 5. LES DEBUTS AVEC MPLAB®.................................................................................................................... 33 5.1 PREPARATION A L’UTILISATION ................................................................................................................... 33 5.2 CREATION DE NOTRE PREMIER PROJET......................................................................................................... 34 6. ORGANISATION D’UN FICHIER « .ASM » ............................................................................................. 41 6.1 LES COMMENTAIRES .................................................................................................................................... 41 6.2 LES DIRECTIVES ........................................................................................................................................... 41 6.3 LES FICHIERS « INCLUDE » ........................................................................................................................... 42 6.4 LA DIRECTIVE _CONFIG............................................................................................................................. 42 6.5 LES ASSIGNATIONS....................................................................................................................................... 43 6.6 LES DEFINITIONS.......................................................................................................................................... 44 6.7 LES MACROS ................................................................................................................................................ 44 6.8 LA ZONE DES VARIABLES ............................................................................................................................. 45 6.9 LES ETIQUETTES........................................................................................................................................... 45 6.10 LA DIRECTIVE « ORG » ............................................................................................................................. 46 6.11 LA DIRECTIVE « END » ET LA FIN D’UN PROGRAMME................................................................................ 46 7. REALISATION D’UN PROGRAMME ....................................................................................................... 49 7.1 CREATION DE NOTRE PREMIER PROGRAMME................................................................................................ 49 7.2 L’ASSEMBLAGE D’UN PROGRAMME.............................................................................................................. 50 8. LA SIMULATION D’UN PROGRAMME................................................................................................... 53 4 8.1 LANCEMENT ET PARAMETRAGE DU SIMULATEUR......................................................................................... 53 8.2 EXPLICATION DES REGISTRES FONDAMENTAUX........................................................................................... 55 8.2.1 Les registres « PCL » et « PCLATH » ................................................................................................. 55 8.2.2 Le registre « W ».................................................................................................................................. 56 8.2.3 Le registre « STATUS »........................................................................................................................ 56 8.3 LANCEMENT DE LA SIMULATION.................................................................................................................. 57 9. LE JEU D’INSTRUCTIONS ......................................................................................................................... 63 9.1 L’INSTRUCTION « GOTO » (ALLER À) ......................................................................................................... 63 9.2 L’INSTRUCTION « INCF » (INCREMENT FILE)............................................................................................. 64 9.3 L’INSTRUCTION « DECF » (DECREMENT FILE).......................................................................................... 65 9.4 L’INSTRUCTION « MOVLW » (MOVE LITERAL TO W)............................................................................... 65 9.5 L’INSTRUCTION « MOVF » (MOVE FILE)................................................................................................... 66 9.6 L’INSTRUCTION « MOVWF » (MOVE W TO FILE)...................................................................................... 67 9.7 L’INSTRUCTION « ADDLW » (ADD LITERAL AND W)................................................................................ 67 9.8 L’INSTRUCTION « ADDWF » (ADD W AND F) ........................................................................................... 68 9.9 L’INSTRUCTION « SUBLW » (SUBTRACT W FROM LITERAL)..................................................................... 68 9.10 L’INSTRUCTION « SUBWF » (SUBTRACT W FROM F) .............................................................................. 71 9.11 L’INSTRUCTION « ANDLW » (AND LITERAL WITH W)............................................................................ 71 9.12 L’INSTRUCTION « ANDWF » (AND W WITH F)........................................................................................ 72 9.13 L’INSTRUCTION « IORLW » (INCLUSIVE OR LITERAL WITH W) ............................................................... 73 9.14 L’INSTRUCTION « IORWF » (INCLUSIVE OR W WITH FILE)...................................................................... 73 9.15 L’INSTRUCTION « XORLW » (EXCLUSIVE OR LITERAL WITH W)............................................................ 74 9.16 L’INSTRUCTION « XORWF » (EXCLUSIVE OR W WITH F) ........................................................................ 74 9.17 L’INSTRUCTION « BSF » (BIT SET F)......................................................................................................... 75 9.18 L’INSTRUCTION « BCF » (BIT CLEAR F).................................................................................................... 75 9.19 L’INSTRUCTION « RLF » ( ROTATE LEFT THROUGH CARRY)..................................................................... 76 9.20 L’INSTRUCTION « RRF » ( ROTATE RIGHT THROUGH CARRY)................................................................... 77 9.21 L’INSTRUCTION « BTFSC » (BIT TEST F, SKIP IF CLEAR).......................................................................... 78 9.22 L’INSTRUCTION « BTFSS » (BIT TEST F, SKIP IF SET)............................................................................... 80 9.23 L’INSTRUCTION « DECFSZ » (DECREMENT F, SKIP IF Z)......................................................................... 80 9.24 L’INSTRUCTION « INCFSZ » (INCREMENT F, SKIP IF ZERO)..................................................................... 82 9.25 L’INSTRUCTION « SWAPF » (SWAP NIBBLES IN F) .................................................................................. 82 9.26 L’INSTRUCTION « CALL » (CALL SUBROUTINE)...................................................................................... 83 9.27 L’INSTRUCTION « RETURN » (RETURN FROM SUBROUTINE) ................................................................. 84 9.28 L’INSTRUCTION « RETLW » (RETURN WITH LITERAL IN W) ................................................................... 86 9.29 L’INSTRUCTION « RETFIE » (RETURN FROM INTERRUPT)....................................................................... 87 9.30 L’INSTRUCTION « CLRF » (CLEAR F)....................................................................................................... 87 9.31 L’INSTRUCTION « CLRW » (CLEAR W).................................................................................................... 88 9.32 L’INSTRUCTION « CLRWDT » (CLEAR WATCHDOG) .............................................................................. 88 9.33 L’INSTRUCTION « COMF » (COMPLEMENT F).......................................................................................... 88 9.34 L’INSTRUCTION « SLEEP » (MISE EN SOMMEIL) ....................................................................................... 89 9. 35 L’INSTRUCTION « NOP » (NO OPERATION) .............................................................................................. 89 9.36 LES INSTRUCTIONS OBSOLETES.................................................................................................................. 90 10. LES MODES D’ADRESSAGE.................................................................................................................... 91 10.1 L’ADRESSAGE LITTERAL OU IMMEDIAT...................................................................................................... 91 10.2 L’ADRESSAGE DIRECT................................................................................................................................ 91 10.3 L’ADRESSAGE INDIRECT............................................................................................................................ 92 10.3.1 Les registres FSR et INDF ................................................................................................................. 92 10.4 QUELQUES EXEMPLES ................................................................................................................................ 93 11. REALISATION D’UN PROGRAMME EMBARQUE............................................................................. 95 11.1 LE MATERIEL NECESSAIRE ......................................................................................................................... 95 11.2 MONTAGE DE LA PLATINE D’ESSAIS........................................................................................................... 96 11.3 CREATION DU PROJET................................................................................................................................. 97 11.4 EDITION DU FICHIER SOURCE ..................................................................................................................... 97 11.5 CHOIX DE LA CONFIGURATION ................................................................................................................... 97 11.6 LE REGISTRE OPTION............................................................................................................................... 99 11.7 EDITION DU PROGRAMME......................................................................................................................... 100 5 11.8 LE REGISTRE PORTA............................................................................................................................... 103 11.8.1 Fonctionnement particulier des PORTS........................................................................................... 105 11.9 LE REGISTRE TRISA................................................................................................................................ 106 11.10 LES REGISTRES PORTB ET TRISB......................................................................................................... 107 11.11 EXEMPLE D’APPLICATION ...................................................................................................................... 108 11.12 LA ROUTINE D’INITIALISATION............................................................................................................... 108 11.13 LES RESULTATS DE L’ASSEMBLAGE........................................................................................................ 112 11.14 LE PROGRAMME PRINCIPAL.................................................................................................................... 112 11.15 LA SOUS-ROUTINE DE TEMPORISATION .................................................................................................. 113 12. LES INTERRUPTIONS............................................................................................................................. 119 12.1 QU’EST-CE QU’UNE INTERRUPTION ?....................................................................................................... 119 12.2 MECANISME GENERAL D’UNE INTERRUPTION .......................................................................................... 120 12.3 MECANISME D’INTERRUPTION SUR LES PIC®.......................................................................................... 121 12.4 LES SOURCES D’INTERRUPTIONS DU 16F84.............................................................................................. 123 12.5 LES DISPOSITIFS MIS EN ŒUVRE................................................................................................................ 123 12.6 LE REGISTRE INTCON (INTERRUPT CONTROL)..................................................................................... 125 12.7 SAUVEGARDE ET RESTAURATION DE L’ENVIRONNEMENT ........................................................................ 127 12.7.1 Les registres à sauvegarder ............................................................................................................. 128 12.7.2 La méthode de sauvegarde............................................................................................................... 128 12.7.3 La méthode de restauration.............................................................................................................. 129 12.7.4 OPERATIONS SUR LE REGISTRE STATUS.............................................................................................. 131 12.7.5Particularité de l’instruction « RETFIE »......................................................................................... 132 12.8 UTILISATION D’UNE ROUTINE D’INTERRUPTION....................................................................................... 133 12.9 ANALYSE DE LA ROUTINE D’INTERRUPTION............................................................................................. 136 12.10 ADAPTATION DE LA ROUTINE D’INTERRUPTION ..................................................................................... 138 12.11 L’INITIALISATION................................................................................................................................... 139 12.12 CONSTRUCTION DU PROGRAMME PRINCIPAL.......................................................................................... 140 12.13 CONSTRUCTION DE LA ROUTINE D’INTERRUPTION ................................................................................. 141 12.14 PASSAGE AU SIMULATEUR D’UNE ROUTINE D’INTERRUPTION ................................................................ 142 12.15 PREMIERE CORRECTION : RESET DU FLAG.............................................................................................. 146 12.16 SE METTRE A L’ECHELLE DE TEMPS DU PIC® ........................................................................................ 147 12.17 LE PROBLEME DE L’ANTI-REBOND.......................................................................................................... 147 12.18 FINALISATION DU PROGRAMME.............................................................................................................. 148 12.19 REMARQUES IMPORTANTES.................................................................................................................... 151 12.20 CONCLUSIONS........................................................................................................................................ 152 13. LE TIMER 0................................................................................................................................................ 155 13.1 LES DIFFERENTS MODES DE FONCTIONNEMENT........................................................................................ 155 13.2 LE REGISTRE TMR0................................................................................................................................... 155 13.3 LES METHODES D’UTILISATION DU TIMER0 ............................................................................................. 155 13.3.1 Le mode de lecture simple................................................................................................................ 156 13.3.2 Le mode de scrutation du flag.......................................................................................................... 156 13.3.3 Le mode d’interruption..................................................................................................................... 157 13.3.4 Les méthodes combinées .................................................................................................................. 157 13.4 LE PREDIVISEUR....................................................................................................................................... 157 13.5 APPLICATION PRATIQUE DU TIMER0......................................................................................................... 160 13.5.1 Préparations..................................................................................................................................... 160 13.5.2 L’initialisation.................................................................................................................................. 161 13.5.3 La routine d’interruption ................................................................................................................. 162 13.6 MODIFICATION DES REGISTRES DANS LE SIMULATEUR............................................................................. 163 13.7 MISE EN PLACE SUR LA PLATINE D’ESSAIS................................................................................................ 164 13.8 PREMIERE AMELIORATION DE LA PRECISION ............................................................................................ 164 13.9 SECONDE AMELIORATION DE LA PRECISION ............................................................................................. 165 13.10 LA METHODE DITE « DE RATTRAPAGE »................................................................................................. 165 13.11 LA METHODE HARDWARE - ADAPTATION DE L’HORLOGE...................................................................... 167 13.12 LA METHODE DE LUXE : LA DOUBLE HORLOGE ...................................................................................... 167 13.13 EXEMPLE D’UTILISATION DE 2 INTERRUPTIONS...................................................................................... 168 13.13 CONCLUSION.......................................................................................................................................... 169 14. LES ACCES EN MEMOIRE « EEPROM » ............................................................................................ 171 6 14.1 TAILLE ET LOCALISATION DE LA MEMOIRE « EEPROM »........................................................................... 171 14.2 PREPARATION DU PROGRAMME................................................................................................................ 171 14.3 INITIALISATION DE LA ZONE EEPROM ....................................................................................................... 173 14.4 LE REGISTRE EEDATA............................................................................................................................ 175 14.5 LE REGISTRE EEADR .............................................................................................................................. 175 14.6 LE REGISTRE EECON1 ............................................................................................................................ 175 14.7 LE REGISTRE EECON2 ............................................................................................................................ 176 14.8 ACCES EN LECTURE DANS LA MEMOIRE « EEPROM »................................................................................ 176 14.9 L’ACCES EN ECRITURE A LA ZONE EEPROM .............................................................................................. 177 14.10 UTILISATION PRATIQUE DE LA MEMOIRE « EEPROM » ............................................................................ 179 14.11 SECURISATION DES ACCES EN MEMOIRE « EEPROM »............................................................................. 182 14.12 CONCLUSION.......................................................................................................................................... 183 15. LE WATCHDOG........................................................................................................................................ 185 15.1 LE PRINCIPE DE FONCTIONNEMENT .......................................................................................................... 185 15.2 LE PREDIVISEUR ET LE WATCHDOG .......................................................................................................... 186 15.3 LES ROLES DU WATCHDOG....................................................................................................................... 186 15.4 UTILISATION CORRECTE DU WATCHDOG .................................................................................................. 187 15.5 CE QU’IL NE FAUT PAS FAIRE.................................................................................................................... 188 15.6 MESURE DU TEMPS REEL DU WATCHDOG ................................................................................................. 188 15.7 SIMULATION DU PLANTAGE D’UN PROGRAMME ....................................................................................... 190 15.7.1 Correction avec utilisation du watchdog ......................................................................................... 191 15.8 CHOIX DE LA VALEUR DU PREDIVISEUR.................................................................................................... 192 15.9 TEMPS TYPIQUE, MINIMAL, ET MAXIMUM................................................................................................. 192 15.10 CONCLUSION.......................................................................................................................................... 192 16. LE MODE SLEEP ...................................................................................................................................... 195 16.1 PRINCIPE DE FONCTIONNEMENT............................................................................................................... 195 16.2 LA SORTIE DU MODE « SLEEP » ................................................................................................................ 195 16.3 REVEIL AVEC GIE HORS SERVICE............................................................................................................. 196 16.4 REVEIL AVEC GIE EN SERVICE................................................................................................................. 196 16.5 MISE EN SOMMEIL IMPOSSIBLE................................................................................................................. 196 16.6 UTILISATION DU MODE « SLEEP »............................................................................................................. 197 REMARQUE...................................................................................................................................................... 198 16.7 CAS TYPIQUES D’UTILISATION.................................................................................................................. 198 16.7 POUR UNE CONSOMMATION MINIMALE .................................................................................................... 198 16.8 CONCLUSION............................................................................................................................................ 199 17. LE RESTE DU DATASHEET................................................................................................................... 201 17.1 LA STRUCTURE INTERNE .......................................................................................................................... 201 17.2 LA SEQUENCE DE DECODAGE ................................................................................................................... 201 17.3 ORGANISATION DE LA MEMOIRE .............................................................................................................. 201 17.4 LES REGISTRES SPECIAUX......................................................................................................................... 202 17.5 L’ELECTRONIQUE DES PORTS ................................................................................................................... 202 17.6 LE REGISTRE DE CONFIGURATION ............................................................................................................ 202 17.7 LES uploads/Management/ part1-r36.pdf

  • 34
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager
  • Détails
  • Publié le Fev 24, 2022
  • Catégorie Management
  • Langue French
  • Taille du fichier 1.0558MB