MIKRPROC DOC


  1. Systemy zapisu liczb.

    1. konwersja systemu dziesiętnego na binarny, heksadecymalny i odwrotnie.

  1. Budowa mikroprocesora i mikrokontrolera rodziny MCS'51
    (schemat blokowy, opis funkcjonalny poszczególnych bloków)

  2. Cykl pracy mikrokontrolera rodziny MCS'51

Ad 1

W systemach cyfrowych bardzo ważną rolę odgrywają zbiory znaków złożone z dwóch, ośmiu, dziesięciu i szesnastu elementów. Zajmiemy się tylko zbiorami złożonymi z dwóch, dziesięciu i szesnastu liczb
Nazywamy je:

  1. 2 - ch - zbiorem dwójkowym - binarnym

  2. 10 - ciu -zbiorem dziesiętnym - dekadowym

  3. 16 - tu - zbiorem szesnastkowym - heksadecymalnym

Przyjęty w matematyce system zapisu liczb jest systemem dziesiętnym gdyż za podstawę wyrażania liczb w tym systemie przyjęto 10 cyfr, jako podstawę liczby potęgowej. System ten nazywa się systemem pozycyjnym, gdyż każdej pozycji przypisana jest określona waga (znaczenie). Na lewo od przecinka kolejne pozycje to jednostki, dziesiątki. Setki, tysiące itd., a na prawo dziesiąte, setne, tysięczne itd. Części liczb. Liczba zapisana w systemie dziesiętnym jest więc sumą potęg o podstawie 10.0x01 graphic

Zliczanie w systemie dziesiętnym jest trudne do zastosowania w elektronice, gdyż wymagałoby skonstruowania układu elektronicznego o dziesięciu stabilnych stanach pracy, tak, aby każdemu stanowi pracy można było przyporządkować określoną cyfrę od 0 - 9. Teoretycznie jest to możliwe, ale praktycznie uciążliwe. Dlatego w technice cyfrowej zdecydowano się na dokonywanie operacji w systemie dwójkowym, gdzie podstawy zliczania będzie potęga o podstawie 2.

0x01 graphic

Do wyrażenia liczby w systemie dwójkowym wystarczą więc tylko dwie cyfry.

Konwersja liczb wygląda następująco:

Np. liczba 57,21 w systemie dziesiętnym zamienić na liczbę w systemie binarnym.

57=

28

r 1

0,21*2=

0

42

liczbę po przecinku

28=

14

r 0

0,42*2=

0

84

czyta się od góry

14=

7

r 0

0,84*2=

1

68

7=

3

r 1

0,68*2=

1

36

3=

1

r 1

0,36*2=

0

72

1=

0

r 1

liczba binarna czytana od dołu jest liczbą 111001(2)

0,72*2=

1

44

0,44*2=

0

88

0,88*2=

1

76

Po konwersji liczby 57,21(10) otrzymaliśmy liczbę 111001,00110101(2)

Konwersja w drugą stronę wygląda następująco:

0x08 graphic

Konwersja na system szesnastkowy (heksadecymalny) polega na tym, żeby zamienić liczbę dziesiętną na binarną a następnie otrzymaną liczbę binarną na heksadecymalną.

0x08 graphic

0x08 graphic
Np. liczba 189 zapisana w systemie dwójkowym ma postać 10111101 natomiast zapisana w systemie heksadecymalnym wynosi BD. Oblicz się to następująco.

0x01 graphic

0x01 graphic
0x01 graphic
Odbywa się to tak, że od strony najniższych bitów (LSB) w stronę wyższych bitów (MSB) wyrazy grupujemy na czwórki, i przydzielamy im zgodnie z tabelą oznaczenia heksadecymalne.

Ad 2

Procesor jest także nazywany jednostką centralną CPU, gdyż stanowi on podstawowy blok komputera czy systemu mikroprocesorowego. Wykonanie określonych operacji przez procesor wymaga ustawienia wejść sterujących w jego układzie sterowania w odpowiedni stan. Stan wejść sterujących jest nazywany rozkazem. Zbiór wszystkich rozkazów jakie może wykonywać procesor, jest nazywany listą rozkazów procesora. Ciąg rozkazów określający sekwencję wykonywanych operacji jest nazywany programem.

Jednym z podstawowych parametrów charakteryzujących możliwości obliczeniowe jest długość przetwarzanego w nim słowa. Jest to liczba bitów, jaka przetwarzana jest podczas wykonywania pojedynczej operacji. Pierwsze mikroprocesory były czterobitowe. Jak wiemy minimalną konfiguracją sprzętową zapewniającą działanie takiego systemu jest: μP, pamięć oraz układy we/wy. Najnowszą generacją mikroprocesorów (przeznaczonych do budowy systemów cyfrowych, ale nie komputerów) są mikroprocesory zawierające wszystkie te elementy i dlatego są one nazywanie mikrokomputerami jednoukładowymi lub mikrokontrolerami.

0x08 graphic
Schemat blokowy mikrokontrolera rodziny MCS'51

Mikrokontroler wykorzystuje do komunikowania się z układami zewnętrznymi następujące elementy:

Generator umożliwia poprzez dołączenie zewnętrznego rezonatora kwarcowego, lub ceramicznego ustalenie żądanej częstotliwości pracy mikrokontrolera. Sygnał z generatora synchronizuje pracę całego procesora oraz służy do określania momentów czasu, w których pojawiają się sygnały sterujące wymianą danych mikrokontrolera z otoczeniem np. sygnały RD odczytu i WR zapisu z/do zewnętrznej pamięci danych.

Licznik rozkazów służy do adresowania pamięci programu. Zawartość licznika rozkazów PC może być zmieniana odpowiednimi rozkazami, co umożliwia wykonywanie skoków do różnych fragmentów programu.

Jednostka arytmetyczno - logiczna wykonuje podstawowe działania arytmetyczne i logiczne na danych. Z jednostką arytmetyczno - logiczną są funkcjonalne powiązane trzy rejestry o ściśle powiązanym przeznaczeniu:

  1. Akumulator A lub ACC służy przede wszystkim do przechowywania jednego z argumentów w operacjach arytmetycznych i logicznych a po ich wykonaniu do przechowywania wyniku operacji.

  2. Pewne cechy wyników operacji wykonywanych w jednostce arytmetyczno - logicznej są zapamiętywane w rejestrze statusowym PSW. Wybrane bity tego rejestru informują o wyniku wykonywanych działań:

Do adresowania obu typów pamięci wykorzystywany jest 16 - bitowy wskaźnikowy rejestr danych DPTR. Do wywoływania podprogramów przechowywania argumentów przenoszonych z jednego podprogram przy przejściu do wykonywania innego podprogramu tworzony jest stos. Stosem jest wydzielony fragment wewnętrznej pamięci RAM adresowany wskaźnikiem stosu SP. Kolejność odczytu bajtów ze stosu jest odwrotna w stosunku do kolejności ich zapisywania zgodnie z regułą pamięci LIFO. Bezpośrednio dostępne są tylko bajty adresowane przez wskaźnik stosu SP znajdujące się na wierzchołku stosu, a nie w jego wnętrzu.

Ad. 3

Mikrokontrolery mają wewnętrzny generator, do którego dołącza się z zewnątrz albo tylko sam rezonator kwarcowy lub ceramiczny oraz dodatkowo dwa kondensatory, ułatwiające wzbudzenie się generatora na pożądanej częstotliwości. W mikrokontrolerach rodziny '51 jeżeli jest stosowany rezonator kwarcowy, to pojemności mają wartości 22 - 39 pF, a przy rezonatorze ceramicznym 30 - 51 pF.

Dobierając częstotliwości generatora należy pamiętać, że musi się ona mieścić w zakresie określonym przez producenta. Przy częstotliwości za dużej lub za małej mikrokontroler przestanie poprawnie pracować. Stosowanie wyższych częstotliwości generatora przyspiesza wykonywanie przez mikrokontroler operacji, ale odbywa się to kosztem zwiększenia prądu zasilania, zwiększenie poziomu zakłóceń wytwarzanych przez procesor, a ponadto wymaga stosowania szybszych, a więc i droższych elementów współpracujących z mikrokontrolerem, np. pamięci zewnętrznych. Ponadto przy wyższych częstotliwościach generatora mikrokontroler, zwłaszcza pobierający rozkazy z pamięci zewnętrznej programu, jest bardziej podatny na zakłócenia zewnętrznych pól elektromagnetycznych. Dlatego częstotliwość generatora powinna być najniższa ale zapewniająca wykonanie zadania w założonym czasie.

W większości mikrokontrolerów praca generatora może być zatrzymana odpowiednim rozkazem, co powoduje zatrzymanie działania wszystkich elementów mikrokontrolera. Ma to na celu zredukowanie do minimum prądu zasilania, np. w momencie awarii sieci zasilającej. 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 (RTS), 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, który wymusza, na wymagany odcinek czasu, sygnał zerujący.

W większości mikroprocesorów, np. w mikrokontrolerach rodziny '51 wykonanych w technologii CMOS rezystor jest umieszczony wewnątrz układu. Sygnałem tym w zależności od mikrokontrolera może być poziom „0” (masa układu), jak np. w mikrokontrolerach rodziny 80C515, lub poziom „1” zasilanej jak w mikrokontrolerach 8051. 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ę procesora.

Podstawową jednostką określającą czas wykonania instrukcji jest cykl maszynowy. Dla rodziny mikrokontrolerów '51 składa się on z sześciu stanów, oznaczonych od S1 do S6, z których każdy dzieli się na dwie fazy P1 i P2. Czas trwania jednej fazy jest równy okresowi oscylatora.

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 mikrokontrolera 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ój bajtowe, które są wykonywane w jednym, dwóch lub czterech cyklach maszynowych. Pobranie pierwszego bajtu rozkazu odbywa się zawsze w takcie S1. Jeżeli rozkaz jest jednobajtowy, to jest on wykonywany w jednym cyklu maszynowym, a bajt następnego rozkazu jest pobierany w takcie S1 kolejnego cyklu maszynowego.

Większość rozkazów dwubajtowych jest wykonana w jednym cyklu maszynowym, z tym że drugi bajt rozkazu jest pobierany w takcie S4 cyklu maszynowego.

Rozkazy trójbajtowe są wykonywane w dwóch cyklach maszynowych. W jednym cyklu maszynowym, w taktach S1 i S4, są pobierane dwa bajty rozkazu, a w takcie S1 drugiego cyklu maszynowego jest pobierany trzeci bajt rozkazu. Bajt nowego rozkazu jest pobierany w takcie S1 trzeciego cyklu maszynowego. W rodzinie '51 występują również rozkazy jednobajtowe i dwubajtowe, które są wykonywane w dwóch lub czterech cyklach maszynowych. W czterech cyklach maszynowych są wykonywane tylko rozkazy mnożenia (MUL AB) i dzielenia (DIV AB).

Po pobraniu każdego bajtu rozkazu następuje automatyczne zwiększenie o 1 licznika rozkazów. Znajomość liczby cykli maszynowych potrzebnych na wykonanie poszczególnych rozkazów jest potrzebna w przypadku generowania przez mikrokontroler odcinków czasów o dużej dokładności. Sygnały o krótkich czasach uzyskuje się najczęściej przez wykonanie programu wymagającego odpowiedniej liczby cykli maszynowych.

Jeżeli mikrokontroler pobiera rozkazy z pamięci zewnętrznej, to musi istnieć możliwość wysłania na zewnątrz adresu komórki pamięci, z której jest pobierany rozkaz oraz wejście poprzez które rozkaz jest przesyłany do struktury wewnętrznej mikrokontrolera. W mikrokontrolerach rodziny '51 można również dołączyć zewnętrzną pamięć RAM służącą do chwilowego przechowywania danych. Do dostępu zarówno pamięci programu jak i danych wykorzystuje się dwa ośmiobitowe porty P0 i P2. Żeby zmniejszyć liczbę wyprowadzeń obsługujących pamięci zewnętrzne przez port P0 jest wysyłany mniej znaczący bajt 16- bitowego adresu oraz są przesyłane bajty rozkazów oraz dane do lub z pamięci RAM. Dla rozdzielenia bajtu adresu od rozkazów i danych jest stosowany zatrzask, w którym jest zapamiętywany adres.

wbe74@friko.internet.pl http://www.zsr.dzierzoniow.pl/wbe

1

wbe74@friko.internet.pl

0x01 graphic

0x01 graphic

0x01 graphic

0x01 graphic



Wyszukiwarka

Podobne podstrony:
europejski system energetyczny doc
KLASA 1 POZIOM ROZSZERZONY doc Nieznany
5 M1 OsowskiM BalaR ZAD5 doc
Opis zawodu Hostessa, Opis-stanowiska-pracy-DOC
Messerschmitt Me-262, DOC
Opis zawodu Robotnik gospodarczy, Opis-stanowiska-pracy-DOC
Opis zawodu Położna, Opis-stanowiska-pracy-DOC
Opis zawodu Przetwórca ryb, Opis-stanowiska-pracy-DOC
Blessing in disguise(1), Fanfiction, Blessing in disguise zawieszony na czas nie określony, Doc
Opis zawodu Politolog, Opis-stanowiska-pracy-DOC
Protokół wprowadzenia na roboty, Pliki DOC PPT
Połączenie komputerów w sieć, DOC
Opis zawodu Technik informatyk, Opis-stanowiska-pracy-DOC
ŁACINECZKA ZBIOREK DOC, ►Filozofia
Bronie V, DOC
Opis zawodu Elektromonter linii elektr, Opis-stanowiska-pracy-DOC

więcej podobnych podstron