92 Rozbodowa systemu, pamięć
PO, który pełni funkcję wejścia-wyjścia dwukierunkowej multiplek-sowanej magistrali adres/dane. Do portu PO jest wysyłanych osiem mniej znaczących bitów adresu, strobowanych sygnałem ALE. Osiem bardziej znaczących bitów adresu jest wysyłanych do portu P2. Przesyłanie danych jest sterowane za pomocą sygnałów:
PSEN - odczytywanie z zewnętrznej pamięci programu,
RD (P3.7) - odczytywanie z zewnętrznej pamięci danych,
WR (P3.6) - zapisywanie do zewnętrznej pamięci danych.
Odczytywanie z zewnętrznej pamięci programu jest wykonywane przez procesor przy pobieraniu z pamięci programu kodu rozkazu, argumentu bezpośredniego lub danej, spod adresu większego lub równego 4096 (1000H) w układach 8051 i 8751,8192 (2000H) - w 8052, oraz przy każdym pobraniu z pamięci programu we wszystkich układach rodziny MCS-51,gdy na wejściu EA jest stan niski TTL. Odczytywanie z pamięci programu jest wykonywane dwukrotnie w każdym cyklu maszynowym.
S4 : ss : S6 ! Si : S2 ss : S4 : ss ss
S4P1
aotouu
Adrti
gotouy
X
X
X
Rys. 3.1. Przebiegi czasowe sygnałów w cyklu odczytu zewnętrznej pamięci programu
Przebiegi czasowe sygnałów w czasie odczytywania pokazano na rys. 3.1. Adres jest wpisywany (z licznika rozkazów) do portów PO i P2 w stanie S5P1 i w stanie S2P1, gdy ALE = 1. Jest on utrzymywany na P2 do końca odczytywania, a na PO do zakończenia (opadającego zbocza) impulsu ALE. Port PO jest ustawiany jako wejściowy (w stan dużej impedancji), po czym jest wytwarzany sygnał sterujący PSEN. W odpowiedzi układ pamięci wysyła do portu PO zawartość zaadresowanej komórki. Wczytanie danych przez procesor następuje w stanie S1P1 i S4P1, chwilę przed narastającym zboczem sygnału PSEN, po czym kończy się wysyłanie adresu na PI
ALE • )
RD
PO
bJ
Adres
eotouw
Gdy pamięć pro«raiwj
i atnoeti scji—i
\_/ PPL V"
.....V“bRi A
Dana
uMoicioue
I
DPH lub rejestr specjalny P2
X
DC
Rys. 3JL Przebij czasowe sygnałów w cyklach: a) odczytu; b) zapisu zewnętrznej pamięci danych
Odczytywanie lub zapisywanie zewnętrznej pamięci danych jest realizowane w drugim cyklu maszynowym, w czasie wykonywania rozkazów MOVX. Przebiegi czasowe sygnałów podczas odczytywania pokazano na rys. 3.2a. Adres komórki zewnętrznej pamięci danych jest wpisywany w stanie S5P1 pierwszego cyklu (gdy ALE = 1):
- tylko do portu PO (8-bitowy adres z rejestru RO lub Rl), gdy jest wykonywany rozkaz MOVX A, @Ri,
- do portów PO i P2 (16-bitowy adres z rejestru DPTR), gdy jest wykonywany rozkaz MOVX A, @DPTR,
Adres na P2 jest utrzymywany do końca odczytywania, natomiast na PO
- do zakończenia (opadającego zbocza) impulsu ALE. Port PO jest ustawiany jako wejściowy (w stan dużej impedancji), a następnie jest wytwarzany sygnał sterujący RD. Wczytanie przez procesor danych wejściowych z portu PO następuje w stanie S3PI, chwilę przed narastającym zboczem sygnału RD.
Przebiegi czasowe sygnałów podczas zapisywania do zewnętrznej pamięci danych pokazano na rys. 3.2b. Adres jest, jak poprzednio, wysyłany do portu PO (przy wykonywaniu rozkazu MOVX @RiA) lub do portów PO i P2 (przy wykonywaniu rozkazu MOVX @ DPTR,A). Jest on Strobowany sygnałem ALE. Następnie do portu PO są wpisywane dane do zapisania i jest wytwarzany sygnał sterujący WR. Dane do