-
        

Ergebnis 1 bis 6 von 6

Thema: EEPROM beschreiben

  1. #1
    Stephan7878
    Gast

    EEPROM beschreiben

    Anzeige

    SMARTPHONES & TABLETS-bis zu 77% RABATT-Kostenlose Lieferung-Aktuell | Cool | Unentbehrlich
    Hallo,

    ich habe folgendes Problem mit einem PIC12F675 und MPLAB IDE:

    ich möchte gerne den EEPROM beschreiben und muss dafür laut Datenblatt (zumindest der untere Teil) folgende Zeilen in den Code einbinden:

    BSF STATUS,RP0 ; EEADR und EEDATA liegen in der Bank 1
    MOVLW 0x10 ;
    MOVWF EEADR ; Die Zelle 10h soll beschrieben werden
    MOVLW 11 ;
    MOVWF EEDATA ; eine 11 wollen wir schreiben
    BSF EECON1,WREN ; schreiben erlauben
    BCF INTCON,GIE ; alle interrups auschalten

    ; Die folgenden 5 Zeilen müssen genau so im Code stehen!!!

    MOVLW 55h ;
    MOVWF EECON2 ; schreibe 55h nach EECON2
    MOVLW AAh
    MOVWF EECON2 ; schreibe AAh nach EECON2
    BSF EECON1, WR ; starte den Schreibzyklus
    BSF INTCON,GIE ; Alle Interrupts ein

    MPLAB bringt mir jetzt ne Fehlermeldung in der Zeile:

    MOVLW AAh

    wenn ich 0xAA eingebe, bekomme ich keine Fehlermeldung aber kann auch nicht schreiben?

    Vielleicht kann mir jemand von Euch ein paar wertvolle Tips geben oder weis Abhilfe

    Danke schon im voraus

    Stephan

  2. #2
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    Hallo

    wenn ich 0xAA eingebe, bekomme ich keine Fehlermeldung aber kann auch nicht schreiben?
    Ist das ne Frage oder ne Feststellung? Kannst du schreiben oder weisst Du nicht ob Du schreiben kannst?

    Ich wuerde sagen, dass MPLAB XXh nicht kennt, sondern nur 0xXX akzeptiert. (siehe Handbuch) Wenn aber sonst alles stimmt, sollte es eigentlich funktionieren.

    Woran siehst Du, dass es nicht geklappt hat?

    Gruess
    Fritzli

  3. #3
    Hallo,

    danke erst mal für die schnelle Antwort.

    Also ich meinte damit das ich keine Fehlermeldung bekomme wenn ich

    MOVLW 0xAA

    eingebe, kann dann aber auch nicht auf das EEPROM schreiben.

    Übrigens steht im Datenblatt das man

    MOVLW AAh

    eingeben soll. (Die zum EEPROM beschreiben nötige Routine mit den 5 Befehlen im EECON2 Register, Seite 49)

    Kontrollieren ob das EEPROM beschrieben wird, kann ich mit dem EEPROM-Window (View-->EEPROM)

    Danke

    Stephan

  4. #4
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    Hallo

    Das heisst, Du versuchst im Simulator zu schreiben?
    Wenn ja, schau mal nach, ob das interne EEPROM vom MPLAB Sim unterstützt wird. Ich weiss das gerade nicht auswendig, müsste irgendwo in der Hilfe stehen...

    Kannst Du es mal live, d.h. in Hardware, ausprobieren?


    Gruess
    Fritzli

  5. #5
    Ja im Moment kann ich noch kein Hardwaretest machen, die ist noch nicht fertig. Aber ich glaub ich hab vorerst mal ne ausreichende Lösung gefunden. Ich kann bei View-->EEPROM, Linksklick EEPROM füllen ausführen.

    Aber noch ne andere Frage:

    ich brauch den AD-Wandler und weis aber nicht wie ich das Ergebnis mit zehn Bit so abspeichern kann, das ich hinterher aus fünf Ergebnissen den Mittelwert bilden kann.

    Gib es eine Möglichkeit, mit diesem PIC ein zehn Bit breites Ergebnis "am Stück" zu speichern. Z.b. mit <label> res <2>?

    Danke

    Stephan

  6. #6
    Erfahrener Benutzer Roboter-Spezialist
    Registriert seit
    17.08.2004
    Ort
    Winterthur
    Beiträge
    312
    Hallo

    Nein das geht so nicht. Die PIC's sind 8Bit-uC's und das heisst, sie können aufs Mal nur 8Bit verarbeiten. Also um z.B. eine 16Bit (=2x8Bit) Zahl an einem anderen Ort/Register abzuspeichern, muss man zuerst das eine Byte movf/movwf etc, dann das andere.

    Das ganze gilt natürlich auch für 10Bit-Zahlen. Die werden gleich wie 16Bit-Zahlen behandelt (gibt ja keine Bruchteile von Bytes)

    Link zu 16-Bit-Arithemtik: http://sprut.de/electronic/pic/math/math.htm


    Gruess
    Fritzli

Benutzer, die dieses Thema gelesen haben: 0

Derzeit gibt es keine Benutzer zum Anzeigen.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •