MIKROKONTROLER 8051. Informacje ogólne. Jednoukładowy, 8-bitowy MK o rozbudowanych zasobach wew.: programowalne układy czasowo-licznikowe, układ transmisji szeregowej, układ przerwań, wew. pamięć danych i programu, 16-bitowa szyna adresowa (pozwala na dołączenie zew. pamięci danych i programu do 64 kB). MK generuje sygnał sterujący zew. buforem zatrzaskowym ALE, potrzebny z powodu multipleksowania szyny adresowej i szyny danych. Jednostka ALU współpracuje z akumulatorami ACC i B. Wykonuje następujące operacje: +; + z przeniesieniem; - z pożyczką; inc; dec; mnożenie; dzielenie; suma oraz iloczyn logiczny; zerowanie i negacja akumulatora; itd. Pamięć- MK posiada obszar 4 kB pamięci programu ROM programowalnej maską i 256 bajtową przestrzeń adresową pamięci RAM. Wew. pamięć danych RAM składa się na 2 bloki: a) dolna pamięć RAM zawierająca obszar 4 banków pamięci, obszar bitów adresowanych bezpośrednio i ciągły obszar pamięci RAM, b) górna pamięć RAM zawierająca obszar rejestrów specjalnych. W obszarze zarezerwowanym dla banków 4 banków pamięci, umieszczony jest stos programu. SP- wskaźnik stosu (standardowo na 07 h). Możliwe jest dołączenie zew. pamięci danych (do 64 kB). Pamięć programu przechowuje kody operacji przeznaczonych do wykonania przez mikroprocesor (może także służyć do przechowywania stałych w programie). Adresowana jest przez 16 bitowy licznik rozkazu PC. Można dołączyć zew. pamięć programu (do 64 kB). EA- ustala z której pamięci (wew. czy zew.) pobierane są rozkazy, gdy tylko z wew. to EA musi być w stanie wysokim. Jeśli pojemność wew. pamięci programu jest nie mała, część programu może być zapisana w pamięci zew. (przekroczenie przez licznik rozkazu wartości 0FFFH powoduje pobieranie rozkazów z zew. pamięci programu). PC zawiera adres aktualnego rozkazu przeznaczonego do wykonania. Blok rejestrów specjalnych SFR- znajduje się w obszarze pamięci danych (adresu 128- 240). Obszar jest wykorzystywany dwojako: a) umieszczone są w nim wszystkie (bez PC i rejestrów R0 - R7) rejestry sterujące pracą MK lub wykorzystywane bezpośrednio przy wykonywaniu programu, b) z drugiej strony rejestry SFR stanowią rodzaj interfejsu pomiędzy MK a układami peryferyjnymi umieszczonymi wew. MK. Do tych rejestrów możliwy jest dostęp tylko w trybie adresowania pośredniego. PORT we/wy P0, P1, P2 , P3 z pamięci. Układ transmisji szeregowej- łącze szeregowe MK umożliwia prowadzenie synchronicznej (half- duplex) lub asynchronicznej (full- duplex) transmisji danych. Podczas realizacji transmisji asynchronicznej nadawane dane wysyłane są linią TXD zaś odbierane przez linię RXD. Podczas transmisji synchronicznej dane są odbierane i nadawane po linii RXD a na linię TXD wysyłane jest sygnał taktujący. Do konfiguracji układu transmisji szeregowej służy rejestr specjalny SCON. Układ może pracować w 4 trybach: a) tryb 0- transmisja synchroniczna, stała prędkość, 8 bitów danych przesyłanych po linii RXD od najmłodszego, b) tryb 1- transmisja asynchroniczna z płynnie regulowaną prędkością przesyłu danych, pierwszy bit to bit startu 0, potem 8 bitów danych i bit stopu 1., c) tryb 2- transmisja asynchroniczna, dwie prędkości przesyłu danych zależne od częstotliwości zegara taktującego, d) tryb 3- podobnie jak w trybie 1 ale zamiast 8 bitów przesyłanych jest 9 bitów. Układ przerwań- priorytetowy dwupoziomowy. Układ jest specjalizowaną strukturą logiczną, której zadaniem jest monitorowanie stanu wskaźników przerwań i zgłaszanie faktu ustawienia określonego wskaźnika do układu sterowania. Przerwanie może być wywoałne przez 4 wskaźniki z rejestru TYCON (PT0, PT1, PX0, PX1, PS- port szeregowy). Do uaktywnienia poszczególnych przerwań i określenia ich priorytetów przeznaczone są rejestry IE i IP. Podczas realizacji procedury obsługi przerwania poziomu 0 może nastąpić jej przerwanie przez procedurą o poziomie 1- nie może jednak wystąpić sytuacja ( nie może także wystąpić przerwanie z tego samego poziomu)