Bienvenue, Visiteur
Vous devez vous enregistrer avant de pouvoir poster.

Nom d’utilisateur
  

Mot de passe
  





Rechercher dans les forums



(Recherche avancée)

Statistiques du Forum
» Membres : 7
» Dernier membre : londonconstructionltd
» Sujets du forum : 6
» Messages du forum : 6

Statistiques complètes

Utilisateurs en ligne
Il y a actuellement 15 utilisateurs connectés.
» 0 Membre(s) | 15 Visiteur(s)

Derniers sujets
سلسلة دورات للمهندسين الع...
Forum : Microcontrôleurs
Dernier message : MicroChip
06-02-2020, 10:05 AM
» Réponses : 0
» Affichages : 867
Tutoriel 02 PIC16F727 (pa...
Forum : Microcontrôleurs
Dernier message : MicroChip
05-22-2020, 02:55 PM
» Réponses : 0
» Affichages : 855
Tutoriel N° 2 : programma...
Forum : Microcontrôleurs
Dernier message : MicroChip
05-21-2020, 09:10 AM
» Réponses : 0
» Affichages : 812
Pic 16F727 tutoriel 01 re...
Forum : Microcontrôleurs
Dernier message : admin
05-20-2020, 08:24 PM
» Réponses : 0
» Affichages : 733
Tutoriel 02 : Configurati...
Forum : Microcontrôleurs
Dernier message : admin
05-18-2020, 12:14 PM
» Réponses : 0
» Affichages : 1,114
Configuration des registr...
Forum : Microcontrôleurs
Dernier message : admin
05-18-2020, 11:40 AM
» Réponses : 0
» Affichages : 779

 
  سلسلة دورات للمهندسين العرب قيد الاعداد في الاردوينو (ESP32 & Arduino)
Posté par : MicroChip - 06-02-2020, 10:05 AM - Forum : Microcontrôleurs - Pas de réponse

سلسلة دورات للمهندسين العرب قيد الاعداد في الاردوينو
(ESP32 & Arduino)

ستقوم السلسلة بشرح عدة تجارب لتوضيح المبادئ الرئيسية في عمل الأردوينو.
الدرس الأول هو عبارة عن مقدمة بسطية عن الأردوينو، نتمنى لكم مشاهدة ممتعة و مفيدة.
Série de tutoriel sur Arduino et ESP32


  Tutoriel 02 PIC16F727 (partie 2 )
Posté par : MicroChip - 05-22-2020, 02:55 PM - Forum : Microcontrôleurs - Pas de réponse

Tutoriel 02 PIC16F727 (partie  2 )

Code :
// etape 1 configuration des registres :


// PIC16F727 Configuration Bit Settings

// 'C' source line config statements

// CONFIG1
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON       // RE3/MCLR pin function select bit (RE3/MCLR pin function is MCLR)
#pragma config CP = OFF         // Code Protection bit (Program memory code protection is disabled)
#pragma config BOREN = ON       // Brown-out Reset Selection bits (BOR enabled)
#pragma config BORV = 19        // Brown-out Reset Voltage selection bit (Brown-out Reset Voltage (VBOR) set to 1.9 V nominal)
#pragma config PLLEN = ON       // INTOSC PLLEN Enable Bit (INTOSC Frequency is 16MHz (32x))

// CONFIG2
#pragma config VCAPEN = DIS     // Voltage Regulator Capacitor Enable bits (All VCAP pin functions are disabled)

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

#include <xc.h>

#define sortie 0
#define entree 1

#define ON 0
#define OFF 1

#define LED_D16 PORTCbits.RC0

#define LED_D11 PORTEbits.RE0
#define LED_D12 PORTEbits.RE1
#define LED_D13 PORTEbits.RE2

#define _XTAL_FREQ 16000000    // T = 1/f = 1 / 16 000 000  = 62.5 ns

// declaration des fonctions

void cmd_led( unsigned int valeur_tempo);

void tempo(unsigned int valeur_ms);


// programme principale

void main (void)
{
   
    // la valeur de la féquence de l'osc
    // fosc = 16 Mhz T = 1/f T = 1/16000000 = 62.5 ns
    OSCCONbits.IRCF1 = 1 ;
    OSCCONbits.IRCF0 = 1 ;
   
    // configuration port E :
   
    // les trois branche E2,E1, et E0 sont de type numérique
    ANSELEbits.ANSE2 = 0 ;
    ANSELEbits.ANSE1 = 0 ;
    ANSELEbits.ANSE0 = 0 ;
   
   //  les trois branche E2,E1, et E0 sont  des sorties
   
    TRISEbits.TRISE2 = 0 ;
    TRISEbits.TRISE1 = 0 ;
    TRISEbits.TRISE0 = 0 ;
   
    // Mettre le port E OFF
   
    LED_D11 = OFF ; // etat haut --> led RD11 off
    LED_D12 = OFF ; // etat haut --> led RD12 off
    LED_D13 = OFF ; // etat haut --> led RD13 off

   
    while (1)
    {
        PORTE = 0b111 ; // toutes les leds RD11,12 et 13 sont off
        __delay_ms(250);
       
        for (int i = 0 ; i < 3 ; i++  ) 
        {
            PORTE = PORTE  <<1 ;  // 0b110
            __delay_ms(250); // attente de 500 ms
        }
              
    }

 
}


  Tutoriel N° 2 : programmation PIC16F727
Posté par : MicroChip - 05-21-2020, 09:10 AM - Forum : Microcontrôleurs - Pas de réponse

Tutoriel N° 2 : programmation PIC16F727  sous MPLABX compilateur XC8 

Gestion des entrées et sorties 
Création d'une fonction 
Piloter trois LEDs sur le même port 


Code :
// etape 1 configuration des registres :


// PIC16F727 Configuration Bit Settings

// 'C' source line config statements

// CONFIG1
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON       // RE3/MCLR pin function select bit (RE3/MCLR pin function is MCLR)
#pragma config CP = OFF         // Code Protection bit (Program memory code protection is disabled)
#pragma config BOREN = ON       // Brown-out Reset Selection bits (BOR enabled)
#pragma config BORV = 19        // Brown-out Reset Voltage selection bit (Brown-out Reset Voltage (VBOR) set to 1.9 V nominal)
#pragma config PLLEN = ON       // INTOSC PLLEN Enable Bit (INTOSC Frequency is 16MHz (32x))

// CONFIG2
#pragma config VCAPEN = DIS     // Voltage Regulator Capacitor Enable bits (All VCAP pin functions are disabled)

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

#include <xc.h>

#define sortie 0
#define entree 1

#define ON 0
#define OFF 1

#define LED_D16 PORTCbits.RC0

#define LED_D11 PORTEbits.RE0
#define LED_D12 PORTEbits.RE1
#define LED_D13 PORTEbits.RE2

#define _XTAL_FREQ 16000000    // T = 1/f = 1 / 16 000 000  = 62.5 ns

// declaration des fonctions

void cmd_led( unsigned int valeur_tempo);
void tempo(unsigned int valeur_ms);


// programme principale

void main (void)
{
   
    // la valeur de la féquence de l'osc
    // fosc = 16 Mhz T = 1/f T = 1/16000000 = 62.5 ns
    OSCCONbits.IRCF1 = 1 ;
    OSCCONbits.IRCF0 = 1 ;
   
    // configuration port E :
   
    // les trois branche E2,E1, et E0 sont de type numérique
    ANSELEbits.ANSE2 = 0 ;
    ANSELEbits.ANSE1 = 0 ;
    ANSELEbits.ANSE0 = 0 ;
   
   //  les trois branche E2,E1, et E0 sont  des sorties
   
    TRISEbits.TRISE2 = 0 ;
    TRISEbits.TRISE1 = 0 ;
    TRISEbits.TRISE0 = 0 ;
   
    // Mettre le port E OFF
   
    LED_D11 = OFF ; // etat haut --> led RD11 off
    LED_D12 = OFF ; // etat haut --> led RD12 off
    LED_D13 = OFF ; // etat haut --> led RD13 off

   
    while (1)
    {
        cmd_led(150);
    }

 
}

// la fonction commande led

void cmd_led( unsigned int valeur_tempo)
{
     for (int i = 0 ; i < 3; i ++)  // boucle x 3
        {
            LED_D11 = ON ;        // 4 x periode = 250
            tempo(valeur_tempo) ;
            LED_D12 = ON ;
            tempo(valeur_tempo);
            LED_D13= ON ;
            tempo(valeur_tempo);    
        }
       
        LED_D11 = OFF ; // etat haut --> led RD11 off
        LED_D12 = OFF ; // etat haut --> led RD12 off
        LED_D13 = OFF ; // etat haut --> led RD13 off
       
        tempo(valeur_tempo); // tempo 250 ms
}


// la fonction tempo

void tempo(unsigned int valeur_ms)
{
    for (int i = 0 ; i < valeur_ms ; i++ )
    {
        __delay_ms(1);
    }
}


  Pic 16F727 tutoriel 01 registres + horloge + clignoter une led
Posté par : admin - 05-20-2020, 08:24 PM - Forum : Microcontrôleurs - Pas de réponse

Je vous mis en ligne le premier tutoriel sur la programmation  du pic16F727. 
Le sujet de ce tutoriel : 
Configuration des registres 
Configuration de l'horloge 
Gestion  des IO
Commander une Led 
Faire clignoter une led 


Code :
// etape 1 configuration des registres :


// PIC16F727 Configuration Bit Settings

// 'C' source line config statements

// CONFIG1
#pragma config FOSC = INTOSCIO  // Oscillator Selection bits (INTOSCIO oscillator: I/O function on RA6/OSC2/CLKOUT pin, I/O function on RA7/OSC1/CLKIN)
#pragma config WDTE = OFF       // Watchdog Timer Enable bit (WDT disabled and can be enabled by SWDTEN bit of the WDTCON register)
#pragma config PWRTE = OFF      // Power-up Timer Enable bit (PWRT disabled)
#pragma config MCLRE = ON       // RE3/MCLR pin function select bit (RE3/MCLR pin function is MCLR)
#pragma config CP = OFF         // Code Protection bit (Program memory code protection is disabled)
#pragma config BOREN = ON       // Brown-out Reset Selection bits (BOR enabled)
#pragma config BORV = 19        // Brown-out Reset Voltage selection bit (Brown-out Reset Voltage (VBOR) set to 1.9 V nominal)
#pragma config PLLEN = ON       // INTOSC PLLEN Enable Bit (INTOSC Frequency is 16MHz (32x))

// CONFIG2
#pragma config VCAPEN = DIS     // Voltage Regulator Capacitor Enable bits (All VCAP pin functions are disabled)

// #pragma config statements should precede project file includes.
// Use project enums instead of #define for ON and OFF.

#include <xc.h>

#define sortie 0
#define entree 1

#define ON 0
#define OFF 1

#define LED_D16 PORTCbits.RC0

#define _XTAL_FREQ 16000000


void main (void)
{
   
    // la valeur de la féquence de l'osc
    // fosc = 16 Mhz T = 1/f T = 1/16000000 = 62.5 ns
    OSCCONbits.IRCF1 = 1 ;
    OSCCONbits.IRCF0 = 1 ;
   
// allumer la led  D16 --> rc0
    TRISCbits.TRISC0 = sortie ;
   
    // Mettre la sortie RC à 0
   
  //  PORTCbits.RC0 = 0 ;

    while (1)
    {
        // le programme en boucle
        LED_D16 =  ~LED_D16;
        __delay_ms(250);
       
    }
}


  Tutoriel 02 : Configuration d'oscillateur (horloge) interne du microcontrôleur PIC18F
Posté par : admin - 05-18-2020, 12:14 PM - Forum : Microcontrôleurs - Pas de réponse

Programmation embarquée : 

Je vous mis en ligne le deuxième tutoriel sur la programmation embarquée des microcontrôleurs. 

le sujet : la configuration d'horloge interne du µC 


  Configuration des registres du microcontrôleur PIC18F45K20
Posté par : admin - 05-18-2020, 11:40 AM - Forum : Microcontrôleurs - Pas de réponse

Salam o3alykom 

Je vous souhaite le bienvenue dans mon forum, je vous mis en ligne le premier tutoriel sur la programmation embarquée des microcontrôleurs.
j'ai choisi le PIC18F45K20 pour débuter. 

j’espère que ça  sera utile et ça permettra d'aider toutes personnes intéressées par l'apprentissage de la programmation embarquée. 

Ci-dessous la première video : TUTORIEL N° 1

Le sujet du cours concerne la configuration des registres internes du microcontrôleur , j'ai choisi de commencé par ce sujet vu que c'est une partie essentielle avant de débuter la programmation des different périphériques du microcontrôleur.