0.1.0
Uniwersytet Pedagogiczny, Instytut Techniki Dominik Rzepka, dominik.rzepka@agh.edu.pl, ©2014
Komputer, samochód, komórka, pralka, kuchenka mikrofalowa, sterownik ogrzewania, zegarek, licznik rowerowy, GPS, drukarka, ładowarka akumulatorów i wiele, wiele innych współczesnych urządzeń elektronicznych opiera swoje działanie o układ elektroniczny zwany mikroprocesorem. W zależności od zastosowania mikroprocesory mogą być niewielkie, niskomocowe, lutowane ręcznie albo też szybkie, wymagające speq'alnego chłodzenia, speqalnych technik montażu. Ich wspólną cechą jest zasada działania.
Mikroprocesor komunikuje się za pomocą zer i jedynek z układem pamięci, który przechowuje w sobie program. Program ten też zapisany jest jako szereg zer i jedynek, które odpowiadają za poszczególne instrukcje programu. Mikroprocesor pobiera te instrukq'e i wykonuje je. Polecenia mikroprocesora składają się z instrukcji
a) Matematycznych (dodawanie, odejmowanie, mnożenie, dzielenie)
b) Operaqi na pamięci - przesyłanie danych z- i do- pamięci (przy czym pamięć może być też podłączona do wyprowadzeń procesora, może odpowiadać jakiemuś obszarowi ekranu, może też być przypisana do jakiegoś interfejsu komunikacyjnego, np. USB)
c) Operacji warunkowych - sprawdzaniu, czy jakiś warunek jest spełniony i wykonywaniu w zależności od niego jakiejś grupy instrukq'i.
Zera i jedynki są najbardziej naturalnym formatem poleceń dla mikroprocesora, ale dla programisty są one raczej nieczytelne. Dlatego dla ułatwienia stworzono język programowania, w którym każde polecenie mikroprocesora jest zapisywane w formie krótkich wyrazów (np. mov, add, sub, jump, ilp.). Język ten nazywa się assemblerem. Różne rodziny procesorów mają różne assemhlery, ale zazwyczaj ich polecenia są podobne. Tak więc tworzenie programu w assemblerze wymaga dość dokładnej znajomości rodzaju procesora, który będzie wykonywał program. Jeżeli zechcemy, żeby taki sam program wykonać na innym typie procesora, może się okazać, że trzeba go przepisać na nowo przy użyciu odpowiedniego assemblera. Aby uniknąć takich problemów i jeszcze bardziej uprościć pisanie programów, stworzono języki programowania wysokiego poziomu. Są one bardziej elastyczne, a ich forma (polecenia, składnia języka) przypomina bardziej naturalny język człowieka niż listę poleceń. Program napisany w takim języku jest tłumaczony na zera i jedynki przy pomocy kompilatora, który tworzy listę poleceń zrozumiałą dla procesora. Takimi językami są np. C i BASIC. Na naszych zajęciach nauczymy się pisać programy w BASICu. Rodzina mikroprocesorów, którymi będziemy się posługiwać, nazywa się AVR i jest produkowana przez firmę Atmel. Głównym zestawem, na którym będziemy uruchamiać swoje programy będzie ZL11AYR