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

16F88 faire clignoter une led



  1. #1
    bypbop

    16F88 faire clignoter une led


    ------

    Bonjour, j'essaye de programmer un 16F88 pour faire clignoter une led mais ma led s'allume mais ne clignote pas

    J'utilise MikroC

    void main()
    {
    PORTB = 0 ;
    TRISB = 0 ;

    while(1)
    {
    PORTB.B2 = 1 ;
    Delay_ms(1000) ;
    PORTB.B2 = 0 ;
    Delay_ms(1000) ;
    }
    }

    J'obtiens un fichier hex :

    :020000000328D3
    :10000600831203138601831686018 31206150B30AD
    :10001600FB002630FC005D30FD00F D0B1028FC0BBC
    :100026001028FB0B1028000000000 6110B30FB0007
    :100036002630FC005D30FD00FD0B1 F28FC0B1F2841
    :0C004600FB0B1F280000000008282 828E1
    :04400E006A3F030002
    :00000001FF
    Que je charge avec le soft pickit2 je fais une lecture et verification le code et bien chargé

    Pour le cablage j'ai suivis le schéma en pièce jointe mise à part que je suis sur la broche 8 d'ou b2 dans le code.

    Est ce que qq'un peut m'eclaircir sur le sujet ?
    Cordialement,
    Bypbop

    -----
    Images attachées Images attachées  

  2. Publicité
  3. #2
    freepicbasic

    Re : 16F88 faire clignoter une led

    le code est bon.

    Alors vérifier les bits de config !!
    ils ne sont pas dans le hex !
    A+, pat

  4. #3
    maxic31

    Re : 16F88 faire clignoter une led

    ouép, ton oscillateur interne ne doit pas être correctement configuré

  5. #4
    freepicbasic

    Re : 16F88 faire clignoter une led

    vérifier aussi si le MCLR est au + s'il est programmé.
    Le quartz et ses condos ou une résistance en mode RC
    A+, pat

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

    Re : 16F88 faire clignoter une led

    Merci de ta réponse : je n'ai pas de quartz sur mon montage . je pensais que pour le 16F88 il n'en fallait pas ?
    J'ai une resistance 1ko qui va du 5V à la broche 4 du pic
    la broche 5 a la masse
    la broche 14 à 5 V



    Cordialement,
    bypbop

  8. #6
    maxic31

    Re : 16F88 faire clignoter une led

    effectivement tu peux utiliser l'oscillateur interne. Mais pour cela, tu dois l'indiquer au compilateur :
    (exemple avec le compilateur hi-tech PICC)
    Code:
    __CONFIG(INTIO);
    pour le MCLR, c'est pareil indique au compilo que tu n'en veux pas (pas besoin de résistance sur cette pin):
    Code:
    __CONFIG(MCLRDIS);
    Au final, utilise cette config :
    Code:
    __CONFIG(INTIO & MCLRDIS);

  9. Publicité
  10. #7
    vede

    Cool Re : 16F88 faire clignoter une led

    Bonjour Bypbop,

    si tu veux utiliser le 16F88 sans Quartz, il faut
    choisir le bon mode d'horloge dans les fusibles
    de configuration (Project > Edit)...

    Là, décocher/remplacer "HS" par "_INTRC_IO"...

    Puis au début de ton programme, il faut spécifier la vitesse désirée,
    avec le registre OSCON (exemple OSCON=b1110000 '8Mhz)

    vede
    ;O]

  11. #8
    bypbop

    Re : 16F88 faire clignoter une led

    ahh ok je n'avais pas encore vu cette partie
    apparemment dans mikroC ca correspond à ceci .

    Je mets en pièce jointe la config actuelle

    Cordialement,
    bypbop
    Images attachées Images attachées  

  12. #9
    vede

    Cool Re : 16F88 faire clignoter une led

    ps : dans Project>Edit, tu peux en profiter
    pour désactiver MCLR, BODEN, POR...
    enfin tout quoi ;O]

    Et spécifier la vitesse d'horloge une premiére fois...
    avant de la re-spécifier avec OSCON dans ton programme...

  13. #10
    bypbop

    Re : 16F88 faire clignoter une led

    Voila je pense avoir tout desactivé je met la capture d'écran en copie pour confirmation.

    Pour la vitesse de l'horloge ou je dois le spécifier ? Lors de la création du projet j'ai specifié 8 Mhz .

    void main()
    {
    ANSEL = 0;
    OSCCON ;
    PORTB = 0 ;
    TRISB = 0 ;

    while(1)
    {
    PORTB.B2 = 1 ;
    Delay_ms(1000) ;
    PORTB.B2 = 0 ;
    Delay_ms(1000) ;
    }
    }
    Images attachées Images attachées  

  14. #11
    maxic31

    Re : 16F88 faire clignoter une led

    C'est dans le registre OSCCON
    Voir la doc p.40

    Pour 8MHz
    Code:
    OSCCON = 0b01111000;

  15. #12
    vede

    Re : 16F88 faire clignoter une led

    OSCON = b111000 ' 8Mhz...

  16. Publicité
  17. #13
    vede

    Re : 16F88 faire clignoter une led

    euhhh...

    OSCON = b1110000

    (zavé zoublié zun zéro ;O])

  18. #14
    bypbop

    Re : 16F88 faire clignoter une led

    void main()
    {
    ANSEL = 0;
    OSCCON = 0b01111000;

    PORTB = 0 ;
    TRISB = 0 ;

    while(1)
    {
    PORTB.B2 = 1 ;
    Delay_ms(1000) ;
    PORTB.B2 = 0 ;
    Delay_ms(1000) ;
    }
    }

    Ca ne compile pas vede avec tes 2 valeurs
    ps : il manque un c je crois osccon ..


    Je peux essayer comme ca ?

  19. #15
    maxic31

    Re : 16F88 faire clignoter une led

    j'ai l'impression de parler dans le vide

  20. #16
    bypbop

    Re : 16F88 faire clignoter une led

    ouppss j'avais pas vu une de tes réponse Vede :

    Pour le fusible j'ai n'ai que ces deux valeurs avec - INTRC-OSC2 as clock out
    - INTRC-OSC2 as RA6

    Que dois je choisir

    Cordialement,
    bypbop

  21. #17
    vede

    Re : 16F88 faire clignoter une led

    je dirais
    INTRC-OSC2 as RA6

    mais c'est pas trés important...
    tant que tu n'utilises pas RA6/RA7 en I/O...

    théoriquement :
    -INTRC-OSC2 as clock out , utilise RA6/RA7 comme sortie d'horloge...
    -INTRC-OSC2 as RA6, utilise RA6/RA7 comme des simples I/O...

    dans les 2 cas, ça configure le PIC pour ne pas utiliser de quartz externe...

    et ATTENTION,
    -OSCON = 0b01110000;
    et pas:
    -OSCON = 0b01111000;

  22. #18
    bypbop

    Re : 16F88 faire clignoter une led

    Ok Vede je viens de faire la modif

    par contre ca passe pas
    OSCON = 0b01110000; > ca compile pas
    mais OSCCON = 0b01110000; > ca compile

    c'est juste une faute de frappe ?

  23. Publicité
  24. #19
    vede

    Cool Re : 16F88 faire clignoter une led

    ps :

    un tuto trés intéressant et complet sur la configuration
    de l'oscillateur du 16F88... en Français... à lire et bookmarker...

    http://pagesperso-orange.fr/fabrice....ne%2016F88.htm

  25. #20
    bypbop

    Re : 16F88 faire clignoter une led

    Merci vede j'en ai encore appris un peu plus aujourdhui

    Comme par exemple les fusibles et l oscillateur interne
    euhh ca fonctionnne enfin ...
    merci pour le pickit2 il fonctionne nikel et en plus on peut directement programmer son pic sur une plaque d'essai.

    voila je reprends mon travail sur le pwm

    Cordialement,
    bypbop

  26. #21
    vede

    Cool Re : 16F88 faire clignoter une led

    Pas de souci Bypbop,

    un ch'ti exemple utilisant la PWM du 16F88
    (pas pour un moteur, pour une conversion numérique/analogique)...

    mais un exemple quand même (les registres utilisés, etc...)...
    http://vede.free.fr/electronique/16f88/vedeplayer/
    (tout en bas de la page t'as le code commenté en couleur)

    sinon pour te simplifier les choses, n'hésites pas à utiliser
    la librairie PWM fournie avec MikroC (Help> Libraries > PWM)...

    vede
    ;O]
    Dernière modification par vede ; 26/11/2009 à 16h21.

  27. #22
    invité6543456789
    Invité

    Re : 16F88 faire clignoter une led

    oui sa marcherais bien sa !!

  28. #23
    bypbop

    Re : 16F88 faire clignoter une led

    Oui je vais utiliser la sortie ccp du 16F88 pour faire avec et reculer un moteur dans un premier aprés je changer de pic pour utiliser 2 pwm en mm tps.

    Encore merci
    bypbop

  29. #24
    vede

    Cool Re : 16F88 faire clignoter une led

    Citation Envoyé par vede Voir le message
    sinon pour te simplifier les choses, n'hésites pas à utiliser
    la librairie PWM fournie avec MikroC (Help> Libraries > PWM)...
    ;O]
    ...pour commencer/débuter...

  30. Publicité
  31. #25
    bypbop

    Re : 16F88 faire clignoter une led

    oui je vais utiliser ca dès que j'ai la confirmation que mon montage 16F88 et L293D est correct aprés je n'aurais plus qu'a passer sur le 16F887 que j'ai acheté je pense que je n'aurais pas à modifier la partie code.

    Merci bcp
    bypbop

  32. #26
    bypbop

    Re : 16F88 faire clignoter une led

    Bonjour vede pour le cablage de la sonde de temperature j'ai fais ca vu de face sur le schéma.

    Est ce correct ?

    Cordialement,
    bypbop
    Images attachées Images attachées  

  33. #27
    bypbop

    Re : 16F88 faire clignoter une led

    oupps je me suis trompé de post

Discussions similaires

  1. Code en C pour faire clignoter une led avec un Pic
    Par lcoulon dans le forum Électronique
    Réponses: 6
    Dernier message: 11/04/2009, 16h30
  2. comment faire clignoter une led?
    Par croco01 dans le forum Électronique
    Réponses: 11
    Dernier message: 24/12/2008, 16h49
  3. Faire clignoter une led sur pic 16F876A
    Par Rouliane dans le forum Électronique
    Réponses: 9
    Dernier message: 20/11/2008, 13h11
  4. clignoter une led avec pic 16F873
    Par ibrakanet dans le forum Électronique
    Réponses: 5
    Dernier message: 26/05/2007, 12h25
  5. COMMENT ,faire clignoter 4 LED avec un microswitch ?
    Par davidgag dans le forum Électronique
    Réponses: 3
    Dernier message: 03/05/2006, 18h14
Découvrez nos comparatifs produits sur l'informatique et les technologies.