IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Autres architectures Assembleur Discussion :

[18F452] Utiliser une Table sur un 18F


Sujet :

Autres architectures Assembleur

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut [18F452] Utiliser une Table sur un 18F
    Salut,

    je me presente, c'est mon premier post sur ce forum, j'observe depius quelques temps sans vouloir franchir le pas ...mais c'est fait maintenant et j'espere que je trouverai des gens sympathique sur ce forum..

    Bon maintenant que la presentation est faite, je pose ma petite question:

    J'utilise un 18F452 et j'ai vu qu'il y avait des registre specifique pour les tables.
    J'aimerai faire un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    ;__________________________________________________________________________
    ;
    ;                                 STRINGS
    ;__________________________________________________________________________
    Table    ;	"XXXXXXXXXXXXXXXX"
    	   ;			          ptr:
    	   data	"   Hello          " ;.0
    	   data "   Microchip    " ;.16
     
    ;--------------------------------------------------------------------------
    LCD_SendLine macro param
    ;------------------------------------------------------------------------
    ;___Initialisation___
     Init.Byte ptr_pos With param
     Init.Byte ptr_counter With .16
     
     movlw	high Table
     movwf	TBLPTRH
     
     movlw	low Table
     movwf	TBLPTRL
     
     
    ;___Lecture___
     Copy.Byte ptr_pos To w
     addwf	TBLPTRL,f
     
    Next_Char
     
     tblrd	*+
     LCD_SendData	TABLAT 		;send character to LCD
     
     decfsz	ptr_counter,f		      ;move pointer to next char
     goto	Next_Char
     
      endm
     
     
    Main
     
      Init
      Do
     
     Flash Led_B3
     
     LCD_SendLine .0
     
     
     Loop
    Bon je sais ca marche pas, si vous voyez comment ca fonctionne ces registres, ca serai sympa de me faire un petit cours ou des explications!


    Merci a vous

    PS: je sais pas si c'est utile mais j'utilise context avec MPASM

  2. #2
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 2
    Points : 1
    Points
    1
    Par défaut
    Personne ne travaillle sur un 18F452 ?

  3. #3
    Nouveau Candidat au Club
    Inscrit en
    Avril 2006
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Avril 2006
    Messages : 1
    Points : 1
    Points
    1
    Par défaut Un code qui marche
    Citation Envoyé par MCASM
    Salut,

    je me presente, c'est mon premier post sur ce forum, j'observe depius quelques temps sans vouloir franchir le pas ...mais c'est fait maintenant et j'espere que je trouverai des gens sympathique sur ce forum..

    Bon maintenant que la presentation est faite, je pose ma petite question:

    J'utilise un 18F452 et j'ai vu qu'il y avait des registre specifique pour les tables.
    J'aimerai faire un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
     
    ;__________________________________________________________________________
    ;
    ;                                 STRINGS
    ;__________________________________________________________________________
    Table    ;    "XXXXXXXXXXXXXXXX"
           ;                      ptr:
           data    "   Hello          " ;.0
           data "   Microchip    " ;.16
     
    ;--------------------------------------------------------------------------
    LCD_SendLine macro param
    ;------------------------------------------------------------------------
    ;___Initialisation___
     Init.Byte ptr_pos With param
     Init.Byte ptr_counter With .16
     
     movlw    high Table
     movwf    TBLPTRH
     
     movlw    low Table
     movwf    TBLPTRL
     
     
    ;___Lecture___
     Copy.Byte ptr_pos To w
     addwf    TBLPTRL,f
     
    Next_Char
     
     tblrd    *+
     LCD_SendData    TABLAT         ;send character to LCD
     
     decfsz    ptr_counter,f              ;move pointer to next char
     goto    Next_Char
     
      endm
     
     
    Main
     
      Init
      Do
     
     Flash Led_B3
     
     LCD_SendLine .0
     
     
     Loop
    Bon je sais ca marche pas, si vous voyez comment ca fonctionne ces registres, ca serai sympa de me faire un petit cours ou des explications!


    Merci a vous

    PS: je sais pas si c'est utile mais j'utilise context avec MPASM
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    ====================================
    ORG 0x100
    Message1 dw "Bonjour",0
    Message2 dw "Au revoir",0
     
    Définir une macro
     
    Send_M_RS232 MACRO Message
    movlw high Message ;partie haute de l'adresse
    movwf TBLPTRH
    movlw low Message ;partie basse de l'adress
    movwf TBLPTRL
    tblrd *+ ;lit la table pointée par TBLPTR et ;incrémente le pointeur
    movf TABLAT,W ;resultat dans W
    BTFSC STATUS,Z ;test si =0
    goto $+.12
    call Transmit_Data ;ou autre chose
    goto $-.14
    ENDM
    pour utiliser dans ton programme:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    ...................
    ...................
    Send_M_RS232 Message1
    ...................
    Send_M_RS232 Message2
    ................

Discussions similaires

  1. Changer le nom d'une table sur SQL server avec une requete
    Par Oluha dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 01/02/2014, 23h35
  2. [Access] Trier une table sur plusieurs critères
    Par arnaud_verlaine dans le forum Langage SQL
    Réponses: 6
    Dernier message: 02/05/2006, 19h18
  3. [SQL2K] delete cascade d'une table sur elle même
    Par StormimOn dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 25/04/2006, 16h28
  4. comment extraire donnee d'une table sur un fichier
    Par 80stephanie dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 18/03/2006, 11h50
  5. Réponses: 4
    Dernier message: 02/05/2005, 20h25

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo