MC68HC11 CPU. Opracował: Piotr Skotniczny

Wielkość: px
Rozpocząć pokaz od strony:

Download "MC68HC11 CPU. Opracował: Piotr Skotniczny"

Transkrypt

1 MC68HC11 CPU Opracował: Piotr Skotniczny

2 Budowa. Mikrokontroler 68HC11 został wykonany w technologii HCMOS (high-density complementary metal-oxide semiconductor). Jest to procesor 8 bitowy. Nominalna prędkość magistrali wynosi 2MHz, ale może być zmniejszona do 0 Hz (zmniejszenie zużycia energii). Rys.1 Schemat blokowy W skład mikrokontrolera wchodzą następujące bloki ( rys. 1): - 8 kb pamięci ROM bajtów pamięci SRAM

3 - 512 bajtów pamięci EEPROM - 4-ro kanałowy 8 bitowy przetwornik A/C - SCI asynchroniczny, szeregowy interfejs komunikacyjny - SPI synchroniczny, szeregowy interfejs - 16 bitowy timer z 3 liniami input capture i 5 output compare - 8 bitowy licznik pulse accumulator - obwód przerwań czasu rzeczywistego - COP watchdog - system nadzoru poprawności działania, ochrona przeciwko błędom programowym Inne cechy: - 16 bitowe dzielenie liczb całkowitych i ułamkowych - 2 tryby energooszczędne: wait i stop - w stosunku do układów serii M6800 i M6801 lista rozkazów ma 91 nowych kodów Tryby pracy. Za pomocą pinów MODA i MODB w trakcie rosnącego zbocza sygnału reset można wybrać jeden z czterech trybów pracy: Wejścia Opis trybu Bity kontrolne w HPRIO MODB MODA RBOOT SMOD MDA IRV 1 0 Normal Single Chip Normal Expanded Special Bootstrap Special Test Tabela 2. Mody operacyjne NORMAL SINGLE CHIP W tym trybie MCU działa jak samodzielny mikrokontroler, bez magistral adresów i danych. Portów B, C, Strob A, Strob B używa się jako uniwersalne wejścia/wyjścia oraz do handshakingu. NORMAL EXPANDED 16 linii adresowych daje możliwość dostępu do 64-kilobajtowej przestrzeni adresowej. Część tej przestrzeni używana jest w trybie Normal single chip, a część stanowi pamięć

4 zewnętrzna. Starsze adresy obsługuje port B. Port C używany jest jako młodsze 8 bitów adresowych oraz 8-bitowa magistrala danych, dlatego potrzebny jest przerzutnik, włączany sygnałem AS. Wykorzystuje się również sygnały R/~W, E. W trybach Normal po upływie pierwszych po resecie 64 cykli E, nie możliwe jest zapisywanie ważnych rejestrów kontrolnych: INIT, OPTION, TMSK2. W trybach Special ten mechanizm ochronny jest wyłączony. Dla trybów specjalnych wektory przerwań znajdują się pod lokacjami BFC0-BFFF. SPECIAL BOOTSTRAP Program ładujący znajduje się w przestrzeni adresowej BF40-BFFF (192 bajty pamięci boot ROM ). Zawiera on procedury ładujące z zewnątrz, poprzez interfejs SCI program do wewnętrznej pamięci RAM. W tym trybie nie ma ograniczeń co do zawartości programu specjalnego wczytywanego do pamięci RAM. Kontrolowana jest szybkość przesyłania i format przesyłanych danych. Niezależnie od długości programu następuje pobranie i zapis wszystkich 256 bajtów. Po załadowaniu 256-tego bajtu wykonywany jest skok programowy pod adres 0000 i zaczyna się wykonywanie programu z RAM. Pamięć RAM stanowi 256 bajtów, pod lokacjami FF. Może być relokowalna poprzez zapis do rejestru INIT. Ten mod jest stosowany do testowania i diagnostyki w kompletnych modułach, oraz do programowania pamięci EEPROM. Możliwe jest programowe wyjście z tego trybu. SPECIAL TEST Ten tryb został przeznaczony głównie do testów produkcyjnych. Ponieważ ma on zredukowany system ochronny nie zaleca się stosowania go przez użytkownika. Wyjątki stanowią programowanie pamięci EEPROM, ustawianie rejestru CONFIG, emulacja i debugging ( możliwość widoczności danych przy czytaniu z wewnętrznych lokacji na zewnętrznej magistrali ). Istnieje możliwość przejścia po resecie do modu Special test, sprawdzenie zawartości rejestru CONFIG i powrót do trybu normalnego. Mapa pamięci. Mapa pamięci dla różnych trybów pracy przedstawiona jest na Rys. 3. Obszary ciemniejsze oznaczają pamięć wewnętrzną. Obszary jaśniejsze z oznaczeniem EXT oznaczają pamięć zewnętrzną, możliwą do wykorzystania tylko w trybach Normal expanded i Special test FF pamięć RAM ( 256 bajtów ) relokowalna przy pomocy rejestru INIT F rejestry kontrolne, blok ten jest relokowalny przy pomocy rejestru INIT B600-B7FF pamięć EEPROM ( 512 bajtów ) E000-FFC0 (E000-FFFF) pamięć ROM ( 8 kb )

5 W trybach Normal wektory przerwań umieszczone są pod adresami FFCO-FFFF w pamięci wewnętrznej. W trybach Special wektory przerwań umieszczone są pod adresami BFCO-BFFF. Dla trybu Special bootstrap jest to pamięć wewnętrzna, a dla Special test zewnętrzna. W przypadku gdy lokacje pamięci wewnętrznej pokrywają się z zewnętrznymi, lub adresami urządzeń we/wy, to pierwszeństwo ma pamięć wewnętrzna. Np. przy odczycie dana z portu C jest ignorowana, a przy zapisie następuje wpisanie do pamięci wewnętrznej i równoczesne wysłanie zapisywanych danych na port C. Rys.3 Mapa pamięci

6 Podstawowe rejestry. Rejestry ogólnego przeznaczenia przedstawia Rysunek 4, gdzie: A,B 8 bitowe akumulatory, lub jeden 16 bitowy akumulator D IX,IY 16 bitowe rejestry indeksowe SP wskaźnik stosu PC licznik rozkazów CCR - rejestr flag: S blokada rozkazu STOP X maska przerwań niemaskowalnych H przeniesienie połówkowe I maska przerwań maskowalnych N - minus Z - zero V - przepełnienie C przeniesienie lub pożyczka AKUMULATOR A AKUMULATOR B PODWÓJNY AKUMULATOR D 15 0 REJESTR INDEKSOWY X 15 0 REJESTR INDEKSOWY Y 15 0 SP WSKAZNIK STOSU 15 0 PC LICZNIK PROGRAMU CCR rejestr flag: bity 7 0. S X H I N Z V C Rys. 4 Rejestry ogólnego przeznaczenia

7 OPIS: Akumulatory A,B używane są do przechowywania danych i wyników działań arytmetycznych, logicznych oraz operacji na danych. Czasem używane są wspólnie jako jeden 16 bitowy akumulator D. Rejestry indeksowe IX, IY służą do adresacji indeksowej. 16 bitów z rejestru dodawane jest do 8 bitowego przesunięcia będącego częścią rozkazu w celu stworzenia adresu efektywnego operandu używanego w rozkazie Wskaźnik stosu SP (Stack Pointer) zawiera 16 bitowy adres najbliższej wolnej lokacji na stosie. Przy zapisie na stos jest on automatycznie zmniejszany, a przy odczycie ze stosu zwiększany. Wskaźnik stosu wykorzystywany jest przy skokach, wywołaniach procedur, przerwaniach oraz do przechowywania danych na stosie. Gdy procesor napotka instrukcję skoku, kładzie na stosie adres instrukcji następującej po instrukcji skoku (najpierw młodszy bajt adresu, później starszy), dopiero po tym wykonuje skok. Przy powrocie adres instrukcji do wykonania ściągany jest ze stosu, a wskaźnik stosu jest inkrementowany. Licznik programu zawiera 16 bitowy adres następnej instrukcji do wykonania. Rejestr flag CCR (Condition Code Register) zawiera pola: N, Z, V, C zmieniane przez rozkazy, pozwalają na wykonywanie skoków warunkowych H wskazuje przeniesienie z trzeciej pozycji podczas dodawania (wykorzystywane dla kodu BCD) S blokowanie instrukcji STOP, jeśli pojawi się ta instrukcja przy S=1 zostanie potraktowana jak instrukcja pusta NOP I maska przerwań maskowalnych; I=1 żadne przerwanie maskowalne nie zostanie obsłużone. Po każdym resecie bit ten jest domyślnie ustawiony i może być wyzerowany przez program. Gdy pojawia się przerwanie, bit jest automatycznie ustawiany po zapisaniu rejestrów na stos (jednak przed pobraniem wektora przerwań). X służy do blokowania przerwań z końcówki ~XIRQ ; po każdym resecie jest domyślnie ustawiany. Może być wyzerowany tylko programowo. Ważne rejestry. Rejestr INIT został przedstawiony na rysunku 5. Adres $103D Bity: Odczyt: RAM3 RAM2 RAM1 RAM0 REG3 REG2 REG1 REG0 Zapis: Reset: Rys. 5

8 RAM3-0 określają najstarsze 4 z 16 bitów adresu pamięci RAM, czyli numer 4kb strony. Po resecie są wyzerowane (0000=$0), a więc pamięć RAM zajmuje adresy $0000-$00FF. Gdyby ustawić je na jedynki (1111=$F) RAM będzie pod adresami $F000-$F0FF. REG3-0 określają najstarsze 4 z 16 bitów adresu pod którym znajdują się rejestry kontrolne. Po resecie ustawione są na 00001=$1, co odpowiada lokacjom $1000-$103F. Ponadto, rejestr ten można zapisywać tylko w trakcie pierwszych 64 cykli E po resecie, później możliwy jest tylko odczyt. Rejestr CONFIG przedstawiono na rysunku 6: Adres $103F Bity: Odczyt: NOSEC NOCOP ROMON EEON Zapis: Reset: Rys. 6 Zbudowany jest jako komórka EEPROM (poza tablicą 512 bajtowego EEPROMU). Cztery bity nie zostały wykorzystane i są odczytywane jako zera. NOSEC blokowanie bezpieczeństwa 0 - mikrokontroler może być zresetowany tylko w trybach Normal Single Chip i Special Bootstrap w celu zapobiegnięcia podejrzenia zawartości EEPROM i RAM (w trybach single nie ma zewnętrznej magistrali adresu i danych) NOCOP blokowanie systemu COP Watchdog 0 - odblokowany 1 zablokowany, nie generuje resetu systemu ROMON udostępnianie pamięci ROM 0 pamięć niedostępna, przestrzeń adresowa ($E000-$FFFF) może być udostępniona dla urządzeń lub pamięci zewnętrznej. 1 dostępne 8kb pamięci wbudowanej ROM EEON udostępnianie pamięci EEPROM 0 pamięć niedostępna, nie zajmuje lokacji w mapie pamięci 1 dostępne 512 bajtów pamięci EEPROM pod lokacjami $B600-$B7FF

9 Rejestr OPTION przedstawiono na rysunku 7: Adres $1039 Bity: Odczyt: ADPU CSEL IRQE DLY CME 0 CR1 CR0 Zapis: Reset: Rys. 7 Bity ADPU, CSEL i CME mogą być zapisywane i odczytywane bez ograniczeń. Pozostałe można zapisywać jedynie w trakcie trwania pierwszych 64 cykli E (wyjątkiem jest tryb niechroniony Special Test Mode ). ADPU A/D Power Up 0 blokada działania przetwornika A/C 1 odblokowanie przetwornika A/C (przetwornik wymaga minimum 100us od ustawienia bitu ADPU do ustabilizowania się) CSEL A/D/EE Charge Pump Clock Source Select wybiera źródło taktowani przetwornika A/C i układów pompujących EEPROM 0 zegar E 1 wewnętrzny generator RC o częstotliwości 2Mhz. W systemach o E < 1 MHz CSEL musi być jedynką aby można było programować EEPROM. Gdy E < 750 khz CSEL musi być jedynką, żeby można było używać przetwornika A/C. Dla ustabilizowania układu wymagane jest opóźnienie 10ms. IRQE IRQ Edge/Level Sensitive 0 wyzwalanie pinu ~IRQ poziomem niskim 1 wyzwalanie pinu ~IRQ opadającym zboczem DLY STOP Exit Turn-on Delay - opóźnienie wyjścia z trybu STOP 0 brak opóźnienia ( 4 cykle E ), dla systemów z zewnętrznym oscylatorem 1 opóźnienie 4064 cykle E w celu stabilizacji oscylatora CME Clock Monitor Enable 1 odblokowanie układu monitorującego pracę zegara ( resetującego system przy zwolnieniu zegara) 0 - zablokowanie CR1, CR0 COP Timer Rate Selects. - ustalanie okresu timera układu COP Watchdog Wykorzystanie przedstawiono w tabeli 8:

10 Częstotliwość CR1 CR0 E 2 15 k 2 23 Hz 8 MHz 4 Mhz dzielone przez Czas okresu ,625 ms 16,384 ms 32,768 ms ,5 ms 65,536 ms 131,07 ms ms 262,14 ms 524,29 ms s 1,049 ms 2,1 s 2,1 MHz 2 MHz 1 MHz Częstotliwość magistrali (zegar E) Tabela 8. Inne rejestry. Mikrokontroler posiada wiele rejestrów. Niektóre z nich przedstawiono w tabeli 9: nazwa Adres PORTA $1000 Bit Bit 0 PIOC $1002 STAF STAI CWOM HNDS OIN PLS EGA INVB PORTC $1003 Bit Bit 0 PORTB $1004 Bit Bit 0 PORTCL $1005 Bit Bit 0 DDRC $1007 Bit Bit 0 PORTD $ Bit Bit 0 DDRD $ Bit Bit 0 PORTE $100A Bit Bit 0 PACTL $1026 DDRA7 PAEN PAMOD PEDGE 0 0 RTR1 RTR0 SPCR $1028 SPIE SPE DWOM MSTR CPOL CPHA SPR1 SPRO CFORC $100B FOC1 FOC2 FOC3 FOC4 FOC OC1M $100C OC1M7 OC1M6 OC1M5 OC1M4 OC1M OC1D $100D OC1D7 OC1D6 OC1D65 OC1D4 OC1D TCTL1 $1020 OM2 OL2 OM3 OL3 OM4 OL4 OM5 OL5 SCCR2 $102D TIE TCIE RIE ILIE TE RE RWU SBK HPRIO $103C RBOOT SMOD MDA IRV PSEL3 PSEL2 PSEL1 PSEL0 INIT $103D RAM3 RAM2 RAM1 RAM0 REG3 REG2 REG1 REG0 Tabela 9. Inne rejestry. Porty.

11 Porty A,D i E nie zależą od trybów operacyjnych. Port B jest wyjściem w trybie Normal Single Chip, a w trybie Normal Expanded stanowi 8 starszych linii adresowych. Port C może być uniwersalnym wejściem lub wyjściem w trybie Normal Single Chip, a w trybie Normal Expanded jest multipleksowaną magistralą danych i 8 młodszych linii adresowych. Port A Linie portu A mogą być używane jako wejścia, wyjścia, input capture, output compare, PAI: PA0 we; IC1 input capture PA1 we; IC2 input capture PA2 we; IC3 input capture PA3 wy; OC2 output compare PA4 wy; OC3 output compare PA5 wy; OC4 output compare PA6 wy; OC5 output compare PA7 wy/we; OC1 output compare / PAI wejście dla licznika impulsów Odpowiednia zmiana sygnału na wejściu input capture powoduje zatrzaśnięcie zawartości 16 bitowego licznika timera do rejestru związanego z danym wyjściem. Wyjścia output compare służą do sygnalizacji na zewnątrz, że zawartość licznika timera zrównała się z rejestrem komparatorowym skojarzonym z odpowiednim wyjściem. Port B Wszystkie końcówki portu B są wyjściem w trybie Normal Single Chip. Port może być użyty w trybie prosto strobowanego wyjścia sygnał wyjściowy pojawia się na linii STRB gdy dana jest zapisywana do portu B. W trybie Normal Expanded port stanowi 8 starszych linii adresowych. Port C W trybie Normal Single Chip port C stanowi uniwersalne linie wejścia/wyjścia. Wejścia portu C mogą być zatrzaskiwane przy zmianie sygnału na wejściu STRA. Port ten można również używać jako równoległego we/wy z pełną wymianą potwierdzeń handshaking. Wtedy wejście STRA i wyjście STRB służą za linie kontrolne handshakingu.

12 W trybie Normal Expanded przez port C przesyłany jest multipleksowany sygnał danych i młodszego bajtu adresu. Podczas części adresowej każdego cyklu procesora, linie są wyjściami i stanowią młodsze bity adresowe. W części cyklu z danymi (stan wysoki na E) port C stanowi dwukierunkową magistralę danych. Kierunek transmisji danej pokazuje końcówka R/~W. Sposób podłączenia portu C w trybie Normal Expanded pokazuje Rys Port D Linie PD0-PD5 mogą być użyte jako uniwersalne wejścia lub wyjścia. Port D jest używany przez szeregowy interfejs komunikacyjny SCI, oraz szeregowy interfejs peryferyjny SPI, gdy interfejsy są odblokowane. SCI wykorzystuje: PD0 wejście odbieranych danych (RxD) PD1 wyjście nadajnika danych (TxD) SPI używa: PD2 sygnał MISO (Master In Slave Out) PD3 sygnał MOSI (Master Out Slave In) PD4 szeregowy zegar SCK PD5 wejście wyboru urządzenia podrzędnego SS Port E Port ten stanowi wejście przetwornika A/C. Stany wyjątkowe. Typowe zachowanie po resecie. CPU podczas pierwszych trzech cykli pobiera wektor restartu spod lokacji $FFFE,FFFFF ( w trybach Special spod lokacji $BFFE,BFFF) i zaczyna wykonywanie

13 instrukcji. Natychmiast po resecie rejestry są nieokreślone z wyjątkiem bitów S, X, I w rejestrze CCR ( ustawione w celu zablokowania przerwań i trybu STOP ). rejestr INIT ma wartość co ustawia pamięć RAM pod lokacjami $0000-$00FF, a rejestry kontrolne $1000-$103F. Ponieważ obecność pamięci ROM, EEPROM jest ustalana przez dwa bity rejestru CONFIG zbudowanego jako komórka EEPROM, sygnał resetu nie ma na nie wpływu. Porty: W trybie Expanded-multiplexed wszystkie 18 pinów używanych jako wejscia / wyjścia przy handshakingu są dedykowane rozszerzonej magistrali. W trybie Single Chip bity STAF, STAI i HNDS rejestru PIOC są wyzerowane, co blokuje przerwania od równoległych wejść / wyjść. Nie pracuje handshake mode. Zablokowany jest też mod WIRED-OR portu C przez bit CWOM=0 rejestru PIOC. Port C jest portem wejściowym ( DDRC=$00 ), port B jest uniwersalnym portem wyjściowym z wyzerowanymi wszystkimi bitami. Linia STRA jest strobem wejścia, wyzwalanym zboczem ( EGA=1 w rejestrze PIOC aktywne zbocze narastające). STRB jest strobem wyjścia i po resecie jest w stanie niskim ( INVB=1 w rejestrze PIOC ). Port D (bity 0-5), A (bity 0,1,2,7) oraz E skonfigurowane są jako wysokoimpedancyjne wejścia. Bity 3-6 portu A są wyjściami i mają stan logiczny zero. Timer System timera zainicjowany jest do liczenia od $0000. Bity preskalera są wyzerowane, a rejestry komparatorów funkcji output compare mają wartości $FFFF. Wartości zatrzasków wejściowych (funkcja input capture ) są nieokreślone. Funkcje input capture, output compare i przerwanie od przepełnienia licznika są zablokowane. Real-Time interrupt Przerwania są zamaskowane, a bityrtr0 i RTR1 rejestru PACTL są wyzerowane ustalając najkrótszy okres przerwań. Pulse Accumulator Jest zablokowany. Pin PAI jest skonfigurowany jako uniwersalny pin wejściowy. COP Watchdog aktywność nie zależy od resetu, tylko bity CR0, CR1 resjestru OPTION ustalające okres timera są zerowane SCI Wszelkie przerwania od systemu, funkcje nadajnika i odbiornika są zablokowane. Szybkość transmisji jest nieokreślona i musi być ustalona przed użyciem przez zapis rejestru BAUD. Piny SCI skonfigurowane są jako uniwersalne wejścia. Format ramki SCI inicjowany jest jako 8 bitowy z zablokowanymi funkcjami send break i receiver wakeup. Bity TDRE, TC są ustawione (wskazując brak transmisji), a pozostałe bity są wyzerowane. SPI Jest nieaktywny. Dedykowane piny skonfigurowane są jako uniwersalne wejścia. Przetwornik A/C Jest zablokowany przez wyzerowany bit ADPU rejestru OPTION. Wyzerowany jest też wskaźnik zakończenia konwersji. Inne ustawienia Zablokowana jest logika programowania EEPROM. W rejestrze HPRIO bity PSEL3-PSEL0 przyjmują wartości 0:1:0:1 co powoduje, że spośród przerwań maskowalnych najwyższy priorytet ma pin ~IRQ, skonfigurowany na wyzwalanie zboczem. Zablokowany jest także Clock Monitor System przez bit CME w rejestrze OPTION, a ustawiony bit DLY wprowadza opóźnienie wyjścia z modu STOP.

14 Istnieją 4 typy resetu: 1. Zewnętrzny, za pomocą pinu ~RESET. Po wykryciu niskiego poziomu na pinie ~RESET, stan taki jest wewnętrznie podtrzymywany przez 4 cykle zegara E, po czym zostaje zwolniony i po kolejnych 2 cyklach E stan jest sprawdzany. Jeżeli dalej utrzymywany jest z zewnątrz poziom niski na pinie ~RESET, oznacza to żądanie zewnętrznego resetu. Jeżeli jednak poziom jest wysoki, oznacza to, że reset został zainicjowany wewnętrznie ( przez COP watchdog lub Clock monitor ). Odróżnienie resetu wewnętrznego od zewnętrznego jest związane z tym, że sygnał na pinie ~RESET narasta krócej niż 2 cykle E oraz wymogiem dla resetu zewnętrznego, aby niski poziom sygnału utrzymywał się co najmniej przez 8 cykli E. Użycie w układzie pamięci EEPROM powoduje konieczność kontrolowania sygnału reset podczas zmian napięcia zasilania. Jeżeli pin ~RESET nie będzie miał niskiego poziomu w czasie spadku napięcia Vdd poniżej progu minimalnego, zawartość pamięci EEPROM może zostać zniszczona. 2. Power on reset - włączenie zasilania Ten typ resetu pojawia się gdy zostanie wykryte narastanie napięcia zasilającego Vdd. Obwód załączający zasilanie daje 4064 cykle opóźnienia od momentu pierwszego taktu oscylatora. 3. clock monitor reset Jest oparty opóźnieniu czasowym wewnętrznego obwodu RC. Jeśli w odpowiednim czasie nie zostanie wykryte zbocze zegara, może być wygenerowany reset. Bit CME=1 w rejestrze OPTION włącza funkcje monitorowania zegara. Dzięki bazowaniu na opóźnieniu układu RC, nie jest wymagany zegar do zadziałania tego systemu. Częstotliwość zegara mniejsza niż 10kHz spowoduje wywołanie resetu tego typu. Żeby reset się przypadkowo nie włączał wymagana jest częstotliwość zegara co najmniej 200kHz. Dla systemów o E<200kHz należy zblokować tę funkcję. Reset od zegara posiada własny wektor $FFFFC,$FFFD. Jednoczesne użycie trybu STOP i monitorowanie zegara spowoduje reset, ponieważ instrukcja STOP zatrzymuje zegar E. Clock monitor jest dodatkowym wsparciem dla układu COP Watchdog, który nie wykrywa błędu w przypadku uszkodzenia zegara (gdyż sam potrzebuje zegara do działania). 4. COP Watchdog reset COP Watchdog służy do ochrony przed błędami programowymi. Wymaga on umieszczania w programie pewnej stałej sekwencji rozkazów w taki sposób, żeby były wykonywane w odstępach czasowych mniejszych od określonej granicy. Jeśli w wymaganym przedziale czasowym nie pojawią się oczekiwane instrukcje, to zostanie wygenerowany reset o wektorze $FFFA,$FFFB.

15 Zerowanie timera COPa odbywa się dwuetapowo. Najpierw należy wpisać $55 do rejestru COPRST (jest on pod adresem $103A), co powoduje uzbrojenie mechanizmu zerowania. Po tym etapie może nastąpić dowolna ilość instrukcji. Właściwe zerowanie odbywa się przez wpisanie $AA do rejestru COPRST. Blokowanie COP Watchdog polega na ustawieniu bitu NOCOP=1 w rejestrze CONFIG. Bit ten może być ustawiany i zerowany programowo, a jego stan jest utrzymywany nawet po wyłączeniu zasilania, ponieważ rejestr CONFIG jest wykonany jako komórka EEPROM. Z tego względu dowolna zmiana bitu NOCOP zostanie uaktywniona dopiero po następnym resecie. Do określenia długości odcinka czasu odmierzanego przez timer COPa służą bity CR0 i CR1 w rejestrze OPTION. Konkretne wartości pokazuje tabela 10. Częstotliwość CR1 CR0 E 2 15 k 2 23 Hz 8 MHz 4 Mhz dzielone przez Czas okresu ,625 ms 16,384 ms 32,768 ms ,5 ms 65,536 ms 131,07 ms ms 262,14 ms 524,29 ms s 1,049 ms 2,1 s 2,1 MHz 2 MHz 1 MHz Częstotliwość magistrali (zegar E) Tabela 10. Przerwania. Obsługa przerwania. Gdy pojawi się przerwanie ( i nie jest zamaskowane), wykonywana instrukcja skończy się normalnie. Adres następnej instrukcji (aktualna wartość licznika programu) jest zapisywany na stosie. Na stos zrzucane są wszystkie rejestry CPU ( w kolejności: PC, IY, IX, A, B,CCR). Dane 16 bitowe składane są w następującej kolejności: najpierw młodszy, potem starszy bajt. Wskaźnik stosu jest dekrementowany po każdym załadowaniu bajtu na stos. W celu zablokowania obsługi innych przerwań ustawiany jest bit I (dla przerwania XIRQ bity X i I) w rejestrze CCR. Wtedy rozpoczyna się właściwa obsługa przerwania. Licznik programu przyjmuje adres specyfikowany przez wektor przerwania o najwyższym priorytecie. Po

16 zakończeniu obsługi (instrukcja RTI) rejestry i licznik programu odczytywane są ze stosu, co przywraca stan sprzed przyjęcia przerwania. Istnieje 17 przerwań sprzętowych, 1 programowe (SWI) oraz omówione wcześniej resety. Większość posiada możliwość maskowania za pomocą rejestru CCR, oraz indywidualne bity maskujące w różnych rejestrach kontrolnych. Bity maskujące oraz hierarchie przerwań zebrano w tabeli 11. Największy priorytet mają ostatnie wiersze (tabela poukładana według rosnącego priorytetu). Dodatkowe objaśnienia w tabelach 11.1 i Tabela 11. WEKTOR PRZERWANIE Bit maski w CCR Maska lokalna FFC0,C1 Zarezerwowane FFD4,D5 zarezerwowane - - FFD6,D7 SCI I Tabela 11.1 FFD8,D9 SPI zakończenie transmisji I SPIE FFDA,DB Pulse Accumulator Input Edge I PAII FFDC,DD Pulse Accumulator Overflow I PAOVI FFDE,DF Timer Overflow I TOI FFE0,E1 Timer Output Compare 5 I OC5I FFE2,E3 Timer Output Compare 4 I OC4I FFE4,E5 Timer Output Compare 3 I OC3I FFE6,E7 Timer Output Compare 2 I OC2I FFE8,E9 Timer Output Compare 1 I OC1I FFEA,EB Timer Input Capture 3 I IC3I FFEC,ED Timer Input Capture 2 I IC2I FFEE,EF Timer Input Capture 1 I IC1I FFF0,F1 RTI Real Time Interrupt I RTII FFF2,F3 ~IRQ I Tabela 11.2 FFF4,F5 ~XIRQ pin X Brak FFF6,F7 SWI Brak Brak FFF8,F9 Pułapka nielegalnej instrukcji Brak Brak FFFA.FB Reset wykrycia błędu COP Brak NOCOP FFFC,FD Reset od błędu zegara Brak CME FFFE,FF ~RESET Brak Brak Tab 11.1 Przyczyna przerwania (malejący priorytet) Przepełnienie rejestru odbiorczego Maska lokalna RIE

17 Receiver Overrrun Pusty rejestr nadawczy Koniec transmisji Wykrycie linii Idle RIE TIE TCIE ILIE Tab.11.2 Przyczyna przerwania External pin Parallel I/O Handshake Maska lokalna Brak STAI Wprowadzono priorytety przerwań w celu rozstrzygnięcia przypadku jednoczesnego żądania obsługi. Największy priorytet posiadają przerwania niemaskowalne (~RESET, Reset od błędu zegara, Reset wykrycia błędu COP, nielegalna instrukcja, SWI, ~XIRQ pin). Instrukcja SWI powoduje, że od momentu pobrania jej kodu do pobrania wektora, żadne inne przerwanie nie jest przyjmowane. Dla przerwań maskowalnych bitem I w rejestrze CCR istnieje możliwość zmiany priorytetu jednego z nich na największy. Wybrane przerwanie otrzymuje najwyższy priorytet wśród przerwań maskowalnych, ale dalej ma niższy priorytet od przerwań niemaskowalnych. Do zmiany priorytetu służą bity PSEL0-3 w rejestrze HPRIO (rys. 12 i tabela 13). Rys. 12 rejestr HPRIO Adres $103C Bity: Odczyt: RBOOT SMOD MDA IRV PSEL3 PSEL2 PSEL1 PSEL0 Zapis: Reset: Tabela 13 ustalanie przerwania o najwyższym priorytecie: PSEL3 PSEL2 PSEL1 PSEL0 PRZERWANIE O NAJWYŻSZYM PRIORYTECIE Timer overflow Pulse accumulator overflow Pulse accumulator input edge Zakończenie transferu SPI SCI Zarezerwowane (domyślnie dla ~IRQ) ~IRQ (zewnętrzne wyprowadzenie lub równoległe we/wy) RTI Real Time Interrupt

18 Timer input capture Timer input capture Timer input capture Timer output compare Timer output compare Timer output compare Timer output compare Timer output compare 5 Bity PSEL0-PSEL3 (Priority Select) Służą do wyboru przerwania o najwyższym priorytecie. Mogą być zapisywane tylko przy ustawionym bicie I w rejestrze CCR. SMOD (Special Mode) Stan bitu odzwierciedla negację pinu MODB podczas resetu ( 1 oznacza któryś z trybów Special ). Może być programowo wyzerowany (zmiana aktualnego modu), jedna nie może być powtórnie ustawiony. RBOOT (Read Bootstrap ROM) Ma znaczenie tylko przy SMOD=1, w przeciwnym wypadku zawsze wyzerowany i niemożliwy do zapisania. RBOOT=1 odblokowuje pierwotny program ładujący (bootloader) w trybie Special Bootstrap MDA (Mode Select A) Odzwierciedla stan pinu MODA przy narastającym zboczu resetu. Gdy SMOD=1 może być zapisywany (zmieniając aktualny tryb pracy). Gdy SMOD=0 może być tylko odczytywany (tryby pracy Normal ). IRV (Internal Read Visibility) Jest możliwy do zapisu tylko przy SMOD=1. IRV=1 w trybach Special umożliwia wizualizację wewnętrznych odczytów na zewnętrznej magistrali. Gdy SMOD=0 to IRV=0. Rysunki 14.1 i 14.2 pokazują zachowanie procesora od momentu resetu. Po każdym pobraniu instrukcji sprawdzane są żądania przerwań. Rysunki 15.1 i 15.2 obrazują rozwiązania wyboru przerwania o najwyższym priorytecie.

19

20 Rys. 14.1

21 Rys. 14.2

22 Rys Rys. 15.2

23 Spiętrzenia stanów wyjątkowych. A. Równoczesne RESETY Wybrany zostanie reset o najwyższym priorytecie w kolejności: 1. Power on reset 2. Reset zewnętrzny 3. Reset od błędu zegara 4. Reset od układu COP Watchdog B. RESET i przerwanie. Najpierw nastąpi obsługa resetu. Po resecie następuje blokowanie przerwań, dlatego żeby przerwania mogły być obsługiwane należy najpierw je odblokować. C. Kilka przerwań równocześnie. Ponieważ przed pobraniem wektora przerwania ustawiane są bity I, X pojawienie się kolejnego przerwania zostanie zignorowane. Wyjątek stanowi przypadek gdy najpierw pojawia się przerwanie z grupy maskowalnych bitem I, a w trakcie jego obsługi pojawi się ~XIRQ. Ponieważ wejście w obsługę przerwania maskowalnego bitem I nie powoduje ustawienia bitu X, więc jeśli pojawi się ~XIRQ zostanie ono obsłużone pierwsze. Poniżej przedstawiono kombinacje różnych przerwań: C1. Nielegalna instrukcja, SWI - przypadek niemożliwy (instrukcja SWI nie jest nielegalna ) C2. Nielegalna instrukcja w procedurze obsługi SWI - pierwsza warstwa na stosie będzie zawierać stan rejestrów zastanych przez instrukcję SWI, pojawienie się nielegalnej instrukcji spowoduje odłożenie kolejnej warstwy na stosie i wejście w obsługę nielegalnej instrukcji. C3. Najpierw nielegalna instrukcja, później ~XIRQ - ~XIRQ zostanie obsłużone po zakończeniu obsługi nielegalnej instrukcji (ponieważ na początku obsługi nielegalnej instrukcji ustawiane są bity X,I). C4. Nielegalna instrukcja w procedurze obsługi ~XIRQ - pierwsza warstwa na stosie będzie zawierać stan rejestrów zastanych przez ~XIRQ, pojawienie się nielegalnej instrukcji spowoduje odłożenie kolejnej warstwy na stosie i wejście w obsługę nielegalnej instrukcji. C5. Nielegalna instrukcja, ~IRQ - ~IRQ zostanie obsłużone po zakończeniu obsługi nielegalnej instrukcji (ponieważ na początku obsługi nielegalnej instrukcji ustawiane są bity X,I). C6. Nielegalna instrukcja w procedurze obsługi ~IRQ - pierwsza warstwa na stosie będzie zawierać stan rejestrów zastanych przez ~IRQ, pojawienie się nielegalnej instrukcji spowoduje odłożenie kolejnej warstwy na stosie i wejście w obsługę nielegalnej instrukcji.

24 C7. Nielegalna instrukcja, RTI - ponieważ nielegalna instrukcja ustawia bity X,I, a obsługa RTI nie może się rozpocząć przy ustawionym bicie I, RTI może zostać obsłużone dopiero po zakończeniu obsługi nielegalnej instrukcji (jeśli bit I zostanie wyzerowany). C8. Nielegalna instrukcja w procedurze obsługi RTI - pierwsza warstwa na stosie będzie zawierać stan rejestrów zastanych przez RTI, pojawienie się nielegalnej instrukcji spowoduje odłożenie kolejnej warstwy na stosie i wejście w obsługę nielegalnej instrukcji. C9. Nielegalna instrukcja, Timer Input Capture - ponieważ nielegalna instrukcja ustawia bity X,I, a obsługa Timer Input Capture nie może się rozpocząć przy ustawionym bicie I, Timer Input Capture może zostać obsłużone dopiero po zakończeniu obsługi nielegalnej instrukcji (jeśli bit I zostanie wyzerowany). C10. Nielegalna instrukcja, Timer Output Compare - ponieważ nielegalna instrukcja ustawia bity X,I, a obsługa Timer Output Compare nie może się rozpocząć przy ustawionym bicie I, Timer Output Compare może zostać obsłużone dopiero po zakończeniu obsługi nielegalnej instrukcji (jeśli bit I zostanie wyzerowany). C11. Nielegalna instrukcja, Timer Overflow - ponieważ nielegalna instrukcja ustawia bity X,I, a obsługa Timer Overflow nie może się rozpocząć przy ustawionym bicie I, Timer Overflow może zostać obsłużone dopiero po zakończeniu obsługi nielegalnej instrukcji (jeśli bit I zostanie wyzerowany). C12. Nielegalna instrukcja, Pulse Accumulator Overflow - ponieważ nielegalna instrukcja ustawia bity X,I, a obsługa Pulse Accumulator Overflow nie może się rozpocząć przy ustawionym bicie I, Pulse Accumulator Overflow może zostać obsłużone dopiero po zakończeniu obsługi nielegalnej instrukcji (jeśli bit I zostanie wyzerowany). C13. Nielegalna instrukcja, Pulse Accumulator Input Edge - ponieważ nielegalna instrukcja ustawia bity X,I, a obsługa Pulse Accumulator Input Edge nie może się rozpocząć przy ustawionym bicie I, Pulse Accumulator Input Edge może zostać obsłużone dopiero po zakończeniu obsługi nielegalnej instrukcji (jeśli bit I zostanie wyzerowany). C14. Nielegalna instrukcja, SPI zakończenie transmisji - ponieważ nielegalna instrukcja ustawia bity X,I, a obsługa SPI nie może się rozpocząć przy ustawionym bicie I, SPI może zostać obsłużone dopiero po zakończeniu obsługi nielegalnej instrukcji (jeśli bit I zostanie wyzerowany). C15. Nielegalna instrukcja, SCI - ponieważ nielegalna instrukcja ustawia bity X,I, a obsługa SCI nie może się rozpocząć przy ustawionym bicie I, SCI może zostać obsłużone dopiero po zakończeniu obsługi nielegalnej instrukcji (jeśli bit I zostanie wyzerowany). C16. SWI, ~XIRQ

25 - ponieważ SWI powoduje ustawienie bitów X,I przerwanie niemaskowalne nie może zostać obsłużone w trakcie obsługi SWI C17. SWI, ~IRQ - ponieważ SWI powoduje ustawienie bitów X,I przerwanie maskowalne nie może zostać obsłużone w trakcie obsługi SWI C18. SWI, RTI - ponieważ SWI powoduje ustawienie bitów X,I przerwanie Real Time Interrupt nie może zostać obsłużone w trakcie obsługi SWI C19. SWI, Timer Input Capture - ponieważ SWI powoduje ustawienie bitów X,I przerwanie Timer Input Capture nie może zostać obsłużone w trakcie obsługi SWI C20. SWI, Timer Output Compare - ponieważ SWI powoduje ustawienie bitów X,I przerwanie Timer Output Compare nie może zostać obsłużone w trakcie obsługi SWI C21. SWI, Timer Overflow - ponieważ SWI powoduje ustawienie bitów X,I przerwanie Timer Overflow nie może zostać obsłużone w trakcie obsługi SWI C22. SWI, Pulse Accumulator Overflow - ponieważ SWI powoduje ustawienie bitów X,I przerwanie Pulse Accumulator Overflow nie może zostać obsłużone w trakcie obsługi SWI C23. SWI, Pulse Accumulator Input Edge - ponieważ SWI powoduje ustawienie bitów X,I przerwanie Pulse Accumulator Input Edge nie może zostać obsłużone w trakcie obsługi SWI C24. SWI, SPI zakończenie transmisji - ponieważ SWI powoduje ustawienie bitów X,I przerwanie SPI nie może zostać obsłużone w trakcie obsługi SWI C25. SWI, SCI - ponieważ SWI powoduje ustawienie bitów X,I przerwanie SCI nie może zostać obsłużone w trakcie obsługi SWI C26. Najpierw ~XIRQ, później ~IRQ - ponieważ przed rozpoczęciem obsługi ~XIRQ ustawiane są bity X i I, przerwanie ~IRQ nie zostanie obsłużone; jego obsługa może nastąpić dopiero po wyzerowaniu bitu I. C27. W trakcie obsługi ~IRQ pojawia się przerwanie ~XIRQ - ponieważ wejście w obsługę przerwania ~IRQ nie powoduje ustawienia bitu X, pojawienie się ~XIRQ spowoduje przerwanie obsługi ~IRQ i zapisanie kolejnej warstwy na stosie (od XIRQ). Po zakończeniu obsługi ~XIRQ nastąpi ściągnięcie ze stosu warstwy od ~XIRQ i kontynuowanie obsługi ~IRQ. C28. Najpierw ~XIRQ, później RTI

26 - ponieważ przed rozpoczęciem obsługi ~XIRQ ustawiane są bity X i I, przerwanie RTI nie zostanie obsłużone; jego obsługa może nastąpić dopiero po wyzerowaniu bitu I (i ustawieniu bitu RTII). C29. W trakcie obsługi RTI pojawia się przerwanie ~XIRQ - ponieważ wejście w obsługę przerwania RTI nie powoduje ustawienia bitu X, pojawienie się ~XIRQ spowoduje przerwanie obsługi RTI i zapisanie kolejnej warstwy na stosie (od XIRQ). Po zakończeniu obsługi ~XIRQ nastąpi ściągnięcie ze stosu warstwy od ~XIRQ i kontynuowanie obsługi RTI. C30. Najpierw ~XIRQ, później Timer Input Capture - ponieważ przed rozpoczęciem obsługi ~XIRQ ustawiane są bity X i I, przerwanie Timer Input Capture nie zostanie obsłużone; jego obsługa może nastąpić dopiero po wyzerowaniu bitu I (i ustawieniu odpowiedniego bitu IC1...3I). C31. W trakcie obsługi Timer Input Capture pojawia się przerwanie ~XIRQ - ponieważ wejście w obsługę Timer Input Capture nie powoduje ustawienia bitu X, pojawienie się ~XIRQ spowoduje przerwanie obsługi Timer Input Capture i zapisanie kolejnej warstwy na stosie (od XIRQ). Po zakończeniu obsługi ~XIRQ nastąpi ściągnięcie ze stosu warstwy od ~XIRQ i kontynuowanie obsługi Timer Input Capture. C32. Najpierw ~XIRQ, później Timer Output Compare - ponieważ przed rozpoczęciem obsługi ~XIRQ ustawiane są bity X i I, przerwanie Timer Output Compare nie zostanie obsłużone; jego obsługa może nastąpić dopiero po wyzerowaniu bitu I (i przy ustawionym odpowiednim bicie OC1...5I). C33. W trakcie obsługi Timer Output Compare pojawia się przerwanie ~XIRQ - ponieważ wejście w obsługę Timer Output Compare nie powoduje ustawienia bitu X, pojawienie się ~XIRQ spowoduje przerwanie obsługi Timer Output Compare i zapisanie kolejnej warstwy na stosie (od XIRQ). Po zakończeniu obsługi ~XIRQ nastąpi ściągnięcie ze stosu warstwy od ~XIRQ i kontynuowanie obsługi Timer Output Compare. C34. Najpierw ~XIRQ, później Timer Overflow - ponieważ przed rozpoczęciem obsługi ~XIRQ ustawiane są bity X i I, przerwanie Timer Overflow nie zostanie obsłużone; jego obsługa może nastąpić dopiero po wyzerowaniu bitu I (i przy ustawionym bicie TOI). C35. W trakcie obsługi Timer Overflow pojawia się przerwanie ~XIRQ - ponieważ wejście w obsługę Timer Overflow nie powoduje ustawienia bitu X, pojawienie się ~XIRQ spowoduje przerwanie obsługi Timer Overflow i zapisanie kolejnej warstwy na stosie (od XIRQ). Po zakończeniu obsługi ~XIRQ nastąpi ściągnięcie ze stosu warstwy od ~XIRQ i kontynuowanie obsługi Timer Overflow. C36. Najpierw ~XIRQ, później Pulse Accumulator Overflow - ponieważ przed rozpoczęciem obsługi ~XIRQ ustawiane są bity X i I, przerwanie Pulse Accumulator Overflow nie zostanie obsłużone; jego obsługa może nastąpić dopiero po wyzerowaniu bitu I (i przy ustawionym bicie PAOVI). C37. W trakcie obsługi Pulse Accumulator Overflow pojawia się przerwanie ~XIRQ

27 - ponieważ wejście w obsługę Pulse Accumulator Overflow nie powoduje ustawienia bitu X, pojawienie się ~XIRQ spowoduje przerwanie obsługi Pulse Accumulator Overflow i zapisanie kolejnej warstwy na stosie (od XIRQ). Po zakończeniu obsługi ~XIRQ nastąpi ściągnięcie ze stosu warstwy od ~XIRQ i kontynuowanie obsługi Pulse Accumulator Overflow. C38. Najpierw ~XIRQ, później Pulse Accumulator Input Edge - ponieważ przed rozpoczęciem obsługi ~XIRQ ustawiane są bity X i I, przerwanie Pulse Accumulator Input Edge nie zostanie obsłużone; jego obsługa może nastąpić dopiero po wyzerowaniu bitu I (i przy ustawionym bicie PAII). C39. W trakcie obsługi Pulse Accumulator Input Edge pojawia się przerwanie ~XIRQ - ponieważ wejście w obsługę Pulse Accumulator Input Edge nie powoduje ustawienia bitu X, pojawienie się ~XIRQ spowoduje przerwanie obsługi Pulse Accumulator Input Edge i zapisanie kolejnej warstwy na stosie (od XIRQ). Po zakończeniu obsługi ~XIRQ nastąpi ściągnięcie ze stosu warstwy od ~XIRQ i kontynuowanie obsługi Pulse Accumulator Input Edge. C40. Najpierw ~XIRQ, później SPI - ponieważ przed rozpoczęciem obsługi ~XIRQ ustawiane są bity X i I, przerwanie SPI nie zostanie obsłużone; jego obsługa może nastąpić dopiero po wyzerowaniu bitu I (i przy ustawionym bicie SPIE). C41. W trakcie obsługi SPI pojawia się przerwanie ~XIRQ - ponieważ wejście w obsługę SPI nie powoduje ustawienia bitu X, pojawienie się ~XIRQ spowoduje przerwanie obsługi SPI i zapisanie kolejnej warstwy na stosie (od XIRQ). Po zakończeniu obsługi ~XIRQ nastąpi ściągnięcie ze stosu warstwy od ~XIRQ i kontynuowanie obsługi SPI. C42. Najpierw ~XIRQ, później SCI - ponieważ przed rozpoczęciem obsługi ~XIRQ ustawiane są bity X i I, przerwanie SCI nie zostanie obsłużone; jego obsługa może nastąpić dopiero po wyzerowaniu bitu I (i przy ustawionym odpowiednim bicie maski dla SCI). C43. W trakcie obsługi SCI pojawia się przerwanie ~XIRQ - ponieważ wejście w obsługę SCI nie powoduje ustawienia bitu X, pojawienie się ~XIRQ spowoduje przerwanie obsługi SCI i zapisanie kolejnej warstwy na stosie (od XIRQ). Po zakończeniu obsługi ~XIRQ nastąpi ściągnięcie ze stosu warstwy od ~XIRQ i kontynuowanie obsługi SCI. C44. Równocześnie ~IRQ, RTI - RTI ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi ~IRQ (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C45. W trakcie obsługi RTI pojawia się ~IRQ - ponieważ przed wejściem w obsługę RTI został ustawiony bit I, przerwanie ~IRQ nie zostanie obsłużone. C46. Równocześnie ~IRQ, Timer Input Capture

28 - Timer Input Capture ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi ~IRQ (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C47. W trakcie obsługi Timer Input Capture pojawia się ~IRQ - ponieważ przed wejściem w obsługę Timer Input Capture został ustawiony bit I, przerwanie ~IRQ nie zostanie obsłużone. C48. Równocześnie ~IRQ, Timer Output Compare - Timer Output Compare ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi ~IRQ (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C49. W trakcie obsługi Timer Output Compare pojawia się ~IRQ - ponieważ przed wejściem w obsługę Timer Output Compare został ustawiony bit I, przerwanie ~IRQ nie zostanie obsłużone. C50. Równocześnie ~IRQ, Timer Overflow - Timer Overflow ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi ~IRQ (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C51. W trakcie obsługi Timer Overflow pojawia się ~IRQ - ponieważ przed wejściem w obsługę Timer Overflow został ustawiony bit I, przerwanie ~IRQ nie zostanie obsłużone. C52. Równocześnie ~IRQ, Pulse Accumulator Overflow - Pulse Accumulator Overflow ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi ~IRQ (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C53. W trakcie obsługi Pulse Accumulator Overflow pojawia się ~IRQ - ponieważ przed wejściem w obsługę Pulse Accumulator Overflow został ustawiony bit I, przerwanie ~IRQ nie zostanie obsłużone. C54. Równocześnie ~IRQ, Pulse Accumulator Input Edge - Pulse Accumulator Input Edge ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi ~IRQ (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C55. W trakcie obsługi Pulse Accumulator Input Edge pojawia się ~IRQ - ponieważ przed wejściem w obsługę Pulse Accumulator Input Edge został ustawiony bit I, przerwanie ~IRQ nie zostanie obsłużone. C56. Równocześnie ~IRQ, SPI - SPI ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi ~IRQ (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C57. W trakcie obsługi SPI pojawia się ~IRQ

29 - ponieważ przed wejściem w obsługę SPI został ustawiony bit I, przerwanie ~IRQ nie zostanie obsłużone. C58. Równocześnie ~IRQ, SCI - SCI ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi ~IRQ (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C59. W trakcie obsługi SCI pojawia się ~IRQ - ponieważ przed wejściem w obsługę SCI został ustawiony bit I, przerwanie ~IRQ nie zostanie obsłużone. C60. Równocześnie RTI, Timer Input Capture - Timer Input Capture ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi RTI (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C61. W trakcie obsługi Timer Input Capture pojawia się RTI - ponieważ przed wejściem w obsługę Timer Input Capture został ustawiony bit I, przerwanie RTI nie zostanie obsłużone. C62. Równocześnie RTI, Timer Output Compare - Timer Output Compare ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi RTI (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C63. W trakcie obsługi Timer Output Compare pojawia się RTI - ponieważ przed wejściem w obsługę Timer Output Compare został ustawiony bit I, przerwanie RTI nie zostanie obsłużone. C64. Równocześnie RTI, Timer Overflow - Timer Overflow ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi RTI (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C65. W trakcie obsługi Timer Overflow pojawia się RTI - ponieważ przed wejściem w obsługę Timer Overflow został ustawiony bit I, przerwanie RTI nie zostanie obsłużone. C66. Równocześnie RTI, Pulse Accumulator Overflow - Pulse Accumulator Overflow ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi RTI (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C67. W trakcie obsługi Pulse Accumulator Overflow pojawia się RTI - ponieważ przed wejściem w obsługę Pulse Accumulator Overflow został ustawiony bit I, przerwanie RTI nie zostanie obsłużone. C68. Równocześnie RTI, Pulse Accumulator Input Edge

30 - Pulse Accumulator Input Edge ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi RTI (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C69. W trakcie obsługi Pulse Accumulator Input Edge pojawia się RTI - ponieważ przed wejściem w obsługę Pulse Accumulator Input Edge został ustawiony bit I, przerwanie RTI nie zostanie obsłużone. C70. Równocześnie RTI, SPI - SPI ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi RTI (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C71. W trakcie obsługi SPI pojawia się RTI - ponieważ przed wejściem w obsługę SPI został ustawiony bit I, przerwanie RTI nie zostanie obsłużone. C72. Równocześnie RTI, SCI - SCI ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi RTI (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C73. W trakcie obsługi SCI pojawia się RTI - ponieważ przed wejściem w obsługę SCI został ustawiony bit I, przerwanie RTI nie zostanie obsłużone. C74. Równocześnie Timer Input Capture, Timer Output Compare - Timer Output Compare ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Input Capture (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C75. W trakcie obsługi Timer Output Compare pojawia się Timer Input Capture - ponieważ przed wejściem w obsługę Timer Output Compare został ustawiony bit I, przerwanie Timer Input Capture nie zostanie obsłużone. C76. Równocześnie Timer Input Capture, Timer Overflow - Timer Overflow ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Input Capture (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C77. W trakcie obsługi Timer Overflow pojawia się Timer Input Capture - ponieważ przed wejściem w obsługę Timer Overflow został ustawiony bit I, przerwanie Timer Input Capture nie zostanie obsłużone. C78. Równocześnie Timer Input Capture, Pulse Accumulator Overflow - Pulse Accumulator Overflow ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Input Capture (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C79. W trakcie obsługi Pulse Accumulator Overflow pojawia się Timer Input Capture - ponieważ przed wejściem w obsługę Pulse Accumulator Overflow został ustawiony bit I, przerwanie Timer Input Capture nie zostanie obsłużone.

31 C80. Równocześnie Timer Input Capture, Pulse Accumulator Input Edge - Pulse Accumulator Input Edge ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Input Capture (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C81. W trakcie obsługi Pulse Accumulator Input Edge pojawia się Timer Input Capture - ponieważ przed wejściem w obsługę Pulse Accumulator Input Edge został ustawiony bit I, przerwanie Timer Input Capture nie zostanie obsłużone. C82. Równocześnie Timer Input Capture, SPI - SPI ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Input Capture (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C83. W trakcie obsługi SPI pojawia się Timer Input Capture - ponieważ przed wejściem w obsługę SPI został ustawiony bit I, przerwanie Timer Input Capture nie zostanie obsłużone. C84. Równocześnie Timer Input Capture, SCI - SCI ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Input Capture (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C85. W trakcie obsługi SCI pojawia się Timer Input Capture - ponieważ przed wejściem w obsługę SCI został ustawiony bit I, przerwanie Timer Input Capture nie zostanie obsłużone. C86. Równocześnie Timer Output Compare, Timer Overflow - Timer Overflow ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Output Compare (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C87. W trakcie obsługi Timer Overflow pojawia się Timer Output Compare - ponieważ przed wejściem w obsługę Timer Overflow został ustawiony bit I, przerwanie Timer Output Compare nie zostanie obsłużone. C88. Równocześnie Timer Output Compare, Pulse Accumulator Overflow - Pulse Accumulator Overflow ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Output Compare (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C89. W trakcie obsługi Pulse Accumulator Overflow pojawia się Timer Output Compare - ponieważ przed wejściem w obsługę Pulse Accumulator Overflow został ustawiony bit I, przerwanie Timer Output Compare nie zostanie obsłużone. C90. Równocześnie Timer Output Compare, Pulse Accumulator Input Edge - Pulse Accumulator Input Edge ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Output Compare (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO).

32 C91. W trakcie obsługi Pulse Accumulator Input Edge pojawia się Timer Output Compare - ponieważ przed wejściem w obsługę Pulse Accumulator Input Edge został ustawiony bit I, przerwanie Timer Output Compare nie zostanie obsłużone. C92. Równocześnie Timer Output Compare, SPI - SPI ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Output Compare (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C93. W trakcie obsługi SPI pojawia się Timer Output Compare - ponieważ przed wejściem w obsługę SPI został ustawiony bit I, przerwanie Timer Output Compare nie zostanie obsłużone. C94. Równocześnie Timer Output Compare, SCI - SCI ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Output Compare (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C95. W trakcie obsługi SCI pojawia się Timer Output Compare - ponieważ przed wejściem w obsługę SCI został ustawiony bit I, przerwanie Timer Output Compare nie zostanie obsłużone. C96. Równocześnie Timer Overflow, Pulse Accumulator Overflow - Pulse Accumulator Overflow ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Overflow (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C97. W trakcie obsługi Pulse Accumulator Overflow pojawia się Timer Overflow - ponieważ przed wejściem w obsługę Pulse Accumulator Overflow został ustawiony bit I, przerwanie Timer Overflow nie zostanie obsłużone. C98. Równocześnie Timer Overflow, Pulse Accumulator Input Edge - Pulse Accumulator Input Edge ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Overflow (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C99. W trakcie obsługi Pulse Accumulator Input Edge pojawia się Timer Overflow - ponieważ przed wejściem w obsługę Pulse Accumulator Input Edge został ustawiony bit I, przerwanie Timer Overflow nie zostanie obsłużone. C100. Równocześnie Timer Overflow, SPI - SPI ma niższy priorytet i nie zostanie obsłużone przed końcem obsługi Timer Overflow (chyba, że ma ustawiony najwyższy priorytet wśród przerwań maskowalnych bitem I w rejestrze HPRIO). C101. W trakcie obsługi SPI pojawia się Timer Overflow - ponieważ przed wejściem w obsługę SPI został ustawiony bit I, przerwanie Timer Overflow nie zostanie obsłużone. C102. Równocześnie Timer Overflow, SCI

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2

Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Technika mikroprocesorowa I Studia niestacjonarne rok II Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci,

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 2

Technika mikroprocesorowa I Wykład 2 Technika mikroprocesorowa I Wykład 2 Literatura: www.zilog.com Z80 Family, CPU User Manual Cykle magistrali w mikroprocesorze Z80 -odczyt kodu rozkazu, -odczyt-zapis pamięci, -odczyt-zapis urządzenia we-wy,

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne UWAGA Nazwy rejestrów i bitów, ich lokalizacja itd. odnoszą się do mikrokontrolera ATmega32 i mogą być inne w innych modelach!

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Współpraca z układami peryferyjnymi i urządzeniami zewnętrznymi Testowanie programowe (odpytywanie, przeglądanie) System przerwań Testowanie programowe

Bardziej szczegółowo

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 Układ PCF 8583 jest pobierającą małą moc, 2048 bitową statyczną pamięcią CMOS RAM o organizacji 256 x 8 bitów. Adresy i dane są przesyłane szeregowo

Bardziej szczegółowo

Układy czasowo-licznikowe w systemach mikroprocesorowych

Układy czasowo-licznikowe w systemach mikroprocesorowych Układy czasowo-licznikowe w systemach mikroprocesorowych 1 W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość

Bardziej szczegółowo

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

Bardziej szczegółowo

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę

Bardziej szczegółowo

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

Przerwania, polling, timery - wykład 9

Przerwania, polling, timery - wykład 9 SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240 LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ Mechanizm przerwań i menadżer zdarzeń procesora sygnałowego F/C240 Strona 1 z 12 Opracował mgr inż. Jacek Lis (c) ZNE 2004 1. Mechanizm przerwań

Bardziej szczegółowo

Wbudowane układy peryferyjne cz. 1 Wykład 7

Wbudowane układy peryferyjne cz. 1 Wykład 7 Wbudowane układy peryferyjne cz. 1 Wykład 7 Wbudowane układy peryferyjne UWAGA Nazwy rejestrów i bitów, ich lokalizacja itd. odnoszą się do mikrokontrolera ATmega32 i mogą być inne w innych modelach! Ponadto

Bardziej szczegółowo

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola Struktura systemu 68008 z układami peryferyjnymi 6821, 6050 Na rysunku 1.1 pokazano strukturę stanowiska z interfejsami

Bardziej szczegółowo

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali

Bardziej szczegółowo

Technika Mikroprocesorowa II Wykład 1

Technika Mikroprocesorowa II Wykład 1 Technika Mikroprocesorowa II Wykład Literatura: Mikroprocesor Motorola (Freescale) M68008 Mikroprocesor 68008 jest 8-mio bitowym (zewnętrzna magistrala danych) przedstawicielem mikroprocesorów o architekturze

Bardziej szczegółowo

Część I - Sterownik przerwań 8259A i zegar/licznik 8253

Część I - Sterownik przerwań 8259A i zegar/licznik 8253 Programowanie na poziome sprzętu opracowanie pytań Część I - Sterownik przerwań 8259A i zegar/licznik 8253 Autor opracowania: Marcin Skiba cines91@gmail.com 1. Jakie są dwie podstawowe metody obsługi urządzeń

Bardziej szczegółowo

Mikrokontroler AVR ATmega32 - wykład 9

Mikrokontroler AVR ATmega32 - wykład 9 SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 1 Mikrokontroler AVR ATmega32 - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 2 CechyµC ATmega32 1.

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2 Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2 Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

Bardziej szczegółowo

16. Szeregowy interfejs SPI

16. Szeregowy interfejs SPI 16. Szeregowy interfejs SPI Szeregowy interfejs SPI (Serial Peripherial Interface) służy do dwukierunkowej (full-duplex), synchronicznej transmisji danych pomiędzy mikrokontrolerem, a zewnętrznymi układami

Bardziej szczegółowo

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015 XMEGA Warsztaty CHIP Rok akademicki 2014/2015 Plan warsztatów: Wprowadzenie do Atmel Studio (20/11/2014) Porty I/O (20/11/2014) Przerwania (27/11/2014) Wykorzystana literatura: [1] Dokumentacja ATMEL(www.atmel.com):

Bardziej szczegółowo

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter UART Universal Asynchronous Receier- Transmiter Cel projektu: Zbudowanie układu transmisji znaków z komputera na wyświetlacz zamontowany na płycie Spartan-3AN, poprzez łacze RS i program TeraTerm. Laboratorium

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

Przerwania w systemie mikroprocesorowym. Obsługa urządzeo wejścia/wyjścia

Przerwania w systemie mikroprocesorowym. Obsługa urządzeo wejścia/wyjścia Przerwania w systemie mikroprocesorowym 1 Obsługa urządzeo wejścia/wyjścia W każdym systemie mikroprocesorowym oprócz pamięci programu i pamięci danych znajduje się szereg układów lub urządzeo wejścia/wyjścia,

Bardziej szczegółowo

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2.1 WPROWADZENIE Porty I/O mogą pracować w kilku trybach: - przesyłanie cyfrowych danych wejściowych i wyjściowych a także dla wybrane wyprowadzenia: - generacja przerwania

Bardziej szczegółowo

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie. Magistrala SPI Magistrala SPI składa się z linii: MOSI Master output Slave input MISO Master input Slave Output SCK Clock SS Slave select (CS Chip Select lub CE Chip Enable) Sygnał taktujący transmisję

Bardziej szczegółowo

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F

Bardziej szczegółowo

Programowanie mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów. 8 listopada 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Struktura portów (CISC) Port to grupa (zwykle 8) linii wejścia/wyjścia mikrokontrolera o podobnych cechach i funkcjach Większość linii we/wy może pełnić dwie lub trzy rozmaite funkcje. Struktura portu

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

Bardziej szczegółowo

Układy czasowo-licznikowe w systemach mikroprocesorowych

Układy czasowo-licznikowe w systemach mikroprocesorowych Układy czasowo-licznikowe w systemach mikroprocesorowych 1 W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,

Bardziej szczegółowo

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO IC200UDR002 8 wejść dyskretnych 24 VDC, logika dodatnia/ujemna. Licznik impulsów wysokiej częstotliwości. 6 wyjść przekaźnikowych 2.0 A. Port: RS232. Zasilanie: 24 VDC. Sterownik VersaMax Micro UDR002

Bardziej szczegółowo

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C-"

PC 3 PC^ TIMER IN RESET PC5 TIMER OUT. c 3. L 5 c.* Cl* 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 LTJ CO H 17 AD7 U C- PC 3 PC^ TIMER IN RESET PC5 TIMER OUT 10/H CE RO WR ALE ADO AD1 AD2 AD3 AD4 A05 A06 AD7 U ss c 3 L 5 c.* Cl* S 9 10 11 12 13 U 15 H 17 Cu C-" ln LTJ CO 2.12. Wielofunkcyjne układy współpracujące z mikroprocesorem

Bardziej szczegółowo

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4 1 Ćwiczenie nr 4 Program ćwiczenia: Interfejs szeregowy SPI obsługa sterownika ośmiopozycyjnego, 7-segmentowego wyświetlacza LED Interfejs szeregowy USART, komunikacja mikrokontrolera z komputerem PC.

Bardziej szczegółowo

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

Bardziej szczegółowo

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Cel ćwiczenia: Głównym celem ćwiczenia jest nauczenie się obsługi klawiatury. Klawiatura jest jednym z urządzeń wejściowych i prawie zawsze występuje

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 4

Technika mikroprocesorowa I Wykład 4 Technika mikroprocesorowa I Wykład 4 Układ czasowo licznikowy 8253 INTEL [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf] Wyprowadzenia układu [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf]

Bardziej szczegółowo

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA Mikrokontrolery AVR KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA Wyprowadzenia Każdy z mikrokontrolerów posiada pewną liczbę wyprowadzeń cyfrowych które służą do wprowadzania i odbierania informacji z mikrokontrolera.

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,

Bardziej szczegółowo

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia

Podstawy techniki cyfrowej i mikroprocesorowej II. Urządzenia wejścia-wyjścia Podstawy techniki cyfrowej i mikroprocesorowej II Urządzenia wejścia-wyjścia Tomasz Piasecki magistrala procesor pamięć wejście wyjście W systemie mikroprocesorowym CPU może współpracować za pośrednictwem

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Systematyczny przegląd. (CISC) SFR umieszczane są w wewnętrznej pamięci danych (80H 0FFH). Adresowanie wyłącznie bezpośrednie. Rejestry o adresach podzielnych przez 8 są też dostępne bitowo. Adres n-tego

Bardziej szczegółowo

TRD-MINI COMBO. Uniwersalny moduł czytnika transponderów UNIQUE - wersja OEM. Podstawowe cechy :

TRD-MINI COMBO. Uniwersalny moduł czytnika transponderów UNIQUE - wersja OEM. Podstawowe cechy : TRD-MINI COMBO Uniwersalny moduł czytnika transponderów UNIQUE - wersja OEM Podstawowe cechy : niewielkie rozmiary - 19 x 26 x 12 mm zasilanie od 3V do 6V 12 formatów danych wyjściowych tryb IDLE wyjście

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 12 Jan Kazimirski 1 Magistrale systemowe 2 Magistrale Magistrala medium łączące dwa lub więcej urządzeń Sygnał przesyłany magistralą może być odbierany przez wiele urządzeń

Bardziej szczegółowo

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników.

Sygnały DRQ i DACK jednego kanału zostały użyte do połączenia kaskadowego obydwu sterowników. Płyty główne Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Układ DMA Układ DMA zawiera dwa sterowniki przerwań 8237A połączone kaskadowo. Każdy sterownik 8237A

Bardziej szczegółowo

organizacja procesora 8086

organizacja procesora 8086 Systemy komputerowe Procesor 8086 - tendencji w organizacji procesora organizacja procesora 8086 " # $ " % strali " & ' ' ' ( )" % *"towego + ", -" danych. Magistrala adresowa jest 20.bitowa, co pozwala

Bardziej szczegółowo

Opis czytnika TRD-FLAT CLASSIC ver. 1.1. Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Opis czytnika TRD-FLAT CLASSIC ver. 1.1. Naścienny czytnik transponderów UNIQUE w płaskiej obudowie TRD-FLAT CLASSIC Naścienny czytnik transponderów UNIQUE w płaskiej obudowie Podstawowe cechy : zasilanie od 3V do 6V 4 formaty danych wyjściowych POWER LED w kolorze żółtym czerwono-zielony READY LED sterowany

Bardziej szczegółowo

Przykładowe pytania DSP 1

Przykładowe pytania DSP 1 Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..

Bardziej szczegółowo

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów2 2. ISP..2 3. I/O Ports..3 4. External Interrupts..4 5. Analog Comparator5 6. Analog-to-Digital Converter.6 7.

Bardziej szczegółowo

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1 Dodatek C 1. Timer 8-bitowy (Timer0) 1.1. Opis układu Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1 Rys. 1. Schemat blokowy timera Źródłem sygnału taktującego może być zegar

Bardziej szczegółowo

Architektura komputerów. Układy wejścia-wyjścia komputera

Architektura komputerów. Układy wejścia-wyjścia komputera Architektura komputerów Układy wejścia-wyjścia komputera Wspópraca komputera z urządzeniami zewnętrznymi Integracja urządzeń w systemach: sprzętowa - interfejs programowa - protokół sterujący Interfejs

Bardziej szczegółowo

Mikroprocesor Intel 8088 (8086)

Mikroprocesor Intel 8088 (8086) Mikroprocesor Intel 8088 (8086) Literatura: Mroziński Z.: Mikroprocesor 8086. WNT, Warszawa 1992 iapx 86,88 Users Manual Intel 80C86 Intersil 1997 [Źródło: www.swistak.pl] Architektura wewnętrzna procesora

Bardziej szczegółowo

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1

PRZERWANIA. P1 - Procedura obslugi przerwania. Obsługa zdarzenia Z1 poprzez procedurę obsługi przerwania P1 PRZERWANIA 1. Obsługa zdarzeń poprzez Obsługa polega na przerwaniu aktualnie wykonywanego procesu i wykonaniu procedury przypisanej danemu zdarzeniu gdy takie zdarzenie zajdzie. Procedura nazywa się procedurą

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 10 (3h) Implementacja interfejsu SPI w strukturze programowalnej Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

Programowanie Mikrokontrolerów

Programowanie Mikrokontrolerów Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:

Bardziej szczegółowo

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych. Ćwiczenie 9 Rejestry przesuwne i liczniki pierścieniowe. Cel. Poznanie właściwości i zasady działania rejestrów przesuwnych.. Poznanie właściwości i zasady działania liczników pierścieniowych. Wprowadzenie.

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Laboratorium

Mikroprocesory i Mikrosterowniki Laboratorium Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali

Bardziej szczegółowo

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego.

PRZERWANIA. 1. Obsługa zdarzeń, odpytywanie i przerwania Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. PRZERWANIA 1. Obsługa zdarzeń, odpytywanie i Obsługa zdarzeń jest jedną z kluczowych funkcji w prawie każdym systemie czasu rzeczywistego. Istnieją dwie metody pozyskania informacji o zdarzeniach: 1. Cykliczne

Bardziej szczegółowo

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe System mikroprocesorowy 1. Przedstaw schemat blokowy systemu mikroprocesorowego.

Bardziej szczegółowo

Programowanie mikrokontrolerów 2.0

Programowanie mikrokontrolerów 2.0 Programowanie mikrokontrolerów 2.0 Zegar czasu rzeczywistego Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 5 maja 2015 Zegar czasu rzeczywistego Niezależny układ RTC (ang.

Bardziej szczegółowo

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 ZEGAR CZASU RZECZYWISTEGO Ćwiczenie 4 Opracował: dr inŝ.

Bardziej szczegółowo

PUNKTOWE STEROWNIKI VERSAMAX MICRO

PUNKTOWE STEROWNIKI VERSAMAX MICRO 1.7 64-PUNKTOWE STEROWNIKI VERSAMAX MICRO IC200UDD064 40 wejść dyskretnych 24 VDC, 24 wyjścia tranzystorowe 24 VDC (zabezpieczenie przed zwarciem i przeciąŝeniem), wbudowany port RS232, drugi port dostępny

Bardziej szczegółowo

Język FBD w systemie Concept

Język FBD w systemie Concept Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

Instrukcja do ćwiczenia : Matryca komutacyjna

Instrukcja do ćwiczenia : Matryca komutacyjna Instrukcja do ćwiczenia : Matryca komutacyjna 1. Wstęp Każdy kanał w systemach ze zwielokrotnieniem czasowym jest jednocześnie określany przez swoją współrzędną czasową T i współrzędną przestrzenną S.

Bardziej szczegółowo

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną TRD-80 CLASSIC Moduł czytnika transponderów UNIQUE z wbudowaną anteną Podstawowe cechy : zasilanie od 3V do 6V zintegrowana antena 4 formaty danych wyjściowych wyjście BEEP wyjście PRESENT zasięg odczytu

Bardziej szczegółowo

Programowanie w językach asemblera i C

Programowanie w językach asemblera i C Programowanie w językach asemblera i C Mariusz NOWAK Programowanie w językach asemblera i C (1) 1 Dodawanie dwóch liczb - program Napisać program, który zsumuje dwie liczby. Wynik dodawania należy wysłać

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa Systemy wbudowane Mikrokontroler 8051 Budowa dr inż. Maciej Piechowiak Wprowadzenie rdzeń CPU z jednostką artymetyczno-logiczną (ALU) do obliczeń na liczbach 8-bitowych, uniwersalne dwukierunkowe porty

Bardziej szczegółowo

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Interfejsy można podzielić na synchroniczne (oddzielna linia zegara), np. I 2 C, SPI oraz asynchroniczne, np. CAN W rozwiązaniach synchronicznych

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Budowa systemu komputerowego Działanie systemu operacyjnego Jednostka centralna dysku Szyna systemowa (magistrala danych) drukarki pamięci operacyjnej I NIC sieci Pamięć operacyjna Przerwania Przerwania

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów AVR z rodziny ATmega. Programowanie mikrokontrolerów AVR z rodziny ATmega. Materiały pomocnicze Jakub Malewicz jakub.malewicz@pwr.wroc.pl Wszelkie prawa zastrzeżone. Kopiowanie w całości lub w częściach bez zgody i wiedzy autora

Bardziej szczegółowo

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro 1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie sterowania układem pozycjonowania z wykorzystaniem sterownika VersaMax Micro oraz silnika krokowego. Do algorytmu pozycjonowania wykorzystać licznik

Bardziej szczegółowo

Mikrokontrolery. System dydaktyczny z mikrokontrolerem (μc) Freescale (MC68HC908QT4A)

Mikrokontrolery. System dydaktyczny z mikrokontrolerem (μc) Freescale (MC68HC908QT4A) Mikrokontrolery System dydaktyczny z mikrokontrolerem (μc) Freescale (MC68HC908QT4A) Mikrokontrolery wiadomości wstępne Mikrokontroler Freescale MC68HC908QT4A - cechy charakterystyczne - architektura -

Bardziej szczegółowo

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy

Bardziej szczegółowo

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu

Bardziej szczegółowo

Opis układów wykorzystanych w aplikacji

Opis układów wykorzystanych w aplikacji Opis układów wykorzystanych w aplikacji Układ 74LS164 jest rejestrem przesuwnym służącym do zamiany informacji szeregowej na równoległą. Układ, którego symbol logiczny pokazuje rysunek 1, posiada dwa wejścia

Bardziej szczegółowo

ARCHITEKTURA PROCESORA,

ARCHITEKTURA PROCESORA, ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy

Bardziej szczegółowo

Prezentacja systemu RTLinux

Prezentacja systemu RTLinux Prezentacja systemu RTLinux Podstawowe założenia RTLinux jest system o twardych ograniczeniach czasowych (hard real-time). Inspiracją dla twórców RTLinux a była architektura systemu MERT. W zamierzeniach

Bardziej szczegółowo

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania).

Układy sekwencyjne. Podstawowe informacje o układach cyfrowych i przerzutnikach (rodzaje, sposoby wyzwalania). Ćw. 10 Układy sekwencyjne 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną układy rejestrów

Bardziej szczegółowo

Programowanie mikrokontrolerów. 5 grudnia 2007

Programowanie mikrokontrolerów. 5 grudnia 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 5 grudnia 2007 Przerwania Umożliwiają asynchroniczną obsługę różnych zdarzeń, np.: zmiana stanu wejścia, zakończenie przetwarzania analogowo-cyfrowego,

Bardziej szczegółowo

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy:

Pośredniczy we współpracy pomiędzy procesorem a urządzeniem we/wy. W szczególności do jego zadań należy: Współpraca mikroprocesora z urządzeniami zewnętrznymi Urządzenia wejścia-wyjścia, urządzenia których zadaniem jest komunikacja komputera z otoczeniem (zwykle bezpośrednio z użytkownikiem). Do najczęściej

Bardziej szczegółowo

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe MIKROKONTROLER RODZINY MCS 5 Cykl rozkazowy mikrokontrolera rodziny MCS 5 Mikroprocesory rodziny MCS 5 zawierają wewnętrzny generator sygnałów zegarowych ustalający czas trwania cyklu zegarowego Częstotliwość

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

Bardziej szczegółowo

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot, Charakterystyka mikrokontrolerów Przygotowali: Łukasz Glapiński, 171021 Mateusz Kocur, 171044 Adam Kokot, 171075 Plan prezentacji Co to jest mikrokontroler? Historia Budowa mikrokontrolera Wykorzystywane

Bardziej szczegółowo

Magistrala systemowa (System Bus)

Magistrala systemowa (System Bus) Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki systemowa (System Bus) Pamięć operacyjna ROM, RAM Jednostka centralna Układy we/wy In/Out Wstęp do Informatyki

Bardziej szczegółowo

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1.

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1. Dodatek D 1. Przetwornik analogowo-cyfrowy 1.1. Schemat blokowy Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1. Rys. 1. Schemat blokowy przetwornika A/C Przetwornik

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51 Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera

Bardziej szczegółowo

Działanie systemu operacyjnego

Działanie systemu operacyjnego Działanie systemu operacyjnego Budowa systemu komputerowego Jednostka centralna Sterownik dysku Sterownik drukarki Sterownik sieci Szyna systemowa (magistrala danych) Sterownik pamięci operacyjnej Pamięć

Bardziej szczegółowo

Expandery wejść MCP23S17 oraz MCP23017

Expandery wejść MCP23S17 oraz MCP23017 Expandery wejść MCP23S17 oraz MCP23017 Expander I/O MCP20S17 I2C Piny wyjściowe expanderów MCP23S17 oraz MCP23017 Expander I/O MCP23S17 SPI Podłączenie urządzenia na magistrali SPI z płytą Arduino. Linie

Bardziej szczegółowo

Technika mikroprocesorowa I Wykład 3

Technika mikroprocesorowa I Wykład 3 Technika mikroprocesorowa I Wykład 3 Instrukcje wejścia-wyjścia Z80 Odczyt na akumulator danej z urządzenia we-wy o adresie 8-mio bitowym n Odczyt do rejestru r danej z urządzenia we-wy o adresie zawartym

Bardziej szczegółowo

Wykład 12. Przetwornik ADC

Wykład 12. Przetwornik ADC Wykład 12 Przetwornik Przetwornik analogowo-cyfrowy () Moduł w mikrokontrolerach Stellaris posiada rozdzielczość 10-bitów i cztery kanały wejściowe oraz dodatkowo wewnętrzny czujnik temperatury. Moduł

Bardziej szczegółowo