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

Pic 12F675 et bouton poussoir



  1. #1
    Demos666

    Pic 12F675 et bouton poussoir


    ------

    Bonjour a tous et toutes.

    Je debute avec l'utilisation des pics.

    Je travaille avec le 12F675.

    j'arrive deja a faire quelques petites choses mais des que je complique....

    niveau logiciel : MPLAB + programmateur ICD2

    et CCS pour compiler (je programme en C.... je comprend pas grand chose a l'assembleur !)


    Mon probleme :

    J'essaye de faire clignoter une led (jusque la pas de probleme) mais je veut la faire clignoter suite a l'appui sur un bouton poussoir.

    Et la cela se corse !

    En effet elle clignote bien que j'appuie ou pas sur le bp !!

    ma source :
    #include <12F675.h>
    #device adc=8
    #use delay(clock=40000000)
    #fuses INTRC_IO,MCLR,NOWDT,NOPROTECT, NOPUT,Brownout

    #byte WPU=0x95
    #byte CMCON=0x19
    #byte TRISIO=0x85
    #byte GPIO=0x05
    #byte INTCON=0x05
    #byte ANSEL=0x9F

    #define bp 2

    void main()

    {
    GPIO = 0;
    ANSEL = 0;
    CMCON = 7;
    TRISIO = 0x0C ;

    if(bit_test (GPIO,bp))

    {

    debut :

    GPIO = 0x03;
    delay_ms(100);
    GPIO = 0x20;
    delay_ms(100);



    goto debut;

    }

    }

    -----

  2. Publicité
  3. 📣 Nouveau projet éditorial de Futura
    🔥🧠 Le Mag Futura est lancé, découvrez notre 1er magazine papier

    Une belle revue de plus de 200 pages et 4 dossiers scientifiques pour tout comprendre à la science qui fera le futur. Nous avons besoin de vous 🙏 pour nous aider à le lancer...

    👉 Je découvre le projet

    Quatre questions à explorer en 2022 :
    → Quels mystères nous cache encore la Lune 🌙 ?
    → Pourra-t-on bientôt tout guérir grâce aux gènes 👩‍⚕️?
    → Comment nourrir le monde sans le détruire 🌍 ?
    → L’intelligence artificielle peut-elle devenir vraiment intelligente 🤖 ?
  4. #2
    DAUDET78

    Re : Pic 12F675 et bouton poussoir

    Sur ton bouton poussoir, il y a une résistance de rappel ?
    J'aime pas le Grec

  5. #3
    Demos666

    Unhappy Re : Pic 12F675 et bouton poussoir

    Salut,

    Oui j'ai essayer aussi, mais rien du tout...

    et avec ce test :

    #include <12F675.h>
    #device adc=8
    #use delay(clock=40000000)
    #fuses INTRC_IO,MCLR,NOWDT,NOPROTECT, NOPUT,Brownout

    #byte WPU=0x95
    #byte CMCON=0x19
    #byte TRISIO=0x85
    #byte GPIO=0x05
    #byte INTCON=0x05
    #byte ANSEL=0x9F

    #define bp 2
    int bp_ok;

    void main()

    {
    GPIO = 0;
    ANSEL = 0;
    CMCON = 7;
    TRISIO = 0x0C ;

    bp_ok=bit_test(GPIO,bp);


    if(bp_ok==1)

    {

    debut :

    GPIO = 0x03;
    delay_ms(100);
    GPIO = 0x20;
    delay_ms(100);



    goto debut;

    }

    }

    cela ne fonctionne pas mieux, que j'appui ou pas sur le bp, bah ça clignote....



    Si quelqu'un a une idée....

    Merci.

  6. #4
    RISC

    Re : Pic 12F675 et bouton poussoir

    Salut,

    Jette un oeil sur ce document qui contient les fonctions que tu veux réaliser :
    http://www.aix-mrs.iufm.fr/formation...0en%20main.pdf

    Il y a également d'autres documents sur ce site :
    http://www.aix-mrs.iufm.fr/formation...indexPIC_C.htm

    a+

  7. A voir en vidéo sur Futura
  8. #5
    mister_e

    Re : Pic 12F675 et bouton poussoir

    Cette résistance de "rapelle" pour ce boutton poussoir est bien entre la Masse et GPIO.2?

    Je ne suis pas familier avec ce compilateur C, mais
    Code:
    #fuses INTRC_IO,MCLR,NOWDT,NOPROTECT, NOPUT,Brownout
    Ceci implique que tu utilise la broche MCLR non? Résistance de rapelle à +5v ?
    Steve

  9. #6
    Demos666

    Re : Pic 12F675 et bouton poussoir

    Salut,
    Finalement, je suis en train de me mettre a l'assembleur, qui finalement a l'air plus simple pour programmer les pic !


    Il me reste beaucoup de travail pour tout assimilé mais bon....


    Auriez vous des url de sites ou il y a des exemples de programmes ???

    Il y a bien sur le site de Bigonoff...

    Merci encore.

    A bientot.

  10. Publicité
  11. #7
    mister_e

    Steve

  12. #8
    Demos666

    Re : Pic 12F675 et bouton poussoir

    Merci mister_e !!!


    Encore une petite question :

    toujours avec un 12F675, je veux tester en permanence l'appuie sur un bouton poussoir (en tache de fond si je puis dire) et continuer mon programme "principal" normalement et bien sur l'arreter ou faire autre chose suite a l'appui sur ce BP.

    Je n'y arrive pas, car forcement j'utilise ce genre de chose :
    btfsc IO_BP ; test si Bp actif
    goto ET_BouclePrincipale ; si non, boucle
    suite de mon prog....

    forcement cela ne peut pas fonctionner...
    mais comment faire autrement ?????

    Merci.

  13. #9
    mister_e

    Re : Pic 12F675 et bouton poussoir

    Plusieurs méthode. Habituellement j'utilise un Timer interne qui lit tous les bouttons poussoires environ 10-30 fois/secondes.

    Dans la routine d'interruption j'assigne des "Flags". Dans a boucle principale, je vérifie les flag et le programme agit en conséquence de ces flags.

    Toujours possible d'utiliser les interruptions disponible sur les I/O et executer le code associé a chaque source d'interruption dans la routine d'interruption. une fois les routines terminé.. tu retourne automatiquement au programme principal.
    Steve

Discussions similaires

  1. Gestion Bouton poussoir ON/OFF
    Par jorg1n dans le forum Électronique
    Réponses: 22
    Dernier message: 19/10/2007, 16h24
  2. Bouton poussoir passant !
    Par Xav57 dans le forum Électronique
    Réponses: 26
    Dernier message: 27/05/2007, 23h21
  3. Bouton-poussoir pourquoi ?
    Par Fistos dans le forum Matériel - Hardware
    Réponses: 7
    Dernier message: 06/08/2006, 00h00
  4. bouton poussoir
    Par nanardo dans le forum Électronique
    Réponses: 1
    Dernier message: 02/04/2006, 23h55
  5. Bouton poussoir
    Par vincentx dans le forum Électronique
    Réponses: 4
    Dernier message: 23/06/2005, 15h37
Découvrez nos comparatifs produits sur l'informatique et les technologies.