République Algérienne Démocratique et Populaire Ministère de l'enseignement supérieur et de herche scientifique Université de Ferhat Abbas -Sétif - Département d'électrotechnique 1éreannée master Mini projet sus les M i c r o c o n t r ô l e u r s pic 16f877 Realizes par: Drissi fethallah Chiheb ammar Année universitaire 2013- 2014
SOMMAIRE 1/Définition de μC …………… 2/utilisation de μC ………………………. 3/Brochage et fonction des pattes PIC 16f877 ……….. 4/Architecture de microcontrôleur PIC 16f877 ……….…… 5/Les éléments constitutifs du PIC 16f877 6/Langages des programmation des porte
1/ Définition : Un microcontrôleur pic 16F87x est un circuit intègre (composant électronique) sous formes d’une boite de 40 broches alimente par alimentation entre 2 à 5 V les μC est autonome doté: d’un microprocesseur de la mémoire RAM Des interfaces d’E/S analogique Des Timer pour gérer le temps ………………… 1.1 les microcontrôleur PIC : fabriqué par la Société américaine Arizona MICROCHIP Technologies. Le mot PIC désigné (Programmable Interface Contrôler) Un PIC est généralement identifié par une référence de la forme suivante :xxXXyy-zz
xx : famille du composant, actuellement « 12, 14, 16, 17 et 18 ». Il existe trois familles de PIC : - Base-Line : les instructions sont codées sur 12 bits. - Mid-Line : les instructions sont codées sur 14 bits. - High-Line : les instructions sont codées sur 16 bits. XX : type de mémoire programme : - C : EPROM ou EEPROM ; - CR : PROM ; - F : Flash ; yy : Identificateur ; zz : vitesse maximale du quartz de pilotage.
2/utilisation de μC : il y’a un microcontrôleur dans chaque équipement électronique : Informatique (souris, modem …) Vidéo (Appareil photos numérique, caméra numérique …) Contrôle des processus industriels (régulation, pilotage …. ) Appareil de mesure (affichage, calcul statistique, mémorisation ….) Automobile (ABS, injection, GPS, airbag ….) Multimédia ( carté audio, carte vidéo, MP3, magnétoscope …) Téléphones (fax, portable, modem…….)
4/Brochage et fonction des pattes
Les fonctions des pattes sont les suivantes : - VSS, VDD : Alimentation OSC1,2 : Horloge RA0-5 : Port A RB0-7 : Port B RC0-7 : Port C RA0-7 : Port D
5/Architecture de microcontrôleur 17F877
6/Les éléments constitutifs du PIC 16f877 6.1/ Les mémoires internes: Il existe trois types de mémoire : 1/ RAM pour les registres internes et les données ; 2/ EEPROM de données ; 3/ EEPROM FLASH programme (des données aussi) 6.2/ L’horloge: Le rôle de l’horloge est de cadencer le rythme d’exécution des instructions. Il y a 4 modes possibles pour réaliser l’horloge : 1. LP Löw-Power Crystal 2.XT Crystal/Résonateur 3.HS High-Speed Crystal/Résonateur 4.RC Résistor/Capacité 6.3Circuit de RESET : On utilise un circuit de reset externe qui permet la mise à la masse de l’entrée MCLR (Master clear) qui permet l’initialisation du PIC à l’aide d’un bouton poussoir.
6.4/L'ALU et l’accumulateur W : L’ALU est une Unité Arithmétique et logique 8 Bits qui réalise les opérations arithmétiques et logique de base. L’accumulateur W est un registre de travail 8 bits, toutes les opérations à deux opérandes passe par lui. 6.5/Mémoire programme: Le PIC 16F877 possède un compteur de programme de 13 bits ce qui permet l’adressage de 8K mots (instructions). Il y a deux adresses réservées : - Vecteur du RESET : 0000h adresse de début du programme - Vecteur d’interruption : 0004h adresse de début du sous programme d’interruption. Le PIC possède une pile de 8 niveaux pour la sauvegarde des adresses de retours suite aux appels de S-P.
6.6/Les indicateur d’état (drapeaux) : Les bits Z, DC et C situés dans le registre STATUS sont des indicateurs qui permettent de savoir comment une instruction s’est terminée. Toutes les instructions n’agissent pas sur les indicateurs, voir liste des instructions ci-dessous. Z : passe à 1 quand le résultat d’une instruction est nul C : passe à 1 quand l’opération a généré une retenue DC : passe à 1 quand les 4ème bits génère une retenue
6.7/ les jeu s d’instructions Tous les PICs Mid-Range ont un jeu de 35 instructions, {W,F ? d} signifie que le résultat va soit dans W si d=0 ou w, soit dans F si d= 1 ou f
8/ Langages des programmation des porte La programmation des microcontrôleurs PIC est supportée par plusieurs langages de programmation tel que : MPLAB, l’Assembleur , C et C++. Dans ce l’expose on va présenter deux manière de programmation des microcontrôleurs PIC en C et par MPLAB donner quelques 9/ LES exemples DE PROGRAMMATION EN c. Exemple 1/: REALISE UN COMPTEUR 0 à 99 : nous allons présenter est une application très simple à réaliser, c’est un compteur qui peut aller de 0 à 99 (8 bits) avec un bouton de remise à zéro. Le circuit de cet exemple a été réalisé et simulé sous le logiciel ISIS, la figure suivante illustre ce montage
Le programme par langage C #include <system.h> #include <pic16F877.h> #pragma DATA _CONFIG, _XT_OSC & _WDT_OFF #pragma CLOCK_FREQ 4000000 int i;//Déclaration d’un entier. void main( void ){ trisb = 0xFF; trisc = 0x00; trisd = 0x00; trise = 0x00; portc = 0x00; portd = 0x00; intcon = 0x90; sleep(); for (i=0;i=99;i++) { clear_bit(porte,1); set_bit(porte,0); portd=portd++; delay_ms(20); if ((portd==9) && (portc!=9)) { portd=0; portc=portc++; } if ((portd==9) && (portc==9)) break; } portc=0; } void interrupt( void ) { if(INTF==1) { portc=0; set_bit (porte,1); clear_bit( intcon, INTF ); } }
8.1.2/ Exemple 2/:COMMANDE D4UN MOTUER A PAS (1/2 pas , pas complet)