Problem lecture PORT A PIC 16f877
Répondre à la discussion
Affichage des résultats 1 à 15 sur 15

Problem lecture PORT A PIC 16f877



  1. #1
    invite8d337daf

    Problem lecture PORT A PIC 16f877


    ------

    J'ai réaliser un programe qui teste en boucle le pin 5 du portA d'un PIC 15f877 et qui envoie le caractere 0 ou 1 sur une interface RS232 qui s'affcige sur mon PC.
    A mon grand étonement, le programm detecte succcessivement des niveau haut et bas sur le pin alors que celui-ci a été defini en entre (bsf TRISA, 5) et que le PIN n'est relié à rien.
    ci-dessous ma boucle:
    ;***************************** ****************************** **********
    ; PROGRAMME PRINCIPAL *
    ;***************************** ****************************** **********

    main
    btfss RC5
    goto ZERO
    btfsc RC5_RCV
    goto main
    bsf RC5_RCV
    movlw "1"
    call RS232_Send
    goto main
    ZERO
    btfss RC5_RCV
    goto main
    bcf RC5_RCV
    movlw "0"
    call RS232_Send
    goto main

    -----

  2. #2
    Gérard

    Re : Problem lecture PORT A PIC 16f877

    Bonjour,
    Page 29 de la datasheet :
    On a power-on reset, these pins are configured as analog inputs and read as '0'.
    Il est question du port A
    Conclusion : ADCON1 = 7 et le portA est en numérique.
    Ne pas oublier de configurer TRISA suivant tes besoins.

  3. #3
    invite8d337daf

    Re : Problem lecture PORT A PIC 16f877

    Merci pour ta réponse rapide, mais j'avais bien initialisé ADCON1. As-tu uen autre idée?

    ; REGISTRE ADCON1 (ANALOGIQUE/DIGITAL)
    ; ------------------------------------
    ADCON1VAL EQU B'00000110' ; PORTA en mode digital

  4. #4
    Gérard

    Re : Problem lecture PORT A PIC 16f877

    Citation Envoyé par edhedh Voir le message
    Merci pour ta réponse rapide, mais j'avais bien initialisé ADCON1. As-tu uen autre idée?

    ; REGISTRE ADCON1 (ANALOGIQUE/DIGITAL)
    ; ------------------------------------
    ADCON1VAL EQU B'00000110' ; PORTA en mode digital
    Tu dis : la pin n'est reliée à rien --> voilà l'erreur.
    Mets une résistance de 10K entre le +5V et RA5.
    Elle sera vue à 1 quand rien ne se passe et il faut la mettre à 0 quand c'est utile.

    Il ne faut pas laissé des entrées en l'air.

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

    Re : Problem lecture PORT A PIC 16f877

    Ok merci ça marche!!!!
    Maintenant, je reviens a mon problème de départ qui était de tester le flux IR RC5. J'ai connecté ce mmême pin5 directement a la sortie d'un recepteur IR TSOP4838 et je retrouve avec des varaitions de niveaux sur mon pin sans que le recepteur de soir sollicité avec une télécommande.
    Pour infos la tension mesurée en sortie du TSOP est de quelques volts est semble quasi constante.

  7. #6
    Gérard

    Re : Problem lecture PORT A PIC 16f877

    Citation Envoyé par edhedh Voir le message
    Ok merci ça marche!!!!
    Maintenant, je reviens a mon problème de départ qui était de tester le flux IR RC5. J'ai connecté ce mmême pin5 directement a la sortie d'un recepteur IR TSOP4838 et je retrouve avec des varaitions de niveaux sur mon pin sans que le recepteur de soir sollicité avec une télécommande.
    Pour infos la tension mesurée en sortie du TSOP est de quelques volts est semble quasi constante.
    La sortie du TSOP est bien connectée à RA5.
    Il y a des variations sur RA5 et la tension de sortie du TSOP est de qq V alors que ces points sont reliés ?
    C'est trop pour ce soir, j'ai besoin de dormir.
    Il parrait que la nuit porte conseil.

  8. #7
    invite8d337daf

    Re : Problem lecture PORT A PIC 16f877

    La nuit a t-elle portée conseil ?

  9. #8
    Gérard

    Re : Problem lecture PORT A PIC 16f877

    Citation Envoyé par edhedh Voir le message
    La nuit a t-elle portée conseil ?
    C'est à toi de me dire ce que tu mesures et surtout où tu fais les mesures.
    Avec un petit schéma, c'est toujours plus explicite.

    Et c'est encore une nuit qui m'attend.
    A demain.

  10. #9
    DavidDB

    Re : Problem lecture PORT A PIC 16f877

    Je te recopie la réponse que j'ai faite sur l'autre forum :

    Salut,

    C'est bizarre les données de ton post#8...

    Ce n'est absolument pas normal d'obtenir une suite aussi régulière de 01.

    Es-tu certain du format de ta donnée en réception???

    De plus avec la vitesse de ton UART, il plus qu'improbable d'obtenir une telle régularité dans les données si ton TSOP émet n'importe quoi.

    David.

  11. #10
    invite8d337daf

    Re : Problem lecture PORT A PIC 16f877

    Comme tu peux le voir dans mon premier post, mon programme n'envoie au PC que les changements d'état: il n'envoie "0" que si il avait envoyé "1" juste avant et que maintenant le bit vaut 0;
    Par conséquent, c'est normale que les suites de "0" et de "1" soient régulières.
    Mie normalement, sans sollicitaion du récepteur IR, on devarit avoir un seul et unique "1" affiché.
    Pour infos, des que je déconnecte le recepteur et que je relie le pin à +5v vi une resitance de 10K, le PIN se calme et reste à 1.Je ne pesne pas que le recepteur ssoi défaillant car j'ai fais le teste avec 2 un SBX et un TSOP.

  12. #11
    DAUDET78

    Re : Problem lecture PORT A PIC 16f877

    Ton récepteur infrarouge, sans signal infrarouge, doit donner du bruit qui ne correspond à aucun code valable et qui est éliminé par le soft de réception. Tu as mis un scope sur ton signal "bruité" ? tu as essayer de mettre en marche ton émetteur infrarouge?
    J'aime pas le Grec

  13. #12
    DavidDB

    Re : Problem lecture PORT A PIC 16f877

    Salut,

    Ce n'est absolument pas normal d'obtenir une suite aussi régulière...

    Donne la référence exacte de ton TSOP avec son datasheet en annexe.

    Mie normalement, sans sollicitaion du récepteur IR, on devarit avoir un seul et unique "1" affiché.
    Non, pas avec ton code...

    Car je ne vois pas où tu modifies le bit RC5, et donc il est parfaitement plausible d'avoir une suite de 1 ou 0 si ce bit est modifié dans une autre partie de ton code!

    Sinon, regarde le problème soulevé par daudet, car suivant le TSOP c'est une possibilité(ce type de réception permet de connaître l'état de fonctionnement du capteur TSOP)

    David.

  14. #13
    invite8d337daf

    Re : Problem lecture PORT A PIC 16f877

    Merci pour vos réponses.

    Le code que j'ai posté est complet dans la mesure ou l'interruption générale est inhibée (GIE = 0)
    Comme vous le voyez le programme ne fait que boucler et ne modifie pas le bit lu.
    le TSOP est le TSOP4838 mais j'ai le meme comportement avec le SBX1620

  15. #14
    DavidDB

    Re : Problem lecture PORT A PIC 16f877

    Si ton code est complet, il y a alors un bug...

    Car, le bit RC5 est dès l'init dans un état déterminé, et comme tu ne le modifies pas, tu exécuteras toujours la même partie du code du post#1...

    Place la datasheet des deux TSOP sur le forum, je ne fais pas la recherche à ta place...

    David.
    Dernière modification par DavidDB ; 01/02/2008 à 19h53. Motif: datasheet

  16. #15
    DavidDB

    Re : Problem lecture PORT A PIC 16f877

    Pour le TSOP4838, il faut au minimum un condo de 4.7µF et une résistance de 100ohm pour un fonctionnement optimal...

    David.

Discussions similaires

  1. aide pour PIC 16F877 vers PC via port serie (transfert de données)
    Par invite1c4b6700 dans le forum Électronique
    Réponses: 8
    Dernier message: 08/05/2009, 01h47
  2. LA LECTURE SEULE DES CD RW big problem merci
    Par invite7302e3f5 dans le forum Logiciel - Software - Open Source
    Réponses: 35
    Dernier message: 25/06/2007, 09h52
  3. Réponses: 0
    Dernier message: 18/03/2007, 15h43
  4. Pic 16f877 Pic basic pro conseil
    Par invite4ff7103d dans le forum Électronique
    Réponses: 10
    Dernier message: 04/01/2007, 17h26
  5. Port serie sur 16F877 avec CCS
    Par joseph4008 dans le forum Électronique
    Réponses: 7
    Dernier message: 12/07/2006, 17h56
Découvrez nos comparatifs produits sur l'informatique et les technologies.