Assembleur et PIC16F84
Répondre à la discussion
Affichage des résultats 1 à 6 sur 6

Assembleur et PIC16F84



  1. #1
    sna68

    Smile Assembleur et PIC16F84


    ------

    Bonjour,
    Je souhaiterais me remettre à l'assembleur et analyser un programme de manipulateur morse.
    L'auteur déclare ses registres de la manière suivante:

    Code:
    RA	        EQU	05H		;PORT A
    RB	        EQU	06H		;PORT B
    COUNT1	EQU	0CH		;COUNT FOR DELAY LOOP
    COUNT2	EQU	0DH		; "
    FLAG	        EQU	0EH		;USER FLAGS
    
    DIT_FLG	EQU	00H		;DOT FLAG
    DIT_SW	EQU	00H		;DOT SWITCH (ON PADDLE KEY)
    DAH_SW	EQU	01H		;DASH SWITCH (ON PADDLE KEY)
    KEY	        EQU	00H		;KEYING OUTPUT
    Je ne comprends pas ce qu'il a voulu faire sur les 4 dernières lignes ? Qui pourrait m'expliquer, SVP ? (à moins qu'il y ait une erreur ici .... l'auteur ne m'a jamais répondu !)
    C'est notamment les adresse 00H, 01H et à nouveau 00H qui me semblent curieuses ....

    Merci à vous et bonnes fêtes !

    -----
    Dernière modification par gienas ; 24/12/2013 à 08h00. Motif: Ajouté les balises code obligatoires pour les programmes

  2. #2
    gienas
    Modérateur

    Re : Assembleur et PIC16F84

    Bonjour sna68 et tout le groupe

    Citation Envoyé par sna68 Voir le message
    ... C'est notamment les adresse 00H, 01H et à nouveau 00H qui me semblent curieuse ...
    Je pense que tu fais une confusion. Il ne s'agit pas d'adresses mais d'assignations. Les majuscules laissent supposer des masques de comparaison/OU/AND pour rendre plus lisible le traitement des bits dans l'ensemble du programme.

    Joyeux Noël à toi aussi.

  3. #3
    sna68

    Re : Assembleur et PIC16F84

    Bonjour Gienas,

    Merci pour ta réponse. Je pense effectivement qu'il y a eu confusion. Mais pour rester rigoureux, ne faut-il pas mieux écrire:
    #define DIT_FLAG 0
    #define DIT_SWITCH 0
    #define DAH_SWITCH 1 ...

    Merci et joyeux Noël !

  4. #4
    sly37

    Re : Assembleur et PIC16F84

    Bonjour,

    Tu peux traduire la directive "EQU" comme "équivalent".
    Lorsque le compilo va créer le fichier de sortie .S19 ou .HEX ....., il va remplacer les mots "RA; RB; COUNT1;..." en "05; 06; 0C...".
    Effectivement en C l'équivalent est #define.

    Sur ton PIC, le portA est situé à l'adresse 05H. Donc pour y accéder il se sert de la constante RA.

    Bonne journée.

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

    Re : Assembleur et PIC16F84

    Bonjour SLY37,

    Merci pour votre réponse. Oui, j'ai bien saisi maintenant la notion de déclaration. En fait, on ne fait qu'une transposition d'un chiffre (ex. un numéro de bit) en chaine de caractère pour mieux saisir le reste du programme.
    Au départ, je pensais qu'il avait alloué des zones mémoires en RAM ... d'où mes questions plus que basiques !!
    Je vais pouvoir continuer maintenant et merci encore.
    Stephane

  7. #6
    Jack
    Modérateur

    Re : Assembleur et PIC16F84

    Citation Envoyé par sna68 Voir le message
    Bonjour Gienas,

    Merci pour ta réponse. Je pense effectivement qu'il y a eu confusion. Mais pour rester rigoureux, ne faut-il pas mieux écrire:
    #define DIT_FLAG 0
    #define DIT_SWITCH 0
    #define DAH_SWITCH 1 ...

    Merci et joyeux Noël !
    EQU est utilisé par un assembleur alors que #define est plutôt une directive du préprocesseur en langage C. mais la finalité est la même.

    A+
    Dernière modification par Jack ; 24/12/2013 à 12h37. Motif: p'tite faute d'orthographe

Discussions similaires

  1. pic16f84
    Par invitef0165562 dans le forum Électronique
    Réponses: 3
    Dernier message: 01/08/2011, 09h00
  2. Pic16f84
    Par invite0aa42981 dans le forum Électronique
    Réponses: 4
    Dernier message: 29/11/2010, 16h04
  3. programmation de feux tricolores en assembleur pour pic16f84
    Par invite5b081954 dans le forum Électronique
    Réponses: 4
    Dernier message: 21/03/2009, 16h35
  4. pic16F84
    Par invite4769246c dans le forum Électronique
    Réponses: 64
    Dernier message: 07/05/2007, 22h26
  5. Pic16f84-04/p
    Par jo-electrons dans le forum Électronique
    Réponses: 2
    Dernier message: 30/09/2006, 19h50
Découvrez nos comparatifs produits sur l'informatique et les technologies.