Répondre à la discussion
Affichage des résultats 1 à 11 sur 11

Problème port A PIC 16F627



  1. #1
    VIIV

    Problème port A PIC 16F627


    ------

    Salut,
    J'ai un problème avec le port A du PIC 16F627. En effet, je peux lire et écrire sur le port B, mais uniquement écrire sur le port A. Lorsque j'essaie de le lire, je ne récupère ni "1" ni "0", on dirait que le port est en haute impédance, pourtant il est bien connecté au Vcc/GND.
    Voici le code le plus facile qui marche pas (J'utilise mikroC):

    Code:
    void main()
    {
        TRISA = 0b00000001;
        TRISB = 0b00000000;
    
        while(1)
        {
            if(PORTA.F0 == 1)
            {
               PORTB.F0 = 1;
            }
            
            if(PORTA.F0 == 0)
            {
              PORTB.F0 = 0;
            }
         }
    }
    Alors voila aidez moi a résoudre ce problème svp

    -----

  2. Publicité
  3. #2
    newguy

    Re : Problème port A PIC 16F627

    Pour commencer il y a une différence entre ce que tu donnes comme description de ton code et ce que ton code va faire. Tu pouras écrire sur le portA (bit 7 à 1) et lire (bit 0) et tu pourras écrire sur le portB. Ensuite, commence par donner une valeur initiale à tes ports ça ne peut pas faire de tort.
    Il y a toujours un nouveau sur qui on peut mettre le blâme

  4. #3
    invite03481543

    Re : Problème port A PIC 16F627

    Bonsoir,

    le portA a 2 utilisations possibles, il faut regarder la doc pour voir si un registre ne doit pas être configuré selon l'utilisation.
    @+
    Dernière modification par HULK28 ; 26/06/2008 à 17h41.

  5. #4
    invite03481543

    Re : Problème port A PIC 16F627

    De plus comment as-tu raccordé le portA0 pour faire l'essai (qui est en entrée donc), avec un bouton poussoir, connecté au +Vcc, à la masse?
    Fais un petit schéma de ton montage.
    @+

  6. A voir en vidéo sur Futura
  7. Comparatifs

    Gagnez du temps et de l'argent grâce à nos comparatifs de produits. Parmi nos sujets :
  8. #5
    invite03481543

    Re : Problème port A PIC 16F627

    Ajoute ça dans ton code.

    CMCON=0x07;
    @+

  9. #6
    VIIV

    Re : Problème port A PIC 16F627

    Citation Envoyé par newguy Voir le message
    Pour commencer il y a une différence entre ce que tu donnes comme description de ton code et ce que ton code va faire. Tu pouras écrire sur le portA (bit 7 à 1) et lire (bit 0) et tu pourras écrire sur le portB. Ensuite, commence par donner une valeur initiale à tes ports ça ne peut pas faire de tort.
    Pas faux mais j'ai déjà essayé de écrire dessus avant de le lire.

    Citation Envoyé par HULK28 Voir le message
    De plus comment as-tu raccordé le portA0 pour faire l'essai (qui est en entrée donc), avec un bouton poussoir, connecté au +Vcc, à la masse?
    Fais un petit schéma de ton montage.
    @+
    Par le biais d'une pull-up, regardez pièce jointe.

    Citation Envoyé par HULK28 Voir le message
    Ajoute ça dans ton code.

    CMCON=0x07;
    @+
    La je ne peux pas tester cette solution, chez moi je ne peux pas programmer des PIC, je ne pas encore le programmateur (C'est pour bientôt )
    Mais cette proposition me semble la plus probable, vu que dans le datasheet il est question du port A multiplexé avec les comparateurs. Il mettent aussi un exemple de code en ASM ou il est question des registres spéciaux. Et vu que l'ASM ce pas mon fort...

    Alors voila, si d'autres pensent aux autres raisons je suis prenant, et des que je pourrai je le testerai toutes. (Je sais c'est pas facile pour vous de deviner sans tester)

    La PJ est perdue suite à un "crash" de disque dur.
    Désolé, Prière de la renvoyer.

    La modération
    Papykiwi
    Dernière modification par invite76532345 ; 27/06/2008 à 10h41.

  10. Publicité
  11. #7
    invite03481543

    Re : Problème port A PIC 16F627

    Je n'arrive pas à visualiser ta pièce jointe, donc pas possible de valider pour moi, peut-être Jack ou Gienas?

  12. #8
    RISC

    Re : Problème port A PIC 16F627

    Bonjour,

    Ton problème vient du fait que tu n'as pas initialisé correctement le port A.
    Tous les PICs qui ont des broches d'E/S multiplexées avec des entrées analogiques (CAN ou comparateurs) sont toujours en analogiques au RESET.
    Il faut donc impérativement d'abord programmer ces broches en DIGITAL pour pouvoir les utiliser en E/S.

    Pour le PIC16F627, lis la documentation page 29, exemple 5-1.
    Tu trouveras la solution à ton problème.

    a+

  13. #9
    gedonet

    Re : Problème port A PIC 16F627

    Citation Envoyé par RISC Voir le message
    Bonjour,

    Ton problème vient du fait que tu n'as pas initialisé correctement le port A.
    Tous les PICs qui ont des broches d'E/S multiplexées avec des entrées analogiques (CAN ou comparateurs) sont toujours en analogiques au RESET.
    Il faut donc impérativement d'abord programmer ces broches en DIGITAL pour pouvoir les utiliser en E/S.

    a+
    Bonjour
    Ce que tu dis n'est pas completement exact, les pics plus recents que le 16F628,627 qui ont des comparateurs, ont CMCON= 0000 0111 (port en numerique) au reset comme pour le 16F87XA ou le 16F87,88. Je me demande même si les 16F628,627 ne sont pas les seuls dans leur cas, à avoir CMCON=0000 0000 au reset.
    Gilles

  14. #10
    VIIV

    Re : Problème port A PIC 16F627

    Donc c'est ce que je pensai les registres ... Dès que je pourrai j'essaierai toutes vos réponses. Mais en fait pourquoi justement la valeur 00000111 et pas par ex. 11111111?
    Et encore merci pour vos réponses.

    PS: Ca vaux pas la peine de renvoyer une PJ. Regarder le schéma sur ce lien pour la pull up.
    lien

  15. #11
    gedonet

    Re : Problème port A PIC 16F627

    Citation Envoyé par VIIV Voir le message
    Donc c'est ce que je pensai les registres ... Dès que je pourrai j'essaierai toutes vos réponses. Mais en fait pourquoi justement la valeur 00000111 et pas par ex. 11111111?
    Et encore merci pour vos réponses.
    Bonjour
    En voila une bonne question.
    La reponse que je te fais n'est qu'une hypothese pour certain point.
    Les bits 7 et 6 de CMCON sont read only, c'est le resultat des comparateurs comme les entrées des comparateurd sont reliées ensemble à Vss ( avec CM[2-0]=111) il n'y a donc pas de cas de superiorité d'une entrée sur l'autre, donc resultat 0. Donc au pire on aurrait CMCON au reset egale 00111111, ce n'est donc pas mieux que 00000111.
    Pour les autres valeurs, bit 5 à bit 3, les mettre à 0 economise probablement de la consomation electrique.
    Gilles
    Dernière modification par gedonet ; 27/06/2008 à 19h03.

Discussions similaires

  1. compatibilite pic 16f84 =>16f627,628,648
    Par alienarea dans le forum Électronique
    Réponses: 9
    Dernier message: 26/05/2009, 12h51
  2. PIC 16F84A et port B
    Par skyffer3 dans le forum Électronique
    Réponses: 1
    Dernier message: 21/04/2008, 23h30
  3. problème de port avec PIC 12F675
    Par PSit dans le forum Électronique
    Réponses: 4
    Dernier message: 16/01/2008, 11h11
  4. Probleme port PIC
    Par Nithael dans le forum Électronique
    Réponses: 14
    Dernier message: 02/08/2007, 19h09
  5. PIC 16F627 et 628
    Par dede dans le forum Électronique
    Réponses: 1
    Dernier message: 28/01/2003, 22h25
Découvrez nos comparatifs produits sur l'informatique et les technologies.