allumer une led avec un PIC16F84-A - Page 2
Répondre à la discussion
Page 2 sur 3 PremièrePremière 2 DernièreDernière
Affichage des résultats 31 à 60 sur 67

allumer une led avec un PIC16F84-A



  1. #31
    ogre31

    Re : allumer une led avec un PIC16F84-A


    ------

    Bonjour,
    Un PIC est-ce qu'il peut etre partiellement défectueux.Je devais la poser comme cela ma question .


    Merci

    -----

  2. #32
    antek

    Re : allumer une led avec un PIC16F84-A

    Citation Envoyé par ogre31 Voir le message
    Un PIC est-ce qu'il peut etre partiellement défectueux.Je devais la poser comme cela ma question .
    Oui, comme tout circuit.

  3. #33
    ogre31

    Re : allumer une led avec un PIC16F84-A

    Bonsoir,
    Autrement dit si le PIC fait clignoter une LED ce n'est pas une certitude pour dire qu'il est bon a 100%.
    J'essaie de prendre les devants pour ne pas galerer.Sinon est ce qu'il y'a une procédure à suivre pour vérifier un PIC.

    merci pour votre patience et votre indulgence.
    Dernière modification par ogre31 ; 21/09/2016 à 23h47.

  4. #34
    antek

    Re : allumer une led avec un PIC16F84-A

    Pour vérifier à 100 % un µC on peut concevoir un banc de contrôle automatique.
    Mais ce sera lourd, très lourd, . . .

  5. #35
    ogre31

    Re : allumer une led avec un PIC16F84-A

    Bonjour,
    ok, donc dans le doute changer de Pic.

    Désoler aussi de vous ennuyer avec une autre question elementaire , sur le shéma joint je n'ai pas saisi le role du bouton poussoir.La led clignote sans ce bouton, j'ai utiliser le source de bigonoff pour ecarter la probabilité de l'erreur de code.
    merci
    Images attachées Images attachées  

  6. #36
    antek

    Re : allumer une led avec un PIC16F84-A

    Citation Envoyé par ogre31 Voir le message
    . . . je n'ai pas saisi le role du bouton poussoir.La led clignote sans ce bouton, j'ai utiliser le source de bigonoff pour ecarter la probabilité de l'erreur de code.
    Il doit servir quelque part ou plus tard dans le cours.
    Et le code doit indiquer s'il sert ou pas dans l'immédiat.

  7. #37
    ogre31

    Re : allumer une led avec un PIC16F84-A

    bonsoir,
    Effectivement,je suis revenu au cours rapidement et il me semble que je me suis un peu précipité .

    Merci

  8. #38
    invite5637435c

    Re : allumer une led avec un PIC16F84-A

    Le port qui reçoit le bouton poussoir doit avoir une résistance de pull-up vu que c'est une entrée et ainsi assurer un niveau stable à 1 quand le BP n'est pas sollicité.
    Soit tu en mets une en externe, soit tu actives le pull-up interne (mettre RBPU=0 dans le registre OPTION REG)

  9. #39
    ogre31

    Re : allumer une led avec un PIC16F84-A

    Bonjour,
    oui en effet c'est ce qu j'ai trouvé apres..
    Bon,je suis en passe de terminer les cours, c'est tellement passionnant qu'il faudrait que je me calme, je termine la progression puis je reviendrai avec mes question.
    Merci infiniment a tous.

  10. #40
    ogre31

    Re : allumer une led avec un PIC16F84-A

    bonjour,
    Dans l'exemple de bigonoff r34 cette ligne ne génère une erreur
    #DEFINE LED_MASK B’00000100’ ; Masque d’inversion de la led
    le message est :
    Error[113] E:\_BIGONOFF\TP RED\INTERRUPTION\MYINTER.ASM 138 : Symbol not previously defined (B’00000100’)

    Au niveau des define j'ai mis
    #DEFINE LED_MASK b'00000100' ; Masque d’inversion de la led;

    La ligne 138, dans le traitement de l'interruption, contient :movlw LED_MASK B’00000100’ ; bit positionné = bit à inverser.

    merci

  11. #41
    invite5637435c

    Re : allumer une led avec un PIC16F84-A

    Il faut un B dans le define pas un b.
    Et il suffit d'écrire:

    Code:
    movlw LED_MASK;

  12. #42
    ogre31

    Re : allumer une led avec un PIC16F84-A

    Bonjour,
    Ok ca marche, est ce que je doit retenir que c'est sensible a la casse ou juste que les binaires doivent etre notés
    B'xxxxxxx' et non b'xxxxxxxx'

    Merci pour votre aide

  13. #43
    antek

    Re : allumer une led avec un PIC16F84-A

    Citation Envoyé par ogre31 Voir le message
    Ok ca marche, est ce que je doit retenir que c'est sensible a la casse ou juste que les binaires doivent etre notés
    B'xxxxxxx' et non b'xxxxxxxx'
    C'est bizarre, chez moi (MPLAB 8.x) ce n'est pas sensible à la casse.

  14. #44
    antek

    Re : allumer une led avec un PIC16F84-A

    Re

    Sur MPLABX 3.20 on peut paramétrer l'éditeur concernant la casse.

  15. #45
    ogre31

    Re : allumer une led avec un PIC16F84-A

    Bonsoir,
    Non l'erreur ne venait pas de la casse, mais de l'exemple de bigonoff ou alors j'ai pas su lire l'explication.Mais je pense que c'est une erreur.
    il y'a un define sous cette forme - #DEFINE LED_MASK B’00000100’ (j'ai marqué la ligne de xxxxxxxxxx)
    a mon avis le 2 binaire n'a pas lieu d'etre.

    ( c'est la page 141 La Programmation des PIC par Bigonoff r34 )

    Code:
    ;**********************************************************************
    ; INTERRUPTION RB0/INT *
    ;**********************************************************************
    ;----------------------------------------------------------------------
    ; inverse le niveau de RA2 à chaque passage
    ;----------------------------------------------------------------------
    intrb0
    movlw B'00000100' ; bit positionné = bit à inverser
    BANK0 ; car on ne sait pas sur quelle banque
    ; on est dans une interruption (le programme
    ; principal peut avoir changé de banque). Ce n’est
    ; pas le cas ici,mais c'est une sage précaution
    xorwf PORTA , f ; inverser RA2
    return ; fin d'interruption RB0/IN
    Notez qu’à ce stade notre LED est définie par la ligne
    #DEFINE LED PORTA , 2 ; LED
    Il nous suffit donc de changer cette ligne pour placer notre Led sur une autre pin, sans
    intervenir dans notre programme. Par contre, ça ne fonctionnera plus au niveau de l’inversion
    de la sortie. L’idéal est donc d’utiliser également un define pour le masque en début de
    programme :
    #DEFINE LED PORTA , 2 ; LED
    #DEFINE LED_MASK B’00000100’ ; Masque d’inversion de la led  xxxxxxxxxxxxxxxxxxxxxxx
    Et ensuite de remplacer la ligne
    movlw B'00000100' ; bit positionné = bit à inverser
    par
    movlw LED_MASK ; bit positionné = bit à inverser
    ****************************** ***************
    J'aimerai bien avoir votre avis, je pense avoir remarqué d'autres erreurs mais vu mon niveau je crois que c'est prétentieux de ma part.

    merci a tous pour votre aide,que j’apprécie énormément.
    Dernière modification par gienas ; 14/10/2016 à 15h58. Motif: Ajouté balise code

  16. #46
    invite5637435c

    Re : allumer une led avec un PIC16F84-A

    Je t'ai donné la réponse en #41 donc oui tu n'es pas très attentif

  17. #47
    gienas
    Modérateur

    Re : allumer une led avec un PIC16F84-A

    Bonjour à tous

    Citation Envoyé par ogre31 Voir le message
    ... J'aimerai bien avoir votre avis ...
    Il y a un "piège" en effet, auquel on ne pense pas toujours.

    #DEFINE expression_1 expression_2

    n'est que du traitement de texte, dans tous les éditeurs C, qui consiste, lors d'une première passe, à remplacer toutes les occurrences de expression_1 par expression_2 en y respectant scrupuleusement la casse.

    Ce n'est qu'après cette "correction" que la compilation commence vraiment.

    Tu comprendras aisément, je pense, que ce que tu pensais équivalent, ne l'est pas du tout.

  18. #48
    ogre31

    Re : allumer une led avec un PIC16F84-A

    Bonjour,
    ben non Hulk28, c'est ton message qui m'a sauvé et m'a permis d'avancer.
    Apres je me devais de comprendre mes erreurs.

    j’aimerais bien q'un modo supprime le message que je n'ai pas pu modifier.
    Je risque d’être banni et d’être PIQUE à mort.

    Merci à tous
    Dernière modification par ogre31 ; 25/09/2016 à 18h27.

  19. #49
    invite5637435c

    Re : allumer une led avec un PIC16F84-A

    Pour la casse il faut juste bien penser qu'en programmation elle est importante, ensuite ça dépend des compilateurs pour leur tolérance sur les déclarations de variables.

  20. #50
    ogre31

    Re : allumer une led avec un PIC16F84-A

    Bonsoir,
    J'ai pratiquement terminé la lecture de la 1°partie, et j'ai repris la lecture depuis le début, cela m'a permis de comprendre bien des choses.
    J'ai compris le rôle de tous les registre mais le registre FSR reste flou, quel rôle joue t-il.Je sais qu'on y trouve des info pour l'adressage...... ce n'est très tres claire pour moi.

    Merci

  21. #51
    antek

    Re : allumer une led avec un PIC16F84-A

    L'adressage indirect est pourtant bien expliqué.
    Dans FSR on met une adresse, le contenu de la mémoire à cette adresse se trouve dans INDF.
    Dixit le BIG :
    Le contenu de INDF est traduit par le PIC® comme étant le contenu de
    l’emplacement mémoire pointé par FSR.

  22. #52
    ogre31

    Re : allumer une led avec un PIC16F84-A

    bonsoir,
    merci pour la prise en charge rapide de ma question.
    Oui , je pense avoir les modes d'adressage,peux-tu me donner un p'tit exemple d'utilisation de ce registre, parcequ'il y'a une autre question qui concerne l'initialisation de ce registre

    init1
    1-clrf INDF ; effacer ram

    2-incf FSR,f ; pointer sur suivant
    3-btfss FSR,6 ; tester si fin zone atteinte (>=40)
    4-goto init1 ; non, boucler

    5-btfss FSR,4 ; tester si fin zone atteinte (>=50)
    6-goto init1 ; non, boucler

    Je n'ai pas saisi les lignes 3 et 4, pas BTFSS mais plutôt le 6 et le 4 qui suivent FSR.

    merci

  23. #53
    ogre31

    Re : allumer une led avec un PIC16F84-A

    Re bonsoir,
    en complément de ma question précédente :
    Est ce qu'il fait référence à l'adresse en cours de manipulation ou de traitement, par exemple dans
    movfw l'adresse contenu dans FSR est -ce c'est celle de f (movFw) ?

    merci pour votre patience.

  24. #54
    antek

    Re : allumer une led avec un PIC16F84-A

    Citation Envoyé par ogre31 Voir le message
    init1
    1-clrf INDF ; effacer ram à l'adresse pointée par FSR

    2-incf FSR,f ; pointer sur suivant
    3-btfss FSR,6 ; tester si fin zone atteinte (>=40)
    4-goto init1 ; non, boucler

    5-btfss FSR,4 ; tester si fin zone atteinte (>=50)
    6-goto init1 ; non, boucler

    Je n'ai pas saisi les lignes 3 et 4, pas BTFSS mais plutôt le 6 et le 4 qui suivent FSR.
    C'est un programme pour mettre à 0 une zone en mémoire RAM.
    - tant que le bit 6 de FSR est à 0 on efface à l'adresse suivante (1ère boucle)
    - quand FSR,6 est à 1 (b'111 111' ou h'3f') on surveille le bit4 (2ème boucle)
    - quand SFR,4 est à 1 on continue la suite du programme
    On a donc effacé la RAM dans la zone de b'0' à b'10010000'

  25. #55
    antek

    Re : allumer une led avec un PIC16F84-A

    Citation Envoyé par ogre31 Voir le message
    Est ce qu'il fait référence à l'adresse en cours de manipulation ou de traitement, par exemple dans
    movfw l'adresse contenu dans FSR est -ce c'est celle de f (movFw) ?
    L'instruction movfw n'existe pas, c'est movf ou movwf.

  26. #56
    ogre31

    Re : allumer une led avec un PIC16F84-A

    Bonsoir,
    Soyez patient avec moi s'il vous plait parce qu’il faut que je saisisse sinon je vais avancer en boitant et je n'aime pas.
    Donc ok je me suis trompé sur la commande, pour terminer avec ma question précédente je vais la reprendre. Dans "movwf" est que FSR contient l’adresse de "f".

    Pour l'initialisation de la ram "btfss FSR,6" et "btfss FSR,4"
    1-Pourquoi en 2 boucles
    2- Pourquoi le bit 6 et 4.
    Merci pour votre patience

  27. #57
    antek

    Re : allumer une led avec un PIC16F84-A

    Citation Envoyé par ogre31 Voir le message
    Soyez patient avec moi s'il vous plait . . .
    C'est la cas.
    Pour info :
    Ne pas oublier que pour un débutant il faut lire et faire les exercices dans l'ordre sans rien sauter.
    Egalement ne pas passer à l'étape suivante avant d'avoir compris l'étape actuelle.

  28. #58
    antek

    Re : allumer une led avec un PIC16F84-A

    Citation Envoyé par ogre31 Voir le message
    . . . pour terminer avec ma question précédente je vais la reprendre. Dans "movwf" est que FSR contient l’adresse de "f".
    Pour répondre, il faut que tu donnes la suite d'instructions concernées par ta question.

  29. #59
    antek

    Re : allumer une led avec un PIC16F84-A

    Citation Envoyé par ogre31 Voir le message
    Pour l'initialisation de la ram "btfss FSR,6" et "btfss FSR,4"
    1-Pourquoi en 2 boucles
    2- Pourquoi le bit 6 et 4.
    1) Parce que c'est une méthode qui prend peu de place. Ne pas oublier qu'il s'agit d'un cours où l'auteur développe toutes les fonctions à étudier au fur et à mesure. Il ne faut donc pas se poser trop de questions au début et effectuer l'apprentissage comme il vient.

    2) On veut mettre à 0 la RAM de b'0' à b'10011111'
    La 1ère boucle traite de b'0' à b'01111111' -> 1ère occurence où bit6 est à 1.
    Après l'incrémentation suivante on met à 0 l'adresse b'10000000' puis on passe dans la boucle suivante jusqu'à ce que le bit4 passe à 1, c'est à dire jusqu'à l'adresse b'10011111'

    Tu n'aurais pas sauté des lignes ?

  30. #60
    ogre31

    Re : allumer une led avec un PIC16F84-A

    Bonsoir,
    Voila Ce que j'ai trouvé, et pour moi c'est plus logique, effacer les 68 octets en une seule boucle.

    extrait ,ci dessous, de: http://fabrice.sincere.pagesperso-or...c/fsr_indf.htm
    ------------------------------
    Il s'agit d'effacer les 68 octets d'usage général de la mémoire RAM, situés aux adresses 0x0C à 0x4F :

    Code:
    movlw 0x0C
    movwf FSR ; on charge l'adresse de début (0x0C)
    debut
    clrf INDF ; effacement du contenu du registre pointé par FSR
    incf FSR, f ; on incrémente l'adresse
    movlw 0x50 ; adresse de fin + 1 (0x50)
    subwf FSR, W
    btfss STATUS, Z ; on teste si (FSR) = 0x50
    goto debut ; non : on recommence
    suite
    ...
    ------------------------------------------------
    Merci pour ta patience
    Dernière modification par gienas ; 14/10/2016 à 15h57. Motif: Ajouté balise code

Page 2 sur 3 PremièrePremière 2 DernièreDernière

Discussions similaires

  1. Allumer une LED en WiFi
    Par invite268710cf dans le forum Électronique
    Réponses: 2
    Dernier message: 17/03/2009, 13h49
  2. Allumer une led à distance ???
    Par invitee968bc3b dans le forum Électronique
    Réponses: 9
    Dernier message: 09/01/2009, 08h57
  3. allumer une led
    Par invite75fc5f4e dans le forum Électronique
    Réponses: 6
    Dernier message: 25/10/2008, 08h17
  4. Allumer une LED avec un pic 16F884 (langage c)
    Par invitea9087f3b dans le forum Électronique
    Réponses: 4
    Dernier message: 17/02/2008, 21h41
  5. allumer une Led avec un transistor
    Par invite5ea18acc dans le forum Électronique
    Réponses: 1
    Dernier message: 21/01/2008, 23h54
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...