Ce TP a pour but de découvrir la programmation des microcontrôleurs PIC avec le

Ce TP a pour but de découvrir la programmation des microcontrôleurs PIC avec le logiciel Flowcode. Matériel disponible avant de commencer le TP :  la carte électronique PICmicro DEVELOPMENT pour programmer les microcontrôleur PIC  son bloc alimentation 12V  son câble USB Sortez votre fiche mémo de Flowcode dans le but de la compléter tout au long de ce TP. Introduction : qu'est-ce qu'un microcontrôleur ? Un microcontrôleur est un circuit intégré qui rassemble les éléments essentiels d'un ordinateur : processeur, mémoires (mémoire morte pour le programme, mémoire vive pour les données), unités périphériques et interfaces d'entrées- sorties. Les microcontrôleurs se caractérisent par un plus haut degré d'intégration, une plus faible consommation électrique (quelques milliwatts en fonctionnement, quelques nanowatts en veille), une vitesse de fonctionnement plus faible (quelques mégahertz) et un coût réduit par rapport aux microprocesseurs polyvalents utilisés dans les ordinateurs personnels. Par rapport à des systèmes électroniques à base de microprocesseurs et autres composants séparés (comme par exemple les ordinateurs ou les automates par exemple), les microcontrôleurs permettent de diminuer la taille, la consommation électrique et le coût des produits. Ils ont ainsi permis de démocratiser l'utilisation de l'informatique dans un grand nombre de produits et de procédés. Les microcontrôleurs sont fréquemment utilisés dans les systèmes embarqués, comme les contrôleurs des moteurs automobiles, les télécommandes, les appareils de bureau, l'électroménager, les jouets, la téléphonie mobile, etc. Les microcontrôleurs PIC Un microcontrôleur est un composant électronique d'usage général. Les microcontrôleurs sont devenus des composants incontournables dans l'électroménager, le contrôle de processus industriel, les télécommunications, ou la robotique. Ce module vise à la compréhension de l'architecture et à la mise en oeuvre de ces composants tant sur le plan matériel que logiciel. Il s'agit aussi de savoir utiliser les outils de développement associés à ces microcontrôleurs. Cet enseignement concerne les étudiants intéressés par la conception matérielle et logicielle de systèmes modernes intégrant de "l'informatique enfouie". Un microcontrôleur intègre sur une seule puce un microprocesseur programmable, de la mémoire, et les principaux contrôleurs de périphériques. Les microcontrôleurs PIC sont des microcontroleurs crées par la société Microchip. Ces microcontroleurs n'appartiennent pas à la famille des 8051, ils intégrent des processeurs RISC et sont pourvus de nombreux périphériques. Ils n'intègrent que 35 instructions assembleur, et sont donc assez facile à programmer. Les programmes sont pour la plupart compatible entre PICs (à part s'il utilisent des registres périphériques spécifiques). Intérêt des PIC Un microcontrôleur est une unité de traitement de l'information de type microprocesseur à laquelle on a ajouté des périphériques internes permettant de réaliser des montages sans nécessiter l’ajout de composants d'annexes. Un microcontrôleur peut donc fonctionner de façon autonome après programmation. En ce sens, les PIC sont particulièrement bien dotés, car ils intègrent mémoire de programme, mémoire de données, ports d'entrée-sortie, et même horloge ou convertisseur analogique-numérique (C.A.N.). De plus des PIC sont disponibles gratuitement en sample (échantillon) chez Microchip à l'adresse http://sample.microchip.com, adresse bien connues des électroniciens amateurs. TP Programmation d'un PIC avec Flowcode Mise en situation et objectifs du TP Mais que veut dire "PIC" ? Le nom PIC n'est pas officiellement un acronyme, bien que la traduction en « Programmable Integrated Circuit » (circuit intégré programmable) soit généralement admise. Page 1 sur 15 Flowcode 01/12/2010 mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... Programmation des PIC Les PICs sont programmables avec différents languages (assembleur, basic, langage C), et notamment en langage purement graphique utilisant un algorigramme avec le logiciel Flowcode. L'algorigramme permet de programmer un PIC dans Flowcode sans avoir besoin d'apprendre le moindre langage de programmation. Les différentes familles de PIC ? Il existe plusieurs familles de PIC : les PIC12, les PIC14, les PIC16F8x, les PIC16Fxxx, les PIC18,etc. La carte de développement que vous utilisez dans ce TP utilise un PIC de la famille des PIC 16F8x. Les PIC16FXX sont le bas de gamme de Microchip. Le plus connus d'entre eux est certainement le PIC16F84. Ce dernier a certainement contribué au succès de Microchip dans le secteur de la robotique. Cependant ce dernier commence à être dépassé et est remplacé par des composants comme le 16F88, qui intègre beaucoup plus de périphériques (dont un oscillateur intégré). De plus les PIC16FXX peuvent être programmé en C (même s'ils ne sont pas étudiés pour celà) avec des compilateurs comme CC5X. 4 microcontrôleurs PIC de familles différentes Ce TP est structuré en 2 parties :  PARTIE 1 : DECOUVERTE DE LA CARTE DE DEVELOPPEMENT  PARTIE 2 : APPLICATION PARTIE 1 : DECOUVERTE DE LA CARTE DE DEVELOPPEMENT Activité 1-1 : préparation de la carte Reliez la carte au port USB du PC puis alimentez-la en utilisant son propre bloc d'alimenttion (réglé sur 12V). Lancez le logiciel Flowcode sur le poste connecté à la carte. Pour cela, utilisez l'icône présente sur le bureau de Windows ou bien allez dans le menu Démarrer + Programmes + Matrix Multimedia + Flowcode V3 + icône Flowcode V3, puis choisissez comme cible la référence du microcontrôleur PIC présent sur la carte. Configurer ensuite Flowcode comme suit (à vérifier systèmatiquement pour chaque nouveau fichier créé dans A retenir : un algorigramme permet de programmer rapidement et facilement un PIC sous forme graphique. La création ou la lecture d'un algorigramme ne necessite aucun apprentissage pour un scientifique, contrairement à un langage de programmation comme le langage C. Travail demandé Page 2 sur 15 Flowcode 01/12/2010 mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... Flowcode) : Configuration indispensable pour que Flowcode puisse dialoguer avec la carte Vérifiez sur la carte que les deux interrrupteurs LCD et 7-SEG (placés sous l'afficheur LCD) sont sur off, que l'interrupteur XTAL/RC est sur XTAL, et que l'interrupteur FAST/SLOW est sur FAST. Pour afficher le brochage du PIC dans Flowcode vous pouvez cliquer sur "Puce" dans le menu Affichage. Vous constatez que le PIC 16F88 est un circuit intégré de 18 pattes (vous pouvez aussi le vérifier sur la carte). Activité 1-2 : création d'un premier programme de test Afin de tester le bon fonctionnement de la carte et de sa connexion avec Flowcode vous allez créer un premier programme qui va faire clignoter la LED A0 de la carte avec une fréquence de 1 Hz. Pour celà : ETAPE 1 : Ajoutez une barre de LED dans votre projet, et connectez-la au port A : Remarque : pour obtenir les propriétés d'un composant, cliquez sur le petit bouton situé dans la barre de titre du composant : ETAPE 2 : Créez dans votre projet l'algorigramme suivant : 1 - Dans le menu Puce + Cible, vérifier si la cible est correcte (16f88) 2 - Dans le menu Puce + Vitesse d'horloge, régler la vitesse de l'horloge de la carte sur 19660800 Hz et la vitesse de simulation sur Aussi vite que possible 3 - Dans le menu Puce + Configurer réglez l'oscillateur sur XTAL et le Watchdog timer sur off Remarque : toute cette procédure préparatoire de Flowcode et de la carte est indiquée sur la page 4 de la fiche mémo et ne vous sera plus rappelée dans les futurs TP : consultez de vous même la fiche mémo pour la retrouver. Page 3 sur 15 Flowcode 01/12/2010 mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... Algorigramme qui fait clignoter la LED A0 Remarque : comme le port A constitue un octet (mot binaire de 8 bits) et que chaque LED est connecté à un bit du port A, chaque LED a pour numéro une puissance de 2 . Et en application du principe du binaire naturel il suffit d'additionner plusieurs puissances de 2 pour allumer plusieurs LED. Par exemple pour allumer la LED A5 il faut mettre 32 dans le port A (32 = 2 puissance 5) Et pour allumer les LED A4 et A1 en même temps il faut mettre 18 dans le port A (18 = 16 + 2), etc. Poid de chaque LED en fonction de son rang sur le port A Les blocs Boucle, Sortie et Pause constituant cet algorigramme sont disponibles en cliquant sur les icônes ci-dessous. Pour connaître le nom des autres blocs, placez le curseur de la souris sur un symbole sans cliquer et consultez les info- bulles : Page 4 sur 15 Flowcode 01/12/2010 mhtml:file://E:\Mustapha Works\Personnelle\Education\TP Mini Projet SOC\PROTE... ETAPE 3 : Lancez la simulation en cliquant sur le bouton Exécuter (ou en appuyant sur F5) et vérifier si la LED A0 clignote bien avec une fréquence de 1 Hz à l'écran. Arrêter la simulation du programme en cliquant sur le bouton Arrêter. ETAPE 4 : vous allez maintenant transférer votre programme sur la carte PICmicro DEVELOPMENT afin de faire clignoter la LED A0 réelles présente sur la carte. Pour cela, commencez par enregistrer votre projet sur le disque dur dans le répertoire "Mes Documents" en créant un sous-répertoire 1S1 s'il n'existe pas encore. Cliquez ensuite sur Compiler vers puce dans le menu Puce (ou utilisez le bouton raccourcis correspondant). Observez sur la carte PICmicro le comportement de la LED A0. Pour arrêter le programme tournant dans le PIC 16f88 sur la carte, créez un algorigramme "qui uploads/Geographie/ tp-programmation-d-x27-un-pic-avec-flowcode.pdf

  • 21
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager