Pobieranie prezentacji. Proszę czekać

Pobieranie prezentacji. Proszę czekać

Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C

Podobne prezentacje


Prezentacja na temat: "Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C"— Zapis prezentacji:

1 Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C

2 Mikrosterownik Inne nazwy: Microcontroler (z języka angielskiego)
Ta nazwa jest powszechnie używana w Polsce. Mikrokomputer jednoukładowy ta nazwa wiele wyjaśnia: mikrosterownik zawierea procesor (rdzeń) pamięć ROM, pamięć RAM i układy wejścia-wyjścia (porty, interfejsy szeregowe, układy czasowo-licznikowe i wiele innych).

3 Przykładowe zastosowania mikrosterowników
Urządzenia RTV i AGD, Urządzenia techniki komputerowej (klawiatura, drukarka, skaner, modem, ...) Zabawki, Urządzenia mobilne (komórki, tablety I...) Automaty (do kawy, ciasteczek, ...) Urządzenia sieciowe (rutery, przełączniki, ...) Sterownik dzwonka w naszej szkole.

4 Wybrane mikrosterowniki
Rodzina Producenci i przykładowe typy MCS-51 Intel 80C51, Atmel AT89C4051 AVR Atmel AT90S2313, Atmel ATMEGA 8 AMR NXP LPC1768

5 Założenia do kursu programowania
Uczestnik zna obsługę systemu operacyjnego Windows i(lub) Linux (korzystanie z systemowego edytora plików tekstowych i wiersza poleceń) Korzystamy wyłącznie z darmowego oprogramowania. Uczymy się na pięćdziesiątcejedynce, ale poznajemy zagadnienia wspólne dla wszystkich mikrosterowników.

6 Języki programowania

7 Język maszynowy Adresy słowa rozkazowe To język procesora
Program składa się ze słów rozkazowych (liczb). Pisanie programów za pomocą liczb jest bardzo niewygodne Adresy słowa rozkazowe FB

8 Asembler Adresy słowa rozkazowe Etykiety rozkazy argumenty
Adresy komórek pamięci zastąpione są etykietami. Słowa rozkazowe są przedstawione za pomocą mnemoników, np. jbc oraz argumentów rozkazów, np. RI,koniec Adresy słowa rozkazowe Etykiety rozkazy argumenty _rs232rcvbyte: jbc RI,koniec sjmp _rs232rcvbyte koniec: mov dpl,SBUF ret

9 Język C #include <8051.h> char rs232rcvbyte (void) {
while (!RI); RI = 0; return SBUF; }

10 Fragment złożonego programu
void WriteFrame_EMAC(unsigned short Data) { *tptr++ = Data; } void CopyToFrame_EMAC(void *Source, unsigned int Size) unsigned short * piSource; unsigned int idx; piSource = Source; Size = (Size + 1) & 0xFFFE; //round Size while (Size > 0) { WriteFrame_EMAC(*piSource++); Size -= 2; idx = LPC_EMAC->TxProduceIndex; if (++idx == NUM_TX_FRAG) idx = 0; LPC_EMAC->TxProduceIndex = idx;

11 Słowa kluczowe języka C (według norm ANSI C z roku 1989 oraz ISO C z roku 1990)
auto Zmienne break Instrukcje sterujące case Instrukcje sterujące char Zmienne const Zmienne continue Instrukcje sterujące default Instrukcje sterujące do Instrukcje sterujące double Zmienne else Instrukcje sterujące enum Typy złożone extern Biblioteki float Zmienne for Instrukcje sterujące goto Instrukcje sterujące if Instrukcje sterujące

12 Słowa kluczowe języka C (według norm ANSI C z roku 1989 oraz ISO C z roku 1990)
int Zmienne long Zmienne register Zmienne return Procedury i funkcje short Zmienne signed Zmienne sizeof Zmienne static Biblioteki, Zmienne struct Typy złożone switch Instrukcje sterujące typedef Typy złożone union Typy złożone unsigned Zmienne void Wskaźniki volatile Zmienne while Instrukcje sterujące

13 Jaki język jest najlepszy?
Zależy do czego. Pisząc duży program można korzystać z kilku języków. Na zajęciach napiszemy programy w C i Asemblerze.

14 Program źródłowy W języku C (c) Program źródłowy w Asemblerze (a51) Moduł Relokowalny (rel) Moduł Relokowalny (rel) Program (ihx) DSM-51

15 Na poprzednim slajdzie pokazano proces tworzenia programu składającego się z dwóch modułów: jeden moduł napisany jest w języku Asemblera, drugi – w języku C (nazwy języków zaczynamy wielką literą). Program tłumaczący z Asemblera nazywamy asemblerem, a program tłumaczący z C – kompilatorem języka C. Program łączący poszczególne moduły to konsollidator (linker) Na następnym slajdzie pokazano plik konfiguracyjny dla programu make, który służy do przeprowadzenia procesu asemblacji, kompilacji i konsolidacji

16 Plik Makefile main.ihx: main.rel dsm.rel sdcc $^ main.rel: main.c
sdcc -c $< dsm.rel: dsm.a51 sdas8051 -l -o $< run: main.ihx dsm51run $<

17 Test Co to jest mikrosterownik?
Wymień nazwy co najmniej sześciu języków programowania. Do czego służy kompilator? Do czego służy konsolidator? Co to jest asembler? Co to jest Asembler? Wymień 10 słów kluczowych języka C Wymień funkcje typowego programatora układów scalonych

18 Dziękuję za uwagę.


Pobierz ppt "Grzegorz Cygan Wstęp do programowania mikrosterowników w języku C"

Podobne prezentacje


Reklamy Google