Mise en route du compilateur MPLAB XC8 - LED clignotant 1 Programmation MPLAB X

Mise en route du compilateur MPLAB XC8 - LED clignotant 1 Programmation MPLAB XC8 1.1 Registres d'écriture 1.1.1 Ecriture Bit par bit: 1.1.2 Écriture au Registre entier 1.2 Code - LED clignotant 2 Schéma de circuit 3.0.1 Oscillateur de cristal 3.0.2 PIC 16F877A Microcontrôleur 3.0.3 PIC programmateur USB PICkit 2 Dans ce tutoriel, nous allons apprendre à clignoter une LED avec un microcontrôleur PIC à l'aide du compilateur MPAB XC8. Récemment Microchip a publié une série d'outils de développement, y compris MPLAB X IDE et MPAB XC Compilers. MPLAB X IDE est un logiciel qui fonctionne sur un ordinateur destiné à développer des applications pour les microcontrôleurs Microchip et les processeurs de signal numérique DSP. Il peut être utilisé avec les systèmes d'exploitation Windows, Mac et Linux. Il s'appelle un environnement de développement intégré car il fournit des installations complètes aux développeurs. Contrairement aux versions précédentes de MPLAB, MPLAB X IDE est basé sur une open source l'IDE NetBeans par Oracle. Les compilateurs MPLAB XC sont des solutions générales pour tous les microcontrôleurs microchip PIC et peuvent être utilisés pour tout projet. Il remplace tous les compilateurs MPLAB C et Hi-Tech C. Microchip recommande à chaque développeur d'utiliser les compilateurs MPLAB XC. Ces compilateurs s'intègrent avec MPLAB X IDE pour fournir une interface graphique intégrale. Dans ce projet d'exemple, nous allons clignoter une LED à l'aide du microcontrôleur PIC 16F877A. Pour cela, nous allons utiliser MPLAB X IDE et le compilateur MPLAB XC8. Vous pouvez télécharger MPLAB X IDE et XC8 Compiler à partir des pages respectives. Vous devez installer Java avant d'installer MPLAB X.  Téléchargez et installez MPLAB X IDE.  Téléchargez et installez le compilateur MPLAB XC8.  Ouvrez MPLAB X IDE.  Cliquez sur File >> New Project  Sélectionnez Microchip Embedded >> Standalone Project  Cliquez sur Suivant  Sélectionnez Family et Device.  Cliquez sur Suivant  Sélectionnez votre outil matériel. Ne vous inquiétez pas si votre programmeur n'est pas pris en charge. Vous pouvez directement créerr le fichier hexagonal après la construction du projet.  Cliquez sur Suivant  Sélectionnez le Compilateur XC8.  Cliquez sur Suivant  Entrez le nom du projet, l'emplacement du projet, etc.  Cliquez sur Terminer  Cliquez avec le bouton droit sur Source Files dans l'arborescence du projet.  Sélectionnez New >> C Main File  Donner le nom et l'emplacement du fichier  Le nouveau fichier source est créé, vous pouvez ajouter un code ici. Programmation MPLAB XC8  Les broches d'entrée sorties du microcontrôleur PIC sont divisées en différents PORTS contenant un groupe de broches GPIO (General Purpose Input Output).  Puisque PIC 16F877A est un microcontrôleur 8 bits, chaque PORT contient 8 broches d'entrée sortie.  Dans les microcontrôleurs 16F, chaque port est associé à deux registres: TRIS et PORT. Par exemple: TRISB, PORTB, TRISD, PORTD.  TRIS signifie Tri-State, il détermine la direction de chaque broche GPIO. Le 1 logique à un bit particulier du registre TRIS rend la broche correspondante en entrée tandis que la logique 0 à un bit particulier rend la broche correspondante en sortie.  Toutes les entrées seront dans l'état Hi-Impedance.  Le registre PORT est utilisé pour lire les données ou écrire des données sur les broches de sortie d'entrée.  Pour une broche en sortie (le bit TRIS est 0), la logique 1 au registre PORT rend la broche correspondante au niveau logique haut (VDD) et Logic 0 dans le registre PORT rend la broche correspondante au niveau logique bas (VSS). Ecriture aux registres Vous pouvez écrire sur les registres PORT et TRIS entièrement ou bit par bit. Ecriture Bit par bit: TRISC0 = 1; //Rend le 0th bit du PORTC en entrée TRISC5 = 0; //Rend le 5th bit du PORTC en sortie RB3 = 1; // Rend le 3th bit du PORTB au niveau logique haut RB7 = 0; // Rend le 7th bit du PORTB au niveau logique bas Ecriture dur le registre entier Vous devez être familier avec les concepts suivants de programmation C. Un nombre avec un préfixe '0b' indique un nombre binaire. Un nombre avec un préfixe '0' indique un nombre octal. Un nombre avec un préfixe '0x' indique un nombre hexadécimal. Un nombre sans préfixe est un nombre décimal. Voyons quelques exemples ... Décimal Binaire Octal Hexadécimal 0 0b00000000 00 0x00 1 0b00000001 01 0x01 128 0b10000000 0200 0x80 255 0b11111111 0377 0xFF PORTB=0xFF ; //Rend toutes les broches du PORTB au niveau logique haut TRISC=0x00 ; //Rend toutes les broches du PORTC en sortie PORTD=128 ; //Rend le 7eme bit du PORTD au niveau logique haut. Code - LED clignotant #define _XTAL_FREQ 8000000 #include <xc.h> // BEGIN CONFIG #pragma config FOSC = HS // Oscillator Selection bits (HS oscillator) #pragma config WDTE = ON // Watchdog Timer Enable bit (WDT enabled) #pragma config PWRTE = OFF // Power-up Timer Enable bit (PWRT disabled) #pragma config BOREN = ON // Brown-out Reset Enable bit (BOR enabled) #pragma config LVP = OFF // Low-Voltage (Single-Supply) In-Circuit Serial Programming En able bit (RB3 is digital I/O, HV on MCLR must be used for programming) #pragma config CPD = OFF // Data EEPROM Memory Code Protection bit (Data EEPROM code pro tection off) #pragma config WRT = OFF // Flash Program Memory Write Enable bits (Write protection off ; all program memory may be written to by EECON control) #pragma config CP = OFF // Flash Program Memory Code Protection bit (Code protection off ) //END CONFIG int main() { TRISB0 = 0; //RB0 as Output PIN while(1) { RB0 = 1; // LED ON __delay_ms(1000); // 1 Second Delay RB0 = 0; // LED OFF __delay_ms(1000); // 1 Second Delay } return 0; }  La première instruction #define _XTAL_FREQ 8000000 définit la fréquence d'horloge du microcontrôleur qui sert à calculer les retards dans la fonction __delay_ms (). La deuxième déclaration #include <xc.h> comprend le fichier d'en-tête xc.h qui contient la définition de la fonction __delay_ms () et TRIS, les registres PORT.  La suite est #pragma config directives, qui est utilisé pour indiquer au compilateur de définir des bits de configuration du Microcontroller PIC. Vous pouvez le générer en utilisant l'IDE MPLAB comme suit.  Aller à la fenêtre Window >> PIC Memory Views >> Configuration Bits  Vous pouvez sélectionner la configuration au bas de l'IDE comme indiqué ci-dessous  Cliquez Generate Source Code to Output  Vous pouvez copier coller simplement ce code généré à l'éditeur de code.  Ensuite, entrez le code restant pour le clignotement de la LED.  Construire le projet (build the project)  Le fichier .hex sera généré dans l'emplacement de votre dossier de projet >> dist >> default >> production Schéma de circuit  VDD et VSS du microcontrôleur PIC sont connectés à + 5V et GND respectivement. L'oscillateur à cristaux de 8MHz est utilisé pour fournir l'horloge nécessaire pour le fonctionnement du microcontrôleur. Les condensateurs 22pF sont utilisés pour stabiliser l'horloge générée par l'oscillateur à cristaux liquides. Une LED est connectée à RBO (broche 33) via une résistance de 470Ω pour limiter le courant. uploads/Ingenierie_Lourd/ mise-en-route-du-compilateur-mplab-xc8.pdf

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