diviser par 20 avec un pic 16f87a
Répondre à la discussion
Affichage des résultats 1 à 7 sur 7

diviser par 20 avec un pic 16f87a



  1. #1
    inviteffd52f3c

    Bonsoir,

    Je réalise un projet avec un ami dans lequel nous avons besoin de diviser une variable par 20. Nous programmons notre pic 16f87 en assembleur.
    Mais nous ne savons pas comment nous y prendre pour diviser par 20.

    Quelqu'un pourrait nous aider svp ???

    Merci d'avance.

    Bonne soirée

    F.

    -----

  2. #2
    Jack
    Modérateur
    salut,

    je suppose donc que le 16F87 ne possède pas d'instruction de division.

    Dans ce cas, le plus facile c'est de faire des soustractions successives de 20 jusqu'au moment où ton reste est inférieur à 20. Il suffit de compter combien de fois tu as soustrait 20 pour avoir le résultat de ta division entière.

    A+

  3. #3
    invite36072923

    Bonjour
    Pour faire une division par 20 en assembleur, c'est asses simple il suffit de faire 10 divisions par 2 et une division par deux en binaire se resume à un rrf (un decalage à droite) bien sur il faut gerer le carry issue du decalage selon que l'on veuille le garder pour la precision ou l'effacer .Autrement il existe des routines pour les divisions voir les apnotes chez microchip.
    pour exemple diviser le registre nombre par 10 avec une erreur maxi de 2.5 revient à ecrire cela:

    bcf STATUS,C
    rrf nombre
    bcf STATUS,C
    rrf nombre
    bcf STATUS,C
    rrf nombre
    bcf STATUS,C
    rrf nombre
    bcf STATUS,C
    rrf nombre

  4. #4
    invite88ef51f0

    Salut,
    Pour faire une division par 20 en assembleur, c'est asses simple il suffit de faire 10 divisions par 2
    Dans ce cas, tu ne pas faire une division par 2*10=20 mais par 2^10=1024... Non?

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

    Pour faire une division par 20 en assembleur, c'est asses simple il suffit de faire 10 divisions par 2
    Non, comme dit Coincoin, de la sorte tu divises par 2^10.
    Ce qu'écrit Jack me semble plus juste (en + tu auras droit au reste de la division).
    Sinon, fais une recherche sur Google, j'ai déjà vu ce genre de routine quelque part...
    Bàt,
    Ne soldez pas grand mère, elle brosse encore.

  7. #6
    inviteffd52f3c

    Bonjour

    Merci pour vos réponses.
    Je vais essayer les solutions différentes.

    Merci

    ++

  8. #7
    invite36072923

    Bonjour
    effectivement comme dit Coincoin ce que je proposait ne fonctionne pas voila ce qui arrive quand on propose un truc rapidement sans le verifier.
    Toutes mes excuses.
    Pour me faire pardonner une adresse pour une routine math.asm en français : http://micropic.free.fr/math.asm

Discussions similaires

  1. Diviser par le module d'une fonction de transfert dans Scilab ?
    Par invite237d5ea4 dans le forum TPE / TIPE et autres travaux
    Réponses: 1
    Dernier message: 28/05/2007, 08h37
  2. Réponses: 0
    Dernier message: 18/03/2007, 16h43
  3. [TERMINE] Régulation de chauffage par PIC par fil pilote
    Par invite890ff058 dans le forum Projets électroniques
    Réponses: 296
    Dernier message: 30/08/2006, 19h01
  4. "Fonction définie" et interdiction de diviser par 0
    Par Vladzol dans le forum Mathématiques du supérieur
    Réponses: 5
    Dernier message: 01/09/2005, 16h21
  5. Diviser un polynôme par sa dérivée
    Par invite39dcaf7a dans le forum Mathématiques du supérieur
    Réponses: 19
    Dernier message: 10/01/2004, 16h38
Dans la rubrique Tech de Futura, découvrez nos comparatifs produits sur l'informatique et les technologies : imprimantes laser couleur, casques audio, chaises gamer...