CAN programmation MikroC pic 16F876.
Répondre à la discussion
Affichage des résultats 1 à 2 sur 2

CAN programmation MikroC pic 16F876.



  1. #1
    Eyo92

    CAN programmation MikroC pic 16F876.


    ------

    Bonsoir,

    Donc voilà en fait je désire réaliser un programme qui fera en sorte de traiter deux signaux analogique (AN0,AN1) issus de mes capteurs pour commander deux moteurs cc via deux PWM indépendantes.
    Pour l'instant, j'arrive à commander un seul moteur (depuis RA1 ou RA0) à la fois et le problème c'est que je n'arrive pas à faire les deux ensemble.

    Je sais sélectionner qu'une entrée analogique via le registre ADCON0 ce qui est normal mais je voudrais savoir comment exploiter deux entrées analogiques en même temps pour ainsi commander mes sorties pwm simultanément.

    Merci.

    -----

  2. #2
    Eyo92

    Re : CAN programmation MikroC pic 16F876.

    Voici mon code qui fonctionne que pour un seul capteur et sa pwm...

    // Définition des sous programmes

    void init_ES(void);
    void init_CAN(void);
    void init_PWM(void);
    void init_Timer2(void);
    void init_PWM1(void);
    // Définition des variables

    char moteur1,moteur2;

    // Programme principal

    void main(void)
    {

    INTCON=0; // Pas d'interruptions
    init_ES();
    init_CAN();
    init_Timer2();
    init_PWM();
    init_PWM1();
    while(1)

    {
    ADCON0|=5; // Lance la conversion de AN0
    while(((ADCON0)&(4))==1); // Attente fin de conversion
    moteur1=ADRESH; // Résultat de la conversion dans moteur1
    CCPR1L=moteur1; // Rapport cyclique = moteur1
    }
    }

    // Initialisation des Entrées/Sorties

    void init_ES(void)
    {
    TRISA=0xFF;
    TRISC=0;
    }

    // initialisation CAN voie 0 AN0
    void init_CAN(void)
    {

    ADCON0=0b11000111; // AN0
    ADCON1=0; // Résultat sur 10 bits de poids forts
    }

    // Initialisation de la fonction PWM pour le MCC 1
    void init_PWM(void)
    {
    CCP1CON=0b1100; //mode production du signal PWM
    CCPR1L=0; //Rapport cyclique au départ
    }
    // Initialisation de la fonction PWM1 pour le MCC 2
    void init_PWM1(void)
    {
    CCP2CON=0b1100; //mode production du signal PWM1
    CCPR2L=0; //Rapport cyclique au départ
    }

    // Initialisation du Timer 2
    void init_Timer2(void)
    {
    T2CON=0b100; //Démarre timer2
    PR2=0b110001; //registre 8 bits, quartz=8MHz
    }
    Dernière modification par Eyo92 ; 01/06/2013 à 21h07.

Discussions similaires

  1. Programmation PIC 16F876
    Par invite71282ecb dans le forum Électronique
    Réponses: 11
    Dernier message: 03/06/2014, 21h21
  2. programmation du pic 16f876
    Par elmhamdi dans le forum Électronique
    Réponses: 1
    Dernier message: 21/03/2012, 15h44
  3. programmation du pic 16F84A avec mikroc
    Par invite184126ed dans le forum Électronique
    Réponses: 3
    Dernier message: 14/03/2010, 16h05
  4. programmation du pic 16f876
    Par invited09df1e4 dans le forum Électronique
    Réponses: 2
    Dernier message: 01/11/2008, 17h28
  5. PPE: problème programmation et branchement du pic 16f876
    Par invite37724fb8 dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 28/04/2007, 21h21
Découvrez nos comparatifs produits sur l'informatique et les technologies.