• Aide
  • Eurêkoi Eurêkoi

Livre

Les microcontrôleurs PIC

Résumé

Présente les nombreuses possibilités des microcontrôleurs PIC afin de les utiliser dans une production professionnelle ou domestique. Aborde l'architecture PIC et sa programmation à travers l'étude du 16F84, les interfaces du 16F877, les interfaces série synchrone (SPI et IC2) employées dans l'interfaçage électronique et le logiciel de développement MPLAB.


  • Éditeur(s)
  • Date
    • 2003
  • Langues
    • Français
  • Description matérielle
    • 189 p. : ill. ; 24 x 16 cm
  • Sujet(s)
  • ISBN
    • 2-7462-0764-8
  • Indice
    • 621.45 Microélectronique (transistors, composants, circuits intégrés)
  • Quatrième de couverture
    • Fabriqués et commercialisés depuis de nombreuses années, les microcontrôleurs PIC sont reconnus pour leur rapidité et pour leur facilité de programmation in situ.

      La série FLASH permet entre autres de nombreux essais et reprogrammations lors de la phase d'étude. Leur architecture permet des opérations rapides, les instructions sont peu nombreuses et leur interfaçage est complet : ports parallèles, convertisseurs analogiques-numériques, temporisateurs, et liaisons série synchrone et asynchrone. Ils sont déclinés en de très nombreuses versions et chaque application trouve un modèle adéquat.

      Cet ouvrage contient une étude complète du 16F84 afin de se familiariser avec l'architecture PIC et sa programmation, une étude succincte des interfaces du 16F877, une étude plus approfondie des interfaces série synchrone (SPI et I2C) de plus en plus employées dans l'interfaçage électronique et une prise en main du simulateur du logiciel de développement MPLAB.

      Les microcontrôleurs PIC s'adresse aux élèves et aux enseignants des lycées techniques et professionnels, aux étudiants des IUT et BTS génie électrique et électronique, aux élèves des grandes écoles d'ingénieurs. Il sera aussi très utile à tous les utilisateurs professionnels de ce type de matériel.


  • Tables des matières
      • Les microcontrôleurs PIC

      • Bernard Béghyn

      • Hermes Science publications

      • Avant-propos 11
      • Chapitre 1. Conception d'une unité centrale 13
      • 1.1. Rappels13
      • 1.1.1. Notions de bus13
      • 1.1.2. La logique trois états14
      • 1.1.3. Application15
      • 1.1.4. Registre tampon ou accumulateur15
      • 1.1.5. L'unité arithmétique et logique17
      • 1.2. Introduction à l'unité centrale17
      • 1.2.1. Fonctionnement17
      • 1.2.2. Automatisation de l'unité centrale de base19
      • 1.2.3. Spécificité du microcontrôleur PIC20
      • 1.2.4. Le déroulement d'un programme21
      • 1.2.5. Résumé : rôle des composants utilisés25
      • Chapitre 2. L'unité de calcul 27
      • 2.1. Définition des registres27
      • 2.2. Les registres «PCL» et «PCLATH»28
      • 2.3. Le registre «W»29
      • 2.4. Le registre «STATUS» ou registre d'état29
      • 2.5. Utilisation du registre d'état30
      • 2.6. Fonctionnement de La pile31
      • 2.6.1. Usage de la pile lors de l'appel d'un sous-programme31
      • 2.6.2. Usage de la pile en cas d'interruption32
      • 2.6.3. La configuration du microcontrôleur33
      • Chapitre 3. La programmation 35
      • 3.1. Le langage source assembleur35
      • 3.1.1. Conventions d'écriture35
      • 3.1.2. Définition de l'adresse effective36
      • 3.1.3. Structure d'une instruction en langage assembleur36
      • 3.2. Les différents modes d'adressage37
      • 3.2.1. Adressage immédiat37
      • 3.2.2. Adressage direct37
      • 3.2.3. Adressage indirect37
      • 3.2.4. Adressage relatif38
      • 3.2.5. Mode manipulation de bit39
      • 3.2.6. Mode test de bit et branchement39
      • 3.3. La réalisation d'un programme40
      • 3.3.1. Comment écrire un programme ?40
      • 3.3.2. L'assemblage41
      • 3.3.3. Régles de rédaction en langage d'assemblage42
      • 3.4. Les macros44
      • 3.5. La zone des variables45
      • 3.6. Les étiquettes45
      • 3.7. Les commentaires46
      • 3.8. Comment bâtir un programme ?46
      • 3.8.1. Définition de l'organigramme47
      • 3.8.2. Rédaction en langage source assembleur48
      • 3.9. Fichier «.hex» à charger en mémoire51
      • 3.9.1. Etude de la première ligne51
      • 3.9.2. Etude de la deuxième ligne51
      • 3.9.3. Etude de la troisième ligne52
      • 3.9.4. Etude de la dernière ligne52
      • Chapitre 4. Le jeu d'instructions 53
      • 4.1. Format des instructions53
      • 4.1.1. Opérations orientées «mots» des registres «FILE»53
      • 4.1.2. Opérations de manipulations de bits54
      • 4.1.3. Opérations de branchement55
      • 4.2. Les instructions du PIC16F8455
      • 4.2.1. «ADDLW» (ADD Literal and W)55
      • 4.2.2. «ADDWF» (ADD W and F)57
      • 4.2.3. «ANDLW» (AND Literal with W)57
      • 4.2.4. «ANDWF» (AND W with F)58
      • 4.2.5. «BCF» (Bit Clear F)58
      • 4.2.6. «BSF» (Bit Set F)58
      • 4.2.7. «BTFSC» (Bit Test F, Skip if Clear)59
      • 4.2.8. «BTFSS» (Bit Test F, Skip if Set)59
      • 4.2.9. «CALL» (CALL sous-programme)59
      • 4.2.10. «CLRF» (CLeaR F)59
      • 4.2.11. «CLRW» (CLeaR W)60
      • 4.2.12. «CLRWDT» (CLeaR WatchDog)60
      • 4.2.13. «COMF» (COMplement F)60
      • 4.2.14. «DECF» (DECRement File)60
      • 4.2.15. «DECFSZ» (DECrement F, Skip if Z)61
      • 4.2.16. «GOTO» (aller à)61
      • 4.2.17. «INCF» (INCrement File)61
      • 4.2.18. «INCFSZ» (INCrement F, saut si Zero)62
      • 4.2.19. «IORLW» (Inclusive OR Literal with W)62
      • 4.2.20. «IORWF» (Inclusive OR W avec File)62
      • 4.2.21. «MOVF» (MOVe File)63
      • 4.2.22. «MOVLW» (MOVe Literal to W)63
      • 4.2.23. «Movwf» (MOVe W to File)63
      • 4.2.24. «NOP» (No Operation)63
      • 4.2.25. «RETFIE» (RETurn From IntErrupt)63
      • 4.2.26. «RETLW» (RETurn with Literal in W)64
      • 4.2.27. «RETURN» (RETURN from subroutine)64
      • 4.2.28. «RLF» (Rotate Left through Carry)65
      • 4.2.29. «RRF» (Rotate Right through Carry)65
      • 4.2.30. «SLEEP» (mise en sommeil)66
      • 4.2.31. «SUBLW» (SUBtract W from Literal)66
      • 4.2.32. «SUBWF» (SUBtract W from F)66
      • 4.2.33. «SWAPF» (SWAP nibbles in F)67
      • 4.2.34. «XORLW» (eXclusive OR Literal with W)67
      • 4.2.35. «XORWF» (eXclusive OR W with F)67
      • Chapitre 5. Le microcontrôleur 69
      • 5.1. Rôle d'un microcontrôleur69
      • 5.2. Le microcontrôleur PIC 16F8470
      • 5.3. Organisation de la mémoire71
      • 5.3.1. Les registres de travail71
      • 5.3.2. La mémoire de programme72
      • 5.3.3. La mémoire EEPROM72
      • 5.3.4. Fonctions réalisées par le microcontrôleur73
      • 5.4. Description des connexions75
      • 5.5. Le registre Option75
      • Chapitre 6. Le reset et les interruptions 77
      • 6.1. Définition du Reset77
      • 6.2. Initialisations au moment du Reset77
      • 6.3. Les sources de Reset78
      • 6.3.1. POR (Power On Reset)78
      • 6.3.2. Master clear81
      • 6.3.3. Master clear pendant le sommeil81
      • 6.3.4. Reset du chien de garde pendant une opération normale81
      • 6.3.5. Reset du chien de garde pendant une période de sommeil81
      • 6.3.6. Sortie du sommeil par interruption81
      • 6.4. Définition d'une interruption83
      • 6.4.1. Origines d'une interruption83
      • 6.4.2. Opérations effectuées lors d'une interruption83
      • 6.4.3. Les interruptions : généralités84
      • 6.4.4. Détermination de l'origine de la demande d'interruption84
      • 6.4.5. Les masques d'interruption85
      • 6.5. Résumé pour la mise en oeuvre86
      • 6.6. Exemple de mise en oeuvre d'une interruption externe86
      • Chapitre 7. Les interfaces parallèles 89
      • 7.1. Le port A89
      • 7.2. Le port B91
      • 7.2.1. Précautions d'utilisation du PORTB91
      • 7.2.2. Les interruptions sur le port B94
      • 7.3. Application : utilisation des ports95
      • Chapitre 8. La mesure du temps 97
      • 8.1. Le compteur-temporisateur TMR097
      • 8.2. Le choix de l'horloge97
      • 8.3. Le pré-diviseur programmable98
      • 8.4. Les interruptions99
      • 8.5. Exemples d'utilisation du compteur99
      • 8.5.1. Réalisation d'un compteur de pièces programmable99
      • 8.5.2. Réalisation d'une attente avec interruption et TMR0101
      • Chapitre 9. La surveillance de fonctionnement 103
      • 9.1. Généralités103
      • 9.2. Mise en oeuvre103
      • 9.3. Durée de la protection105
      • 9.4. Précautions d'emploi105
      • 9.4.1. CLRWDT dans un sous-programme d'interruption105
      • 9.4.2. Prédiviseur du TMR0 et post-diviseur du chien de garde105
      • 9.5. Exemple d'application : contrôle de vitesse d'un moteur106
      • Chapitre 10. Le mode sommeil 109
      • 10.1. Généralités109
      • 10.2. Mise en oeuvre109
      • 10.2.1. Le réveil109
      • 10.2.2. Le mode sommeil et les interruptions110
      • 10.3. Exemples d'application110
      • 10.3.1. Réalisation d'une temporisation110
      • 10.3.2. Gestion d'un clavier111
      • Chapitre 11. Utilisation de l'EEPROM 115
      • 11.1. Mise en oeuvre115
      • 11.2. Lecture dans l'EEPROM116
      • 11.3. Ecriture dans l'EEPROM117
      • 11.4. Vérification de l'écriture118
      • 11.5. L'interruption de fin d'écriture119
      • 11.6. Application119
      • Chapitre 12. Le PIC 16F877 123
      • 12.1. Les interfaces123
      • 12.2. Les mémoires124
      • 12.2.1. La mémoire de programme124
      • 12.2.2. La mémoire RAM, ou mémoire de données125
      • 12.2.3. La mémoire EEPROM126
      • 12.2.4. La pile126
      • 12.3. Les ports parallèles126
      • 12.3.1. Le port A126
      • 12.3.2. Le port B126
      • 12.3.3. Le port C126
      • 12.3.4. Le port D127
      • 12.3.5. Le port E127
      • 12.4. Le compteur temporisateur TMR0128
      • 12.5. Le compteur temporisateur TMR1128
      • 12.5.1. Mode temporisateur127
      • 12.5.2. Mode compteur128
      • 12.6. Le temporisateur TMR2129
      • 12.7. USART129
      • 12.7.1. Mode asynchrone129
      • 12.7.2. Mode synchrone129
      • 12.8. Le module convertisseur133
      • 12.9. Modules Capture-Comparaison et modulation de largeur134
      • 12.9.1. Mode capture134
      • 12.9.2. Mode compare135
      • 12.9.3. La modulation de largeur d'impulsion135
      • Chapitre 13. La liaison SPI du 16F877 139
      • 13.1. Constitution139
      • 13.2. Fonctionnement de l'interface140
      • 13.3. Utilisation de l'intarface143
      • 13.3.1. Contrôle de phase d'horloge et de polarité144
      • 13.4. Erreurs durant un transfert145
      • 13.5. Les interruptions146
      • 13.6. Exemple d'utilisation : transfert entre deux PIC147
      • 13.6.1. Programme du maître147
      • 13.6.2. Programmz de l'esclave149
      • 13.7. Interfaçage d'un convertisseur MAX187150
      • Chapitre 14. La liaison I2C du 16F877 155
      • 14.1. Généralités155
      • 14.1.1. Rappel155
      • 14.1.2. La liaison I2C du PIC16F877155
      • 14.2. Etudes des registres157
      • 14.2.1. Le registre SSPCON157
      • 14.2.2. Le registre SSPCON2158
      • 14.2.3. Le registre SSPSTAT159
      • 14.2.4. Le registre SSPBUF (13h)160
      • 14.2.5. Le registre SSPSR160
      • 14.2.6. Le registre SSPADD (93h)161
      • 14.2.7. Les registres PIR1 (0Ch) et PIE1 (8Ch)161
      • 14.2.8. Les registres PIR2 (0Dh) et PIE2 (8Dh)161
      • 14.3. Le fonctionnement en esclave162
      • 14.3.1. L'adressage sur 7 bits162
      • 14.3.2. L'adressage sur 10 bits163
      • 14.3.3. L'adresse d'appel en général163
      • 14.3.4. Réception par l'esclave164
      • 14.3.5. Transmission par l'esclave165
      • 14.4. Le fonctionnement en maître164
      • 14.4.1. Généralités165
      • 14.4.2. L'horloge166
      • 14.4.3. Transmission par le maître166
      • 14.4.4. Mise en réception du maître166
      • 14.5. Génération du bit de START168
      • 14.6. Séquence d'acknowledge169
      • 14.7. Séquence de STOP169
      • 14.7.1. Définition169
      • 14.7.2. Mise en service169
      • 14.8. Application : liaison avec un PCF8574169
      • Chapitre 15. L'outil de développement MPLAB 175
      • 15.1. Configuration de l'étude176
      • 15.2. Mise en place du projet177
      • 15.3. Création du fichier source178
      • 15.4. Assemblage du programme179
      • 15.5. Simulation du programme180
      • 15.5.1. Définir les informations à surveiller180
      • 15.5.2. La simulation181
      • 15.6. Les points d'arrêts183
      • 15.7. Mise au point dans une boucle183
      • 15.8. Simuler avec un événement extérieur184
      • 15.9. Modification des registres en cours de simulation184
      • Annexe 1. 187
      • Annexe 2. 190

  • Origine de la notice:
    • Electre
  • Disponible - 621.45 BEG

    Niveau 3 - Techniques