38 5. Działanie mikrokontrolera I
Mniej znaczący bajt adresu jest wpisywany do zatrzasku opadającymi zboczem sygnału ALE i jest w nim pamiętany aż do ponownego wpisu. Pamięć
programu jest odblokowywana poziomem logicznego zera sygnału PSHN Narastające zbocze tego sygnału określa moment, w którym rozkaz jest przyj mowany przez procesor. Na czas wysyłania przez port PO adresu i pobierania rozkazu, przez port P2 jest wysyłany bardziej znaczący bajt adresu, rysunek 5-9, Strzałki na rysunkach wskazują momenty czasowe, w których następuje zapa miętanie adresu, pobranie rozkazu lub przesłanie danej. PCL oznacza mnie znaczący bajt licznika rozkazu, a PCH - bardziej znaczący bajt licznika rozkazu
1X11
PCH
PCH
X
PCH
CYKL MASZYNOWY n |
CYKL MASZYNOWY n + 1 | |||||||||||
TAKT |
SI ! S2 |
S3 |
S4 |
S5 |
S6 |
SI |
S2 |
S3 |
S4 |
S5 |
S6 |
SI |
FAZA |
Pl P2|P1 P2 |
Pl 1*2 |
IM P2 |
Pl P2 |
Pl P2 |
Pl P2 |
Pl P2 |
Pl 1*2 |
Pl 1*2 |
Pl V2 |
Pl P2 |
Pl P2 |
OSC |
Lrinrui |
Lfin |
LTUl |
LTlil |
LTUl |
LTUl |
LTUl |
LTUl |
LTUl |
LJin |
LTUl |
uin |
ALE |
l_ |
_J L_ |
i |
“L_ |
_r |
“L_ |
r~ |
P$EN_J
PO ROŻKA
P2 pch X"
KAib~<j£i>—<roz^z>~<^t)—<Roz>^z>-<rci>—<rozkaz>-<kT>—<rozAz>-
Rys. 5-9 Przebiegi czasowe podczas pobierania rozkazów z pamięci zewnętrznej.
Gdy ma nastąpić przesyłanie danych do lub z zewnętrznej pamięci RAM to w zatrzasku jest zapamiętywany mniej znaczący bajt adresu komórki pamięci
RAM. Sygnał ALE przyjmuje poziom 0 logicznego a sygnał PSEN 1 logicznej
Jeżeli dana jest zapisywana do pamięci, to sygnał WR przyjmuje, na czas wpisywania danej, poziom 0 logicznego. Natomiast gdy dana jest odczytywana i
pamięci, to poziom 0 przyjmuje sygnał RD , rysunek 5-10.
CYKL MASZYNOWY n
CYKL MASZYNOWY n +1
TAKT
FAZA
SI
PI P2
S2 PI P2
S3
1*1 ł*2
S4 PI P2
S5 PI P2
S6
PI P2
SI
Pl P2
S2 Pi l»2
S3
Pl P2
S4 Pl P2
S5
Pl P2
S6
Pl P2
SI
P1P2
PSEN -r
ADR = DPLIub Ri (i —1.2)
1
—(rozk\ź>-
WR, RDr r !-! 1
PO rożka ---< " dane"
P2 PCH X
PCH
DPH lub P2
PCH
Rys. 5-10. Przebiegi czasowa przy dostępie do zewnętrznej pamięci RAM-
Zewnętrzna pamięć RAM może być adresowana w całym obszarze 64 KB -vvtedy na liniach portu P2 pojawia się bardziej znaczący bajt adresu. Przy tym sposobie adresowania adres jest pobierany z 16-bitowego rejestru DPTR, który składa się z dwóch rejestrów 8-bitowych: DPL, zawierający mniej znaczący bajt adresu i DPH, zawierający bardziej znaczący bajt adresu.
Zewnętrzna pamięć RAM może być również adresowana poprzez rejestry RO lub Rl. Ponieważ rejestry te są rejestrami ośmiobitowymi, to można adresować obszar do 256 bajtów. Linie portu P2 mogą służyć wtedy jako normalne linie wejścia - wyjścia, lub jeżeli są połączone z wejściami adresowymi pamięci RAM, to programując odpowiednio port P2 można wybierać określone obszary pamięci RAM o objętości 256 bajtów, jest tcrtzw. stronicowanie pamięci.
Dostęp do pamięci RAM kończy się wraz z taktem S3. W ten sposób procesor może w takcie S5 wysłać adres rozkazu pobieranego w następnym cyklu
maszynowym.
Dzięki wydzieleniu sygnałów PSEN oraz sygnałów RD i WR, pamięć programu i pamięć danych są rozdzielone, mimo że znajdują się w tej samej przestrzeni adresowej.
Pytania i problemy
1. W jakim układzie pracuje oscylator mikrokontrolera rodziny '51 ?
2. Jaki jest czas zerowania mikrokontrolerów rodziny '51 i co w tym czasie wykonuje mikrokontroler ?
3. Jakie są układy zerowania mikrokontrolerów rodziny '51 ?
4- Co to jest cykl maszynowy i z czego się składa ?
5 Jak wygląda pobieranie rozkazów w zależności od liczby bajtów rozkazów i liczby cykli maszynowych potrzebnych na ich wykonanie ?
6- Jakie elementy są niezbędne do uruchomienia mikrokontrolera z zewnętrzną pamięcią programu ?
7* Do czego służą sygnały ALE, PSEN , RD , WR ?
Czym różni się odczyt danych z zewnętrznej pamięci RAM od pobrania rozkazu z zewnętrznej pamięci programu ?