Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

Sujet : texte en memoire dans pic [ Archives / Les PIC ] (yalein)

jeudi 9 mars 2006 à 01:17:57 | texte en memoire dans pic

yalein

    Bonjour a tous, je suis débutant dans la programmation en assembleur et la je coince sur un probleme. J'utilise un pic 16f877 avec un afficheur et je voudrais pouvoir stocker en memoire des message pré defini que je pourrais appeler puis afficher. mon idée était de rentrer dans une variable l'adresse de départ où se situerais le début du message 1 par exemple puis afficher caractere par caractere le message sur le LCD. Seul probleme, je ne sais pas comment et où placer mes messages.
Pour l'instant je n'ai réussi a afficher des caracteres quand ne faisant des lignes du types:

banksel    PORTA
    movlw    0x40
    movwf    EEADR1

    movlw    "B"
    movwf    EEDATA1
    CALL    ECRITURE_EEPROM
    incf    EEADR1
    movlw    "O"
    movwf    EEDATA1
    CALL    ECRITURE_EEPROM
    incf    EEADR1
    movlw    "N"
    movwf    EEDATA1
    CALL    ECRITURE_EEPROM
    incf    EEADR1
    movlw    "J"
    movwf    EEDATA1
    CALL    ECRITURE_EEPROM
    incf    EEADR1
    movlw    "O"
    movwf    EEDATA1
    CALL    ECRITURE_EEPROM
    incf    EEADR1
    movlw    "U"
    movwf    EEDATA1
    CALL    ECRITURE_EEPROM
    incf    EEADR1
    movlw    "R"
    movwf    EEDATA1
    CALL    ECRITURE_EEPROM
    incf    EEADR1
    movlw    "#"
    movwf    EEDATA1
    CALL    ECRITURE_EEPROM


    return

Ici le message BONJOUR est afficher.
Pouvez vous m'aider pour faire evoluer mon programme ???????????????

merci d'avance à tous.

mardi 14 mars 2006 à 20:57:17 | Re : texte en memoire dans pic

paulF

bonsoir,

Si tes messages sont pré-définis , tu peux donc les programmer directement dans la zone Eeprom du PIC
exemple pour Pic16F628 , affiche le N0 du message défini en EEPROM PIC


....
 call LCD_Clear1
  movlw 1
  movwf Pointer_Msg
  Call AffNumMsgEeprom
.....


puis avec un bout de programme aller lire ces message pour les afficher

;==============================
; affiche Nø Msg en eeprom
;==============================
AffNumMsgEeprom
  movf Pointer_Msg,w
  movwf Cpt2
  bcf STATUS,C
  rlf Cpt2,f
  rlf Cpt2,f
  rlf Cpt2,f
  rlf Cpt2,f ; pointeur = NøMsg * 16
  clrf Cpt3
affMsg_
  movf Cpt3,w
  addwf  Cpt2,w
  bank1
  MOVWF EEADR
  BSF  EECON1,RD ;  bit 0
  MOVF  EEDATA,W
  bank0
  call   LCD_Putchar
   incf Cpt3,f
  btfss Cpt3,4  ; 16em car ? 
  goto  affMsg_
  return



   ORG 0x2100
;message modulo 16  (si LCD de 16 car par ligne !)
;       "1234567890123456"       
EE0  dt "Bonjour        ",0
EE1  dt "message       1",0
EE2  dt "message       2",0




jeudi 16 mars 2006 à 01:28:33 | Re : texte en memoire dans pic

yalein

    Bonjour, tout dabord un grand merci pour ta réponse car je vois que tu as compris exactement se que j'essaie de faire.
Sinon quelques petites questions: j'ai essayer cette méthode mais j'ai quelques erreur quand je compile. J'obtiens ceci:
 Symbol not previously defined (Pointer_Msg)
 Symbol not previously defined (Cpt2)
  Symbol not previously defined (Cpt3)

J'ai donc l'impression qu'il ne reconnait pas ces variables. Est ce que se sont des variables que tu as déclaré quelque par ou bien se sont des variables propres au pic.

Et sinon, pour afficher les autres messages est ce qu'il suffit de remplacer le " movlw 1 " par " movlw 2 " ou bien " movlw 3 "

merci d'avance

mercredi 22 mars 2006 à 16:21:28 | Re : texte en memoire dans pic

phenojeff

Allo
déclare tes variable au début 
CBLOCK 0x20
 Pointer_Msg :1
 Cpt2:1
 Cpt3:1
ENDC
pas besion de faire movlw 2 car dans
affMsg_
  movf Cpt3,w
  addwf  Cpt2,w  ; Cpt3 + Cpt2 = Cpt2
;si tu regarde a la fin il y a

btfss Cpt3,4  ; 16em car ? Boucle jusqua 3
  goto  affMsg_
a++

mercredi 22 mars 2006 à 16:24:25 | Re : texte en memoire dans pic

phenojeff

petite corection  sest la quil fait +1

call   LCD_Putchar
   incf Cpt3,f  ; <-- +1 save dans Cpt3
  btfss Cpt3,4  ; 16em car ? 
  goto  affMsg_

a+

mercredi 22 mars 2006 à 21:56:33 | Re : texte en memoire dans pic

yalein

Bonsoir, Merci le complement d'information. En faite j'ai réussi a afficher les messages en allant directement lire à l'adresse du debut de message stocher dans l'eeprom. merci encore de ton aide



Cette discussion est classé dans : call, movlw, movwf, eeadr1, eedata1


Répondre à ce message

Sujets en rapport avec ce message

PIC 16F84 & LCD piti probleme :) [ par diwee ] bonjour, j'ai essayé de programmer un pic 16f84 en mode 4-bit pour qu'il affiche un message s sur l'ecran mais en vain. Quand je branche il y a une li Liaison RS232 Pic 18F2620 vers PC [ par fun_olivier ] Bonjour je dois faire un programme qui permet de relier un Pic 128F2620 avec un Pc via une liaison USART . Le Pic envoi un caractere, puis reçoit une 16F84 asm aide pour modifier une routine de RB7 à RB3 [ par pasrico ] bonjour     pic 16F84A + 24C16    voila j'ai cette routine qui marche tres bien mais je veux la modifier pour passer sur le portb,03  (RB3) mais comme Problème avec un code [ par showbiz_hurricanes ] Bonjour Pour un projet universitaire, je dois concevoir un programme de tri en assembleur mais celui ci ne fonctionne pas comme je le voudrai. Le PIC: long call et table [ par flagyg ] Bonjour,J'appelle une table qui se trouve à l'adresse 0x700 depuis ~0x20. J'ai remarqué que ça ne jouait plus car la table me renvoie nimporte ou dans Probleme avec la pile et call [ par Mick7 ] Salut,Voila j'ai un probleme d'adresse de pile quand je fais appele a call affichage:  Main:     mov ax, 324     mov bx, 10  Boucle:     xor dx, dx    Invoke et Call [ par Micro_and_Macro ] Bonjour Voilà je débute en asm(masm32) et j'expérimente, mais là je flanche :-)Pourquoi ces 2 codes ne donnent -il pas la mêm chose?1er code.code TSR & Détournement d'interrupt(ion) [ par ghuysmans99 ] bonjour à tous.j'ai fait un petit prog en asm 32bits pour dos mais il ne fonctionne pas ... reste à savoir pourquoi !!pourriez-vous m'aider ??;Change [Assemblage] - Calcul d'Offsets [ par Nowid50 ] Bonjour à tous !J'aimerais une "petite" information... (pas moyen de trouver sur Google...) Voila la situation :Je suis actuellement en train de progr


Nos sponsors

Sondage...

CalendriCode

Décembre 2008
LMMJVSD
1234567
891011121314
15161718192021
22232425262728
293031    

Consulter la suite du CalendriCode



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.