34 5. Działanie mikrokontrolera
Układ każdego generatora wymaga odpowiedniego czasu od momentu włączenia zasilania do momentu osiągnięcia założonej częstotliwości. Czas ten wynosi na ogół około 10 ms.
Ponieważ po włączeniu zasilania układy wewnętrzne mikrokontrolera przyjmują stan dowolny, dlatego musi istnieć możliwość wymuszenia na mikroprocesorze powtarzalnych stanów początkowych wszystkich jego rejestrów. W komputerach służy do tego przycisk RESET. Mikroprocesory posiadają wejście (RST), na które jeżeli poda się odpowiedni sygnał, to nastąpi wymuszenie stanów początkowych rejestrów' wewnętrznych. Ponieważ stan początkowy procesora musi być ustalony po włączeniu zasilania, to do tego wejścia dołącza się układ czasowy RC, rysunek 5-2 a, który wymusza, na wymagany odcinek czasu, sygnał zerujący. W większości mikrokontrolerów, np. w mikrokontrolerach rodziny '51 wykonanych w technologii CMOS rezystor jest umieszczony wewnątrz układu, rysunek 5-2 b Sygnałem tym, w zależności od typu mikrokontrolera może być poziom zera logicznego (masa układu), jak na przykład w mikrokontrolerach 80C515, rysunek 5-2 c lub poziom jedynki logicznej (zasilanie) jak w mikrokontrolerach 8051, rysunek 5-2 a i b.
VCC
zerowanie ręczne
b)
VCC
a)
zerowanie
ręczne
r
Rys. 5-2 Układy zerujące mikrokontrolery.
W większości układów mikroprocesorowych stosuje się przełączniki, dołączone do linii RST, do ręcznego zerowania procesorów. Daje to możliwość uruchomienia od początku programu procesora, np. w przypadku testowania lub zawieszenia się programu procesora.
Podstawową jednostką określającą czas wykonywania instrukcji jest cykl maszynowy. Dla rodziny mikrokontrolerów '51 składa się on /. sześciu stanów, rysunek 5-3, oznaczonych od SI do S6, z których każdy dzieli się na dwie fazy PI i P2. Czas trwania jednej fazy jest równy okresowi oscylatora. Wynika stąd, że czas trwania cyklu maszynowego jest 12 razy dłuższy od okresu oscylatora.
CYKL MASZYNOWY n CYKL MASZYNOWY n +1
S2
PI P2i
S3 PI P2
JU1
S4 S5 S6 SI
PI P2|P1 P2 PI P2 PI P2
Rys. 5-3 Cykle maszynowe mikrokontrolerów.
W każdym stanie cyklu maszynowego są realizowane pewne podstawowe procedury związane z wykonywaniem rozkazów.
Rozkazy są pobierane z pamięci wewnętrznej lub zewnętrznej mikrokontrole- j ra spod adresu wskazywanego przez licznik rozkazów (PC). !
Rozkazy mogą być jedno lub wielobajtowe, a czas ich wykonania może trwać jeden lub kilka cykli maszynowych. W rodzinie '51 występują rozkazy jedno, dwu i trójbajtowe, które są wykonywane w jednym, dwóch lub czterech cyklach maszynowych.
Pobranie pierwszego bajtu rozkazu odbywa się zawsze w takcie SI. j
Jeżeli rozkaz jest jednobajtowy, to jest on wykonywany w jednym cyklu maszynowym, a bajt następnego rozkazu jest pobierany w takcie SI kolejnego cyklu maszynowego, rysunek 5-4.
CYKL MASZYNOWY n+1
S2 S3 |
S4 |
S5 |
S6 SI |
S2 |
S3 |
S4 |
S5 |
S6 SI |
PI P2 PI P2 |
n P2 |
PI P2 |
PI P2 PI P2 |
PI P2 |
P1P2 |
PI P2 |
PI P2 |
PI P2 PI P2 |
uirurn |
LTU1 |
JU1 |
uirijui |
LTU1 |
LTUITUI |
LTUI |
LTUUTR |
pobranie rozkazu
pobranie następnego rozkazu
CYKL MASZYNOWY n
TAKT SI FAZA PI P-
osc inn
SI S2 S3 S4 S5 S6 SI S2 S3 S4 S5 S6 SI
Rys. 5-4 Wykonanie rozkazu jednobajtowego.
Większość rozkazów dwubajtowych jest wykonywana w jednym cyklu maszynowym, z tym że drugi bajt rozkazu jest pobierany w takcie S4 cyklu maszynowego, rysunek 5-5.