mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik AT89S8252 Daten Speichern


Autor: Lars (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hi,
kann mir einer sagen wie ich beim AT89S8252 Daten im internen EEprom 
speichern und wieder auslesen kann? Möchte gerne Zahlenwerte speichern.

Mit Dank im Vorraus, Lars

Autor: Christian (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo

folgendes Beispiel ist bei der Prog-Studio Software dabei (shareware 
unter www.batronix.de) (ichhoffe du meinst Assembler)



'**************************************************************
'* Beispiel für den Schreib- und Lesezugriff auf das
'* integrierte EEprom des AT89S8252
'**************************************************************

' Bei diesem Beispiel werden zur Laufzeit des MC's Daten in das
' integrierte EEprom des AT89S8252 geschrieben, wieder aus-
' gelesen und an den Ports 0 und 1 zur Kontrolle wieder ausgegeben.

' Zudem wird gezeigt, dass das EEProm auch bereits im Brenner
' beschrieben (Initialisiert) werden kann. Dazu werden Daten an
' die Adresse 2000h(Anfang des EEproms)  programmiert und später
' zur Laufzeit vom MC ausgelesen und an den Ports 2 und 3
' angezeigt.

' Der Mikrocontroller braucht übrigens NICHT die 12 Volt an seinem
' EA/VPP Eingang, um auf das integrierte EEprom schreiben zu
' können (Dies geht aus dem Datenblatt nicht so klar hervor).
' Der Pin sollte auf +5 Volt gelegt werden.

INCLUDE 89s8252.mc

LESE_DATEN_AUS_DEM_EEPROM:
  'Aktiviere EEPROM Lesezugriff durch Setzen des EEMEN Bits
  'im Register WMCON (Adresse 96h, Bit 3)
  ORL WMCON,#00001000b

  'Lese Adresse 0002h des EEproms und gebe die Daten am Port 2 aus:
  MOV DPTR,#0002h    'Adresse festlegen
  MOVX A,@DPTR    'Wert der Adresse in den Akku schreiben
  MOV P2,A

  'Lese Adresse 0003h des EEproms und gebe die Daten am Port 3 aus:
  MOV DPTR,#0003h    'Adresse festlegen
  MOVX A,@DPTR    'Wert der Adresse in den Akku schreiben
  MOV P3,A


SCHREIBE_UND_LESE_EEPROM_DATEN:
  'Aktiviere EEPROM Schreibzugriff durch Setzen des EEMWE Bits
  'im Register WMCON (Adresse 96, Bit 4)
  ORL WMCON,#00010000b

  'Programmiere Adresse 0000h des EEproms mit dem Wert 11001100b
  MOV DPTR,#0000h    'Adresse festlegen
  MOV A,#11001100b  'Wert festlegen
  MOVX @DPTR,A    'Wert an Adresse schreiben
  LCALL Warte_bis_Fertig

  'Programmiere Adresse 0001h des EEproms mit dem Wert 10101010b
  MOV DPTR,#0001h    'Adresse festlegen
  MOV A,#10101010b  'Wert festlegen
  MOVX @DPTR,A    'Wert an Adresse schreiben
  LCALL Warte_bis_Fertig

  'Deaktivieren des  EEPROM Schreibzugriff durch Rücksetzen des
  'EEMWE Bits im Register WMCON (Adresse 96, Bit 4)
  ANL WMCON,#11101111b

  'Lese Adresse 0000h des EEproms und gebe Wert an Port 0 aus
  MOV DPTR,#0000h    'Adresse festlegen
  MOVX A,@DPTR    'Wert der Adresse in den Akku schreiben
  MOV P0,A

  'Lese Adresse 0001h des EEproms und gebe Wert an Port 1 aus
  MOV DPTR,#0001h    'Adresse festlegen
  MOVX A,@DPTR    'Wert der Adresse in den Akku schreiben
  MOV P1,A


'Endlosschleife, Programm ende
ENDE:
LJMP Ende


WARTE_BIS_FERTIG:
  'Warte bis EEPROM Byte programmiert ist. Dazu muss
  'Bit 1 im Register WMCON (Ready/Busy) gesetzt sein:
  'Dauer ca. 2,5 ms pro Byte:
  Warte:
    MOV A,#00000010b
    ANL A,WMCON
  CJNE A,#00000010b, Warte
RET



'Daten für den Lesezugriff (werden an Port 2 und 3 dargestellt)
(2002h):
Db 11110000b, 00001111b

Autor: Steffen (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hallo habe das selbe problem vielleicht hat jetzt schon jemand nen C
beispiel.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.