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

Slides:



Advertisements
Podobne prezentacje
Język C/C++ Funkcje.
Advertisements

Programowanie obiektowe
Wzorce.
Język ANSI C Funkcje Wykład: Programowanie komputerów
Algorytmy – zapis struktur programowania
Języki programowania C++
PROGRAMOWANIE STRUKTURALNE
Informatyka Stosowana
Dziel – Rządź - Złącz.
formatowanie kodu źródłowego
Funkcje Modularyzacja : program główny , funkcje Funkcje :
Instrukcje Instrukcja : definicja obliczenia i określenie sposobu wykonania tego obliczenia. Program : ciąg instrukcji wykonywanych kolejno od pierwszej.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Programowanie imperatywne i język C
Programowanie imperatywne i język C Copyright, 2005 © Jerzy R. Nawrocki Wstęp.
Programowanie imperatywne i język C Copyright, 2004 © Jerzy R. Nawrocki Wprowadzenie.
Kurs Pascala – spis treści
1 Dygresja: cztery płyty główne…. 2 Dygresja: osobliwości C /* cos o nieistniejacym typie Boolean */ /* oraz o operatorze przecinkowym */ #include int.
Ćwiczenie (1) Dostosuj poniższy program do wymogów programu zaliczeniowego #include typedef struct{ char imie[30]; char nazwisko[50]; int rokUrodzenia;
Magistrala & mostki PN/PD
Project made by Bartosz Rumiński Kl. III i rok 2007/2008.
Wprowadzenie do programowania w języku Turbo Pascal
nowe operatory & . (kropka) * operator rzutowy -> , (przecinek)
Programowanie imperatywne i język C Copyright, 2006 © Jerzy R. Nawrocki Wstęp do.
Podstawy programowania
Podstawy programowania w języku C i C++
Programowanie w języku Matlab
Podstawy programowania. Język C i C++– podstawy Temat: 1
Kompilator SDCC i Pakiet STRC52 Mgr inż. Aleksander Pruszkowski
Jerzy F. Kotowski1 Informatyka I Wykład 11 STRUKTURY I UNIE.
Informatyka I - Wykład ANSI C
sortowanie na bazie – wykorzystanie sortowania ze zliczaniem
Autor: Justyna Radomska
Programowanie Windows na przykładzie C# część 1
Programowanie strukturalne i obiektowe
Jerzy F. Kotowski1 Informatyka I Wykład 14 DEKLARATORY.
Programowanie obiektowe – zastosowanie języka Java SE
Programowanie obiektowe III rok EiT dr inż. Jerzy Kotowski Wykład IX.
STEROWANIE Ale nie tylko
Jerzy Kotowski Politechnika Wrocławska
Programowanie strukturalne i obiektowe
Historia Języka C Idea C pochodzi od języka BCPL, opracowanego przez M. Richardsa 1970 – język B stworzony przez K. Thompsona Język C wprowadzono po raz.
Podstawy informatyki 2013/2014
INSTRUKCJE Umożliwiają zapis algorytmu, służą do sterowania przebiegiem programu. warunkowe (podejmowanie decyzji) 1. if-else „jeżeli”, 2. switch-case.
Przykładowy algorytm geometryczny (geometria płaska)
PWSZ Gniezno // codefly 2009 Łukasz Tomczak
Podstawy języka Instrukcje - wprowadzenie
Podstawy programowania
C++.
Technologie internetowe Wykład 5 Wprowadzenie do skrytpów serwerowych.
1 Zagadnienia na egzamin. 2 Język C podsumowanie Struktura programu w języku C Zmienne, Stałe Operacje arytmetyczne Operatory logiczne Priorytety operatorów.
Architektury procesorów rdzeniowych mikrokontrolerów.
Układy i systemy mikroprocesorowe
Programowanie imperatywne i język C Copyright, 2007 © Jerzy R. Nawrocki Wstęp do.
Podstawy programowania
Seminarium Dyplomowe: Metodyka i Techniki Programowania Autor: Bartłomiej Fornal.
Dokumentacja programu komputerowego i etapy tworzenia programów.
Wstęp do programowania Wykład 2 Dane, instrukcje, program.
Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego Matuszyka Podstawy.
Dominik Benduski Michał Mandecki Podstawy Visual Basic w Excelu.
1 Czy procesor musi się grzać? Np. dodawanie 2 liczb 1-bitowych. Możliwych stanów początkowych: cztery Możliwych stanów końcowych: dwa to można opisać.
POLITECHNIKA POZNAŃSKA
Programowanie strukturalne i obiektowe Klasa I. Podstawowe pojęcia dotyczące programowania 1. Problem 2. Algorytm 3. Komputer 4. Program komputerowy 5.
Technologie informacyjne
Zespół Szkół Zawodowych im. Króla Jana III Sobieskiego w Przeworsku
Programowanie obiektowe – zastosowanie języka Java SE
nowe operatory & . (kropka) * operator rzutowy -> , (przecinek)
Przykładowy algorytm geometryczny (geometria płaska)
Założenia projektowe Javy
Język C++ Typy Łukasz Sztangret Katedra Informatyki Stosowanej i Modelowania Prezentacja przygotowana w oparciu o materiały Danuty Szeligi i Pawła Jerzego.
Zapis prezentacji:

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

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).

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.

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

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.

Języki programowania

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 0000 10 0001 98 0002 02 0003 80 0004 FB 0005 85

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

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

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;

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

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

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.

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

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

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 $<

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

Dziękuję za uwagę.