aide en ST7
Répondre à la discussion
Affichage des résultats 1 à 8 sur 8

aide en ST7



  1. #1
    invitebe24f6e3

    aide en ST7


    ------

    je dois effectuer une horloge radiopilotée commandée par un microcontroleur ST7...
    je voudrais avoir quelques indications sur certaine commande:
    -JRNE
    -JREQ
    -les sous programmes suivant avec notamment la fonction TAB:


    ->ld Y,(tab,A)
    ld A,#1
    ret

    ->
    init_tab

    ld A,#%00110001
    ld X,#1
    ld (tab,X),A
    ld A,#%00110010
    ld X,#2
    ld (tab,X),A
    ld A,#%00110011
    ld X,#3
    ld (tab,X),A
    ld A,#%00110100
    ld X,#4
    ld (tab,X),A
    ld A,#%00110101
    ld X,#5
    ld (tab,X),A
    ld A,#%00110110
    ld X,#6
    ld (tab,X),A
    ld A,#%00110111
    ld X,#7
    ld (tab,X),A
    ld A,#%00111000
    ld X,#8
    ld (tab,X),A
    ld A,#%00111001
    ld X,#9
    ld (tab,X),A
    ret

    merci d'avance
    +

    -----

  2. #2
    invitef900c612

    Re : aide en ST7

    Bonjour,
    (déjà tu aurais pu !)

    ... sinon.... tu n'as pas l'impression de te répéter là ???
    Si personne ne répond à ton premier post c'est que personne ne sait...

    Cordialement

  3. #3
    invitebe24f6e3

    Re : aide en ST7

    oui j'ai oublié!je suis confu....
    les posts que j'ai posé sont sur le ST7,ok...
    mais ils sont differend selon les posts...
    affichage LCD, commande,etc
    cordiablement

  4. #4
    invitef900c612

    Re : aide en ST7

    Citation Envoyé par jkiol78
    cordiablement
    lol ... alors soit c'est génial comme jeux de mot, soit c'est une trouvaille à retenir ^^



    Sinon j'ai vu que tu as mis des questions plus ou moins différentes...
    Mais si tu veux que le groupe t'aide correctement, pose tes question les unes après les autres dans un seul post ^^

    Enfin je dis ça je dis rien...

    Bonne chance pour ton horloge, moi je ne peux t'aider....

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

    Re : aide en ST7

    intéresse toi à la documentation de ton microcontroleur, je suis sûr que les instructions du micro y sont détaillées (c'est sur c'est en anglais mais en électroniques c'est souvent voire toujours le cas).

    pour le sous programme init_tab, on entre juste le code ascii des chiffres (1 à 9) dans le tableau 'tab' en positon 1 à 9 du tableau. donc:
    tab,1= $31 (code ascii de "1")
    tab,2=$32 (code ascii de "2")
    etc


    pour le sous programme au dessus, on met dans Y, la valeur ascii pointé par tab,A (A devant être égal à un chiffre de 1 à 9) ensuite on remet juste A=1.

    Bref rien de bien compliqué, si on se penche sur le jeu d'instruction du micro

  7. #6
    invite87be5ae9

    Re : aide en ST7

    Bonjour,
    J'ai déjà travaillé sur un projet avec du ST7, hélas, je n'ai pas le temps de suite de ressortir les datasheets, mais je peux te donner certaines explications sur des points précis !

    Déjà, pour tes instructions :
    JRNE (Jump Relative if Not Equal) : saute à l'adresse relative (saut court de +/- 128 instructions) indiquée si la précédente comparaison n'était pas égale !
    JREQ (Jump Relative if EQual) : juste l'inverse de la précédente : saut relatif court si égal.

    Ces instructions suivent l'utilisation de l'instruction "CP" (ComPare) entre deux valeurs (ensuite on vérifie si il y a égalité, différence, infériorité, etc...)

    Je peux pas te documenter de manière très précise, n'ayant pas le datasheet sous les yeux.
    Néanmoins la documentation regorge d'exemples, si toutefois tu ne les comprends pas, je peux alors t'aider sans soucis.

    @+

  8. #7
    invitebe24f6e3

    Re : aide en ST7

    bonjour,

    merci à tous pour l'aide...
    j'ai eu un peu de mal à comprendre mais la je pense que je suis près du but lol!
    je me suis aussi penché sur les temporisations et on m'a dit qu'il fallait faire une boucle vide...
    je voudrais savoir comment on calcule les cycles?
    je sais que chaque instruction a un cycle mais après comment savoir le cycle complet d'un sous programme?
    merci d'avance!
    +

  9. #8
    invite87be5ae9

    Re : aide en ST7

    Bonjour,

    Le moyen le plus basique et le plus efficace pour faire des temporisations, tous micorcontroleurs confondus, est effectivement le fait de faire des boucles incluants un ou plusieurs "NOP".
    Après, tu peux user d'asctuces permettant d'exploiter les instructions de ton architecture qui sont un peu plus gourmandes en cycles (les sauts par exemple).

    Pour le calcul général des cycles, sur le ST7, toutes les instructions ne font pas un cycle, loin de là (cela doit venir de son architecture de type CISC), donc il convient de bien te renseigner auprès du datasheet de ton composant sur la durée en cycle de tes instructions en fonction de l'adressage ou des registres utilisés (il y a des tableaux pour chaque instructions).
    Exemple : un "LD A,#$1" ne durera pas le même nombre de cycles qu'un "LD A,(TAB,X)"

    Enfin, tous les environements de développement disposent de fonctions permettant de surveiller le nombre de cycles entre deux breakpoints (en général cela s'appelle "trace" ou "trace watch", ou un truc du genre...), permettant de calibrer exactement la durée d'une routine, de temporisation ou non, si elle est critique.

    @+

Discussions similaires

  1. Programmation avec le st7
    Par inviteb6a46f47 dans le forum Électronique
    Réponses: 2
    Dernier message: 09/04/2007, 13h58
  2. aide
    Par invite694a06f7 dans le forum Physique
    Réponses: 2
    Dernier message: 27/12/2006, 13h34
  3. besoin d'aide en programmation ST7
    Par invitebe24f6e3 dans le forum Électronique
    Réponses: 2
    Dernier message: 07/06/2006, 12h02
  4. aide pour mico ST7
    Par invite51ae8ee2 dans le forum Électronique
    Réponses: 13
    Dernier message: 07/06/2006, 12h01
  5. micro ST7
    Par invite7c47a1fc dans le forum Électronique
    Réponses: 2
    Dernier message: 26/01/2006, 21h57
Découvrez nos comparatifs produits sur l'informatique et les technologies.