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 comment utiliser un call à l'aide d'un préfixe [ par jeddaye ] bonjour, j'utilise actuellement mplab pour programmer mon 16f88et je me demandais si il etait possible de faire un call avec un préfixe, ceci afin de Problème avec mon programme en source assembleur pour mon projet de BTS [ par UltimateXion ] Bonjours à tous, je réalise actuellement mon projet de BTS Système électronique et j'ai comme qui dirai un souci au niveau de mon programme en source Problème de programation d'un PIC16F877a avec un LCD 2*16 en mode 8 Bits [ par UltimateXion ] Bonjours à tous, je réalise actuellement mon projet de BTS Système électronique et j'ai comme qui dirai un souci au niveau de mon programme en source Problème de timing [ par Haox85 ] Bonjour tout le monde,Depuis mon dernier post où je demandais de l'aide pour afficher sur des 7 segments j'ai un peu avancé tant bien que mal...Si mon PB PIC18F2525 [ par Haox85 ] Bonsoir tout le monde... Comme vous pouvez le constater, je n'ai toujours pas réussi a faire ma programmation de PIC... Bon mon programme fonctionne 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


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), 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,733 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é.