pbm curieux lors de la programmation d'un pic 16f876
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

pbm curieux lors de la programmation d'un pic 16f876



  1. #1
    invite1e5bea39

    pbm curieux lors de la programmation d'un pic 16f876


    ------

    Bonjour,
    Je suis ce tutoriel ( http://herve.hollard.perso.sfr.fr/do...ructure_ES.pdf ) que je trouve super bien expliqué pour apprendre la programmation des pic en langage C.
    Pour cela j'ai à ma disposition une carte demoboard esaypic v2, un pic 16f876, 16f84A.
    J'utilise MPLAB IDE dernière version auquel j'ai ajouté le compilateur C CC5X.
    Et je rencontre le pbm suivant:

    J'ai recopié le code suivant:

    void main(void) {

    PORTB=0; //initialisation des ports du 16f876
    TRISB=0b11110000;

    for(;{

    RB0=RA0; // le pins du port A sont reliés à des boutons poussoirs et les pins du port B à des leds
    RB1=RA1;
    RB2=RA4;
    RB3=RB5;

    }
    }

    il s'agit d'un code simple prévu pour un pic16f84A initialement mais comme on utilise les memes registre de configuration sur le 16f876 ce code est directement transportable sur un 16876 (a condition de bien selectionnée le chip 16f876 dans les options de MPLAB) me semble t il???

    La compilation s'effectue bien (build success!!) et la programmation via PICFLASH (le logiciel de programmation inclus a easypic2) aussi!!!

    Seulement lorsque je met mon pic sous tension et que j'appuie sur mes BP reliés aux pins du portA il ne se passe rien. (j'ai essayé avec plusieur 16f876 différents et meme avec un 16f84A, 16f627)... Ca marche avec le 16f84A mais pas avec les 16f876?

    Y a til une configuration que j'ai omise quelque part???

    Je vous remercie d'avance pour votre aide,
    Cordialement,

    -----

  2. #2
    invite860936ec

    Re : pbm curieux lors de la programmation d'un pic 16f876

    Bonjour,
    Je t'invite à comparer les data sheets au niveau des i/o et de voire les quelques différences qu'il existe entre le 16F84 est le 16F876
    http://ww1.microchip.com/downloads/e...doc/30292c.pdf page 31
    http://ww1.microchip.com/downloads/e...doc/35007b.pdf page 17


    @+

  3. #3
    invitee5da1686

    Re : pbm curieux lors de la programmation d'un pic 16f876

    regarde au niveau de l'adc qui est present sur le portA, tu doit configurer ce port en mode digital et non analogique par default

  4. #4
    invitefaaca50b

    Re : pbm curieux lors de la programmation d'un pic 16f876

    Morpheus a raison, outre le probleme d'ADC, il y a d'autres choses a modifier
    En plus attention a ne pas programmer un 876 comme un 876A...

    Dans cette matiere encore, il se faut d'etre exact, et pas apeupres... le presque et le bien bon n'y ont pas leur place...

  5. A voir en vidéo sur Futura
  6. #5
    invitef86a6203

    Re : pbm curieux lors de la programmation d'un pic 16f876

    exemple d'init en digital pour le portA du 876 ;
    Code:
    ;-------- Init PORTA = 00110000 --------
    	bsf	STATUS,RP0
    	movlw	7
    	movwf	ADCON1
    	movlw	D'48'
    	movwf	TRISA
    	bcf	STATUS,RP0

  7. #6
    invite1e5bea39

    Re : pbm curieux lors de la programmation d'un pic 16f876

    Bonsoir,
    Je vous remercie tous pour votre aide!!! En effet il fallait que je programme le registre ADCON1!!!! Et ca marche!!
    Franck-26, quand tu dis qu'il y a d'autres éléments à traiter sur ces ports tu pensais aux resistances de pull-up interne au PORTB?
    Encore merci à vous!!!!!
    Cordialement,
    roland

  8. #7
    RISC

    Re : pbm curieux lors de la programmation d'un pic 16f876

    Salut,
    Citation Envoyé par roland2pau Voir le message
    for(;{

    RB0=RA0; // le pins du port A sont reliés à des boutons poussoirs et les pins du port B à des leds
    RB1=RA1;
    RB2=RA4;
    RB3=RB5;

    }
    }
    C'est le genre de séquence qui peut potentiellement poser un problème....
    Si jamais 2 des broches RAx sont à 1 et se suivent dans cette séquence, les sorties RB ne fonctionneront pas toujours normalement (cela dépend du code généré)...

    Pour éviter cela il faut TOUJOURS utiliser les LATx pour les sorties :

    Code:
    LATB0=RA0; // le pins du port A sont reliés à des boutons poussoirs et les pins du port B à des leds
    LATB1=RA1;
    LATB2=RA4;
    LATB3=RB5;
    a+
    Dernière modification par RISC ; 06/09/2012 à 18h39.

  9. #8
    invite1e5bea39

    Re : pbm curieux lors de la programmation d'un pic 16f876

    Bonjour,
    Merci RISC pour ce complément d'information. C'est intéressant parce meme si ma compilation avec ce code s'achève avec le message "build success", j'avais cependant des message wrnings m'avertissant (sous mikroC ide) que le read-modify-write sur le portB pouvait rencontrer des problèmes à cause de la sequence d'ecriture ci-dessus.
    Cordialem

Discussions similaires

  1. Programmation PIC 16F876
    Par invite71282ecb dans le forum Électronique
    Réponses: 11
    Dernier message: 03/06/2014, 22h21
  2. programmation du pic 16f876
    Par invite27bceb15 dans le forum Électronique
    Réponses: 1
    Dernier message: 21/03/2012, 16h44
  3. Problème lors de la programmation d'un PIC en Pascal
    Par invitedf66cb3b dans le forum Électronique
    Réponses: 10
    Dernier message: 16/12/2010, 15h45
  4. programmation du pic 16f876
    Par invited09df1e4 dans le forum Électronique
    Réponses: 2
    Dernier message: 01/11/2008, 18h28
  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, 22h21
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...