Table de constante [PIC16F]
Répondre à la discussion
Affichage des résultats 1 à 4 sur 4

Table de constante [PIC16F]



  1. #1
    invite0eea0508

    Table de constante [PIC16F]


    ------

    Bonjour,

    J'ai beaucoup de mal à comprendre ces instructions, enfin surtout l'utilisation du PCL ce que je comprends en gros
    c'est que 1ére fois qu'on rentre dans la fonction table on va additionner le PCL qui est nul avec la valeur de i qui est de 3 donc
    on va récupérer la troisième valeur -> w=0x80 par contre après le 1er rebouclage je ne comprend plus quel valeur on récupére, merci
    pour votre aide

    Code:
    table	addwf	PCL,1
    		retlw	0x10
    		retlw	0x20
    		retlw	0x40
    		retlw	0x80
    		return
    
    debut	clrf	som
    		movlw	0x04
    		movwf	i
    		movwf	cpt
    boucle	decf	i
    		movf	i,0
    		call	table
    		addwf	som,1
    		decfsz	cpt,1
    		goto	boucle
    		goto	fin

    -----

  2. #2
    umfred

    Re : Table de constante [PIC16F]

    le PCL c'est le Program Counter donc l'endroit où se trouve l'instruction à exécuter, donc il a toujours la même valeur quand tu arrives à l'instruction "addwf PCL,1".
    Dans la boucle, tu décrémentes i donc:
    - la 1ère fois, i vaut 3 et suite à l'appel de "table", w=0x80
    - la 2ème fois, i vaut 2 et suite à l'appel de "table", w=0x40
    - la 3ème fois, i vaut 1 et suite à l'appel de "table", w=0x20
    - la 4ème fois, i vaut 0 et suite à l'appel de "table", w=0x10

  3. #3
    gedonet

    Re : Table de constante [PIC16F]

    Bonjour
    Pour répondre de façon plus simpliste (ou plus générale) qu'umfred, on peut dire que cette instruction permet de sauter à une ligne quelquonque, un peu à l'image d'un goto sauf que la longueur du saut est definie par une variable.

    L'utilisation la plus frequente est, comme l'a tres bien expliqué umfred, pour les tableaux de valeur.

    Gilles
    Dernière modification par gedonet ; 12/05/2012 à 23h41.

  4. #4
    RISC

    Re : Table de constante [PIC16F]

    Salut,

    Pour l'ASM voir les cours de l'incontournable Bigonoff ;=)
    et aussi cela : http://www.gooligum.com.au/tutorials.html

    a+

  5. A voir en vidéo sur Futura

Discussions similaires

  1. Enregistrement de l'id d'une table A vers une table B
    Par lordgodgiven dans le forum Programmation et langages, Algorithmique
    Réponses: 3
    Dernier message: 13/10/2011, 21h35
  2. Timer2 PIC16F
    Par olivier_elec dans le forum Électronique
    Réponses: 7
    Dernier message: 19/05/2010, 22h41
  3. Problème PIC16F
    Par black templar dans le forum Électronique
    Réponses: 7
    Dernier message: 15/05/2009, 19h10
  4. Audio pic16f....
    Par invite757b0a01 dans le forum Électronique
    Réponses: 1
    Dernier message: 05/03/2009, 11h04
  5. Horloge à PIC16F
    Par nainpiain dans le forum Électronique
    Réponses: 32
    Dernier message: 08/02/2009, 20h38
Découvrez nos comparatifs produits sur l'informatique et les technologies.