Inbyggd 2k EEPROM i AT89C51ED2

PIC, AVR, Arduino, Raspberry Pi, Basic Stamp, PLC mm.
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inbyggd 2k EEPROM i AT89C51ED2

Inlägg av speakman »

Någon som vet hur man skriver (på ett fungerande sätt) till dessa?
Har försökt att använda exempelkoden för liknande processorer, men får det inte att fastna där!
Någon som använt sig av EEPROM:en som lagringsutrymme på någon 8051:a?
Tacksam för tips!

Mvh
speakman
Användarvisningsbild
erixon
Inlägg: 380
Blev medlem: 27 augusti 2003, 10:21:58

Inlägg av erixon »

Har du kollat i data bladet för AT89C51ED2
Write Data:
Check EEBUSY flag
If the user application interrupts routines use XRAM memory space: Save and disable interrupts.
Load DPTR with the address to write
Store A register with the data to be written
Set bit EEE of EECON register
Execute a MOVX @DPTR, A
Clear bit EEE of EECON register
Restore interrupts.
EEBUSY flag in EECON is then set by hardware to indicate that programming is in
progress and that the EEPROM segment is not available for reading or writing.
The end of programming is indicated by a hardware clear of the EEBUSY flag.

:)
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Ja, det är bl.a. den jag utgått ifrån.
Därmot nämner den inget om att man måste skriva 0xAx och 0x5x till EECON-registret för att skriva till EEPROMen det som man just skrivit till latcharna.
Ska ta å göra en mycket förenklad variant av det hela, och felsöka det den vägen.
Ett annat problem är att man inte vet om det är läsningen eller skrivningen som går fel... Men det som skrivs, kommer inte ut iallafall. :)

Mvh
speakman
Användarvisningsbild
erixon
Inlägg: 380
Blev medlem: 27 augusti 2003, 10:21:58

Inlägg av erixon »

Om det har skrivit någoting till eeprom är ganska lätt se, det är ju bara att läsa av det med programeraren...
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Hur ska det gå till? Har en Galep 3 som jag bränner med. Ligger EEPROMen på en viss adress när man läser ur den?

Mvh
speakman
Användarvisningsbild
erixon
Inlägg: 380
Blev medlem: 27 augusti 2003, 10:21:58

Inlägg av erixon »

Den funktiuon verkar bara finnas i ISP programeris moden....
Vad jag kan se
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

ED2:an fanns inte med i listan i gamla programvaran, så jag använde mig av RD2 som inte har någon EEPROM.
Laddade hem senaste programvaran av Galep, och där fanns även ED2 med.
Så nu ser jag EEPROMen och vad som är däri.

Efter lite mer tester så verkar den skriva, men bara till första byten!
Har även gjort så den skriver en byte i taget, och väntar efter varje skrivning på att EEBUSY ska nollas innan den skriver nästa osv..

Alla exempel går ju ut på att skriva till första byten också, så om dom ändå hade ett exempel där dom skrev flera så kanske man var mer hjälpt.

MOV DPTR, 0x0000 ;går bra
MOV DPTR, 0x0001 ;här skrivs inget

Borde det kanske skrivas på något annat vis?

Mvh
speakman
Användarvisningsbild
erixon
Inlägg: 380
Blev medlem: 27 augusti 2003, 10:21:58

Inlägg av erixon »

Tyvär har jag aldrig hålle på med 8051... så jag kan tyvär bara ge allmäna råd... :cry:

Men det borde finnas andra på forumet som har hållet på med 8051 :)
Användarvisningsbild
speakman
Inlägg: 4838
Blev medlem: 18 augusti 2004, 23:03:32
Ort: Ånge

Inlägg av speakman »

Det verkar ju vara AVR som regerar här ;)
Men tack för att du engagerade dig iaf! :D

Mvh
speakman
Skriv svar