Bigonoff - microcontroleur PIC

Telechargé par amraneanissa2
1
LA PROGRAMMATION DES PICS
PAR BIGONOFF
PREMIERE PARTIE – PIC16F84 – Révision 6
2
3
1. INTRODUCTION............................................................................................................................................. 8
2. LES SYSTÈMES DE NUMÉROTATION ..................................................................................................... 9
2.1 LE SYSTÈME DÉCIMAL.................................................................................................................................... 9
2.2 LE SYSTÈME BINAIRE ..................................................................................................................................... 9
2.3 LE SYSTÈME HEXADÉCIMAL......................................................................................................................... 10
2.4 LES OPÉRATIONS.......................................................................................................................................... 12
2.5 LES NOMBRES SIGNÉS .................................................................................................................................. 12
2.6 LES OPÉRATIONS BOOLÉENNES. ................................................................................................................... 13
2.6.1 Le complément ..................................................................................................................................... 13
2.6.2 La fonction « ET » ou « AND »............................................................................................................ 14
2.6.3 La fonction « OU » ou « OR » ............................................................................................................. 14
2.6.4 La fonction « OU EXCLUSIF » ou « Exclusif OR » ou « XOR »........................................................ 15
3. COMPOSITION ET FONCTIONNEMENT DES PICS ............................................................................ 16
3.1 QUEST-CE QUUN PIC ?.............................................................................................................................. 16
3.2 LES DIFFÉRENTES FAMILLES DES PICS......................................................................................................... 17
3.3 IDENTIFICATION DUN PIC........................................................................................................................... 17
3.4 ORGANISATION DU 16F84............................................................................................................................ 18
3.4.1 La mémoire programme....................................................................................................................... 18
3.4.2 La mémoire eeprom.............................................................................................................................. 19
3.4.3 La mémoire Ram .................................................................................................................................. 19
4. ORGANISATION DES INSTRUCTIONS................................................................................................... 20
4.1 GÉNÉRALITÉS .............................................................................................................................................. 20
4.2 LES TYPES DINSTRUCTIONS......................................................................................................................... 20
4.2.1 Les instructions « orientées octet »...................................................................................................... 20
4.2.2 Les instructions « orientées bits »........................................................................................................ 21
4.2.3 Les instructions générales.................................................................................................................... 21
4.2.4 Les sauts et appels de sous-routines..................................................................................................... 21
4.3 PANORAMIQUE DES INSTRUCTIONS .............................................................................................................. 22
4.4 LES INDICATEURS DÉTAT............................................................................................................................ 23
4.4.1 L’indicateur d’état « Z » ...................................................................................................................... 24
4.4.2 L’indicateur d’état « C »...................................................................................................................... 24
5. LES DÉBUTS AVEC MPLAB ...................................................................................................................... 25
5.1 PRÉPARATION À LUTILISATION ................................................................................................................... 25
5.2 CRÉATION DE NOTRE PREMIER PROJET......................................................................................................... 26
6. ORGANISATION D’UN FICHIER « .ASM » ............................................................................................. 29
6.1 LES COMMENTAIRES .................................................................................................................................... 29
6.2 LES DIRECTIVES ........................................................................................................................................... 29
6.3 LES FICHIERS « INCLUDE » ........................................................................................................................... 29
6.4 LA DIRECTIVE _CONFIG............................................................................................................................. 30
6.5 LES ASSIGNATIONS ...................................................................................................................................... 31
6.6 LES DÉFINITIONS.......................................................................................................................................... 31
6.7 LES MACROS ................................................................................................................................................ 32
6.8 LA ZONE DES VARIABLES ............................................................................................................................. 32
6.9 LES ÉTIQUETTES........................................................................................................................................... 33
6.10 LA DIRECTIVE « ORG » ............................................................................................................................. 33
6.11 LA DIRECTIVE « END » ............................................................................................................................. 33
7. RÉALISATION D’UN PROGRAMME ....................................................................................................... 34
7.1 CRÉATION DE NOTRE PREMIER PROGRAMME................................................................................................ 34
7.2 L’ASSEMBLAGE DUN PROGRAMME ............................................................................................................. 35
8. LA SIMULATION D’UN PROGRAMME................................................................................................... 37
8.1 LANCEMENT ET PARAMÉTRAGE DU SIMULATEUR......................................................................................... 37
4
8.2 EXPLICATION DES REGISTRES FONDAMENTAUX........................................................................................... 39
8.2.1 Les registres « PCL » et « PCLATH » ................................................................................................. 40
8.2.2 Le registre « W ».................................................................................................................................. 41
8.2.3 Le registre « STATUS »........................................................................................................................ 41
8.3 LANCEMENT DE LA SIMULATION.................................................................................................................. 42
9. LE JEU D’INSTRUCTIONS ......................................................................................................................... 46
9.1 L’INSTRUCTION « GOTO » (ALLER À)......................................................................................................... 46
9.2 L’INSTRUCTION « INCF » (INCREMENT FILE) ............................................................................................ 47
9.3 L’INSTRUCTION « DECF » (DECREMENT FILE).......................................................................................... 48
9.4 L’INSTRUCTION « MOVLW » (MOVE LITERAL TO W) .............................................................................. 48
9.5 L’INSTRUCTION « MOVF » (MOVE FILE)................................................................................................... 48
9.6 L’INSTRUCTION « MOVWF » (MOVE W TO FILE) ....................................................................................... 50
9.7 L’INSTRUCTION « ADDLW » (ADD LITERAL AND W)............................................................................... 50
9.8 L’INSTRUCTION « ADDWF » (ADD W AND F) .......................................................................................... 51
9.9 L’INSTRUCTION « SUBLW » (SUBTRACT W FROM LITERAL) .................................................................... 51
9.10 L’INSTRUCTION « SUBWF » (SUBTRACT W FROM F).............................................................................. 53
9.11 L’INSTRUCTION « ANDLW » (AND LITERAL WITH W) ........................................................................... 53
9.12 L’INSTRUCTION « ANDWF » (AND W WITH F)....................................................................................... 54
9.13 L’INSTRUCTION « IORLW » (INCLUSIVE OR LITERAL WITH W)............................................................... 54
9.14 L’INSTRUCTION « IORWF » (INCLUSIVE OR W WITH FILE) ..................................................................... 55
9.15 L’INSTRUCTION « XORLW » (EXCLUSIVE OR LITERAL WITH W)........................................................... 55
9.16 L’INSTRUCTION « XORWF » (EXCLUSIVE OR W WITH F) ....................................................................... 56
9.17 L’INSTRUCTION « BSF » (BIT SET F)......................................................................................................... 56
9.18 L’INSTRUCTION « BCF » (BIT CLEAR F) ................................................................................................... 57
9.19 L’INSTRUCTION « RLF » ( ROTATE LEFT THROUGH CARRY) .................................................................... 57
9.20 L’INSTRUCTION « RRF » ( ROTATE RIGHT THROUGH CARRY) .................................................................. 58
9.21 L’INSTRUCTION « BTFSC » (BIT TEST F, SKIP IF CLEAR)......................................................................... 59
9.22 L’INSTRUCTION « BTFSS » (BIT TEST F, SKIP IF SET) .............................................................................. 60
9.23 L’INSTRUCTION « DECFSZ » (DECREMENT F, SKIP IF Z) ........................................................................ 61
9.24 L’INSTRUCTION « INCFSZ » (INCREMENT F, SKIP IF ZERO) .................................................................... 62
9.25 L’INSTRUCTION « SWAPF » (SWAP NIBBLES IN F).................................................................................. 62
9.26 L’INSTRUCTION « CALL » (CALL SUBROUTINE) ..................................................................................... 62
9.27 L’INSTRUCTION « RETURN » (RETURN FROM SUBROUTINE)................................................................. 63
9.28 L’INSTRUCTION « RETLW » (RETURN WITH LITERAL IN W) ................................................................... 66
9.29 L’INSTRUCTION « RETFIE » (RETURN FROM INTERRUPT) ...................................................................... 67
9.30 L’INSTRUCTION « CLRF » (CLEAR F) ...................................................................................................... 67
9.31 L’INSTRUCTION « CLRW » (CLEAR W) ................................................................................................... 67
9.32 L’INSTRUCTION « CLRWDT » (CLEAR WATCHDOG).............................................................................. 68
9.33 L’INSTRUCTION « COMF » (COMPLEMENT F) ......................................................................................... 68
9.34 L’INSTRUCTION « SLEEP » (MISE EN SOMMEIL)....................................................................................... 69
9. 35 L’INSTRUCTION « NOP » (NO OPERATION).............................................................................................. 69
9.36 LES INSTRUCTIONS OBSOLÈTES.................................................................................................................. 69
10. LES MODES D’ADRESSAGE.................................................................................................................... 70
10.1 L’ADRESSAGE LITTÉRAL OU IMMÉDIAT...................................................................................................... 70
10.2 L’ADRESSAGE DIRECT................................................................................................................................70
10.3 L’ADRESSAGE INDIRECT............................................................................................................................ 70
10.3.1 Les registres FSR et INDF ................................................................................................................. 71
10.4 QUELQUES EXEMPLES ................................................................................................................................72
11. RÉALISATION D’UN PROGRAMME EMBARQUÉ............................................................................. 73
11.1 LE MATÉRIEL NÉCESSAIRE ......................................................................................................................... 73
11.2 MONTAGE DE LA PLATINE DESSAIS........................................................................................................... 73
11.3 CRÉATION DU PROJET ................................................................................................................................74
11.4 EDITION DU FICHIER SOURCE ..................................................................................................................... 75
11.5 CHOIX DE LA CONFIGURATION ................................................................................................................... 75
11.6 LE REGISTRE OPTION............................................................................................................................... 76
11.7 EDITION DU PROGRAMME........................................................................................................................... 78
11.8 LE REGISTRE PORTA ................................................................................................................................ 80
5
11.8.1 Fonctionnement particulier des PORTS............................................................................................. 82
11.9 LE REGISTRE TRISA.................................................................................................................................. 82
11.10 LES REGISTRES PORTB ET TRISB .......................................................................................................... 83
11.11 EXEMPLE DAPPLICATION ........................................................................................................................ 84
11.12 LA ROUTINE DINITIALISATION ................................................................................................................ 84
11.13 LES RÉSULTATS DE LA COMPILATION ....................................................................................................... 87
11.14 LE PROGRAMME PRINCIPAL...................................................................................................................... 88
11.15 LA SOUS-ROUTINE DE TEMPORISATION .................................................................................................... 89
12. LES INTERRUPTIONS............................................................................................................................... 93
12.1 QUEST-CE QUUNE INTERRUPTION ? ........................................................................................................ 93
12.2 MÉCANISME GÉNÉRAL DUNE INTERRUPTION ............................................................................................ 93
12.3 MÉCANISME DINTERRUPTION SUR LES PICS............................................................................................. 94
12.4 LES SOURCES DINTERRUPTIONS DU 16F84................................................................................................ 95
12.5 LES DISPOSITIFS MIS EN ŒUVRE ................................................................................................................. 96
12.6 LE REGISTRE INTCON (INTERRUPT CONTROL) ...................................................................................... 97
12.7 SAUVEGARDE ET RESTAURATION DE LENVIRONNEMENT .......................................................................... 99
12.7.1 Les registres à sauvegarder ............................................................................................................. 100
12.7.2 La méthode de sauvegarde............................................................................................................... 100
12.7.3 Particularité de l’instruction « RETFIE » ....................................................................................... 102
12.8 UTILISATION DUNE ROUTINE DINTERRUPTION....................................................................................... 102
12.9 ANALYSE DE LA ROUTINE DINTERRUPTION............................................................................................. 105
12.10 ADAPTATION DE LA ROUTINE DINTERRUPTION ..................................................................................... 107
12.11 L’INITIALISATION .................................................................................................................................. 108
12.12 CONSTRUCTION DU PROGRAMME PRINCIPAL.......................................................................................... 109
12.13 CONSTRUCTION DE LA ROUTINE DINTERRUPTION ................................................................................. 110
12.14 PASSAGE AU SIMULATEUR DUNE ROUTINE DINTERRUPTION ................................................................ 111
12.15 PREMIÈRE CORRECTION : RESET DU FLAG ............................................................................................. 113
12.16 SE METTRE À LÉCHELLE DE TEMPS DU PIC ........................................................................................... 114
12.17 LE PROBLÈME DE LANTI-REBOND ......................................................................................................... 115
12.18 FINALISATION DU PROGRAMME ............................................................................................................. 116
12.19 REMARQUES IMPORTANTES ................................................................................................................... 119
12.20 CONCLUSIONS........................................................................................................................................ 120
13. LE TIMER 0................................................................................................................................................ 121
13.1 LES DIFFÉRENTS MODES DE FONCTIONNEMENT........................................................................................ 121
13.2 LE REGISTRE TMR0................................................................................................................................... 121
13.3 LES MÉTHODES DUTILISATION DU TIMER0 ............................................................................................. 121
13.3.1 Le mode de lecture simple................................................................................................................ 122
13.3.2 Le mode de scrutation du flag .......................................................................................................... 122
13.3.3 Le mode d’interruption .................................................................................................................... 123
13.3.4 Les méthodes combinées .................................................................................................................. 123
13.4 LE PRÉDIVISEUR....................................................................................................................................... 123
13.5 APPLICATION PRATIQUE DU TIMER0......................................................................................................... 125
13.5.1 Préparations..................................................................................................................................... 125
13.5.2 L’initialisation.................................................................................................................................. 126
13.5.3 La routine d’interruption ................................................................................................................. 127
13.6 MODIFICATION DES REGISTRES DANS LE SIMULATEUR............................................................................. 128
13.7 MISE EN PLACE SUR LA PLATINE DESSAIS ............................................................................................... 129
13.8 PREMIÈRE AMÉLIORATION DE LA PRÉCISION ............................................................................................ 130
13.9 SECONDE AMÉLIORATION DE LA PRÉCISION ............................................................................................. 130
13.10 LA BONNE MÉTHODE - ADAPTATION DE LHORLOGE ............................................................................ 131
13.11 LA MÉTHODE DE LUXE : LA DOUBLE HORLOGE...................................................................................... 132
13.12 EXEMPLE DUTILISATION DE 2 INTERRUPTIONS ..................................................................................... 132
13.13 CONCLUSION.......................................................................................................................................... 133
14. LES ACCÈS EN MÉMOIRE « EEPROM » ............................................................................................ 134
14.1 TAILLE ET LOCALISATION DE LA MÉMOIRE « EEPROM »........................................................................... 134
14.2 PRÉPARATION DU PROGRAMME................................................................................................................ 134
14.3 INITIALISATION DE LA ZONE EEPROM ....................................................................................................... 136
1 / 202 100%

Bigonoff - microcontroleur PIC

Telechargé par amraneanissa2
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !