Nie mogę uruchomić eepromu 24c04 przy pomocy at90s2313

To forum jest dla wszystkich pasjonatów mikrokontrolerów AVR Atmela. Wymiana doświadczeń i pomoc dla początkujących w pisaniu programów zarówno w C, Asemblerze jak i BASCOM. Zapraszam znawców tematu, aby pomogli wszystkim początkującym!
Mariusz256b

Nie mogę uruchomić eepromu 24c04 przy pomocy at90s2313

Post autor: Mariusz256b » 08 sty 2006, 16:01

Niemal od dwóch miesięcy,szukam nowych poleceń ,rozwiązań,informacji i nic.
Juz mi się nudzi , ale wy mi może pomozecie, sprawa wydląda tak:
korzystam z bascom avr i mikroprocesora at90s2313 i nadal nie wiem jaki błąd popełniam ,
czy jest to zły adres układu 24c04 czy tez złe polecenia, a może odwrotnie poukładane polecenia. W kazdym razie wyczerpały mi się pomysły , może wy mi coś doradzicie.
Z góry dzięki.
Mariusz

Awatar użytkownika
radzio
Użytkownik
Posty: 573
Rejestracja: 07 gru 2004, 23:06
Lokalizacja: Sosnowiec
Kontakt:

Post autor: radzio » 08 sty 2006, 16:13

Możebyś tak zamieścił program i schemat? Skąd mamy wiedzieć co jest nie tak?

ROM
Użytkownik
Posty: 257
Rejestracja: 15 cze 2005, 0:11
Lokalizacja: Poznań

Post autor: ROM » 08 sty 2006, 16:36

Czegoś musisz być pewien.
W załaczniku programik do sprawdzania adresów na I2.
Załączniki
Sprawdzanie adresow I2.zip
(429 Bajtów) Pobrany 311 razy

Awatar użytkownika
mariusz256
Użytkownik
Posty: 144
Rejestracja: 28 wrz 2005, 17:16
Lokalizacja: Stobierna k/Rzeszowa
Kontakt:

Umieszczam program do analizy

Post autor: mariusz256 » 09 sty 2006, 18:36

Umieśćiłem program w załączniku , oszczegam jest długi ,więc może nie będzie sie tobie chciało go czytać. jeśli coś wymyslisz to napisz i z gury dzięki.

ROM
Użytkownik
Posty: 257
Rejestracja: 15 cze 2005, 0:11
Lokalizacja: Poznań

Post autor: ROM » 12 sty 2006, 1:49

Gdzie ten program :?:

Awatar użytkownika
mariusz256
Użytkownik
Posty: 144
Rejestracja: 28 wrz 2005, 17:16
Lokalizacja: Stobierna k/Rzeszowa
Kontakt:

Program

Post autor: mariusz256 » 29 sty 2006, 16:28

Cześć ,miałem problemy ,może teraz uda mi się go umieścić

timi
Załączniki
pamięć24c04 eeprom.rar
(9.47 KiB) Pobrany 428 razy

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 29 sty 2006, 20:47

Adres, który służy do odczytu z pamięci EEPROM AT24C04 to 160, a odczytu to 161(jeżeli nie podłączyłeś na A0,A1,A2 5V). Nasza pamięć jest podzielona na 32 strony po 16 bajtów(32*16=512). Czyli, aby zapiasć do pamięci musisz napisać
  • I2cstart
    I2cwbyte 160
    I2cwbyte 0-31 'numer strony do której chcesz zapisać dane
    I2cwbyte 0-15 'numer bajtu do którego chcesz zapisać dane
    I2cwbyte A 'zapis zmiennej do wybranej komórki
    I2cstop
Jeżeli chcesz odczytać z pamięci musisz napisać
  • I2cstart
    I2cwbyte 160
    I2cwbyte 0-31 'numer strony z której chcesz odczytać dane
    I2cwbyte 0-15 'numer bajtu który chcesz odczytać
    I2cstart
    I2cwbyte 161
    I2crbyte A 'odczyt z komórki do zmiennej
    I2cstop
Tak to powinno wyglądać.
Pozdrawiam

Awatar użytkownika
mariusz256
Użytkownik
Posty: 144
Rejestracja: 28 wrz 2005, 17:16
Lokalizacja: Stobierna k/Rzeszowa
Kontakt:

Post autor: mariusz256 » 29 sty 2006, 22:22

Tranzystor napisałeś tak:
"pamięć jest podzielona na 32 strony po 16 bajtów(32*16=512)"
rozumie z tego ze 24c04 ma 512 bajtuw a nie 4kb więc jak to jest tak naprawdę ?
moze ma ktoś program napisany w Bascomie avr ktury odczytuje wartości z pamięci i pokazuje wynik a wyswietlaczu lcd .prosze o umieszczenie


pozdrawiam

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 29 sty 2006, 22:25

Mariusz, posłuchaj pamięć ma 4k, ale nie bajty tylko bity! :) Jeżeli potrzebujesz 4k bajty to nie AT24C04 tylko AT24C32.

Awatar użytkownika
mariusz256
Użytkownik
Posty: 144
Rejestracja: 28 wrz 2005, 17:16
Lokalizacja: Stobierna k/Rzeszowa
Kontakt:

Post autor: mariusz256 » 30 sty 2006, 13:39

Dzieki za odpowiedz , zaras sprawdzę , jesli masz jakiś program napiszny w bascomie avr
, obojetni jaki obsługujacy jakąś pamieć eeprom to umieszć w załączniku , chce zobaczyc jak piszą programy profesjonaliści , dzięki.

Pozdrawiam

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 30 sty 2006, 17:31

Dobra napisze Ci jakiś programik, ale ja nie jestem żadnym profesjonalistą. :D

Niżej masz zrobiony program, mósisz tylko pozmieniać podłączenia i częstotliwość bo niestety nie wiedziałem gdzie co masz podpięte.
Załączniki
EEPROM.zip
(723 Bajtów) Pobrany 310 razy

Awatar użytkownika
Ertew
Użytkownik
Posty: 1414
Rejestracja: 03 lip 2005, 10:36
Lokalizacja: Leszno
Kontakt:

Post autor: Ertew » 30 sty 2006, 18:13

Tranzystor pisze:aby zapiasć do pamięci musisz napisać


I2cstart
I2cwbyte 160
I2cwbyte 0-31 'numer strony do której chcesz zapisać dane
I2cwbyte 0-15 'numer bajtu do którego chcesz zapisać dane
I2cwbyte A 'zapis zmiennej do wybranej komórki
I2cstop


Jeżeli chcesz odczytać z pamięci musisz napisać


I2cstart
I2cwbyte 160
I2cwbyte 0-31 'numer strony z której chcesz odczytać dane
I2cwbyte 0-15 'numer bajtu który chcesz odczytać
I2cstart
I2cwbyte 161
I2crbyte A 'odczyt z komórki do zmiennej
I2cstop
A mógłbyś tak dla PCF8571, przy A0, A1, A2 = 0V.
Wiem, że jest to RAM, a nie EEPROM.

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 30 sty 2006, 20:51

Zobacze jeszcze nie wykorzystywałem go jutro spróbuje Ci powiedzieć.
Pozdrawiam

Awatar użytkownika
mariusz256
Użytkownik
Posty: 144
Rejestracja: 28 wrz 2005, 17:16
Lokalizacja: Stobierna k/Rzeszowa
Kontakt:

Post autor: mariusz256 » 31 sty 2006, 11:24

Tak, tak Tranzystor , ty mów swoje a ja i tak wiem ze wy wszyscy jesteście profesjonalistami.
Do rzeczy , czy to znaczy ze wszystkie pamięci typu eeprom potrafią zapisać dane jedno bitowe , czy tez to zależy od wykonanego układu? .A jak jest z pamięciami typu RAM?
W załączniku umieszczam program z EDW , potraficie może przerobić go tak aby wynik pokazywał na wyświetlaczu LCD ?

Pozdrawiam
Załączniki
Woltomierz C20cosla.rar
(1.02 KiB) Pobrany 306 razy

Awatar użytkownika
Tranzystor
Użytkownik
Posty: 889
Rejestracja: 28 sie 2005, 19:19
Lokalizacja: Świętochłowice
Kontakt:

Post autor: Tranzystor » 31 sty 2006, 13:46

Jasne, że jesteśmy wstanie go tak przerobić. Jeszcze raz mówie, że nie jestem profesjonalistą. Do pamięci EEPROM nie da się zapisać pojedynczego bitu, trzeba cały bajt, ale niestety wielkość pamięci jest podawana w bitach. Postaram się go jeszcze dzisiaj przerobić.
Pozdrawiam

ODPOWIEDZ