Programowanie Niskiego Poziomu i Mikrokontrolerów

Informacje na tej stronie dotyczą wykładu prowadzonego na kierunku Informatyki stosowanej w semestrze letnim 2010/2011

Ostatnia modyfikacja: 22.05.2011

Literatura

Zalecane podręczniki

  1. Piotr Gałka, Paweł Gałka, Podstawy programowania mikrokontrolera 8051;
    Zawiera informacje o systemie DSM-51 używanym w trakcie niektórych ćwiczeń laboratoryjnych oraz o budowie i liście rozkazów podstawowych wersji procesora 8051. Pozycja podstawowa.
  2. Philips Semiconductors, 80C51-Based 8-Bit Microcontrollers;
    Kompletna informacja o podstawowych wersjach mikrokontrolerów opartych o rdzeń 8051. Podobne publikacje można znależć w formie elektronicznej na stronach WWW wielu producentów mikrokontrolerów. Nie jest to oczywiście literatura "do wykucia", ani nawet "do czytania", ale jest niezbędna przy pisaniu ambitniejszych programów.
  3. Podstawowym źródłem informacji o procesorach PSoC są informacje zawarte na stronie WWW producenta.
  4. Jacek Bogusz, Programowanie mikrokontrolerów 8051 w jęsyku C w praktyce;
    Książka godna polecenia.
  5. Jacek Bogusz, Lokalne interfejsy szeregowe w systemach cyfrowych;
    Jak sama nazwa wskazuje zawiera opisy najpopularniejszych lokalnych interfejsów szeregowych.

Literatura dodatkowa - do poduszki dla zainteresowanych, ambitnych i ciekawych

  • S.A. Money, Mikroprocesory;
    Poradnik zawierający dużo informacji o starszych mikrokontrolerach różnych producentów i o różnej architekturze. Zawiera również informacje o podstawowych układach wspomagających i mikroprocesorach ogólnego przeznaczenia.
  • Ryszard Pełka, Mikrokontrolery, architektura, programowanie, zastosowania
    Obejmuje opis podstaw architektury mikrokontrolerów, ich współpracy z otoczeniem i przykłady programowania zarówno w assemblerze, jak i w języku C.
  • P. Horowitz, W. Hill, Sztuka elektroniki
    Książka nie ma wiele wspólnego z mikrokontrolerami, ale porusza wiele zagadnień projektowania układów elektronicznych bez wnikania w modele matematyczne. Przydatna przy porojektowaniu otoczenia układów mikroprocesorowych, takich jak zasilacze czy układy pomiarowe. Przyjemnie się czyta, a nie wymaga przygotowania teoretycznego.
  • Jacek Bogusz, Mikrokontrolery ST7Lite w praktyce
    Książka dla wykonujących dodatkowe projekty na tym mikrokontrolerze.
  • Logistyka

    Zaliczenie
    Ocena końcowa będzie uzależniona od liczby zdobytych punktów zaliczeniowych. 20 punktów będzie można zdobyć w trakcie egzaminu i 20 za laboratoria. Warunkiem uzyskania pozytywnej oceny będzie zdobycie z każedj części co najmniej 11 punktów.
    Egzamin: Termin poprawkowy:
    Różne materiały i informacje o laboratoriach (potrzebne hasło). Laboratoria rozpoczną się 21.03.2011.
    Seminaria (wyłącznie dla chętnych ochotników) to krótkie (kilkanaście minut) wystąpienia dotyczące wybranych tematów. Można za nie otrzymać do pięciu punktów. Projekty (wyłącznie dla chętnych ochotników) mogą być podstawą zaliczenia części lub całości laboratoriów.
     

    Wykłady

    Program na najbliższą przyszłość. Program (jak to program) jest tylko zapisem zamierzeń, ale im bliższe będą terminy, prawdopodobnie tym bardziej będzie konkretny...
    Data Tematyka Uwagi, literatura, materiały pomocnicze
    15.02.2011 Wstęp
    • Mikroprocesory i mikrokontrolery
    • Standardowa architektura mikrokontrolerów
    • Pamięć w układach mikrokontrolerów
      • Mapy pamięci
      • Segmentacja pamięci
      • Podstawowe tryby adresowania
    Wstęp.
    15-22.02.2011 Architektura mikrokontrolera 8051 Struktura i hardware mikrokontrolerów rodziny MCS51.

    Pełną dokumentację mikrokontrolerów 8051 można znaleźć na stronach WWW producentów, na przykład firmy INTEL (klasyka) albo ATMEL (mikrokontrolery z pamięcią FLASH używane w trakcie laboratorium).
    22.02.2011 Cykl tworzenia oprogramowania
    • Translatory, oprogramowanie skrośne
    • Narzędzia uruchomieniowe
    Wstęp do assemblera
    Assembler.
    22-29.02.2011 Wprowadzenie do laboratorium
    Lista rozkazów mikrokontrolera 8051
    Część pierwsza - instrukcje przesyłania danych, arytmetyczne i logiczne
    Lista instrukcji, cz. 1.
    29.02.2011 Lista rozkazów mikrokontrolera 8051
    Część druga - operacje bitowe, stos, skoki i wywołanie podprogramów.
    Lista instrukcji, cz. 2.
    15-22.03.2011 Makrodefinicje
    Oprogramowanie przerwań
    Program z wykładu.
    Przerwania.
    Makrodefinicje.
    29.03.2011 Sprzężenie mikrokontrolera ze światem zewnętrznym - cz. I
    • Klawiatura matrycowa.
    • Sterowanie sekwencyjne wskaźników siedmiosegmentowych.
    • Brama równoległa (przykład: Intel 8255).
    • Licznik/zegar (przykład: Intel 8253).
    Klawiatura i siedem segmentów. Klasyczne porty.
    29.03-5.04.2011 Sprzężenie mikrokontrolera ze światem zewnętrznym - cz. II
    • Układy dopasowania napięć i prądów. Separacja galwaniczna.
    • Sterowanie silników krokowych.
    Układy dopasowania
    Silniki krokowe
    5-12.04.2011 Sprzężenie mikrokontrolera ze światem zewnętrznym - cz. III
    • Przetwarzanie A/C i C/A
    • Struktura systemu pomiarowo sterującego
    A/D D/A
    O sterowaniu
    12.04-10.05.2011 Sprzężenie mikrokontrolera ze światem zewnętrznym - cz. IV
    • Elektryczne metody pomiarów wielkości fizycznych
    • Realizacja podstawowych algorytmów regulacji
    Czujniki
    Regulacja
    17.05.2011 Specjalizowane interfejsy szeregowe w układach mikrokontrolerów
    • I2C
    • SPI
    • 1-Wire
    Lokalne interfejsy szeregowe
    Inne interfejsy
    24.05.2011 CAN CAN
    24.05.2011 PSoC PSoC
    Język C w programowaniu mikrokontrolera
    Układy kontroli zasilania i watchdog

    Ciekawostki

    Ciekawostka historyczna: CP/M 80

    Jeżeli zdarzy Ci się mikrokontroler oparty o rdzeń Z80 (firmy Zilog) lub inny układ zbudowany na mikroprocesorze do pewnego stopnia kompatybilnym z Z80 (na przykład HD64180) bardzo pomocny może być prosty system operacyjny CP/M 80. Jego aplikacja na układzie zawierającym dyski (ewentualnia RAM i ROM - dyski) nie jest bardzo złożona, a w rezultacie daje możliwości używania bardzo licznych programów - od debuggerów (ZSID, SID, DDT i inne) poprzez kompilatory (C, Pascala, Fortranu, Fortha, itd) aż do edytorów tekstu i arkuszy kalkulacyjnych. Projekrantowi systemów mikroprocesorowych takie możliwości zdarzaią się niezmiernie rzadko... Oczywiście istnieją także symulatory systemu CP/M na większe systemy operacyjne.
    • Dukumentacja systemu CP/M.
    • Makroassembler M80.
    • Pascal Turbo na CP/M i procesor Z80 (wraz z wbudowanym edytorem)
    • Google Twoim przyjacielem...