EEPROM-Daten im Assembler-Programm-Code festlegen


zurück zu PIC-Grundlagen , PIC-Prozessoren , Elektronik , Homepage

Allgemeines zum EEPROM
EEPROM-Daten festlegen
Weiteres Beispiel


Allgemeines zum EEPROM

Viele PICs besitzen EEPROM-Zellen, in denen jeweils 1 Byte gespeichert werden kann. Im Unterschied zu den normalen Daten-Speicherzellen vergessen die EEPROM-Speicherzellen die in ihnen gespeicherten Informationen nicht beim Ausschalten der Stromversorgung. Hier lassen sich also Werte speichern, die immer wieder benötigt werden - z.B. Kalibrierdaten.

nach oben

EEPROM Daten festlegen

Oftmals ist es zweckmäßig, EEPROM-Daten schon beim Brennen des PIC in den EEPROM zu schreiben. Das ist leicht möglich, da für das PIC-Programmiergerät (den Brenner) sowohl der Flash-.Programmspeicher wie auch der EEPROM-Datenspeicher zugänglich sind.

Für den PIC-Brenner ist der EEPROM eines PIC16F/PIC12Fxxx ein Speicherbereich, der an der Adresse 2100h beginnt. Wenn man dem Brenner anweist, ein bestimmtes Byte in den Speicher an der Adresse 2100h zu brennen, so brennt er es in die erste EEPROM-Zelle (also in die EEPROM Adresse 00h). Die danach folgenden Adressen liegen entsprechend dahinter.

++HINWEIS++
Die EEPROM-Startadresse 2100h gilt für PICs der Serien PIC16Fxxx und PIC12Fxxx . Bei den PIC18Fxxx ist die Startadresse für EEPROM-Daten dagegen F00000h.

Um schon im Assembler-Programm Daten für den EEPROM festzulegen, genügt es mit einem ORG-Befehl zu Adresse 2100h zu gehen, und danach die Daten zu definieren. Der nachfolgende Programmausschnitt aus einem Lernbeispiel zeigt das:
 

;voreingestellte Daten für den EEPROM ab der Zelle 00h
        org H'2100'            ; Adresse des EEPROM für den Brenner
        de B'00000001'         ; 0
        de B'00000011'         ; 1
        de B'00000111'         ; 2
        de B'00001111'         ; 3
        de B'00011111'         ; 4
        de B'00111111'         ; 5
        de B'01111111'         ; 6
        de B'11111111'         ; 7
        de B'00011000'         ; 8
        de B'00100100'         ; 9
        de B'01000010'         ; 10
        de B'10000001'         ; 11
        de B'01000010'         ; 12
        de B'00100100'         ; 13
        de B'00011000'         ; 14
        de B'00000000'         ; 15

Beim Assemblieren erzeugt der Assembler dann ein HEX-File, in dem auch die Informatiuon über die festgelegten EEPROM-Daten enthalten ist. Der Brenner brennt dann alles in den PIC.
Natürlich können die Daten später vom Programm im PIC manipuliert werden (es sei denn das wurde in der Konfiguration explizit verboten.)


Weiteres Beispiel

Das folgende Beispiel schreibt einen nullterminierten String in den EEPROM ab Zelle 00h
 

;voreingestellte Daten für den EEPROM ab der Zelle 00h
        org H'2100'            ; Adresse des EEPROM für den Brenner
        de  "Hallo World", 0   ; einen nullterminierten String

...

nach oben

zurück zu PIC-Grundlagen , PIC-Prozessoren , Elektronik , Homepage
Autor: sprut
erstellt: 18.05.2004
letzte Änderung: 11.02.2005