Untitled19 (5)

Untitled19 (5)



30 4. Jak odczytywać i zapisywać dane ...

Odczytywanie danych zapisanych w pamięci programu ROM oraz zapisywanie i odczytywanie danych z zewnętrznej pamięci danych RAM wiąże się z pewnymi ograniczeniami:

•    zawsze jednym z argumentów wykonywanych instrukcji jest akumulator A, co powoduje, że akumulator A staje się jednym z najbardziej zapracowanych rejestrów mikrokontrolera,

•    do odczytu danych z pamięci programu ROM mamy tylko 2 instrukcje; w ich mnemoniku występuje zawsze litera C (MOVC), będąca pierwszą literą symbolu Codę oznaczającego pamięć programu (Codę memory),

•    do zapisu i odczytu danych do/z zewnętrznej pamięci danych RAM dostępne są po dwie instrukcje, których mnemoniki zawierają zawsze literę X (MOVX); x pochodzi od symbolicznej nazwy tej pamięci XData (eXternal Data memory),

•    nie należy zapominać, że przy adresowaniu zewnętrznej pamięci danych RAM za pośrednictwem rejestru RO lub R1 brakującą część adresu należy wpisać do portu P2 (8 bardziej znaczących bitów adresu).

Dążąc do uzyskania dużej szybkości działania mikrokontrolerów rodziny '51 należy unikać przechowywania często używanych danych w zewnętrznej pamięci RAM mikrokontrolera. Do tego powinna wystarczyć wewnętrzna pamięć RAM.

4.3 Dołączanie zewnętrznych pamięci do mikrokontrolera

jeśli mikrokontroler rodziny '51 ma współpracować z zewnętrznymi pamięciami, np. kodu programu (ROM, EPROM lub EEPROM, np. 2764) i danych (RAM, np. 6264), to oprócz samych pamięci konieczny jest jeszcze 8-bitowy bufor (np. 74HCT573). Zadaniem tego bufora jest zapamiętanie 8-mniej znaczących bitów adresu, co jest wynikiem multipleksowania magistrali danych i magistrali adresowej (ośmiu mniej znaczących linii tej magistrali). Rolę tej magistrali pełni port PO. Pozostałe bity adresu, 8-bąrdziej znaczących bitów przesyłane są za pośrednictwem portu P2. Bardziej szczegółowo przedstawiono ten problem w rozdziale 5 i 7.

Sposób dołączenia zewnętrznych pamięci programu i danych JO mikrokontrolera przedstawiono na rysunku 4-5. Mikrokontroler generuj* następujące sygnały sterujące przepływem adresów lub danych w zależności o<

•    ALE (Address Latch Enable) - przepisanie 8-mniej znaczących

bitów adresu z portu PO do pomocniczego 8-bitowego bufora,

•    I^SEN (Program Storę ENable) - uaktywnienie zewnętrznej pamięci

programu, pobranie kodu instrukcji,

•    RD (ReaD) - uaktywnienie zewnętrznej pamięci danych RAM,

odczyt danej z pamięci,

•    WR (WRite) - uaktywnienie zewnętrznej pamięci danych RAM,

wpis danej do pamięci.

Port PO:

P0.7/AD7.. PO.O/ADOfy


8-bitowy bufor np. 74573


dane


zewnętrzna pamięć programu


ALE

Port P2:

P2.7/A15 .. P2.0/A8


PSEN

Mikrokontroler ł51

EA

Port P3: P3.6/WR P3.7/RD


_


D7 Q7 DO Q0

oc


adres


D7.. DO

A7.. AO

EPROM

2764

A12 .. A8 CE


D7.. DO

A7.. AO A12.. A8


WE

OE


zewnętrzna pamięć danych RAM


RAM

6264


Rys. 4-5 Połączenie mikrokontrolera z zewnętrznymi pamięciami.

Przy zewnętrznej pamięci programu linia EA musi mieć poziom zera logicznego, aby po sprzętowym zerowaniu procesora, kody rozkazów' były pobierane z pamięci zewnętrznej, a nie wewnętrznej.


Wyszukiwarka

Podobne podstrony:
Untitled14 4. Jak odczytywać i zapisywać dane z pamięci programu ROM i zewnętrznej pamięci danych RA
12456 Untitled16 (2) 24 4. Jak odczytywać i zapisywać dane4.1 Odczyt danych z pamięci programu ROM W
Untitled17 26 4. Jak odczytywać i zapisywać dane ... instrukcja: zapis binarny
Untitled18 (2) 28 4. Jak odczytywać i zapisywać dane portów realizowane instrukcji.   &nbs
Untitled15 22 4. Jak odczytywać i zapisywać dane ... zmierzyć temperaturę, to dopóki nie zostanie wy
Untitled18 (2) 28 4. Jak odczytywać i zapisywać dane portów realizowane instrukcji.   &nbs
0000043 (10) procesu regulacji (np. na podstawie danych zapisanych w pamięci 5). W żywym organizmie
39277 skanuj0012 (196) Rozdział X102 Jak zawsze na koniec ćwiczeń pamiętamy o prawidłowym zamknięciu

więcej podobnych podstron