Incrémentation sur PIC 16F84
Répondre à la discussion
Affichage des résultats 1 à 5 sur 5

Incrémentation sur PIC 16F84



  1. #1
    Patrick

    Bonjour !

    J'ai un petit problème avec une directive d'assemblage : dt . Je stock des valeurs et je voudrais incrementer l'adresse de stockage pour y récupérer mes valeurs.

    Voici le code pour être plus claire :

    [code:1:f5d488685c]
    org 0x000
    goto START

    ROM dt 0xC0, 0xFF, 0x17

    START bsf STATUS, RP0
    [/code:1:f5d488685c]

    Donc voilà dans mon listing mais valeur sont bien mémorisées avec l'opcode de l'instruction retlw

    [code:1:f5d488685c]0000 00071 org 0x000
    0000 2821 00072 goto START
    0001 34C0 34FF 3417 00085 ROM dt 0xC0,0xFF,0x17
    0004 1683 00090 START bsf STATUS, RP0[/code:1:f5d488685c]

    C'est maintenant que je ne sais pas comment faire pour incrémenter ROM pour récupérer C0 ensuite FF et 17.

    Merci pour vos réponse

    Amicalement PAT

    -----

  2. #2
    Bigonoff

    Salut
    -------

    Tes directives ont placé des valeurs dans la zone programme

    Pour les récupérer depuis ton programme, tu dois lire cette mémoire programme.

    Le problème avec le 16F84, contrairement au 16F87x, par exemple, c'est qu'il ne dispose pas de cette possibilité.

    Donc, tu dois utiliser une autre méthode, par exemple créer des instructions retlw suivies de la valeur, au lieu de tes DT.

    Je te suggère de lire mon cours - part1 sur mon site : www.abcelectronique.com/bigonoff

    A+
    Bigonoff
    Vive l'Internet libre

  3. #3
    Patrick

    Merci Bigonoff

    J'ai lu ton cours et j'ai préféré écrire en EEPROM car mes données sont des constantes.

    [code:1:8c46a94f32]
    org 0x2100
    de 0xC0, 0xFF, 0x17
    [/code:1:8c46a94f32]

    Ensuite je récupère mes valeurs stockées en EEPROM avec la séquence obligatoire (EEADR --> EECON1 --> EEDATA)

    Le seul problème sera peut-être le temps d'accès qui doit-être plus long que si j'avais utilisé la diréctive d'assemblage "dt"

    Donc il faut que j'essaye !!

    Encore MERCI

    PAT

  4. #4
    Bigonoff

    Salut
    -------

    OK.

    Note tout de même que Microchip recommande de ne pas placer des constantes dans l'eeprom (à cause du rafraichissement obligatoire), mais bon, si tu ne comptes pas écrire 1.000.000 fois dans la zone eeprom, tu ne rencontreras pas de problème.

    Pour le temps d'accès, il se limite au temps nécessaire pour exécuter les instructions de lecture en eeprom, il n'y a pas de retard comme pour l'écriture.

    Tu ne devrais donc pas avoir de problème à ce niveau

    A+
    Bigonoff
    Vive l'Internet libre

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

    Bonjour

    Ok! merci pour les temps d'accès.

    C'est vrai que sa aide beaucoup d'avoir des conseils d'une personne qui fait des cours. C'est comme un prof en mieux puisqu'il n'impose pas les documentations constructeurs en anglais. (même si ça ne me pose pas vraiment de problème).

    Amicalement PAT

Discussions similaires

  1. Générer un signal carré 500hz avec flowcode sur pic 16f84
    Par invitef27eb29a dans le forum Électronique
    Réponses: 2
    Dernier message: 09/02/2007, 21h25
  2. comptage sur pic 16F84 ou similaire
    Par alainav1 dans le forum Électronique
    Réponses: 2
    Dernier message: 02/11/2006, 22h48
  3. entrée et sortie alternativement sur pic 16F84
    Par alainav1 dans le forum Électronique
    Réponses: 6
    Dernier message: 23/10/2006, 17h39
  4. PIC 16F84 – Lecture de plusieurs pin et écriture sur plusieurs pins
    Par invitef1f90160 dans le forum Électronique
    Réponses: 4
    Dernier message: 31/12/2005, 15h09
  5. TPE sur une centrale d'alarme géré par un pic 16f84
    Par inviteae648629 dans le forum TPE / TIPE et autres travaux
    Réponses: 0
    Dernier message: 24/01/2005, 13h02
Découvrez nos comparatifs produits sur l'informatique et les technologies.