quelle instruction pour faire un reset sur pic 16f84? en asm
Répondre à la discussion
Affichage des résultats 1 à 26 sur 26

quelle instruction pour faire un reset sur pic 16f84? en asm



  1. #1
    inviteac54bf81

    quelle instruction pour faire un reset sur pic 16f84? en asm


    ------

    bonjour
    je n'arrive pas à trouver l'instruction en asm sur pic 16f84 pour declencher un reset volontaire. la pin reset(MCLR) est bien la broche 4 , mais je ne sais pas comment faire (BSF ou BCF mais quel port?)
    merci de votre aide

    -----

  2. #2
    invite88c92d74

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Hum... Pourquoi vouloir faire un reset volontaire?

    Un simple interrupteur avec résistance de pull-up sur la pin MCLR te donnera ce reset volontaire.

  3. #3
    inviteeb160de1

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Il n'y a pas d'instruction pour faire cela.
    Par contre tu peux utiliser le watchdog et le laisser reseter ton programme une fois le temps écoulé.

    Aurélien

  4. #4
    nornand

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    ou tu utilises une patte du port A ou B pour tirer a Zero la patte 4 mais c'est bancale comme procede

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

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Bonjour
    L'instruction que je te donne (mon conseil), c'est de faire un programme ecrit dans les regles de l'art et qui n'a pas besoin de reset.
    Gilles

  7. #6
    MichelM_38

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Bonjour

    Un programme même écrit dans les règles de l'art peut avoir besoin d'un reset. C'est le cas par exemple de certains bootloaders !!
    Pour quel besoin faut il un reset ?

  8. #7
    inviteeb160de1

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Citation Envoyé par gedonet Voir le message
    Bonjour
    L'instruction que je te donne (mon conseil), c'est de faire un programme ecrit dans les regles de l'art et qui n'a pas besoin de reset.
    Gilles
    Les regles de l'art, les regles de l'art...Meme Windows a besoin qu'on le reboot pour ses mises à jour ! Dans certains cas je t'assure que c'est la meilleure solution !
    Apres, la solution de piloter le MCLR avec une pinoche, je ne la conseillerai pas du tout.

    Aurélien

  9. #8
    invitee05a3fcc

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Citation Envoyé par Aurélien Voir le message
    .Meme Windows a besoin qu'on le reboot pour ses mises à jour !
    Faut pas confondre les torchons et les serviettes ! Un PC execute un programme en RAM qui est chargé à partir d'un fichier sur le disque dur. Si tu changes le fichier en DD, il faut rebooter pour que le programme en RAM soit le nouveau. Sur un µC, le programme s'exécute en ROM
    Dans certains cas je t'assure que c'est la meilleure solution !
    Dans 99,99% des cas, le Reset du µC est une programmation de magouilleurs !

    L'utilisation d'un WatchDog :
    • Si il y a un bug dans le soft (un serpent qui se mord la queue), le WatchDog intervient et permet de voir qu'il y a un bug quelque part
    • Si un périphérique ne répond pas, le WatchDog intervient et permet de prendre des décisions de sauvegarde
    Si le WatchDog intervient , il y a toujours un flag qui est positionné et qui permet de ne pas repartir automatiquement sur l'initialisation normale (comme pour une mise sous tension)

  10. #9
    inviteeb160de1

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Citation Envoyé par DAUDET78 Voir le message
    Dans 99,99% des cas, le Reset du µC est une programmation de magouilleurs !
    A vrai dire je ne l'ai utilisé qu'une seule fois. Mais c'était utile : gestion de licence dont le decryptage ne se fait que dans le bootloader (Secret oblige...). Apres avoir entré la clé de licence, il faut rebooter la carte pour que la licence soit accepté.

  11. #10
    invite88c92d74

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Citation Envoyé par Aurélien Voir le message
    A vrai dire je ne l'ai utilisé qu'une seule fois. Mais c'était utile : gestion de licence dont le decryptage ne se fait que dans le bootloader (Secret oblige...). Apres avoir entré la clé de licence, il faut rebooter la carte pour que la licence soit accepté.
    C'est un cas 'extrême', que pas beaucoup de personnes n'auront à traiter!
    En tout cas, sans précision de l'auteur, la réponse récurrente sera de ne pas utiliser le reset dans sa programmation.

  12. #11
    inviteac54bf81

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    bonjour
    merci de m'avoir repondu
    je m'excuse mais j'avais mal défini mon prob
    disons que j'ai un 16f84 qui travail en maitre , et ce n'ai pas lui que je veux resetter , mais les 16f84 qui travaillent en slave, donc je vais faire avec une patte du master qui commande le rst sur le ou les slaves
    j'ai trouve une doc sur le reset , mais comme je sais pas la joindre(fichier htm), je la met sous fichier txt
    ----------------------------

    PIC 16F84A

    Reset



    Il y a plusieurs types de Reset :

    * Reset à la mise sous tension (POR : Power-on Reset)
    * Reset externe en mode de fonctionnement normal (niveau bas sur la broche /MCLR)
    * Reset externe pendant le mode SLEEP (niveau bas sur la broche /MCLR)
    * Reset dû au Watchdog (en mode de fonctionnement normal)
    * Réveil dû au Watchdog (en mode SLEEP)



    1- Reset à la mise sous tension (POR : Power-on Reset)



    Un Reset interne a lieu à la mise sous tension, ou après une coupure de courant.

    Le programme est initialisé (adresse H'0000' de la mémoire de programme).

    * Le bit /TO (du registre STATUS) est mis à 1
    * Le bit /PD (du registre STATUS) est mis à 1



    2- Reset externe (en mode de fonctionnement normal)



    Quand on appuie sur le bouton poussoir, la broche /MCLR passe au niveau bas, ce qui génère un Reset "externe" :

    Le programme est réinitialisé (adresse H'0000' de la mémoire de programme).

    * Le bit /TO (du registre STATUS) est mis à 1
    * Le bit /PD (du registre STATUS) est mis à 1



    3- Reset externe pendant le mode SLEEP



    On se place dans le cas où le µC est placé en mode SLEEP (suite à l'instruction SLEEP).

    Quand on appuie sur le bouton poussoir, la broche /MCLR passe au niveau bas, ce qui génère un Reset "externe" :

    Le µC se réveille, le programme est réinitialisé (adresse H'0000' de la mémoire de programme).

    * Le bit /TO (du registre STATUS) est mis à 1
    * Le bit /PD (du registre STATUS) est mis à 0



    4- Reset dû au Watchdog (en mode de fonctionnement normal)



    Quand le timer Watchdog déborde, un Reset interne est réalisé :

    Le programme est réinitialisé (adresse H'0000' de la mémoire de programme).

    * Le bit /TO (du registre STATUS) est mis à 0
    * Le bit /PD (du registre STATUS) est mis à 1



    5- Réveil dû au Watchdog (en mode SLEEP)



    En mode SLEEP, le µC se réveille si le timer watchdog déborde (si le watchdog est actif).

    Mais il n'y a pas RESET : le programme reprend à l'instruction qui suit l'instruction SLEEP.

    * Le bit /TO (du registre STATUS) est mis à 0
    * Le bit /PD (du registre STATUS) est mis à 0



    6 - Bits /TO et /PD du registre STATUS



    Ces bits sont en lecture seule.


    /TO

    /PD

    Condition
    1

    1
    Reset à la mise sous tension (Power-on Reset POR)
    1

    1
    Reset externe (en mode de fonctionnement normal)
    0

    1
    Reset dû au Watchdog (en mode de fonctionnement normal)
    0

    0
    Réveil dû au Watchdog (en mode SLEEP)
    1

    0


    Reset externe pendant le mode SLEEP

    Réveil dû à une interruption



    En testant si /TO = 0, on peut savoir si le Reset est dû à un plantage (débordement de Watchdog), et orienter la suite de programme en conséquence.

  13. #12
    invitee05a3fcc

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Comme quoi, une question mal posée .........
    Ce n'est pas une instruction .... mais une commande Hard
    Tu prend une sortie de ton PIC maitre, tu la branches sur les MCLR des pics esclaves avec une résistance de PullUP

    Le passage à "0" de cette sortie Reset tous les esclaves

  14. #13
    invite29971eb1

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Sinon un "Goto Reset" (avec évidemment Reset: sur l'adresse 0x0000 ) doit être tout aussi efficace si tu ne gères pas /TO et /TD

  15. #14
    invitee05a3fcc

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Citation Envoyé par ftorama Voir le message
    doit être tout aussi efficace
    Oui et non ....
    Un vrai Reset réinitialise le µC avec un certain nombre de valeur par défaut ..... pas un Goto 0000

  16. #15
    RISC

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Salut Pasrico,

    Si tu veux une instruction Reset, il suffit de choisir un PIC16 de la nouvelle famille PIC16F1xxx (PIC16F1826 par exemple) qui proposent de nouvelles instructions dont le reset.

    a+

  17. #16
    invite29971eb1

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Citation Envoyé par RISC Voir le message
    Salut Pasrico,

    Si tu veux une instruction Reset, il suffit de choisir un PIC16 de la nouvelle famille PIC16F1xxx (PIC16F1826 par exemple) qui proposent de nouvelles instructions dont le reset.

    a+
    Et c'est reparti....le problème est sur 16F84, pas sur la nouvelle gamme qu'elle est tellement bien qu'il faut l'acheter....

  18. #17
    inviteac54bf81

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    salut risc
    merci de ton conseil, mais est ce que l'asm du 16f84 va sur le 16f1826 ?, le compilateur aussi? par contre comme j'ai un master + 3 slaves, est ce que la consomation est equivalente? car j'avais fais sur atmel8515 mais trop gourmand.

  19. #18
    inviteeb160de1

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Citation Envoyé par pasrico Voir le message
    est ce que l'asm du 16f84 va sur le 16f1826 ?
    Pas besoin de vérifier pour dire que les instructions seront les memes dans ce sens (par contre dans l'autre sens pas forcement).
    Par contre il faut vérifier dans la datasheet que les registres portent le meme nom.

    Citation Envoyé par pasrico Voir le message
    le compilateur aussi?
    Si tu code en asm, il n'y a pas de compilo, juste un assembleur, MPASM, et lui ne change pas.

    Citation Envoyé par pasrico Voir le message
    par contre comme j'ai un master + 3 slaves, est ce que la consomation est equivalente? car j'avais fais sur atmel8515 mais trop gourmand.
    Pour ça, il y a une datasheet..on ne sait meme pas de quelle consommation tu parles ? Active, en veille, en sleep ?
    Pour réduire la conso active deja la premiere chose est de baisser la fréquence, quelle que soit ton micro, c'est la meme regle pour tout le monde. Poses toi la question de savoir si tu as besoin de tourner aussi vite qu'actuellement.

    Aurélien

  20. #19
    RISC

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Salut,

    Le PIC16F84 est un très très vieux PIC ;=) (je dirai quinze ans...).
    Le PIC16F1826 est très récent, consomme beaucoup moins ( 50uA / MHz) et intègre plus de périphériques.
    L'assembleur pour les PIC16F1xxx possède plus d'instructions mais c'est les même mnémoniques. Il est inclus d'origine dans MPLAB.
    L'architecture est plus évoluée notamment aux niveaux des banques. Il faut donc faire quelques changements dans un programme venant d'un PIC16 classique.
    Toutefois, je te recommande d'utiliser MAPS (version offline téléchargeable) pour sélectionner le PIC le plus adéquat pour ton projet car je ne connais pas ton cahier des charges.
    Tu sembles utiliser l'I2C ?

    a+

  21. #20
    inviteac54bf81

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Citation Envoyé par DAUDET78 Voir le message
    Comme quoi, une question mal posée .........
    Ce n'est pas une instruction .... mais une commande Hard
    Tu prend une sortie de ton PIC maitre, tu la branches sur les MCLR des pics esclaves avec une résistance de PullUP

    Le passage à "0" de cette sortie Reset tous les esclaves
    merci à vous tous de m'avoir repondu , mais j'ai resolu mon prob comme l'a dit daudet

  22. #21
    inviteac54bf81

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    re bonjour

    j'ai commander chez farnell des pic 16f1826 mais je me pose la question, j'ai un programmateur infinity usb mais je pense qu'il ne doit pas avoir de mise a jour pour les 16f1826, vous avez quoi pour les programmer ?(hard + soft) et un lien pour l'achat
    merci
    je vais essayer car j'ai mis h-s 3 pic 16f84 avec la methode de la resistance, mais comme j'ai fais avec trisa, j'aurai pas dû

  23. #22
    invite092cb13c

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Bonjour
    Dans ton post #11, tu expliques que tu veux qu'un pic maître reset en même temps plusieurs 16F84, j'imagine qu'il s'agit de synchroniser le fonctionnement des 16F84, la encore , c'est à mon avis, une mauvaise idée, car il peut y avoir une difference de 104 ms au demarrage, c'est à dire que dans le pire des cas, un pic aura executé 104 000 instructions (ligne de code) avant qu'un autre n'ait simplement demarré, question synchro ce n'est pas le mieux.
    Il serait preferable, à mon sens, de les laisser demarrer à leurs rythmes et de leur donner un point de synchro apres, quand tu veux qu'ils executent une partie deu code en même temps.

    P.S. tu dis avoir tuer 3 pic 16F84, à part de leurs envoyer du 220V ou du 12V en direct, il faut avoir de l'imagination pour tuer des pics
    Gilles

  24. #23
    invite29971eb1

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Citation Envoyé par pasrico Voir le message
    salut risc
    merci de ton conseil, mais est ce que l'asm du 16f84 va sur le 16f1826 ?, le compilateur aussi? par contre comme j'ai un master + 3 slaves, est ce que la consomation est equivalente? car j'avais fais sur atmel8515 mais trop gourmand.
    Enfin, comparer un 16F84 et un 8515, c'est comparer une 106 et un monospace, ils ne sont pas du tout dans la même catégorie...A la rigueur, il aurait fallu comparer avec un boitier de taille équivalente, jouer correctement avec les modes veille et surtout diviser la fréquence par 4 pour arriver à la vitesse équivalente du PIC....

  25. #24
    RISC

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Salut,
    j'ai un programmateur infinity usb mais je pense qu'il ne doit pas avoir de mise a jour pour les 16f1826, vous avez quoi pour les programmer ?(hard + soft) et un lien pour l'achat
    Le PIC16F1826 est un produit assez récent et beaucoup de fabricants de programmateurs n'ont pas fait les mises à jour...
    Si tu veux pouvoir programmer la majorité des PICs avec un outil qui est mis à jour régulièrement, je te conseille le Pickit3 (version nue PGxxxxxx ou avec une carte suivant ton budget)

    a+

  26. #25
    inviteac54bf81

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    bonjour
    gedonnet , j'ai dit h-s, pas tués, mais le resultat est le meme, j'arrive plus a les programmer , a la verif ,j'ai toujours une erreur en 0001 que j'arrive pas a effacer
    j'attend de recevoir de chez farnell mon programmateur pour les pic 16f1826, si qq un pouvait me passer le fichier .inc pour ce pic, je pourrais adapter mon prog
    merci

  27. #26
    RISC

    Re : quelle instruction pour faire un reset sur pic 16f84? en asm

    Salut,

    Si tu programmes en ASM, il suffit de charger la dernière version de MPLAB ( v8.80 ), elle intègre l'assembleur pour ce PIC et les fichiers qui vont avec (INC, LKR).

    Si tu programmes en C, télécharges la version gratuite (Lite) du compilateur HiTech : http://www.microchip.com/compilers

    a+

Discussions similaires

  1. pointeur asm pic 16f84
    Par invite8fea8dd3 dans le forum Électronique
    Réponses: 19
    Dernier message: 03/02/2010, 21h56
  2. reset sur MCLR D'UN PIC 16F84 OU 16F876
    Par invite292dddf1 dans le forum Électronique
    Réponses: 12
    Dernier message: 15/01/2010, 17h40
  3. Instruction IF sur PIC 16F
    Par invitee002cb17 dans le forum Électronique
    Réponses: 26
    Dernier message: 04/05/2006, 17h17
  4. Obligé de faire reset pour pouvoir démarrer un programme en cliquant sur l'icône corr
    Par invitef0b77be6 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 09/10/2005, 10h30
  5. [ Programmation PIC 16F84 (asm) ]
    Par invite49af6c4e dans le forum Électronique
    Réponses: 1
    Dernier message: 23/10/2003, 20h55
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...