au secours led_cli 16f84a
Répondre à la discussion
Affichage des résultats 1 à 26 sur 26

au secours led_cli 16f84a



  1. #1
    invite5b5e1b0a

    au secours led_cli 16f84a


    ------

    bojour tlm,
    voila comme je suis débutant en pic, je suis le cours de bigonof, j'ai réalisé mon premier prgm led_cli qui fait clignoter une led, voila le programme en asm, que j'ai déja simuler sur mplab et ça marche,mais apres avoir réaliser le circuit ci joint rien ne marche pas de signale sur RA2, qu'es ce que je doit faire , les tensions sont normale sur les pins mais....???
    peut etre parceque g utiliser un 16f84A?? et pas un 16f84?????

    ;***************************** ****************************** ***********
    ; Ce fichier est la base de départ pour une programmation avec *
    ; le PIC 16F84. Il contient les informations de base pour *
    ; démarrer. *
    ; *
    ; Si les interruptions ne sont pas utilisées, supprimez les lignes *
    ; entre ORG 0x004 et l'étiquette init. De plus, les variables *
    ; w_temp et status_temp peuvent être supprimées. *
    ; *
    ;***************************** ****************************** ***********
    ; *
    ; NOM: Led_cli *
    ; Date: 29/12/2009 *
    ; Version: 1.0 *
    ; Circuit: platine d'essai
    ; Auteur: abdou
    ; *
    ;***************************** ****************************** ***********
    ; *
    ; Fichier requis: P16F84.inc *
    ; *
    ; *
    ; *
    ;***************************** ****************************** ***********
    ; *
    ; Notes: ce programme permet de faire clignoter une led sur le *
    ; port A2 de la pic à une fréquence de 1Hz *
    ; *
    ; *
    ; *
    ;***************************** ****************************** ***********


    LIST p=16F84A ; Définition de processeur
    #include <p16F84A.inc> ; Définitions des constantes

    __CONFIG _CP_OFF & _WDT_OFF & _PWRTE_ON & _HS_OSC

    ; '__CONFIG' précise les paramètres encodés dans le processeur au moment de
    ; la programmation du processeur. Les définitions sont dans le fichier include.
    ; Voici les valeurs et leurs définitions :
    ; _CP_ON Code protection ON : impossible de relire
    ; _CP_OFF Code protection OFF
    ; _PWRTE_ON Timer reset sur power on en service
    ; _PWRTE_OFF Timer reset hors-service
    ; _WDT_ON Watch-dog en service
    ; _WDT_OFF Watch-dog hors service
    ; _LP_OSC Oscillateur quartz basse vitesse
    ; _XT_OSC Oscillateur quartz moyenne vitesse
    ; _HS_OSC Oscillateur quartz grande vitesse
    ; _RC_OSC Oscillateur à réseau RC

    ;***************************** ****************************** **********
    ; ASSIGNATIONS *
    ;***************************** ****************************** **********

    OPTIONVAL EQU H'0008' ; Valeur registre option
    ; Résistance pull-up ON
    ; Pas de préscaler




    ;***************************** ****************************** **********
    ; DEFINE *
    ;***************************** ****************************** **********

    ; exemples
    ; ---------
    #DEFINE LED PORTA,2 ; LED de sortie sur RA2
    #DEFINE BOUTON PORTB,2 ; bouton poussoir sur RB2

    ;***************************** ****************************** **********
    ; MACRO *
    ;***************************** ****************************** **********

    LEDON macro
    bsf LED
    endm

    LEDOFF macro
    bcf LED
    endm
    ;

    ;***************************** ****************************** **********
    ; DECLARATIONS DE VARIABLES *
    ;***************************** ****************************** **********

    CBLOCK 0x00C ; début de la zone variables
    cmpt1 : 1 ; compteur de boucle 1
    cmpt2 : 1 ; compteur de boucle 2
    cmpt3 : 1 ; compteur de boucle 3
    ENDC ; Fin de la zone

    ;***************************** ****************************** ***********
    ; DEMARRAGE SUR RESET *
    ;***************************** ****************************** ***********

    org 0x000 ; Adresse de départ après reset
    goto init ; Adresse 0: initialiser


    ;***************************** ****************************** **********
    ; INITIALISATIONS *
    ;***************************** ****************************** **********

    init
    clrf PORTA ; Sorties portA à 0
    clrf PORTB ; sorties portB à 0
    bsf STATUS,RP0 ; sélectionner banque 1
    clrf EEADR ; permet de diminuer la consommation
    movlw OPTIONVAL ; charger masque
    movwf OPTION_REG ; initialiser registre option

    ; Effacer RAM
    ; ------------
    movlw 0x0c ; initialisation pointeur
    movwf FSR ; pointeur d'adressage indirec
    init1
    clrf INDF ; effacer ram
    incf FSR,f ; pointer sur suivant
    btfss FSR,6 ; tester si fin zone atteinte (>=40)
    goto init1 ; non, boucler
    btfss FSR,4 ; tester si fin zone atteinte (>=50)
    goto init1 ; non, boucler

    ;Initialisations spécifiques

    bcf LED ;LED en sortie (banque1)normalement
    ;on devait mettre bcf TRISA,2 mais
    ;comme on est à banque1 c idem
    bcf STATUS,RP0 ;passer en banque0
    goto start


    ;***************************** ****************************** **********
    ; SOUS ROUTINE DE TEMPORISATION *
    ;***************************** ****************************** **********
    ;
    ; Cette sous-routine introduit un retard de 500,000 µs
    ; Elle ne reçoit aucun paramètre et n'en retourne aucun

    tempo
    movlw 2 ; pour 2 boucles
    movwf cmpt3 ; initialiser compteur3
    boucle3
    clrf cmpt2 ; effacer compteur2
    boucle2
    clrf cmpt1 ; effacer compteur1
    boucle1
    nop ; perdre 1 cycle*256*256*2
    decfsz cmpt1,f ; décrémente compteur1
    goto boucle1 ; si pas 0 boucler
    decfsz cmpt2,f ; si 0 décrémente compteur2
    goto boucle2 ; si cmpt2 pas 0 recommencer boucle1
    decfsz cmpt3,f ; si cmpt2 0 décrémente compteur3
    goto boucle3 ; si cmpt3 pas 0 recommencer la boucle2
    return ; retour de la sous-routine


    ;***************************** ****************************** **********
    ; PROGRAMME PRINCIPAL *
    ;***************************** ****************************** **********

    start
    LEDON ;allumer la led
    call tempo ;appeler la tempo de 0.5s
    LEDOFF ;éteindre la led
    call tempo ;appeler la tempo de 0.5s

    goto start ; boucler





    END ; directive fin de programme

    pour le schéma j'ai pas pu l'envoyer mais c simple:
    PIN RA2------>R=330 Ohm------>LED------>0V
    PIN MCLR-----> 5v
    PIN Vss--------> 0v
    PIN OSC IN ------->premiere patte quartz----->C=27pF----->0v
    PIN OSC OUT ------->deusieme patte quartz----->C=27pF----->0v
    PIN Vdd---------------> 5v


    merci

    -----

  2. #2
    vincent66

    Re : au secours led_cli 16f84a

    Bonsoir
    Comme toujours, les ports du pic sont définis comme entrées après un reset, or je ne vois aucune instruction portant sur le registre trisa dans ton programme..?
    Amicaux encouragements !
    Vincent

  3. #3
    invite7a49d0d5

    Cool Re : au secours led_cli 16f84a

    Citation Envoyé par vincent66 Voir le message
    Bonsoir
    Comme toujours, les ports du pic sont définis comme entrées après un reset, or je ne vois aucune instruction portant sur le registre trisa dans ton programme..?
    Amicaux encouragements !
    Vincent
    Bonsoir,

    oui en effet, dans l'initiation, il faut commencer par
    définir la "direction" (In / Out) des ports, avec TRIS...

    pseudo exemple
    init:
    clrf TRISA ;ports A en sorties
    clrf TRISB ;ports B en sorties
    ;puis
    clrf PORTA ; Sorties portA à 0
    clrf PORTB ; sorties portB à 0

    vede
    ;O]

  4. #4
    invite5b5e1b0a

    Re : au secours led_cli 16f84a

    bonsoir,
    merci pour vos réponses, mais ça ne marche pas toujours avec
    clrf trisa
    clrf trisb

    car on a deja défini RA2 comme sortie sur la ligne

    ;Initialisations spécifiques

    bcf LED ;LED en sortie (banque1)normalement
    ;on devait mettre bcf TRISA,2 mais
    ;comme on est à banque1 c idem

    sur banque 2 porta c trisa

    koi faire alors???

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

    Re : au secours led_cli 16f84a

    As-tu recompilé pour le 16F84A ?

  7. #6
    Laboum

    Re : au secours led_cli 16f84a

    Bonsoir nigatronic,
    Citation Envoyé par nigatronic Voir le message
    mais ça ne marche pas toujours avec
    Le programme que tu as posté dans ton 1° message, fonctionne sans problème ! et sans modification.
    Je l'ai testé avec MPLAB, ensuite charger le .hex dans le Pic et ça marche, donc c'est un soucis hard !
    Bon courage

  8. #7
    invite5b5e1b0a

    Re : au secours led_cli 16f84a

    merci a vous
    gerard: c koi ça recompiler le pic16f84a?? tu sais je suis vraiment un débutant

    laboum: moi aussi j'ai testé la simulation sur mplab et ça marche mais pas sur le circuit réel

    voila ce que g fais/
    apres avoir teste la simulation sur mplab, g pris le .hex ,sur winpic800 g dtecté le composant c bon 16f84a
    ensuite g fais (programmer)---> c bon
    g relis le pic --------->c bon

    merci

  9. #8
    Gérard

    Re : au secours led_cli 16f84a

    Quand tu écris un programme, tu définis le PIC.
    Tu vas générer le .hex et programmer physiquement le µC.

    Tu ne peux pas programmer un 16F84A avec un programme écrit pour un 16F84. Il faur d'abord redéfinir le nouveau µC dans le programme et générer un nouveau .hex.

    Compiler, c'est quand tu travailles avec un langage de haut niveau (Basic, C, ...). Après avoir écrit le source, c'est le compilateur qui va générer le .asm et l'assembleur va générer le .hex.

    J'espère avoir été clair.

  10. #9
    Laboum

    Re : au secours led_cli 16f84a

    Re bonsoir nigatronic,
    Citation Envoyé par nigatronic Voir le message
    ensuite g fais (programmer)---> c bon g relis le pic --------->c bon
    Là je comprend pas ! si à la relecture du code tu n'a aucune erreur.
    As-tu déjà programmé avec ce programmateur et winpic800 avec succès ?
    Perso. pour l'instant j'utilise Ic prog, car il semble qu'il y est des problèmes avec winpic, pour ce qui me concerne je n'ai jamais pût le configurer. C'est sans certitude, tu peut aussi avoir un soucis sur ta platine d'essai.
    Allez courage

  11. #10
    invite5b5e1b0a

    Re : au secours led_cli 16f84a

    merci

    pour le transfert du .hex vers le pic je pense que c bon car apres avoir retirer le pic du programmateur , et l remetter une autre fois je peux relire la meme chose qu'apres la programmation,

    es ce qu'il y a un moyen de savoir si le pic marche correctement (sur circuit rel )
    pour les tension/
    Vss=0v ---------
    Vdd=5v !
    MCLR=5v !sur circuit réel
    RA=0v ( pas de signal) !
    Voscin=0,76v !
    Voscout=2.44v ---------

  12. #11
    invite3a1051d7

    Re : au secours led_cli 16f84a

    bonjour,
    si ça peut t'aider
    je t'envoies un fichier sous format txt (il faut changer l'extension en hex et le charger dans le pic 16F84 A .
    ce programme allume la LED pendant 2 secondes (led connecter au +)
    puis la diode s'allume quand on appuie sur le poussoir (tant que l'on appuie sur le poussoir )
    ce programme fonctionne donc si ça marche pas tu as un probleme de hard .
    pour info le programme source en basic
    Define CONF_WORD = 0x3fff1 'configuration du pic
    TRISA = %00000000 'tout est en sortie
    TRISB = %00000100 'le bouton poussoir est en entrée
    PORTA.2 = 1
    WaitMs 2000
    PORTA.2 = 0
    debut:
    If PORTB.2 = 1 Then
    PORTA.2 = 1
    Else
    PORTB.2 = 0
    Endif
    Goto debut
    End
    cordialement
    Alain
    Fichiers attachés Fichiers attachés

  13. #12
    Laboum

    Re : au secours led_cli 16f84a

    Bonsoir nigatronic,
    Citation Envoyé par nigatronic Voir le message
    es ce qu'il y a un moyen de savoir si le pic marche
    L'idéal serait d'avoir un oscilloscope pour voir déjà si le Pic oscille !, cela permettrait de valider ton montage.Encore que, si la programmation, introduit une mauvaise configuration c'est pas gagné !
    Quel type de programmateur as-tu ? tu tourne sur quel OS ?
    As-tu tenté Ic prog, comme je l'ai suggéré ?
    As-tu déjà programmé avec ce programmateur et winpic800 avec succès ? Pas de réponse !!
    Bon courage

  14. #13
    invite5b5e1b0a

    Re : au secours led_cli 16f84a

    merci
    alaininv1: merci je vais essayé

    laboum: pour ce programmateur que g du telecharger le schema depuis IUT nime, et winpic800, c la premiere fois que j'essaye mais la je pense que y a pas de pblm car à chaque fois que je programme le pic et ensuite je relis le pic y a toujours le programme mais sur la platine rien ne fonctionne g meme changer le programme en supprimant la routine de temporisation et en voyer toujours un 1 sur RA2 ( led tjrs allumée) mais sans succes,
    je vais maintenant essayer le programme de alaininv1
    merci

  15. #14
    Gérard

    Re : au secours led_cli 16f84a

    Peux-tu nous montrer le schéma de ce que tu as câblé ?

  16. #15
    Laboum

    Re : au secours led_cli 16f84a

    Ha on avance !
    Citation Envoyé par nigatronic Voir le message
    g meme changer le programme en supprimant la routine de temporisation et en voyer toujours un 1 sur RA2 ( led tjrs allumée) mais sans succes,
    Ton programme est bon, puisque je l'ai testé en réel, en faisant un copier/coller à partir de ton post. Donc ne cherche pas à le modifier !
    Maintenant suit le conseil de Gérard, le schéma ?
    Bon courage

  17. #16
    Gérard

    Re : au secours led_cli 16f84a

    Et évite le style SMS, pas bien vu ici !

  18. #17
    invite5b5e1b0a

    Re : au secours led_cli 16f84a

    ok merci
    g pas pu envoyer une image donc voila:
    PIN RA1

    RA1----------------->en l'air
    RA0----------------->en l'air
    OSC1/CLKIN--->1ère patte quartz--->C=27pF--->0v
    OSC2/CLKOUT--->2ème patte quartz--->C=27pF--->0v
    VDD---------------->5v
    RB7----------------->en l'air
    RB6----------------->en l'air
    RB5----------------->en l'air
    RB4----------------->en l'air
    RA2--->R=330Ohm--->LED--->0v
    RA3----------------->en l'air
    RA4/T0CKI----------------->en l'air
    MCLR---------------->5v
    VSS---------------->0v

    merci
    RB0/INT----------------->en l'air
    RB1----------------->en l'air
    RB2----------------->en l'air
    RB3----------------->en l'air
    ·

  19. #18
    Gérard

    Re : au secours led_cli 16f84a

    Citation Envoyé par nigatronic Voir le message
    ok merci
    Je n'ai pas pu envoyer une image donc voila:
    PIN RA1

    RA1----------------->en l'air
    RA0----------------->en l'air
    OSC1/CLKIN--->1ère patte quartz--->C=27pF--->0v
    OSC2/CLKOUT--->2ème patte quartz--->C=27pF--->0v
    VDD---------------->5v
    RB7----------------->en l'air
    RB6----------------->en l'air
    RB5----------------->en l'air
    RB4----------------->en l'air
    RA2--->R=330Ohm--->LED--->0v
    RA3----------------->en l'air
    RA4/T0CKI----------------->en l'air
    MCLR---------------->5v
    VSS---------------->0v

    merci
    RB0/INT----------------->en l'air
    RB1----------------->en l'air
    RB2----------------->en l'air
    RB3----------------->en l'air
    ·
    Et la LED est branchée dans le bon sens ?
    Pas de style sms stp !

  20. #19
    invite3a1051d7

    Re : au secours led_cli 16f84a

    bonjour,
    mclr ne doit il pas etre cablé vers le plus avec une resistance de 10K ?
    cordialement
    Alain

  21. #20
    Laboum

    Re : au secours led_cli 16f84a

    Bonjour alainav1,
    Citation Envoyé par alainav1 Voir le message
    mclr ne doit il pas etre cablé vers le plus avec une resistance de 10K
    Voici le schéma de Maitre Bigonoff, que j'utilise, pour l'instant le BP, ne sert pas dans le contexte évoqué ! .
    Bon courage
    Images attachées Images attachées  

  22. #21
    invitebf59f0ac

    Re : au secours led_cli 16f84a

    change la LED de sens
    elle on un sens comme une batterie
    sinon connect un votltmetre et lit nous la valeur
    @+

  23. #22
    invite5b5e1b0a

    Re : au secours led_cli 16f84a

    oui elle l'est

  24. #23
    invite5b5e1b0a

    Re : au secours led_cli 16f84a

    merci

    levraidieu: la led est dans le bon sens, g meme verifier avec le voltmetre sur la pin RA2 mais toujours pas de tension en sortie.

    laboum: c le meme schema que g utilisé sauf que g laisser RB2 en l'air car dans ce premier programme on n'utilise pas de bouton poussoir

    merci

  25. #24
    Gérard

    Re : au secours led_cli 16f84a

    Citation Envoyé par nigatronic Voir le message
    merci

    levraidieu: la led est dans le bon sens, g meme verifier avec le voltmetre sur la pin RA2 mais toujours pas de tension en sortie.

    laboum: c le meme schema que g utilisé sauf que g laisser RB2 en l'air car dans ce premier programme on n'utilise pas de bouton poussoir

    merci
    Pour la 3e fois : pas de style SMS sur le forum !
    Tu as accepté la charte, c'est écrit dedans.


    Je vois 2 solutions :
    ton PIC n'est pas programmé
    ton PIC est HS

  26. #25
    invite5b5e1b0a

    Re : au secours led_cli 16f84a

    merci gerard
    c'est quoi ça mon pic est HS?

  27. #26
    Gérard

    Re : au secours led_cli 16f84a

    Citation Envoyé par nigatronic Voir le message
    merci Gérard
    c'est quoi ça mon pic est HS?

    HS : KO, mort !

Discussions similaires

  1. 16f84a
    Par invite84096ed1 dans le forum Électronique
    Réponses: 0
    Dernier message: 24/05/2009, 10h27
  2. 16f84a
    Par schneiderj dans le forum Électronique
    Réponses: 4
    Dernier message: 15/12/2008, 20h08
  3. Au SECOURS problème 16f84A et PORTA 1
    Par invitec41c2110 dans le forum Électronique
    Réponses: 17
    Dernier message: 15/05/2007, 18h48
  4. Pic 16f84A
    Par invite29d9c8de dans le forum Électronique
    Réponses: 2
    Dernier message: 18/12/2006, 10h01
  5. pic 16f84A
    Par invite29d9c8de dans le forum Électronique
    Réponses: 3
    Dernier message: 27/11/2006, 20h15
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...