[PIC] Détécter l'état logique d'une entrée sur pic 16f690
Répondre à la discussion
Affichage des résultats 1 à 13 sur 13

[PIC] Détécter l'état logique d'une entrée sur pic 16f690



  1. #1
    invitece85d109

    [PIC] Détécter l'état logique d'une entrée sur pic 16f690


    ------

    Bonjours a tous, dans le cadre de mon projet de tpe je doit détécter si un bouton est appuié ou non et comme vous l'avez déja deviné sa marche pas
    Voici le code réaliser et compilé sur mikroC, j'ai tester le fonctionnement grace a débugger de mikro C , si on met du courrant (virtuellement) sur le port c, la led sur le port b s'allume. J'ai également tester le code sur Real pic simulator, la aussi il fonctionne comme prévu, ce n'est que en pratique que sa marche pas.
    Code C
    void main()
    {
    //initaliser les ports de communication
    TRISB=0x00; // tout les pins en sorite
    TRISC=0xFF; // tout les pins en entree
    PORTB=0x00; // msie a zero entrée et sortie
    PORTC=0x00;
    PORTB.F4=1; // allumer le port de la leds 2 secondes pour verification
    delay_ms(2000);
    PORTB.F4=0;
    while(1)
    {
    if(PORTC.F0==1) // si le pin 0 du port c est = 1 (5v) allumer la led au port B pin 4
    {
    PORTB.F4=1;
    }
    else // dans lautre cas l'eteindre
    {
    PORTB.F4=0;
    }
    }
    }




    Du coté du montage la led fonctionne ( elle s'allume 2 secondes lors de la mise sous tension, comme prévu).
    A la place du bouton j'ai directement relier la patte en entrée a la masse ou au +5V dans les 2 cas apres les 2 secondes la led s'éteint et reste éteinte.
    J'ai vérifier toutes les liaisons avec l'ohm mètre le courant passe.
    Bref je ne vois plus ce que sa pourrait etre d'autre.

    Quel est votre avis?
    merci d'avance
    Cédric

    -----

  2. #2
    inviteede7e2b6

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    resistance de tirage présente ?

  3. #3
    invitece85d109

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    Euh non je conai pas ce composant , il permet de faire quoi?

  4. #4
    Antoane
    Responsable technique

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    Bonjour,
    Google, aidé par Genias donne la réponse : http://forums.futura-sciences.com/el...n-pull-up.html
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

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

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    Bonjour Antoane et merci pour ton lien , j'ai lu le topic mais je n'est pas tout a fait compris, faut il mettre 2 resistance une "pull up " et une "pull down " ou seulement une des deux?
    j'ai fait un tour sur wiki et jai realiser le motage comme sur ce shema http://fr.wikipedia.org/wiki/Fichier...Up_Circuit.png
    ( avec un seule resistance ) si j'ai bien compris lorsque l'on appui sur le bouton la tension passe a 0V elle a VCC (5v) quand le bouton est relaché.
    Esque sa devrait fonctionner comme cela ? parceque j'ai re-essayer mais rien a faire.


    d

  7. #6
    Antoane
    Responsable technique

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    C'est ça, une résistance. La règle absolue étant de :
    ne jamais laisser à l'air une entrée de circuit intégré.

    Tu mets donc une pull-up (càd entre l'entré et le plus) lorsque le BP est entre l'entré et le moins et une pull-down dans le cas inverse.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  8. #7
    invitece85d109

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    C'est compris , parcontre mon montage ne fonctionne toujours pas ( et le PIC ne semble pas endomager il execute bien le code) jai re re re re reverifier il s'agit bien des bonnes entrée et sorties. J'ai tester l'effet "pull up" avec la led, c'est ok.
    Y a t-il autre chose qui cloche ?

  9. #8
    Antoane
    Responsable technique

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  10. #9
    invitece85d109

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    http://img42.imageshack.us/img42/5043/shema1.png
    dsl je navai pas de logiciel sous la main c'est fait sous photofiltre. Le point rouge c'est la diode.

  11. #10
    invitece85d109

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    aie je n'est lu les conseil pour poster des images que après, voila donc l'image en jpg et en piece jointe.
    Images attachées Images attachées  

  12. #11
    Antoane
    Responsable technique

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    C'est pour ça que j'avais demandé un schéma complet....
    des pistes :
    - Le MCLR est bien raccordé au +Vcc,
    - l'alimentation est bien découplée (100nF sur l'alimentation au plus près du PIC),
    - tous les fusibles du pic sont bien paramétrés (wdt...)
    - essaye de mettre un 10nF en série avec 100ohm en parallèle des contacts du BP
    ...

    PS : c'est surtout les deux premiers points les plus probables.

    PS2 : c'est pas critique, mais la résistance de tirage, on met souvent autour de 10k pour ne pas trop consommer inutilement : avec 1k, tu tires 5mA.
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

  13. #12
    invitece85d109

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    - le MCRL n'est pas relié au +Vcc je n'est lu sa dans aucun tuto donc je l'ai jamais fait, il faut?
    - l'alimentation est découplée (avec un 105nf mais sa pourrait etre plus pres du pic)
    -le wdt est désactiver ( je l'avait désactiver suite a des probleme de timer mais je n'utilise pas de timer dans ce projet ) doit-je l'activer?
    LVP (low programming voltage) est desactiver
    HS ( high speed oscillation) est activer
    autre chose : justilise le quarz interne de 4mhz
    je vais tenter un montage avec un 10nF en serie avec une resistance de 100ohm.
    Malheureusement je ne pourrait plsu te répondre ce soir, je te remerci de ton aide précieuse et te souhaite une bonne année

  14. #13
    Antoane
    Responsable technique

    Re : [PIC] Détécter l'état logique d'une entrée sur pic 16f690

    A moins que tu n'aies configuré le circuit pour que la broche RA0/!MCLR/Vpp ne soit une entré (RA0), il faut la relier au +Vcc, sans quoi le circuit se remet à 0 à tout moment (cf post6).
    Ceci dit, ça paraitrait étrange que le programme se déroule bien au début, puis se remette à zéro.
    Pas d'autre idée...
    Bonne soirée.

    PS : à 4milli Hertz, y va pas bien vite ton pic ! 4MHz parait plus raisonnable
    Deux pattes c'est une diode, trois pattes c'est un transistor, quatre pattes c'est une vache.

Discussions similaires

  1. [Pic 16F690] Signal pwm
    Par invite7656582f dans le forum Électronique
    Réponses: 8
    Dernier message: 30/08/2010, 00h16
  2. détecter front montant sur PIC
    Par invite53dd3979 dans le forum Électronique
    Réponses: 1
    Dernier message: 02/03/2009, 17h52
  3. Temporiser l'état d'une sortie d'un PIC ( en C )
    Par invitedd558ae9 dans le forum Électronique
    Réponses: 5
    Dernier message: 30/09/2008, 09h39
  4. lire le niveau d'une entrée sur pic
    Par invite07bc4d05 dans le forum Électronique
    Réponses: 13
    Dernier message: 05/07/2006, 18h51
  5. Entrée analogique sur Microcontorleur PIC
    Par invite49856ed4 dans le forum Électronique
    Réponses: 1
    Dernier message: 27/01/2006, 22h47
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...