programmation de PIC 16F877 en C - Page 2
Répondre à la discussion
Page 2 sur 3 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 79

programmation de PIC 16F877 en C



  1. #31
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C


    ------

    parquoi on peut remplacer le not
    j'ai deja mis le led1=!led1
    mais ca march pas
    le not le compilateur le connait pas

    -----

  2. #32
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    si obligé...

    essaye not led1 sans parenthéses...

    sinon il faut regarder la doc du compilo...
    le not est obligatoirement utilisable...
    c'est une "fonction" de base...
    qui est dans TOUS les compilos...
    renseignes toi...

    au pire le not est "émulable"...
    mais là faut rajouter des variables, compteurs et conditions...
    pour chaque BP/LED...

  3. #33
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    peut-être que le not ne peut agir directement sur le port...

    crée une variable...

    char a

    et tente

    not a...

    voir si là ça fait une erreur...

    si pas d'erreur, il faut ajouter une variable "état" par led,
    comme dans mon premier exemple... pour faire le "not"
    dessus plutot que directement sur le port...

  4. #34
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    ok je vais tester ca merci bcp pour votre aide et dsl pour le derangement
    pour le compilo j'ai CCX5 sous mplap avec isis pour simulation

  5. #35
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    re ;O]

    et pour un fonctionnement "normal" dans la réalité,
    il faudra remettre un anti-rebonds dans chaque bloc
    de condition BP...

    sinon un appui sur le BP pourrait génerer plusieurs impulsions...intempestives...
    qui fausseront le résultat (led éteinte au lieu d'allumée et vis-versa)...

    un anti-rebonds, c'est une temporisation, de 100ms par exemple...

    ça donnera :

    if BP1 = 1
    {
    ....
    ....
    delay_ms(100) // ça pareil je sais pas comment ça se code en CCX,
    // mais il doit y avoir une "fonction" delai "prédéfinie"...
    }

  6. #36
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    j'ai deja programmé une fonction antirebond avec 20 ms et ca march pour la fonction delay je l'avait essayée hier mais ca pas marcher
    pour le complement j'ai utilisé une var pour chaque led
    comme suit
    a=!a;
    led1=a;
    avec la fonction antirebond biensur
    je vais voir avec les autres leds
    et je vous informe

  7. #37
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    le code a été optimisé avec le complement mais tjr le prob de la boucle
    je sais pas quoi faire

  8. #38
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Citation Envoyé par bs.amine Voir le message
    le code a été optimisé avec le complement mais tjr le prob de la boucle
    je sais pas quoi faire
    re ;O]

    quel prob de la boucle?

  9. #39
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    pour l'indepandance des leds
    tjr si je veux allumer une,l'autre s'eteind
    impossible d'avoir les deux allumées

  10. #40
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Citation Envoyé par bs.amine Voir le message
    pour l'indepandance des leds
    tjr si je veux allumer une,l'autre s'eteind
    impossible d'avoir les deux allumées
    non, pas avec mon code...

    il faut utiliser une variable par BP,
    et pas "a" pour tous les BP...

    ou c'est ta simu qui n'est pas au point...
    je suis sur que dans mon exemple, un
    appui sur un BP n'a aucune incidence
    sur l'état des autres leds...
    sur un montage "réel"...

  11. #41
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    j'ai copie coller ton code biensur avec les modifications des not et l'antirebond
    mais rien

  12. #42
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Citation Envoyé par bs.amine Voir le message
    j'ai copie coller ton code biensur avec les modifications des not et l'antirebond
    mais rien
    envoi tout ton code final...
    que je regarde d'où ça pourrait venir..

  13. #43
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    le voila
    Code:
    #pragma chip pic16f877
    bit inter1 @PORTB.0; //Bp1
    bit inter2 @PORTB.1; //Bp2
    bit inter3 @PORTB.2; //Bp3
    bit inter4 @PORTB.3; //Bp4
    bit led1 @PORTA.0; //Led1
    bit led2 @PORTA.1; //Led2
    bit led3 @PORTA.2; //Led3
    bit led4 @PORTA.3; //Led4
    char a,b,c,d;
    unsigned tempo:16;
    void antirebond(void);
    void main(void)
    {
    a=0;b=0;c=0;d=0;
    TRISA=0b11100000;
    TRISB=0b11111111;
    
    while(1)
    {
    
    if (inter1==1) 
    {antirebond();while(inter1);a=!a;
    led1=a;antirebond();
    }
    
    if (inter2==1) 
    {antirebond();while(inter2);b=!b;
    led2=b;antirebond();
    }
    
    if (inter3==1) 
    {antirebond();while(inter3);c=!c;
    led3=c;antirebond(); 
    }
    
    if (inter4==1) 
    {antirebond();while(inter4);d=!d;
    led4=d;antirebond();
    }
    
    }
    }
    void antirebond(void)
    {
    for (tempo=0;tempo<2000;tempo++); //fonction pour antirebond de 20 ms 
    }

  14. #44
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    ok, essaye ça :

    Code:
    #pragma chip pic16f877
    bit inter1 @PORTB.0; //Bp1
    bit inter2 @PORTB.1; //Bp2
    bit inter3 @PORTB.2; //Bp3
    bit inter4 @PORTB.3; //Bp4
    bit led1 @PORTA.0; //Led1
    bit led2 @PORTA.1; //Led2
    bit led3 @PORTA.2; //Led3
    bit led4 @PORTA.3; //Led4
    char a,b,c,d;
    unsigned tempo:16;
    
    void antirebond(void)
    {
    for (tempo=0;tempo<2000;tempo++); //fonction pour antirebond de 20 ms 
    }
    
    void main(void)
    {
    a=0;b=0;c=0;d=0;
    TRISA=0b11100000;
    TRISB=0b11111111;
    
    while(1)
    {
    
    if (inter1==1) 
    {
    a=!a;
    led1=a;
    antirebond();
    }
    
    if (inter2==1) 
    {
    b=!b;
    led2=b;
    antirebond();
    }
    
    if (inter3==1) 
    {
    c=!c;
    led3=c;
    antirebond(); 
    }
    
    if (inter4==1) 
    {
    d=!d;
    led4=d;
    antirebond();
    }
    
    }
    }
    si ça ne fonctionne pas, je baisse les bras...
    et si ça ne fonctionne pas, c'est au niveau de la simu...
    ou attendons d'autres zavis zavisès..
    ;O]

  15. #45
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    ca marche pas malheureusement je pense a enregistre l'etat de la led sur un registre et de faire la mise a jour chaque fois ou bien concatination d'une chaine de caractere pour l'envoyer sur le port

  16. #46
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    re :

    en fait moi je vois pas comment un appui pourrait changer
    l'état d'une autre led... que celle du BP correspondant...
    vu le programme...

    bon ben on va voir ce qu'en penses les autres...

  17. #47
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    en attandant les autre je vous remercie pour l'aide que vous m'avez apporté
    a bientot

  18. #48
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Citation Envoyé par bs.amine Voir le message
    en attandant les autre je vous remercie pour l'aide que vous m'avez apporté
    a bientot
    re ;O]

    pas de souci...

    mais je trouve quand même tout ça très très zétrange ;O]
    vu la dernière version du programme...

    tu as bien re-compilé le code?

    je vois pas comment un appui sur BP1 pourrait
    changer l'état d'une autre led que la LED1...

    d'après moi c'est une "subtilité" du compilo...
    ou du simulateur...

    enfin on verra...

  19. #49
    invite8243d82d

    Re : programmation de PIC 16F877 en C

    Bonjour,

    peut-etre une piste : qu'est-ce que ca donne en changeant
    char a,b,c,d;

    par

    bit a,b,c,d;

    ?

  20. #50
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    rien de speciale le meme prob je commence a se desespere

  21. #51
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Citation Envoyé par blurpy Voir le message
    Bonjour,

    peut-etre une piste : qu'est-ce que ca donne en changeant
    char a,b,c,d;

    par

    bit a,b,c,d;

    ?
    Bonsoir,

    [humour]

    là je crois que je l'ai "épuisé", le pauvre bs.amine ;O]

    [/humour]

    vede
    ;O]

    ps: et c'est même pas vrai... il est encore là ;O]

    re ps : ça vient de ta simu alors...
    ferme tout...relance... recharge le programme...

  22. #52
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    ca commence a devenir tres dur
    je dois le faire avant mardi max et je me suis bloqué a cette etape la

  23. #53
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    re ;O]

    qu'est ce qui se passe exactement...

    t'appui sur BP1... LED1 s'allume...
    puis
    t'appui sur BP2... LED2 s'allume...mais LED1 s'éteint...

    c'est pas cohérent avec le programme...

  24. #54
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Citation Envoyé par vede Voir le message
    re ;O]

    qu'est ce qui se passe exactement...

    t'appui sur BP1... LED1 s'allume...
    puis
    t'appui sur BP2... LED2 s'allume...mais LED1 s'éteint...

    c'est pas cohérent avec le programme...
    ... en "réel" ce programme fonctionne (enfin la logique)...
    même pas besoin de câbler... c'est sur...

  25. #55
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    HHHHHH
    logiquement ca doir marche
    mais avec simulation je vois pas comment
    si on imnrique les if
    if else if else

  26. #56
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Citation Envoyé par bs.amine Voir le message
    HHHHHH
    logiquement ca doir marche
    mais avec simulation je vois pas comment
    si on imnrique les if
    if else if else
    re ;O]

    j'y connais rien en simu...
    c'est pas mon truc...

    et je vois pas ce que ça changerais...
    ce code "fonctionne"... en "réel"...

    et de toute façon il suffit de le lire...
    un appui sur BP2 ne peut changer l'état d'une autre Led que la Led2...

    créé un nouveau fil "aide simu PIC isis"...

  27. #57
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    SSSSSSSOOOOOOOOOOOOOOOOSSSSSSS SSSSSS
    personnes pour resoudre ca fameux prob

  28. #58
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    re ;O]

    comme le comportement en simu ne paraît
    pas avoir changé avec toutes ces modifs (bizarre),
    j'ai peur que tu oublies de re-compiler avec CCX
    puis recharger dans isis le programme re-compilé...

    teste ça, la Led1 et 3 doivent s'allumer au démarrage...
    sinon...

    Code:
    #pragma chip pic16f877
    bit inter1 @PORTB.0; //Bp1
    bit inter2 @PORTB.1; //Bp2
    bit inter3 @PORTB.2; //Bp3
    bit inter4 @PORTB.3; //Bp4
    bit led1 @PORTA.0; //Led1
    bit led2 @PORTA.1; //Led2
    bit led3 @PORTA.2; //Led3
    bit led4 @PORTA.3; //Led4
    
    void main(void)
    {
    TRISA=0b11100000;
    TRISB=0b11111111;
    
    while(1)
    {
    
    led1=1;
    led3=1;
    
    }
    }

  29. #59
    invite8243d82d

    Re : programmation de PIC 16F877 en C

    Je suis du meme avis que vede, ce code devrait marcher tel quel, donc a voir du coté de la simulation ...

  30. #60
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    quelques chose qui cloche dans la simulation car les deux leds apparaient comme elles alternent d'etat il ne sont pas stable
    est ce que ca peut etre la mal configuration du prot a
    car il peut etre utilise comme entree sortie analogique ou bien numerique

Page 2 sur 3 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. Pic 16f877 problème de programmation
    Par invite4bffdc16 dans le forum Électronique
    Réponses: 11
    Dernier message: 06/08/2009, 08h21
  2. Problème de programmation PIC 16F877, SAA 1064 et afficheurs 7 segments
    Par invite64e12149 dans le forum Électronique
    Réponses: 6
    Dernier message: 18/05/2009, 09h33
  3. Pb programmation PIC 16F877 et CNA
    Par invite31759d82 dans le forum Électronique
    Réponses: 6
    Dernier message: 26/02/2008, 19h00
  4. Réponses: 0
    Dernier message: 18/03/2007, 15h43
  5. programmation en C pic 16F877
    Par inviteb5e29967 dans le forum Électronique
    Réponses: 2
    Dernier message: 08/03/2007, 19h51
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...