1 Partie (voir premier poly)

11 downloads 169 Views 94KB Size Report
Partie (voir premier poly). 1. INTRODUCTION ET MATERIEL. 1. 1.1. Microprocesseurs, Microcontrôleurs et les autres. 1. 1.2. La « carte » à Microcontrôleur. 1.
CNAM

ELE118

Sommaire 2ème partie

I

Electronique ELE118 2ère Partie Programmation avancée des microcontrôleurs ------- Attention : Ce cours n'est pas une initiation -------

1ère Partie (voir premier poly) 1. 1.1. 1.2. 1.3. 1.4. 1.5. 1.6. 2. 2.1. 2.2. 2.3. 3. 3.1. 3.2. 3.3. 3.4. 4. 4.1. 4.2. 5. 5.1. 5.2. 5.3. 5.4. 6. 6.1. 6.2. 6.3. 6.4. 7. 7.1. 7.2. 7.3.

INTRODUCTION ET MATERIEL Microprocesseurs, Microcontrôleurs et les autres La « carte » à Microcontrôleur Types de structure interne Le mode Single Chip d’un microcontrôleur Le mode étendu d’un microcontrôleur Problèmes de puissance INTRODUCTION A LA PROGRAMMATION Choix du ou des langages de programmation Programmation structurée Chaîne de compilation PROGRAMMATION EN ASSEMBLEUR Résumé du langage assembleur L’Assembleur type HC12, résumé Programme de démonstration en assembleur HC12 : 4_leds Astuces de gestion de variables indicées en assembleur PROGRAMMATION EN C, INTRODUCTION Avantage Programme de démonstration en C : 4_leds_c C POUR MICROCONTROLEURS Le langage C « minimum » Fonctions en C Travail d’un compilateur Optimisations du C pour accélérer la vitesse ECRITURE EN ASSEMBLEUR DES FONCTION C (EN TYPE HC12) Rappel sur les « fausses fonctions » Premier exemple de vraie fonction Autres exemples de vraies fonctions Discussion sur le pointeur de trame SYNCHONISATION SUR EVENEMENTS INTERRUPTIONS Sondage ou Interruption ? Sondage Interruption

8.

LES VECTEURS D’INTERRUPTION

8.1. 8.2. 9. 9.1. 9.2. 9.3. 9.4. 10. 10.1. 10.2. 10.3.

MISE AU POINT

1 1 1 3 4 4 7 14 14 15 15 22 23 32 44 50 52 52 52 62 62 70 72 75 78 78 79 83 85 86 86 87 88

APPLICATION FINALE 92 Développement sur Microcontrôleurs nécessitant un « Moniteur » : exemple l’HC11 92 Développement sur Microcontrôleurs sans « Moniteur » : exemple HC12 et ‘BDM’ 98 PORT PARALLELE 101 Utilisation en simple port IO 101 Utilisation possibles de certaines lignes en entrées d’interruption 101 Le Port Integration Module de l’HC12, résumé 101 Ports parallèles d’entrée-sortie (I/0) en usage général que l’on utilisera sur notre maquette 102 PORT SERIE ASYNCHRONE TYPE UART 105 Petit rappel sur la liaison série asynchrone 105 Le port SCI de l’HC12: Sérial Communication Interface (RS232) 106 Organigrammes 108

CNAM 11. 11.1. 11.2. 11.3. 11.4. 12. 12.1. 12.2. 12.3. 12.4. 12.5. 12.6. 13. 13.1. 13.2. 14. 14.1. 14.2. 14.3. 14.4. 15. 15.1. 15.2. 15.3. 15.4.

ELE118

Sommaire 2ème partie

II

PORT SERIE SYNCHRONE 109 utilisation 109 Principe du SPI 109 Description brève des ports SPI de l’HC12 110 Exemples d’application 112 LE BUS IIC 116 Câblage 116 protocole résumé 117 Port IIC de certains HC12 120 Utilisation de composants IIC sur deux lignes quelconques d’un port parallèle. 123 Exemple de circuit à bus IIC : le CNA MAX518 127 Autres exemples de composants classiques à Bus IIC : EEPROM, RTC 129 AUTRES BUS NON ETUDIES ICI 132 Bus CAN 132 Bus One Wire 132 ORGANES COMPLEMENTAIRES 133 La PLL (exemple HC12) 133 Detection « low voltage » (exemple HC12) 134 Chien de garde (Watch Dog, exemple sur HC12) 135 Reset par programme 136 ANNEXES SUR LE HC12 : PILE, INSTRUCTIONS, VECTEURS D’INTERRUPTIONS 137 Evolution automatique du pointeur de pile en HC12 137 Vecteurs d’interruption HC12 137 Notations 140 Tableau d’instructions 141

CNAM

ELE118

Sommaire 2ème partie

III

2ème Partie 16. 16.1. 16.2. 16.3. 16.4. 16.5. 17. 17.1. 17.2. 17.3. 18. 18.1. 18.2. 18.3. 18.4. 19. 19.1. 19.2. 20. 20.1. 20.2. 20.3. 21. 21.1. 21.2. 21.3. 21.4. 21.5. 21.6. 22. 22.1. 22.2. 22.3. 22.4. 23. 23.1. 23.2. 23.3. 24. 24.1. 24.2. 24.3. 24.4. 25. 25.1. 25.2. 25.3. 25.4. 26. 26.1. 26.2. 26.3.

REPRESENTATION DES NOMBRES, ERREURS 151 Généralités sur les erreurs et précisions 151 Code Binaire Virgule Fixe 155 Code Binaire Virgule Flottante X = M.2E 158 Code DCB virgule fixe, Code Hexadécimal et Code ASCII 159 Choix des modes de représentation 160 GENERALITES SUR L’ARITHMETIQUE BINAIRE VIRGULE FIXE 161 Introduction 161 Les indicateurs C, N, Z et V en assembleur 162 Point important : calcul d’une somme, le résultat final pratique ne débordant pas. 164 LE LANGAGE EVOLUE (C) ET L'ARITHMETIQUE 165 Calculs en virgule fixe 165 Calculs en virgule flottante 170 Conversions Binaire (Virgule fixe)  DCB Notions de « Driver » 172 Calcul de fonctions classiques en virgule fixe 176 GENERATION D’INTERVALLES DE TEMPS, TIMER 181 Par logiciel 181 Par Timer (Exemples sur HC12) 183 MESURE DE FREQUENCE ET DE PERIODE 190 Le Timer HC12 en ‘Input Capture’ 190 Le Pulse Accumulateur de l’HC12 190 Mesure de fréquences et de périodes (en C) 192 TRAVAIL SUR DES GRANDEURS PHYSIQUES 197 Utilisation des Convertisseur Analogiques Numériques 197 Mesure d’une grandeur Physique 199 Traitement de signal, signaux de module < 1 204 Mise en œuvre du CAN du 68HC12 205 Petits traitements de signal sur microcontrôleur, échantillonnage d’un signal 210 Exemple de petits traitements de signal : valeur efficace d’un signal, sur HC12 213 PORT PWM PULSE WIDE MODULATION 219 Principe : un pseudo CNA ? 219 Applications 219 Le port PWM de l’HC12 220 Application : pseudo CNA signé 8 bits 222 AFFICHAGE SUR PANNEAU CRISTAUX LIQUIDES 224 Exemple de composant 224 Câblage sur un microcontrôleur, Driver 226 Fonctions C utilitaires développées pour le composant précédent 228 GESTION DE CLAVIER 16 TOUCHES 237 Simples touches isolées 237 claviers 237 Exemple de câblage d’un tel clavier sur un microcontrôleur 241 Logiciel de gestion du clavier 243 NOTIONS SUR MULTITACHE ET TEMPS REEL 250 Quelques définitions 250 Bases d’un système multitâche et temps réel 251 Système multitâche à temps partagé 254 Mini exécutif "scolaire" multitâche à temps partagé 259 ANNEXES SUR LE HC12 : PILE, INSTRUCTIONS, ET VECTEURS D’INTERRUPTION 281 Evolution automatique du pointeur de pile en HC12 281 Vecteurs d’interruption HC12 281 Instructions assembleur : voir première partie 283

CNAM

ELE118

Sommaire 2ème partie

IV