szukam kawalka programu obslugujacego EEPROM na procesorze



Masz problem? Zapytaj na forum elektroda.pl

Poprzedni Następny
Wiadomość
Spis treści
From: "~ KYS ~" <kys_at_nospam_poczta.fm>
Subject: szukam kawalka programu obslugujacego EEPROM na procesorze
Date: Thu, 20 Dec 2001 17:53:20 +0100


Po dlugich i bezowocnych poszukiwaniach, stwierdzilem, ze musze sie zwrocic
do Was...

Potrzebny mi jest kawalek programu (w asemblerze), ktory obsluguje
zapisywanie/odczytywanie z EEPROM'u znajdujacego sie na procesorze...

Chodzi mi o firme Microchip, procesor PIC16f84...
ale wszystkie procki tej firmy wchodza w gre!

Z gory dzieki za pomoc (ale juz na prawde nie wiem, gdzie szukac, a
chcialem sie tego nauczyc)

Pozdrawiam
KYS

--
| www: http://kys.prv.pl | http://kys.rally.prv.pl |
| e-mail: kys_at_nospam_poczta.fm |
| UIN#: 33181080 | GG: 19249 |



Poprzedni Następny
Wiadomość
Spis treści
From: "Marek Lewandowski" <locust_at_nospam_poczta.onet.pl>
Subject: Re: szukam kawalka programu obslugujacego EEPROM na procesorze
Date: Thu, 20 Dec 2001 18:44:36 +0100


Użytkownik "~ KYS ~" <kys_at_nospam_poczta.fm> napisał w wiadomości
news:9vt51c$lv1$1_at_nospam_h1.uw.edu.pl...
Po dlugich i bezowocnych poszukiwaniach, stwierdzilem, ze musze sie
zwrocic
do Was...

Potrzebny mi jest kawalek programu (w asemblerze), ktory obsluguje
zapisywanie/odczytywanie z EEPROM'u znajdujacego sie na procesorze...

Chodzi mi o firme Microchip, procesor PIC16f84...
ale wszystkie procki tej firmy wchodza w gre!

Z gory dzieki za pomoc (ale juz na prawde nie wiem, gdzie szukac, a
chcialem sie tego nauczyc)

Nie dam Ci rozwiązania, bo nie piszę na te procesory :(
Ale popatrz w application notes od Microchipa.
Większość firm daje w ramach dokumentacji przykłady zastosowań. Np. zegarek
na tym procesorze. Moze tam być kawałek kodu zapamiętujący ustawienia w
EEPROM itp.
Ogólnie dobrze jest przejrzeć takie "fabryczne" programy na zasadzie
zobaczenia czasem ciekawych rozwiązań typowych problemów (np. jakieś tricki
czy t.p.).

--
Marek Lewandowski
locust_at_nospam_poczta.onet.pl ICQ10139051
http://locust.republika.pl




Poprzedni Następny
Wiadomość
Spis treści
From: "jerry1111" <jerry1111_at_nospam_wp.pl>
Subject: Re: szukam kawalka programu obslugujacego EEPROM na procesorze
Date: Thu, 20 Dec 2001 20:26:27 +0100


Po dlugich i bezowocnych poszukiwaniach, stwierdzilem, ze musze sie
zwrocic
do Was...

Potrzebny mi jest kawalek programu (w asemblerze), ktory obsluguje
zapisywanie/odczytywanie z EEPROM'u znajdujacego sie na procesorze...

Chodzi mi o firme Microchip, procesor PIC16f84...
ale wszystkie procki tej firmy wchodza w gre!

W pdfie od procka poczytac o table read/table write (odczyt/zapis pamieci
programu).
Nie wiem czy ci chodzi o zmiane FLASHa (tego gdzie program siedzi) czy
eepromu (tego
gdzie mozna dane zapisywac). 16F84 ma eeprom? (bo nie pamietam).
W 16F873 to da sie programem zmienic flasha z programem, ale to chyba ze 20
instrukcji
na bajt. I nie ma weryfikacji (sam musisz sprawdzic czy poprawnie sie bajt
zapisal).

jerry




Poprzedni Następny
Wiadomość
Spis treści
From: "~ KYS ~" <kys_at_nospam_poczta.fm>
Subject: Re: szukam kawalka programu obslugujacego EEPROM na procesorze
Date: Fri, 21 Dec 2001 17:40:46 +0100


Użytkownik "jerry1111" <jerry1111_at_nospam_wp.pl> napisał:
W pdfie od procka poczytac o table read/table write (odczyt/zapis pamieci
programu).
na samym poczatku znalazlem ale to jest tak zamacone, ze nic nie rozumiem,
a jak wklepie "na zywca" cos co jest oznaczone jako "Required Sequence" to
przestaje program dzialac... :(((

Nie wiem czy ci chodzi o zmiane FLASHa (tego gdzie program siedzi) czy
eepromu (tego
gdzie mozna dane zapisywac).
musze zapisac dana do EEPROM'u - zeby nie "zginela" po zaniku napiecia...

16F84 ma eeprom? (bo nie pamietam).
ma EEPROM

no i chodzilo mi o kawalek dzialajacego programu, ktory wpisuje i
odczytuje dane do EEPROM'u...
w pdf'ie do PIC16F8X w opisie EEPROM'u jest napisane, ze nalezy okreslic
adres (rejestr EEADR) i wpisac dana do rejestru EEDATA (przy okazji
sterujac rejestrami EECON1 i EECON2)...
a w przykladnie jest jeszcze qpe innych rzeczy... :(( (i jeszcze nie
dziala)

buuu a na stronie Microchipa nic wiecej nie ma...
(albo ja nie moge znalezc... :(( )

Pozdrawiam
KYS

--
| www: http://kys.prv.pl | http://kys.rally.prv.pl |
| e-mail: kys_at_nospam_poczta.fm |
| UIN#: 33181080 | GG: 19249 |



Poprzedni Następny
Wiadomość
Spis treści
From: "jmdsh" <jmdsh_at_nospam_polbox.com>
Subject: Re: szukam kawalka programu obslugujacego EEPROM na procesorze
Date: Fri, 21 Dec 2001 17:03:25 +0100


Użytkownik "~ KYS ~" <kys_at_nospam_poczta.fm> napisał w wiadomości
news:9vt51c$lv1$1_at_nospam_h1.uw.edu.pl...
Po dlugich i bezowocnych poszukiwaniach, stwierdzilem, ze musze sie
zwrocic
do Was...

Ale kolego ściemiasz :-)

Potrzebny mi jest kawalek programu (w asemblerze), ktory obsluguje
zapisywanie/odczytywanie z EEPROM'u znajdujacego sie na procesorze...

Chodzi mi o firme Microchip, procesor PIC16f84...
[...]
Pozdrawiam
KYS

Owocne poszukiwania zacznij od Microchip'owego PDF-a PIC16F84
(do pobrania ze strony: www.microchip.com). Tam jest wszystko
napisane (co prawda po angielsku) o obsłudze wewnętrznego EEPROM-u.
Znajdziesz tam także krótkie listingi programików, które czytają
i zapisują pojedynczy bajt. To co z nich wyrzeźbisz pozostawiam jako
Twój wkład własny. (zwróć uwagę zwłaszcza na procedury zapisu -
zezwolenie zapisu, przerwania, kasowanie znaczników programowo)

Pozdrawiam
JMD
jmd_at_nospam_polbox.com



Poprzedni Następny
Wiadomość
Spis treści
From: "~ KYS ~" <kys_at_nospam_poczta.fm>
Subject: Re: szukam kawalka programu obslugujacego EEPROM na procesorze
Date: Fri, 21 Dec 2001 17:45:00 +0100


Użytkownik "jmdsh" <jmdsh_at_nospam_polbox.com> napisał:
Ale kolego ściemiasz :-)
oj nie bardzo...

Owocne poszukiwania zacznij od Microchip'owego PDF-a PIC16F84
(do pobrania ze strony: www.microchip.com). Tam jest wszystko
napisane (co prawda po angielsku) o obsłudze wewnętrznego EEPROM-u.
Znajdziesz tam także krótkie listingi programików, które czytają
i zapisują pojedynczy bajt. To co z nich wyrzeźbisz pozostawiam jako
Twój wkład własny. (zwróć uwagę zwłaszcza na procedury zapisu -
zezwolenie zapisu, przerwania, kasowanie znaczników programowo)
tego pdf'a mam... ale (jak juz wczesniej napisalem) przykladowy program
zapisujacy wewnetrzny EEPROM jest dla mnie nie zrozumialy (nie wiem po co
jest zapisywana wartosc '55h' i 'AAh' do rejestru EECON2), nie ma wyjasnien
w tekscie i nie dziala!
i dlatego szukam czegos co dziala na pewno!

Pozdrawiam
KYS

--
| www: http://kys.prv.pl | http://kys.rally.prv.pl |
| e-mail: kys_at_nospam_poczta.fm |
| UIN#: 33181080 | GG: 19249 |



Poprzedni Następny
Wiadomość
Spis treści
From: "jmdsh" <jmdsh_at_nospam_polbox.com>
Subject: Re: szukam kawalka programu obslugujacego EEPROM na procesorze
Date: Fri, 21 Dec 2001 20:41:27 +0100


Użytkownik "~ KYS ~" <kys_at_nospam_poczta.fm> napisał w wiadomości
news:9vvotk$lkm$1_at_nospam_h1.uw.edu.pl...
Użytkownik "jmdsh" <jmdsh_at_nospam_polbox.com> napisał:
Ale kolego ściemiasz :-)
oj nie bardzo...

słowa podtrzymuję...

[...]
tego pdf'a mam... ale (jak juz wczesniej napisalem) przykladowy program
zapisujacy wewnetrzny EEPROM jest dla mnie nie zrozumialy (nie wiem po co
jest zapisywana wartosc '55h' i 'AAh' do rejestru EECON2), nie ma
wyjasnien
w tekscie i nie dziala!
i dlatego szukam czegos co dziala na pewno!

Pozdrawiam
KYS

Nie działa bo to nie jest gotowiec! Zapominasz o wkładzie własnym ;-)))

No to mała szkółka:

Zapis_bajtu
;---------- to już znasz
bsf STATUS, RP0 ; ustawia bit RP0 w rejestrze STATUS co
oznacza wybór BANK1 wewnętrznego RAM
bcf INTCON, GIE ; kasuje bit GIE - wyłącza wszystkie
przerwania
bsf EECON1, WREN ; ustawia bit WREN - zezwolenie na zapis -
jeżeli skasowany to nic się nie zapisze

movlw 55h ; wymagana sekwencja uaktywnienia zapisu - to musi być
dokładnie tak jak napisane
movwf EECON2 ; sekwencja musi się wykonać bez zakłóceń dlatego
wyłączamy wcześniej przerwania (GIE)
movlw AAh ; dlaczego 55h i AAh ? Tak ustalił Microchip.
movwf EECON2 ; sekwencja jest podobna do uaktywniania w pamięciach
danych typu FLASH

bsf EECON1,WR ; startujemy sekwencję ustawiając bit WR - WR
skasuje się sprzętowo samo
bsf INTCON, GIE ; włącza przerwania
; ---------
Czekaj_na_koniec_zapisu
btfss EECON1, EEIF ; sprawdza flagę EEIF - ustawiona oznacza
koniec zapisu - zapis trochę trwa...
goto Czekaj_na_koniec_zapisu
bcf EECON1, EEIF ; przygotowanie do następnego zapisu - WAŻNE!
bcf STATUS, RP0 ; żeby wrócił w BANK0
return


Jak zapisać bajt?

Main ; tu uruchomić program po RESET

Inicjalizacja ; wystarczy raz po sprzętowym RESET
bsf STATUS, RP0 ; ustawiam BANK1 RAM-u - ze względu na operację na
EECON1
bcf INTCON, EEIE ; zakładam że nie chcesz babrać się w przerwanie
od końca zapisu do EEPROM
movlw B'11100011' ; przez "założenie" AND-a kasuję jednocześnie
EEIF, WRERR i WREN
andwf EECON1, F ; (skasowanie EEIF bardzo ważne!)
bcf STATUS, RP0 ; ustawiam sobie BANK0 RAM-u permanentnie

Zapis_danej
movlw Adres_docelowy_EEPROM
movwf EEADR ; pamiętaj, że EEADR jest w RAM BANK0 nie BANK1!
movlw Dana_ktora_ma_byc_zapisana ; ale może być też: movfw
movwf EEDATA ; BANK0!
call Zapis_bajtu

Koniec_zapisu

Powinno działać ;-)

Jak chcesz zapisać więcej to powielasz fragment Zapis_danej z innymi
parametrami. Pamiętaj że potrzebujesz zasilania na czas zapisu
(1 bajt - 2-3ms) więc procek powienien wcześniej "wiedzieć" że coś
z zasilaniem nie tak, a zapis wykonasz z kondensatora.

Trochę tego jest i pewno będą baty od modemowców ale już powtarzam: mea
culpa...

Pozdrawiam
JMD



Poprzedni Następny
Wiadomość
Spis treści
From: "~ KYS ~" <kys_at_nospam_poczta.fm>
Subject: Re: szukam kawalka programu obslugujacego EEPROM na procesorze
Date: Thu, 27 Dec 2001 14:14:19 +0100


Użytkownik "jmdsh" <jmdsh_at_nospam_polbox.com> napisał:
No to mała szkółka:
[...]

czesc wiedzialem, czesc sie wlasnie dowiedzialem... :))
wielkie dzieki, wlasnie to sobie wydrukowalem, zeby dokladnie wszystko
"rozgryzc"...

jeszcze raz dzieki...

Pozdrawiam
KYS

--
| www: http://kys.prv.pl | http://kys.rally.prv.pl |
| e-mail: kys_at_nospam_poczta.fm |
| UIN#: 33181080 | GG: 19249 |