Répondre à la discussion
Affichage des résultats 1 à 27 sur 27

pic16f84 j'ai un probleme pour ecrire dans l'eeprom interne



  1. #1
    LABTOOL48

    pic16f84 j'ai un probleme pour ecrire dans l'eeprom interne


    ------

    j'ai un problem pour ecrire dans l'eeprom intern, le mplab m'indiquer qu'il y'a des erreurs sur les lignes de macro dit que le registre "EECON1" et "EECON2" sont pas dans le bank0 et mais c'est juste quand j'utilise l'instrution "writee 00'h" pour ecrire dans l'eeprom voici le message mplab

    "Register in operand not in bank 0. Ensure that bank bits are correct."

    -----

  2. Publicité
  3. #2
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    Citation Envoyé par LABTOOL48 Voir le message
    j'ai un problem pour ecrire dans l'eeprom intern, le mplab m'indiquer qu'il y'a des erreurs sur les lignes de macro dit que le registre "EECON1" et "EECON2" sont pas dans le bank0 et mais c'est juste quand j'utilise l'instrution "writee 00'h" pour ecrire dans l'eeprom voici le message mplab

    "Register in operand not in bank 0. Ensure that bank bits are correct."
    c'est juste un warning , il dit de vérifier si on accède bien à la bonne bank.
    A+, pat

  4. #3
    LABTOOL48

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    merci pour la reponse


    mais je ne trouve pas les donnée sur l'address 00'h elle reste toujour "FF"

  5. #4
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    Citation Envoyé par LABTOOL48 Voir le message
    merci pour la reponse


    mais je ne trouve pas les donnée sur l'address 00'h elle reste toujour "FF"
    Il faut attendre 8ms avant de réécrire.
    Sans le code asm , on peut pas en dire plus...
    A+, pat

  6. #5
    LABTOOL48

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    voici le code assembleur j'ai essayer juste tester l'ecriteur dans l'eeprom intern avant de commencer mon project mais ça ne marche pas


    EEPROM equ 2100h
    ORG EEPROM
    CONTER equ 00'h


    ****************************** *

    WRITEE macro addwrite
    LOCAL loop
    MOVWF EEDATA
    MOVLW addwrite
    MOVWF EEADR
    LOOP
    BCF INTCON,GIE
    BTFSC INTCON,GIE
    GOTO LOOP
    BSF STATUS,RP0
    BCF EECON1,EEIF
    BSF EECON1,WREN
    MOVLW 0X55
    MOVWF EECON2
    MOVLW 0XAA
    MOVWF EECON2
    BSF EECON1,WR
    BCF EECON1,WREN
    BSF INTCON,GIE
    BCF STATUS,RP0
    endm
    ****************************** ********

    movlw 54'h
    WRITEE CONTER

  7. A voir en vidéo sur Futura
  8. #6
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    BTFSC INTCON,GIE
    GOTO LOOP
    a supprimer c est inutile

    BCF EECON1,WREN
    a supprimer , on arrête pas avant 8ms !


    attendre 8ms minimum après
    A+, pat

  9. Publicité
  10. #7
    LABTOOL48

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    merci

    j'ai supprimé la ligne de teste bit "GIE" et la ligne BCF EECON1,WREN
    mias toujour le meme problem
    attendre 8ms minimum après
    j'ai pas d'autre donnée a ecrire dans l'eeprom j'ai seulement la valeure 54 c'est juste pour tester la routine d'ecriteur en eeprom intern

  11. #8
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    comment se termine le programme ?

    il faut boucler à l'infini !
    sinon on fait le tour et il n'y aura pas les 8ms !
    A+, pat

  12. #9
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    EEPROM equ 2100h
    ORG EEPROM

    Le programme ne commence pas à 2100h
    mais à 0
    A+, pat

  13. #10
    LABTOOL48

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    j'ai changé la ligne declaration de la zone eeprom par "org 0x2100"

    ****************************** ************
    org 0x2100

    movlw 54'h
    WRITEE CONTER ; conter = l'adresse zero de l'eeprom

    end

    ****************************** ************
    l'adresse 2100=00 /2101=01/2102=02 ??

  14. #11
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    Citation Envoyé par LABTOOL48 Voir le message
    j'ai changé la ligne declaration de la zone eeprom par "org 0x2100"

    ****************************** ************
    org 0x2100

    movlw 54'h
    WRITEE CONTER ; conter = l'adresse zero de l'eeprom

    end

    ****************************** ************
    l'adresse 2100=00 /2101=01/2102=02 ??
    ?????????????????????????????? ?
    C'est quoi ça ?

    Le prog doit commencer par ORG 0x0
    On ne peut pas mettre de programme dans l'eeprom data.

    et à la fin
    forEver
    goto forEver

    Comment tu lis l'eeprom data ?
    Avec le programmateur ?
    A+, pat

  15. #12
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    Code:
    ******************************************
    
    CONTER equ 0'h
    
    org  0
    movlw 54'h
    WRITEE CONTER  ; conter = l'adresse zero de l'eeprom 
    
    forEver
      goto forEver
    end 
    
    ******************************************
    Dernière modification par freepicbasic ; 25/11/2008 à 23h17.
    A+, pat

  16. Publicité
  17. #13
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    2100h c'est l'adresse physique de l'eeprom data.
    On peut seulement mettre des données 8 bits avec le programmateur en déclarant des valeurs de données à conserver après coupure de la tension.
    La lecture et écriture se fait soit par programme soit en mettant des valeurs de départ dans le Hex.
    Mais pas du programme qui est sur 14 bits !

    de plus le reset démarre à l'adresse 0
    Donc mettre le début à 0.
    L'interruption se connecte à l'adresse 0x4

    ORG 0
    goto start

    ORG 4
    myint
    RETFIE

    start
    ; début du prog
    Dernière modification par freepicbasic ; 25/11/2008 à 23h52.
    A+, pat

  18. #14
    LABTOOL48

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    oui je sais que programe demarre par la ligne "org 0x00" je pense que j'ai probleme dans le pic

    **********************
    conter equ 0x00

    org 0x2100

    org 0x00

    movlw 54'h
    WRITEE CONTER ; conter = l'adresse zero de l'eeprom
    xxx
    goto xxx
    end
    Comment tu lis l'eeprom data ?
    Avec le programmateur ?
    oui avec le programmateur de pic

  19. #15
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    post le hex , pour le tester.

    je suppose que les bits de config sont bons?
    le quartz ok avec ses capas.
    et que le mclr est au +5V avec une res.
    A+, pat

  20. #16
    LABTOOL48

    Unhappy Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    j'ai besoin les deux routines pour lire/ecrire dans l'eeprom intern
    dans ce fichier asm, sans supprimer les routines lire/ecrire sur le bus i2c , ce fichier je l'ai trouver sur le net et je l'ai testé il marche bien,
    j'ai essayer de l'édit avec les routines pour ecrire dans l'eeprom mais il ne marche pas si tu peux m'aider

    merci pour l'aide

  21. #17
    LABTOOL48

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    montre moi dans ce fichier comment ajuter la routine pour ecrire dans l'eeprom intern
    http://col2000.free.fr/i2c/protocol/eeprom05.asm

  22. #18
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    Citation Envoyé par LABTOOL48 Voir le message
    montre moi dans ce fichier comment ajuter la routine pour ecrire dans l'eeprom intern
    http://col2000.free.fr/i2c/protocol/eeprom05.asm
    Code:
    EEPROM_DATA   equ       2100h
    
                  ORG       EEPROM_DATA          ; Contenu quelconque sous
                  DE        000h,001h,002h,003h  ; des formes differentes...
                  DE        004h,005h,006h,007h  ; Ces 64 octets d'EEPROM
                  DE        008h,009h,00Ah,00Bh  ; internes ne sont pas
                  DE        00Ch,00Dh,00Eh,00Fh  ; utilises pas notre
                  DE        000h,010h,020h,030h  ; application...
                  DE        040h,050h,060h,070h
                  DE        080h,090h,0A0h,0B0h
                  DE        0C0h,0D0h,0E0h,0F0h
                  DE        "0123456789ABCDEF"
                  DE        "FEDCBA9876543210"
    Ils mettent des datas dans l'eeprom data , mais ne les utilisent pas ,
    C'est écrit !
    A+, pat

  23. Publicité
  24. #19
    LABTOOL48

    Unhappy Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    j'ai effacé tous les donnée de l'eeprom et malgré ça n'a rien avoir avec mon problem parce que le contenu de l'eeprom il doit changer aprés le reset,mes besoin seulement un fichier ams qui contient des routines pour le bus i2c et l'eeprom interne et le fichier que je l'ai trouvé sur le site de col200.free.fr il ne maque que les routine pour l'eeprom intern j'ai effacé tous le programme principal et les donnée ils mettent dans l'eeprom et j'ai collé les routines de l'eeprom intern et faire un teste avant de commencer mon programme principal mais rien na marcher avec moi

    exemple

    **********************
    conter equ 0x00

    org 0x2100

    org 0x00

    movlw 54'h
    WRITEE CONTER ; conter = l'adresse zero de l'eeprom
    xxx
    goto xxx
    end

    j'ai laisser les routines pour le bus i2c et dans le programe princila que ces deux lignes aprés l'adresse org 0x00 juste pour tester l'ecriteur dans l'eeprom mais ça na pas marcher

  25. #20
    LABTOOL48

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    merci pour ton aide j'ai trouvé la solution j'ai éffaçé le "macro" maintenant la routine d'ecrire dans l'eeprom interne elle fonction bien mais j'aimerais savoir d'ou ce problem ?
    PROG
    MOVLW 77h
    MOVWF EEDATA
    MOVLW 03h
    MOVWF EEADR
    BCF INTCON,GIE
    BSF STATUS,RP0
    BCF EECON1,EEIF
    BSF EECON1,WREN
    MOVLW 0X55
    MOVWF EECON2
    MOVLW 0XAA
    MOVWF EECON2
    BSF EECON1,WR
    BSF INTCON,GIE
    BCF STATUS,RP0
    XXX
    GOTO XXX
    NOP
    NOP
    NOP
    END
    et voici le macro quel qu'un peut me dire ou'est le problem
    WRITEE macro addwrite
    LOCAL loop
    MOVWF EEDATA
    MOVLW addwrite
    MOVWF EEADR
    LOOP
    BCF INTCON,GIE
    BTFSC INTCON,GIE
    GOTO LOOP
    BSF STATUS,RP0
    BCF EECON1,EEIF
    BSF EECON1,WREN
    MOVLW 0X55
    MOVWF EECON2
    MOVLW 0XAA
    MOVWF EECON2
    BSF EECON1,WR
    BCF EECON1,WREN
    BSF INTCON,GIE
    BCF STATUS,RP0
    endm
    désolé pour la langue je connais pas bien le français

  26. #21
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    Testé OK !

    Code:
               LIST    p=16F84 ; PIC16F844 is the target processor
    
               #include "P16F84.INC" ; Include header file
    ;__config 0x3FF9 
    __config _XT_OSC & _WDT_OFF & _CP_OFF  & _PWRTE_OFF	;Set oscillator to XT,
                                            			;watchdog time off,
                                            			;Power reset. off
    													; Code Prptect Off
    
    WRITEE macro addwrite
    	MOVWF EEDATA
    	MOVLW addwrite
    	MOVWF EEADR
    	BCF INTCON,GIE
    	BSF STATUS,RP0
    	BCF EECON1,EEIF
    	BSF EECON1,WREN
    	MOVLW 0X55
    	MOVWF EECON2
    	MOVLW 0XAA
    	MOVWF EECON2
    	BSF EECON1,WR
    	BCF EECON1,WREN
    	BSF INTCON,GIE
    	BCF STATUS,RP0
    	endm 
    
    ;
    ;           CBLOCK 0x10   ; Temporary storage
    ;              state
    ;              l1,l2
    ;           ENDC
    
        org     0           ; Start up vector.
        goto    start       ; Go to start up code.
    
    	org     4               ; Interrupt vector.
    	retfie            ; return on int.
    
    
    start
    
    	MOVLW 77h
    	MOVWF EEDATA
    	MOVLW 03h
    	MOVWF EEADR
    	BCF INTCON,GIE
    	BSF STATUS,RP0
    	BCF EECON1,EEIF
    	BSF EECON1,WREN
    	MOVLW 0X55
    	MOVWF EECON2
    	MOVLW 0XAA
    	MOVWF EECON2
    	BSF EECON1,WR
    	BSF INTCON,GIE
    	BCF STATUS,RP0
    XXX
    	GOTO XXX
    	NOP
    	NOP
    	NOP
    	
    	END

    Code:
    :020000040000FA
    :020000000528D1
    :040002000034003492
    :08000800090077308800033085
    :1000100089008B1383160812081555308900AA3001
    :10002000890088148B178312142800000000000038
    :02400E00F93F78
    :00000001FF
    A+, pat

  27. #22
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    Testé OK avec la macro

    Code:
               LIST    p=16F84 ; PIC16F844 is the target processor
    
               #include "P16F84.INC" ; Include header file
    ;__config 0x3FF9 
    __config _XT_OSC & _WDT_OFF & _CP_OFF  & _PWRTE_OFF	;Set oscillator to XT,
                                            			;watchdog time off,
                                            			;Power reset. off
    													; Code Prptect Off
    
    WRITEE macro addwrite
    	MOVWF EEDATA
    	MOVLW addwrite
    	MOVWF EEADR
    	BCF INTCON,GIE
    	BSF STATUS,RP0
    	BCF EECON1,EEIF
    	BSF EECON1,WREN
    	MOVLW 0X55
    	MOVWF EECON2
    	MOVLW 0XAA
    	MOVWF EECON2
    	BSF EECON1,WR
    	BCF EECON1,WREN
    	BSF INTCON,GIE
    	BCF STATUS,RP0
    	endm 
    
    ;
    ;           CBLOCK 0x10   ; Temporary storage
    ;              state
    ;              l1,l2
    ;           ENDC
    
        org     0           ; Start up vector.
        goto    start       ; Go to start up code.
    
    	org     4               ; Interrupt vector.
    	retfie            ; return on int.
    
    
    start
    movlw 88h
    WRITEE 3h
    
    XXX
    	GOTO XXX
    	NOP
    	NOP
    	NOP
    	
    	END
    Code:
    :020000040000FA
    :020000000528D1
    :040002000034003492
    :08000800090088308800033074
    :1000100089008B1383160812081555308900AA3001
    :100020008900881408118B1783121528000000001E
    :020030000000CE
    :02400E00F93F78
    :00000001FF
    A+, pat

  28. #23
    LABTOOL48

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    s'il vous plais j'ai une autre question si je peux entrer l'es données sur le "PORTB" a l'aide d'un switchdip et comment configurer le "PORTB" dans le registre "TRISB" en entrer ou en sortie ??

    exemple

    MOV PORTB.W
    MOVWF DATAPB

    merci pour l'aide

  29. #24
    freepicbasic

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    Citation Envoyé par LABTOOL48 Voir le message
    s'il vous plais j'ai une autre question si je peux entrer l'es données sur le "PORTB" a l'aide d'un switchdip et comment configurer le "PORTB" dans le registre "TRISB" en entrer ou en sortie ??

    exemple

    MOV PORTB.W
    MOVWF DATAPB

    merci pour l'aide
    en entrée bien sur !

    Vérifier la logique de ces fils , s'il y a des résistances de tirages; pull up ou pull down
    Les pull up intégrées peuvent être utilisées sur le portb
    A+, pat

  30. Publicité
  31. #25
    LABTOOL48

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    merci beaucoup pour votre aide c'est tres gentille

  32. #26
    microchip

    Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    Bonjour,

    Comme tu programmes en assembleur, je te recommande de télécharger les excellents cours de Bigonoff en français sur les PICs qui sont la référence dans le domaine.

    Il existe des exemples logiciels avec tous les périphériques très utiles pour démarrer.
    Dernière modification par microchip ; 02/12/2008 à 14h18. Motif: addition
    Here to help ;=)

  33. #27
    LABTOOL48

    Wink Re : pic16f84 j'ai un problem pour ecrire dans l'eeprom intern

    Citation Envoyé par microchip Voir le message
    Bonjour,

    Comme tu programmes en assembleur, je te recommande de télécharger les excellents cours de Bigonoff en français sur les PICs qui sont la référence dans le domaine.

    Il existe des exemples logiciels avec tous les périphériques très utiles pour démarrer.
    c'est grace a lui que je suis la maintenant parler de langage assembleur il a aussi m'aider meme pour apprendre la langue français un grand merci pour bigonoff
    Dernière modification par LABTOOL48 ; 02/12/2008 à 21h50.

Sur le même thème :

Discussions similaires

  1. Réponses: 0
    Dernier message: 21/11/2008, 07h20
  2. Bonjour, j'ai un problème dans la programmation sur matlab
    Par raouolo dans le forum Logiciel - Software - Open Source
    Réponses: 7
    Dernier message: 02/07/2008, 09h51
  3. ecriture dans l'EEPROM?? comprend pas
    Par eul boïau rouge dans le forum Électronique
    Réponses: 0
    Dernier message: 27/01/2007, 15h34
  4. utilisation de l'EEPROM d'un PIC16F84
    Par average dans le forum Électronique
    Réponses: 6
    Dernier message: 10/05/2005, 13h35
  5. programme pour pic16f84 pour une centrale d'alarme
    Par yacen dans le forum Électronique
    Réponses: 3
    Dernier message: 25/01/2005, 11h06
Découvrez nos comparatifs produits sur l'informatique et les technologies.