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

pic; 16F84;



  1. #1
    omar.STE

    Question pic; 16F84;


    ------

    salut à tous
    moi je suis nouveaux au programmation des pic et j'ai commencé par le 16F84
    La plupart de mes programmes ont bien fonctionné
    mais dans un programme j'ai pas pu connaitre où est la faute
    pouvez vous m'aidez pllllllllllzzz
    c'est trés trés simple je veux selement allumer une led avec un bouton poussoir
    voici le prog que j'ai assembler

    list p=16f84,f=inhx8m ;
    __config B'11111111110111' ;
    include "p16f84A.inc" ;


    bsf STATUS,RP0 ;
    movlw B'00001101' ;
    movwf OPTION_REG ;
    movlw B'00000001' ;
    movwf TRISB ;
    bcf STATUS,RP0 ;

    Boucle
    btfss PORTB,0 ;
    goto Boucle ;
    bsf PORTB,1 ;
    end


    où est la faute pllllllllzzz
    j'attends vos aides
    merci à vous

    -----

  2. Publicité
  3. #2
    omar.STE

    Unhappy Re : pic; 16F84;

    y-t-il pas qq qui peut m'aider ?????????????
    pllllzzzz aidez moi
    indiquez moi où est la faute !!!!!!!!!!!!!!!!!!

  4. #3
    DavidDB

    Re : pic; 16F84;

    Salut,

    Le problème, c'est que l'on ne peux pas t'indiquer la faute, car il y en a plusieurs...

    Sinon, il manque au minimum un anti-rebond sur le BP et le rebouclage du "programme" après avoir allumé la led.
    Sans ce rebouclage, c'est un bug par lecture de la flash non programmée...

    David.

  5. #4
    behemerre

    Re : pic; 16F84;

    Salut,

    Juste en passant une autre erreur flagrante (et la liste est longue !!) :
    La résistance de rappel (pull-up) du PortB est activée : b7 du registre OPTION mis à 0

    et vu que la LED est connecté au PortB ...

    EDIT : il n'y a aussi pas d'adresse de début (org 0x00) donc aprés un reset, ta (ton ?) PIC ne va pas trop savoir ou aller

    a+
    L'éxpérience de chacun est le trésor de tous

  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
    DavidDB

    Re : pic; 16F84;

    il n'y a aussi pas d'adresse de début (org 0x00) donc aprés un reset, ta (ton ?) PIC ne va pas trop savoir ou aller
    Dans le cas de ce mini "programme" si la directive ORG est oubliée, l'assembleur codera le programme à partir de l'adresse 0x000. Dans ce cas-ci cela ne pose pas de problèmes, mais en cas d'utilisation des INT, c'est le bug garanti...

    Donc, il faut absolument prendre l'habitude d'utiliser la directive ORG pour s'éviter de futur problèmes...

    David.

  9. #6
    omar.STE

    Thumbs down Re : pic; 16F84;

    [QUOTE=DavidDB;1168567]Salut,

    Le problème, c'est que l'on ne peux pas t'indiquer la faute, car il y en a plusieurs...


    salut
    peux tu me citer ces fautes ???,
    d'aprés ce que j'ai lu dans un cours de pic 16F84 i n y a pas de faute
    ùais le probleme c'est que ce programme n'a pas fonctione
    quand je branche le pic la LED reste toujours allumée (le boutton poussoir n'a aucun role )



  10. Publicité
  11. #7
    behemerre

    Re : pic; 16F84;

    Salut,
    peux tu me citer ces fautes ???,
    d'aprés ce que j'ai lu dans un cours de pic 16F84 i n y a pas de faute
    ùais le probleme c'est que ce programme n'a pas fonctione
    quand je branche le pic la LED reste toujours allumée (le boutton poussoir n'a aucun role )
    On t'en as deja proposé un bon peu !
    Commence par supprimer les pull-up, sinon ça les restera indefiniment allumée, ajoute un anti-rebond au BP

    MPLAB assemble ce programme sans aucun problème, car il ne connait pas ton électronique externe
    Et le livre aussi ne la connait pas

    a+
    L'éxpérience de chacun est le trésor de tous

  12. #8
    omar.STE

    Re : pic; 16F84;

    Citation Envoyé par behemerre Voir le message
    Salut,

    On t'en as deja proposé un bon peu !
    Commence par supprimer les pull-up, sinon ça les restera indefiniment allumée, ajoute un anti-rebond au BP


    a+
    merci pour toi mais peux tu m'aider encor et me récrire mon programme plllz ??
    moi je connais pas beaucoup sur les pics parceque je suis nouveau dans ce domaine
    help plllzz

  13. #9
    omar.STE

    Re : pic; 16F84;

    salut
    vous savez
    si vous me corrigez ce programme il va m'aider à realiser d'autre programme
    que je souhaite les faire
    merci à vous tous

  14. #10
    DavidDB

    Re : pic; 16F84;

    quand je branche le pic la LED reste toujours allumée (le boutton poussoir n'a aucun role )
    C'est normal, en plus du problème des pull-up, dans ton programme tu n'éteins jamais la led.
    Pour les pull-up, il faut lire le datasheet sur le registre OPTION_REG.

    David.

  15. #11
    freepicbasic

    Re : pic; 16F84;

    vérifier si le poussoir ramène bien une masse


    Code:
    list p=16f84,f=inhx8m ;
    __config B'11111111110111' ;
    include "p16f84A.inc" ;
    
    goto start
    goto myint
    
    org 0004h
    start
    bsf STATUS,RP0 ;
    movlw B'00001101' ;
    movwf OPTION_REG ;
    movlw B'00000001' ;
    movwf TRISB ;
    bcf STATUS,RP0 ;
    
    
    
    Boucle
    btfsc PORTB,0 ;
    goto NoBoucle ;
    bsf PORTB,1 ;
    goto Boucle ;
    
    NoBoucle 
    bcf PORTB,1 ;
    goto Boucle ;
    
    
    myint
     RETFIE 
    
    end
    Dernière modification par freepicbasic ; 23/06/2007 à 23h13.
    A+, pat

  16. #12
    DavidDB

    Re : pic; 16F84;

    Salut Pat,

    Vu comme cela, c'est vrai qu'un anti-rebond est inutile pour le moment.

    David.

  17. Publicité
  18. #13
    omar.STE

    Thumbs up Re : pic; 16F84;

    Citation Envoyé par freepicbasic Voir le message
    vérifier si le poussoir ramène bien une masse



    goto start
    goto myint

    org 0004h
    start
    [/CODE]
    salut
    dis moi et si je n'ecris pas (goto start)+(goto myint)+(org 0004h)
    est ce que ça changera le programme et le fonctionnement de pic ??????
    est ce que c'est ça la faute que j'ai fais ??
    de toutes façon merci pour toi
    je vai essayer le prog et te repondre
    merci merci

  19. #14
    freepicbasic

    Re : pic; 16F84;

    dis moi et si je n'ecris pas (goto start)+(goto myint)+(org 0004h)
    est ce que ça changera le programme et le fonctionnement de pic ??????
    est ce que c'est ça la faute que j'ai fais ??
    mea culpa,
    en fait faire comme ceci

    Code:
    goto start
    
    ; 0004h adresse des ints
    org 0004h
    goto myint
    
    ; départ du prog après reset
    start

    ou bien , c'est identique

    Code:
    goto start
    nop
    nop
    nop
    goto myint
    
    start

    Tu peux toujours faire un truc brouillon, mais c'est la méthode standard.
    Les int arrivent en adresse 0004 h alors envoyer cette adresse vers la procédure d'int.

    Si effectivement on interdi toute int alors c'est inutile.

    Chacun fera selon ses besoins.
    Mais la méthode du "goto start" évite d'avoir à y revenir si on change d'avis en utilisant les int.
    A+, pat

  20. #15
    omar.STE

    Lightbulb Re : pic; 16F84;

    salut
    merci beaucoup pour toi "freepicbasic"
    j'ai modifié ton programme et il fonctionné
    mais comme je te l'ai dis moi je veux que la LED soit toujours allumer aprés l'impultion sur le bouton poussoir
    j'ai fais beaucoup des essais et je ne suis pas encore arriver
    pouvez vous me donner un coup d'aide ??????
    l'aide n'a aucun prix

  21. #16
    omar.STE

    Cool Re : pic; 16F84;

    slt
    y t-il pas qq ????????? dommage
    j'ai crus que je peux trouver un peu d'aide sur ce forum
    l'aide n'a aucun prix

Discussions similaires

  1. pic 16F84
    Par triste80 dans le forum TPE / TIPE et autres travaux
    Réponses: 2
    Dernier message: 03/04/2007, 15h48
  2. pic 16f84
    Par clinon dans le forum Électronique
    Réponses: 7
    Dernier message: 10/01/2007, 14h50
  3. Pic 16F84
    Par Pierrot_si dans le forum Électronique
    Réponses: 10
    Dernier message: 14/05/2006, 11h21
  4. Pic 16f84
    Par jbvl dans le forum Électronique
    Réponses: 3
    Dernier message: 04/03/2006, 15h36
Découvrez nos comparatifs produits sur l'informatique et les technologies.