MCS-51

Na tej stronie znajdują się linki do lokalnych stron z materiałami dotyczącymi mikrokontrolerów rodziny MCS-51, popularnie zwanych też 8051 lub 8052. Jak widać nie wszystkie zagadnienia zostały opracowane, jednak w miarę upływu czasu będą uzupełniane.

SPIS TREŚCI

  1. Architektura
    1. Organizacja pamięci
      1. Wewnętrzna pamięć danych
        1. Rejestry specjalne
        2. Stos
      2. Zewnętrzna pamięć danych
      3. Pamięć programu
    2. Słowo stanu programu
      1. Znacznik przeniesienia
      2. Znacznik przeniesienia pomocniczego
      3. Znaczniki wyboru banku rejestrów
      4. Znacznik nadmiaru
      5. Znacznik parzystości
    3. Liczniki T0 i T1
      1. Tryb 0
      2. Tryb 1
      3. Tryb 2
      4. Tryb 3
    4. Licznik T2
      1. Tryb zapamietania rejestrów licznika
      2. Tryb przeładowania rejestrów licznika
      3. Generator prędkości transmisji portu szeregowego
    5. Port szeregowy
      1. Tryb 0
      2. Tryb 1
      3. Tryb 2
      4. Tryb 3
      5. Programowe określanie prędkości transmisji
      6. Komunikacja w systemie wieloprocesorowym
    6. System przerwań
      1. Znaczniki wystąpienia przerwań
      2. Przerwania zewnętrzne INT0 i INT1
      3. Poziomy i priorytety przerwań
    7. Porty równoległe
  2. Wprowadzenie do asemblera
    1. Stałe numeryczne
    2. Nazwy symboliczne
    3. Operatory i wyrażenia
    4. Komentarze
    5. Etykiety
  3. Rozkazy asemblerowe
    1. Rozkazy zapisu/odczytu pamięci
      1. Zapis/odczyt wewnętrznej pamięci danych
      2. Zapis/odczyt zewnętrznej pamięci danych
      3. Odczyt pamięci kodu
    2. Rozkazy operujące na bitach
    3. Rozkazy operacji logicznych
    4. Rozkazy operacji arytmetycznych
    5. Rozkazy skoków bezwarunkowych
    6. Rozkazy skoków warunkowych
  4. Dyrektywy asemblerowe
    1. Definiowanie segmentów
      1. Licznik położenia
      2. Segmenty relokowalne
        1. SEGMENT
        2. RSEG
      3. Segmenty bezwzględne (absolutne)
        1. CSEG, BSEG, DSEG, ISEG, XSEG
      4. Segment domyślny
    2. Kontrolowanie adresów w segmentach
      1. ORG
      2. USING
    3. Konsolidacja (linkowanie) programu
      1. NAME
      2. PUBLIC
      3. EXTRN
    4. Definiowanie symboli
      1. EQU, SET
      2. CODE, BIT, DATA, IDATA, XDATA
    5. Rezerwacja pamięci danych
      1. DBIT
      2. DS
    6. Inicjalizacja pamięci kodu
      1. DB
      2. DW
    7. Inne dyrektywy
      1. END
  5. Wybrane zagadnienia z programowania w asemblerze
    1. Podprogramy
    2. Oprogramowanie jednostek czasowo-licznikowych
    3. Oprogramowanie portu szeregowego
    4. Obsługa przerwań - informacje ogólne
    5. Obsługa przerwań zewnętrznych
      1. Przerwania aktywowane stanem niskim
      2. Przerwania aktywowane przejściem ze stanu wysokiego w niski
      3. Przerwania aktywowane stanem wysokim
      4. Przerwania aktywowane przejściem ze stanu niskiego w wysoki
      5. Przerwania aktywowane dowolną zmianą stanu
  6. Opis rozszerzeń języka C w kompilatorze SDCC
    1. Wprowadzenie
    2. Typy danych
      1. Typ bitowy
      2. Rejestry specjalne
    3. Modele pamięci
      1. Model small
      2. Model medium
      3. Model large
    4. Alokacja zmiennej w określonym typie pamięci
      1. Jawna deklaracja typu pamięci
      2. Domyślna deklaracja typu pamięci
    5. Alokacja zmiennej pod określonym adresem
    6. Adresowanie układów we/wy
    7. Rozszerzone deklaracje funkcji
      1. Określenie prywatnego banku rejestrów dla funkcji
      2. Funkcje przerwań
      3. Funkcje uproszczone
      4. Funkcje współdzielone
      5. Funkcje krytyczne
      6. Funkcja main
      7. Funkcje a stos
    8. Omówienie niektórych funkcji bibliotecznych
      1. Funkcje getchar i putchar
      2. Funkcja printf
      3. Funkcje trygonometryczne
    9. Wykorzystanie asemblera wewnątrz programów pisanych w C
      1. Dodawanie wstawek asemblerowych
      2. Kodowanie całych funkcji w asemblerze
        1. Przekazywanie parametrów do funkcji
        2. Zwracanie wartości przez funkcje
  7. Wybrane zagadnienia z programowania w języku C
    1. Funkcje operujące na standardowym wejściu i wyjściu
  8. Opis formatu Intel-HEX