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

programmation de PIC 16F877 en C



  1. #61
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C


    ------

    Citation Envoyé par bs.amine Voir le message
    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
    il faut que je regarde la datasheet...
    mais sûrement qu'il faut vaux mieux désactiver le convertisseur...
    si les 877 en intègre un...
    à toute à l'heure...

    à tous les coups c'est ça...

    ps : ah ben ça avance ;O] doucement mais sûrement ;O]

    re ps : RISC doit bien rire à nous voir galérer avec ces .... ;O]

    -----

  2. #62
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Edit : correction (no quiproquo)

    re ps : RISC doit bien rire à me voir encore galérer avec ces convertisseurs ;O]

    en "espérant" que c'est ça... je regarde...

  3. #63
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    le prob est que je suis qu'un debutant avec les pic et mon projet port sur lui
    si vous savez comment on les configure ca serai bien sinon je dois me galerer avec le datasheet en plus il est en anglais
    et si on arrive quand meme a voir ce prob reste comment l'exprimer en CCX5 lool

  4. #64
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Citation Envoyé par bs.amine Voir le message
    le prob est que je suis qu'un debutant avec les pic et mon projet port sur lui
    si vous savez comment on les configure ca serai bien sinon je dois me galerer avec le datasheet en plus il est en anglais
    et si on arrive quand meme a voir ce prob reste comment l'exprimer en CCX5 lool
    re ;O]

    essayes
    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)
    {
    ADCON0 = =0b00000000; // ADC OFF ici
    ADCON1 = =0b00000000; // ADC OFF ici
    
    TRISA=0b11100000;
    TRISB=0b11111111;
    
    while(1)
    {
    
    led1=1;
    led3=1;
    
    }
    }
    et dis nous... que font les leds?

    après si tu t'intéresses à l'électronique, aux PICS, il faut te mettre à l'anglais...
    la datasheet d'un PIC, c'est sa "bible" (ou son coran... sa thora...) ...

    et il y a beaucoup de tutos en français sur le web,
    pour 877, ou pas, mais facilement "adaptables"
    car tous les 16Fxxxx se ressemblent,

    exemples parmis d'autres après une petite recherche sur google :
    http://fribotte.free.fr/bdtech/16F877/16F877.html
    http://fr.wikipedia.org/wiki/16F877
    http://pagesperso-orange.fr/fabrice....ic_accueil.htm

    et bien sur les cours de Monsieur BigOnOff

  5. #65
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    je me suis gourré dans l'ADC...
    comme d'ab... la même erreur..

    essayes ça... et tiens nous au jus

    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)
    {
    ADCON0 = =0b00000000; // ADC OFF ici
    ADCON1 = =0b00000110; // ADC OFF ici
    
    TRISA=0b11100000;
    TRISB=0b11111111;
    
    while(1)
    {
    
    led1=1;
    led3=1;
    
    }
    }
    alors?

    c'est dans la datasheet, section 11 "Analog to Digital Converter"...
    l'explication des registres ADCON0 et 1...

  6. #66
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    la même chose que l'autre c'est bizarre vraiment .
    je pense prob de schéma ????
    je posterai le schéma si quelqu'un peut la vérifier ca sera mieux
    Fichiers attachés Fichiers attachés

  7. #67
    invite8243d82d

    Re : programmation de PIC 16F877 en C

    J'ai fait des simul pour voir le comportement, j'ai les memes bizarreries

    J'ai fait le test suivant :
    RB0 et RB1 sur ON
    resultat :
    test RB0
    RA0 s'allume (OK)
    test RB1
    RA0 s'eteind et RA1 s'allume

    une seule instruction provoque le changement d'etat des deux sorties :
    BSF PORTA,1

    Je met une partie du code asm généré par CC5X si ca peu aider
    Code:
    			;if (inter1==1) 
    m003	BCF   0x03,RP0
    	BCF   0x03,RP1
    	BTFSS 0x06,inter1
    	GOTO  m004
    			;{
    			;a=!a;
    	MOVLW 1
    	XORWF TtmpA32,1
    			;led1=a;
    	BTFSS 0x20,a
    	BCF   0x05,led1
    	BTFSC 0x20,a
    	BSF   0x05,led1
    			;antirebond();
    	CALL  antirebond
    			;}
    			;
    			;if (inter2==1) 
    m004	BCF   0x03,RP0
    	BCF   0x03,RP1
    	BTFSS 0x06,inter2
    	GOTO  m005
    			;{
    			;b=!b;
    	MOVLW 2
    	XORWF TtmpA32,1
    			;led2=b;
    	BTFSS 0x20,b
    	BCF   0x05,led2
    	BTFSC 0x20,b
    	BSF   0x05,led2
    			;antirebond();
    	CALL  antirebond
    			;}
    edit :
    testé avec le ADC off

  8. #68
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Citation Envoyé par bs.amine Voir le message
    la même chose que l'autre c'est bizarre vraiment .
    je pense prob de schéma ????
    je posterai le schéma si quelqu'un peut la vérifier ca sera mieux
    je me suis gourré dans l'init de l'ADC,
    teste le dernier code corrigé...

    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)
    {
    ADCON0 = =0b00000000; // ADC OFF ici
    ADCON1 = =0b00000110; // ADC OFF ici
    
    TRISA=0b11100000;
    TRISB=0b11111111;
    
    while(1)
    {
    
    led1=1;
    led3=1;
    
    }
    }

  9. #69
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    pour le code en C qui vient juste avant le msg ou j'ai mis mon schema
    ca march les leds sont allumées et stables

  10. #70
    invite8243d82d

    Re : programmation de PIC 16F877 en C

    Ok chez moi

  11. #71
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    Citation Envoyé par vede Voir le message
    je me suis gourré dans l'init de l'ADC,
    teste le dernier code corrigé...

    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)
    {
    ADCON0 = =0b00000000; // ADC OFF ici
    ADCON1 = =0b00000110; // ADC OFF ici
    
    TRISA=0b11100000;
    TRISB=0b11111111;
    
    while(1)
    {
    
    led1=1;
    led3=1;
    
    }
    }

    ce code march bien les deux leds sont allumées et stable
    je vais teste de modifier mon code avec ces modificationns

  12. #72
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    'taing d'ADC ;O]

    on aura bien galèré ;O]

    bon ben plus qu'à rajouter les 2 lignes

    ADCON0 = 0b00000000; // ADC OFF ici
    ADCON1 = 0b00000110; // ADC OFF ici

    juste aprés le main...
    pour que les BP fonctionnent...
    ;O]

  13. #73
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    teste et confirme
    je vous remerciez tout les 2 pour votre soutien
    vous avez passé presque tout la soirée avec mon probleme je suis tres reconnaissant envers vous les deux
    je sais pas comment vous remercier
    je fais un peu d'infographie
    si vous voulez quelques chose par la suite je serai la pour vous comme vous avez été la pour moi
    lool mais je pense qu'il aura une suite car c'est le 1er programme il me reste plusieurs dans le futur proche

  14. #74
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Citation Envoyé par bs.amine Voir le message
    teste et confirme
    je vous remerciez tout les 2 pour votre soutien
    vous avez passé presque tout la soirée avec mon probleme je suis tres reconnaissant envers vous les deux
    je sais pas comment vous remercier
    je fais un peu d'infographie
    si vous voulez quelques chose par la suite je serai la pour vous comme vous avez été la pour moi
    lool mais je pense qu'il aura une suite car c'est le 1er programme il me reste plusieurs dans le futur proche
    YEEEEEEEEEESSSSSSSSSS ;O]

    pas de souci...
    à bientôt...
    pour un nouveau "défi"...
    ;O]

  15. #75
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    oui ca serai chaud par la suite HHHHHH
    merci encore une fois et bonne nuit

  16. #76
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    la morale :

    -toujours commencer par faire clignoter une led...

    -toujours se rappeler que l'ADC est actif par défaut...
    (quand il y en a un...)...

  17. #77
    invite871681a3

    Re : programmation de PIC 16F877 en C

    Ce code permet d'inverser l'etat de la sortie,

    void main(void)
    {

    TRISA=0b11100000;
    TRISB=0b11111111;

    while(1)
    {

    if (inter1==1) { led1=!led1;}
    antirebond();

    if (inter2==1) { led2=!led2;}
    antirebond();

    if (inter3==1) {led3=!led3; }
    antirebond();

    if (inter4==1) { led4=!led4;}

    }
    }


    en cc5x le symbole(!) est traduit en assembleur par xor 1,
    c'est a dir le complement logique du bit concerné

    code C: if (inter1==1) { led1=!led1;}

    traduction asm:


    BTFSS PORTB,0 ;(inter1)
    GOTO saut
    MOVLW 2 ;charger 00000010 dans w
    XORWF PORTA,1 ;inverser PORTA,1
    saut:

  18. #78
    invite7a49d0d5

    Cool Re : programmation de PIC 16F877 en C

    Bonsoir jalavaj,

    il avait testé (led=!led) et ça passait pas (cf posts #31 et suivants)

    sinon ton code ne fonctionnera pas tel quel,
    c'est là qu'on à galèré (cf posts #60 et suivants)
    car il faut désactiver le convertisseur analogique
    au début du programme, avec :

    ADCON0 = =0b00000000; // ADC OFF ici
    ADCON1 = =0b00000110; // ADC OFF ici

    juste avant les TRISx...

    vede
    ;O]

  19. #79
    invite1cd8f19a

    Re : programmation de PIC 16F877 en C

    merci jalavaj et Vede
    j'aurai encore un petit programme a faire je vais essayer de le coder ce soir, donc ca sera un nouveau defi si j'arrive pas a le faire
    mais cette fois je pense que ca sera un peu delicat mais je vais essayer de le faire

Page 3 sur 3 PremièrePremière 3

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...