Czy ma znaczenie typ pamięci (eeprom, flash), jak skonfigurować porty procesora i podłączyć z pamięcią, czy trzeba jakiś specjalny programator czy nie, i przy pisaniu programu trzeba dodac jakieś liniki z poleceniami. Wszystkie procesory 51 maja mozliwość dołączenia zewnętrznepamięci???
Tak wogule jest to mozliwe?
Pozdrawiam.
zewnętrzna pamięc programu procesora
- mariusz256
- Użytkownik
- Posty: 144
- Rejestracja: 28 wrz 2005, 17:16
- Lokalizacja: Stobierna k/Rzeszowa
- Kontakt:
Z punktu widzenia trwałości przechowywanych danych - znaczenia nie ma.mariusz256 pisze:Czy ma znaczenie typ pamięci (eeprom, flash),
Ważne jest natomiast aby kość była dostosowana do pracy z magistralą równoległą
(linie adresowe, danych i sterujące).
W '51 nie konfiguruje się portów (w takim sensie jak np. w procesorach AVR),mariusz256 pisze:jak skonfigurować porty procesora
a w szczególności gdy mają one pracować jako zewnętrzna magistrala danych/adresów...
Najlepiej według typowych opisów dostępnych w literaturze lub sieci.mariusz256 pisze:i podłączyć z pamięcią
Do równoległych eeprom/flash/eprom potrzeba a stopień jego skomplikowaniamariusz256 pisze:czy trzeba jakiś specjalny programator czy nie
będzie zależał od typu konkretnego układu do zaprogramowania.
Programy, które wykorzystują zewnętrzną pamięć danych/programumariusz256 pisze:i przy pisaniu programu trzeba dodac jakieś liniki z poleceniami.
w swoim kodzie maszynowym posiadają instrukcje przeznaczone do jej obsługi czyli: movx, movc.
Pisząc w assemblerze będziesz musiał ich użyć, pisząc w C będziesz musiał kompilatorowi
kazać ich użyć (wybierając model pamięci i odpowiednio deklarując zmienne),
pisząc w Bascom...
Nie, nie wszystkie, chociażby AT89C4051.mariusz256 pisze:Wszystkie procesory 51 maja mozliwość dołączenia zewnętrznepamięci???
Można natomiast przyjąć, że zewnętrzną pamięć da się podłączyć do każdej
mutacji '51 która posiada porty P0 (adres/dane) i P2 (starsze bity adresu)
Proszę zapoznać się z tymi materiałami:
https://elportal.pl/index.php?module=Co ... rokomputer
tam jest wszystko napisane, naprawdę bardzo przystępnym językiem
tasza
-
ZbeeGin
Może jednak ważne...tasza pisze:pisząc w Bascom... hmm, nieważne....
CPEEK() - do odczytania z pamięci kodu,
INP() - do odczytania z pamięci external,
OUT - do zapisania w pamięci external.
POKE i PEEK() są przenaczone dla wewnętrznej pamięci RAM.
Po resztę informacji zapraszam do helpa (np. polskiego
- mariusz256
- Użytkownik
- Posty: 144
- Rejestracja: 28 wrz 2005, 17:16
- Lokalizacja: Stobierna k/Rzeszowa
- Kontakt:
po prostu brak mi słów...mariusz256 pisze:Szukałem trochę no i nic praktycznego nie znalazłem, sama teoria!!!
więc proszę, oto kawałek kodu w Bascom dla 8051
Kod: Zaznacz cały
dim aa as integer
dim bb as byte
' CODE
'odczyt pamięci kodu
for aa = 0 to 255
bb = cpeek(aa)
printhex bb ; " ";
next
' XDATA
'zapis do XDATA pod adres 8000h
out &H8000 , 123
'odczyt komórki z XDATA
bb = inp(&H8000)
' i wyświetlenie
print bb
end