SŁAWOMIR WIAK (redakcja)

Wielkość: px
Rozpocząć pokaz od strony:

Download "SŁAWOMIR WIAK (redakcja)"

Transkrypt

1

2 SŁAWOMIR WIAK (redakcja) Akademicka Oficyna Wydawnicza EXIT

3 Recenzenci: Prof. Janusz Turowski Politechnika Łódzka Prof. Ewa Napieralska Juszczak University Lille Nord de France, LSEE, UA, Francja Autorzy rozdziałów: Prof. Piotr Ostalczyk (rozdz. 1, 2) Prof. Edward Jezierski (rozdz. 3) Dr hab. inż. Zbigniew Gmyrek (rozdz. 4) Dr hab. inż. Ryszard Szczerbanowski, prof. PŁ (rozdz. 5) Dr inż. Grzegorz Tosik (rozdz. 6) Prof. Zbigniew Lisik (rozdz. 6) Dr hab. inż. Jacek Gołębiowski, prof. PŁ (rozdz. 7) Dr hab. inż. Krzysztof Pacholski, prof. PŁ (rozdz. 8, 9) Prof. Krzysztof Gniotek (rozdz. 10) Dr hab. inż. Iwona Frydrych, prof. PŁ (rozdz. 10) Dr hab. Inż Ryszard Korycki, prof. PŁ (rozdz. 11) Dr inż. Grażyna Sobiczewska (rozdz. 12) Dr hab. Maria Dems, prof. PŁ (rozdz. 13, 15) Prof. Sławomir Wiak (rozdz. 13, 14, 15, 16, 17) Dr inż. Wojciech Rosiak (rozdz. 13, 15) Dr inż. Paweł Drzymała (rozdz. 14, 16, 17) Dr inż. Henryk Welfle (rozdz. 14, 16, 17) Dr inż. Ryszard Lasota (rozdz. 18) Dr inż. Marek Jan Glaba (rozdz. 19) Monografia przygotowana w ramach projektu "Innowacyjna dydaktyka bez ograniczeń - zintegrowany rozwój Politechniki Łódzkiej - zarządzanie Uczelnią, nowoczesna oferta edukacyjna i wzmacniania zdolności do zatrudniania, także osób niepełnosprawnych", współfinansowanego przez Unię Europejską w ramach europejskiego Funduszu Społecznego - Programu Operacyjnego Kapitał Ludzki "Priorytet IV, poddziałanie Wzmocnienie potencjału dydakty-cznego uczelni". Utwór w całości ani we fragmentach nie może być powielany ani rozpowszechniany za pomocą urządzeń elektronicznych, mechanicznych, kopiujących, nagrywających i innych, w tym również nie może być umieszczany ani rozpowszechniany w postaci cyfrowej zarówno w Internecie, jak i w sieciach lokalnych bez pisemnej zgody posiadacza praw autorskich. ISBN Copyright by EXIT, Politechnika Łódzka Łódź 2010

4 Grażyna Sobiczewska 12. Programowanie mikrokontrolerów 12.1 Informacje wstępne Mikrokontroler, zwany wcześniej mikrokomputerem jednoukładowym, to układ scalony zdolny do autonomicznej pracy, bo zawierający w pojedynczym elemencie procesor, pamięci i układy do komunikacji z otoczeniem. Spotykamy go w życiu codziennym jako element wbudowany różnych urządzeń, takich jak: sprzęt gospodarstwa domowego, pojazdy, układy kontrolno-pomiarowe, układy automatyki, sprzęt medyczny i telekomunikacyjny, urządzenia peryferyjne systemów komputerowych, zabawki itp., ponieważ służy do ich cyfrowego sterowania. Niewielkie rozmiary i cena powodują, że znajduje zastosowanie w coraz szerszej gamie urządzeń. Jako przodka mikrokontrolerów można uznać 4-bitowy układ Intel 4004 z 1971 roku, wraz z jego 8-bitowym następcą o numerze Pierwszym zasługującym w pełni na to miano, bo wyposażonym w wewnętrzną pamięć, był 8048, który pojawił się na rynku w 1976 roku. Jednakże standardem stał się model 8051 z roku prototyp wiodącej w klasie 8-bitowych kontrolerów (obok 68HC11 firmy Motorola) rodziny MCS-51. Producenci obecnie produkowanych modeli, rozbudowując ich zasoby wewnętrzne, często starają się, aby ich rozwiązania zachowywały kompatybilność wsteczną (zgodność programową) z tym typem. Produkcją mikrokontrolerów zajmuje się wiele firm: Analog Devices, Atmel, Dallas Semiconductor, FreeScale Semiconductor, Fujitsu, Hitachi, Infineon, Intel, NEC, Philips, Siemens, ST, Toshiba, Zilog i inne. Obecnie największą popularnością cieszą się produkty Intela, seria AVR Atmela i PIC firmy Microchip Technology. Aktualne tendencje rozwojowe oprócz wzrostu niezawodności, obejmują poprawę parametrów i rozszerzenie zasobów oraz możliwość zastosowania rozbudowanych układów peryferyjnych. Tym niemniej zapotrzebowanie na proste rozwiązania wciąż istnieje. Najbardziej udane rozwiązania sprzed lat są produkowane do dziś często w uproszczonych wersjach i dostępne w przystępnych cenach. 515

5 Rys Model mikrokontrolera firmy Atmel w obudowie DIP (ang. Dual In-line Package) Zasady programowania trudno jest przedstawić w sposób ogólny w oderwaniu od architektury oraz wyposażenia w urządzenia peryferyjne konkretnego typu mikrokontrolera. Wybór modelu użytego jako ilustracja wywodu jest trudny, bo nie ma takiego, który można by było uznać za reprezentatywny, a szczegółowy opis jego architektury i metod programowania mógłby czytelnikowi dać pogląd na całość zagadnienia. Wybór modelu W niniejszym opracowaniu wybrano jako przykładowy mikrokontroler popularnej na rynku krajowym firmy Atmel. Obecnie produkowane mikrokontrolery tej firmy z rdzeniem AVR można podzielić na rodziny: ATtiny przeznaczone do realizacji prostych zadań układy zamknięte w obudowach z małą ilością wyprowadzeń z niewielką ilością peryferii, stosowane głównie w układach zasilanych bateryjnie, ATmega układy z bogatym wyposażeniem m.in. wiele linii wejścia/wyjścia, wbudowane przetworniki A/C Architektura mikrokontrolerów Działanie mikrokontrolera wynika z realizacji rozkazów umieszczonych w jego pamięci. Przygotowanie zestawu rozkazów, czyli napisanie programu, wymaga od autora znajomości zasobów wybranego układu scalonego i ich organizacji. Omówienie architektury mikrokontrolerów jest jednak zadaniem trudnym, ze względu na szeroki wachlarz produkowanych modeli, a zatem również ich elementów składowych. Na rynku oferowanych jest kilkadziesiąt podstawowych typów z 8, 16- i 32-bitową szyną danych. Lista ich odmian różniących się parametrami 516

6 technicznymi liczy setki pozycji [4]. A zatem, aby zapoznać się z konkretnym rozwiązaniem należy sięgnąć do dokumentacji dostępnej najczęściej na stronach internetowych producenta. Jednakże pewne rozwiązania są wspólne i na nich skupimy się w niniejszym rozdziale. Na Rys przedstawiono w uproszczeniu podstawowe bloki funkcjonalne mikrokontrolera. Rezonator kwarcowy Reset zegar Jednostka centralna (CPU) Zasilanie Wewnętrzna szyna adresowa m Pamięć programu Pamięć danych Układy Sygnały wejściowe... we/wy... Sygnały wyj. i peryferyjne n Wewnętrzna szyna danych Rys Uproszczony schemat funkcjonalny mikrokontrolera [wg 4] Jednostka centralna (CPU ang. Central Procesor Unit) realizuje ciąg rozkazów zapisanych w pamięci programu na danych pochodzących z pamięci danych i/lub przekazywanych z urządzeń wejścia/wyjścia i jest układem sekwencyjnym synchronizowanym z zegara. Stan początkowy CPU jest inicjowany sygnałem Reset generowanym ręcznie, programowo lub pochodzącym z innego układu. Zerowanie układu występuje również po włączeniu zasilania albo w odpowiedzi na chwilowe spadki napięcia zasilania. Najważniejszym elementem układu wykonawczego CPU jest jednostka arytmetyczno-logiczna (ALU - ang. Arithmetic-Logic Unit), która wykonuje operacje należące do jej listy rozkazów (katalog dostępnych operacji zależny jest od modelu mikrokontrolera) na zawartości wyspecjalizowanych obszarów do dostarczania argumentów operacjom. W przypadku rozkazów jednoargumentowych wykorzystuje się akumulator, który po wykonaniu operacji zawiera również jej wynik, bo jego zawartość może być zarówno odczytywana, jak i wprowadzana na szynę danych. Operacje dwuargumentowe wymagają wykorzystania drugiego rejestru 517

7 zwanego często przejściowym, który różni się tym, że jego wartości nie można wystawić na szynie danych. Konieczność transmisji danych między akumulatorem a pamięcią, która to operacja jest relatywnie wolna ze względu na konieczność przygotowywania i wysyłania adresu pamięci, może być ograniczona przez zastosowanie tzw. rejestrów roboczych (ang. General Purpose Registers), które są strukturą pamięci dostępną bez określania adresów, poprzez nazwy symboliczne. Rejestry te są często wyspecjalizowane pod względem zastosowania, a ich ilość od kilku do kilkudziesięciu zależy od modelu mikrokontrolera. Charakterystyczną dla mikrokontrolerów cechą rejestrów jest często możliwość adresowania ich poszczególnych bitów. Jeśli chodzi o pamięci mikrokontrolera to mieszczą się we wnętrzu układu scalonego, a część może być przyłączona z zewnątrz. Pamięci wbudowane można podzielić na: RAM (ang. Random Access Memory) do zapisu i odczytu podtrzymywana tak długo, jak działa zasilanie układu realizowana jako dynamiczna (odświeżana cyklicznie) lub statyczna (nie wymaga odświeżania, często podtrzymywana bateryjnie), ROM (ang. Read Only Memory) służąca tylko do odczytu nieulotna pamięć zawierająca niezbędne do pracy oprogramowanie dostarczane z mikrokontrolerem, czyli opracowane fabrycznie (ang. Firmware) zawierające często program do ładowania, uruchamiania i nadzorowania programów użytkowych zwany monitorem, pamięć EPROM (ang. Erasable Programmable ROM) to nieulotna pamięć programowalna ograniczoną ilość razy po skasowaniu zawartości ultrafioletem, pamięć EEPROM (ang. Electrically EPROM) podobna do poprzedniej, ale ilość cykli zapisu ograniczona jest do ok.10 tys. razy, pamięć Flash jest w porównaniu do dwóch poprzednich szybsza i często zapewnia większą ilość cykli zapisu. Ten sam typ mikrokontrolera może być wyposażony w różne rodzaje pamięci o różnych pojemnościach. Istnieją rozwiązania, których pamięć programowana jest dopiero po zamontowaniu mikrokontrolera w urządzeniu docelowym (ISP ang. In System Programmable). Wewnętrzna n-bitowa szyna danych decyduje o zakresie liczb, na jakich mikrokontroler może wykonywać obliczenia (dla całkowitych bez znaku od 0 do 2 n 1). Szyna adresowa ogranicza zakres adresowalnego obszaru pamięci do 2 m adresów, a adresy dotyczą albo danych, albo rozkazów umieszczonych w pamięci programu. W najprostszych modelach stosuje się 8-bitowe adresowanie danych (256 bajtów) i 12-bitowe rozkazów (4 kb pamięci dla programu). Na rysunku 12.2 pominięto 518

8 zewnętrzną szynę adresową, która najczęściej jest 16-bitowa (w bardziej rozbudowanych układach 32- bitowa), co umożliwia wykorzystanie 64 kb pamięci zewnętrznej. Dla programisty ważne jest powiązanie poszczególnych rodzajów pamięci z przestrzenią adresową (ang. Memory Map). Stosowane rozwiązania to: jednolita przestrzeń adresowa dla wszystkich pamięci, rejestrów, układów we/wy (tzw. architektura von Neumanna), wykorzystanie oddzielnych szyn adresowych danych i rozkazów (ang. Harvard Architecture), a zatem rozdzielenie obszaru programu i danych, segmentacja pamięci stosowana zarówno do pamięci wbudowanych w układ scalony mikrokontrolera, jak i przyłączonych do niego z zewnątrz, a zapewniająca ochronę obszaru programu, danych i stosu przed wzajemnym przenikaniem, czyli ochronę przed niepowołanym dostępem ważną również w systemach wielozadaniowych; adres fizyczny w tym przypadku oblicza się, bazując na numerze segmentu i adresie wewnętrznym zwanym przesunięciem (ang. offset), stronicowanie stosowane w najbardziej rozbudowanych mikrokontrolerach. Sposobem na zwiększenie efektywności pracy mikrokontrolera jest wyposażenie CPU w większą liczbę arytmometrów często wyspecjalizowanych np. do operacji całkowitoliczbowych, zmiennopozycyjnych lub operacji na sygnałach DSP (ang. Digital Signal Processing). Taka architektura nosi nazwę superskalarnej (ang. Superscalar). Wykorzystanie możliwości takiego rozwiązania, czyli jednoczesne wykonywanie wielu instrukcji, wymaga zmiany koncepcji sterowania, bowiem z pamięci trzeba pobrać więcej niż jeden rozkaz i skierować je do współbieżnego wykonania przez poszczególne arytmometry. Pamięć typu FIFO (ang. First Input First Output) gromadzi kolejkę instrukcji, które są kierowane do wykonania, a takie rozwiązanie nosi nazwę przetwarzania potokowego (ang. Pipelining). Wspominając o architekturze harwardzkiej nie sposób nie wspomnieć o procesorach RISC (ang. Reduced Instruction Set Computer), które oprócz tego, że mogą w tym samym czasie współpracować z pamięcią danych i programu oraz wykorzystują zasady przetwarzania potokowego, korzystają z ograniczonego zestawu zunifikowanych (czyli przede wszystkim zajmujących w pamięci ten sam obszar) rozkazów, które operują na niewyspecjalizowanych rejestrach, stosując różne tryby adresowania argumentów. 519

9 Mikrokontrolery przeważnie wykorzystywane są do wykonywania operacji złożonych, program zatem bardzo rzadko ma postać jednolitej listy instrukcji. Układ przeważnie musi działać dynamicznie, czyli odpowiednie podprogramy muszą być wykonywane selektywnie w kolejności zależnej od stanu wewnętrznych modułów i dołączonych do mikrokontrolera zewnętrznych układów peryferyjnych i portów wejścia-wyjścia. Możliwość tą dają instrukcje warunkowe, które zależnie od ustalonego warunku przenoszą wykonywanie programu w wybrane miejsce. Innym mechanizmem stosowanym do współpracy z urządzeniami peryferyjnymi jest system przerwań, czyli zawieszenie realizacji aktualnie wykonywanego zadania i przejście do procedury obsługi przerwania w momencie pojawienia się żądania obsługi. Kolejność obsługi przerwań wynika dla większości współczesnych mikrokontrolerów z przypisanego do konkretnego urządzenia priorytetu, a nie tylko z kolejności zgłoszeń. Aby po zakończeniu obsługi przerwania kontynuować działanie, należy przed rozpoczęciem zapamiętać stan mikrokontrolera i adres instrukcji, od której należy wznowić program. Do tego celu stosuje się stos, czyli obszar RAM zarządzany zgodnie z zasadą LIFO (ang. Last Input First Output), który można rozbudowywać w stronę rosnących (najczęściej) lub malejących adresów. Ma on zastosowanie również do chwilowego zapisu zawartości rejestrów i zmiennych w programach użytkownika, Zestaw układów wejścia-wyjścia (I/O ang. Input/Output) i układów peryferyjnych zależy od konkretnego typu mikrokontrolera. Są to porty służące do równoległej lub szeregowej transmisji danych działające w trybie asynchronicznym (UART ang. Universal Asynchronous Receiver-Transmitter) lub częściej synchronicznym (USART ang. Universal Synchronous-Asynchronous Receiver-Transmitter). Najczęściej pracują w standardach opracowanych przez różne firmy: SIO (ang. Serial Input/Output), SCI i SCI+ (ang. Serial Communiation Interface), SPI (ang. Serial Peripherial Interface), CAN (ang. Controller Area Network), USB (ang. Universal Serial Bus), I 2 C (ang. Inter-Integrated Circuit Bus), 1-Wire, Microwire i inne. Typowymi układami peryferyjnymi mikrokontrolerów są również liczniki impulsów. Służą nie tylko do zliczania zdarzeń, ale przede wszystkim do odmierzania czasu (timery) i innych celów. Układ kontroli poprawności pracy WatchDog zapobiegający nieprzewidzianemu zawieszeniu lub zapętleniu programu to po prostu wyspecjalizowany licznik, którego przepełnienie generuje sygnał Reset, a zatem powinien być co pewien czas zerowany programowo, aby do tego nie doszło. Jest niezbędny przede wszystkim w układach pracujących długi czas bez nadzoru. Przetworniki analogowo-cyfrowe 8-, 10-, a nawet 12-bitowe (ADC ang. Analog to Digital Converter) i cyfrowo-analogowe (DAC ang. Digital to Analog Converter) występują w bardziej rozbudowanych układach. 520

10 W niektórych rozwiązaniach istnieje wyspecjalizowana jednostka FPU (Flow Point Unit) do wykonywania operacji na liczbach zmiennoprzecinkowych zapisywanych w postaci wykładniczej (cecha - mantysa). Mikrokontrolery są wyposażone w system zarządzania poborem mocy. Oprócz dwóch podstawowych stanów mikrokontrolera: pracy i obsługi przerwań, może on przejść do stanu obniżonego poboru mocy w trybie uśpienia (ang. Sleep Mode, Idle Mode),kiedy pracuje tylko zegar i niektóre urządzenia peryferyjne lub czuwania (ang. Stand By Mode), gdzie wyłączany jest nawet zegar, a podtrzymywana zawartość pamięci wewnętrznych i rejestrów. Dane zastosowanego mikrokontrolera Wybrany w niniejszym opracowaniu jako przykładowy mikrokontroler z rdzeniem AVR opiera się na architekturze RISC (ang. Reduced Instruction Set Computer), ale lista zawiera ponad 130 instrukcji, a redukcja dotyczy rozkazów operujących bezpośrednio na pamięci danych, ponieważ do tego celu przewidziano dużą ilość rejestrów roboczych, z których każdy może pełnić rolę akumulatora, co umożliwia szybszą pracę. Instrukcje wykonywane są w trakcie jednego cyklu zegarowego (tylko w układach ATmega operacja mnożenia wymaga 2 taktów zegarowych). W rdzeniu AVR konstruktorzy zastosowali mechanizm przetwarzania potokowego, polegający na jednoczesnym (zachodzącym w tym samym cyklu zegarowym) wykonywaniu bieżącej instrukcji oraz pobieraniu z pamięci programu kodu instrukcji następnej. Mikrokontrolery AVR są układami ośmiobitowymi, ale ich słowo rozkazowe ma długość 2 bajtów. Osiągana prędkość przetwarzania dochodzi do 1 MIPS (miliona operacji na sekundę) przypadających na każdy 1 MHz częstotliwości taktującego zegara. Układ ATmega16 to 8-bitowy mikrokontroler AVR o dużej wydajności i małym poborze mocy, który cechują następujące właściwości [1]: zaawansowana architektura Harvard ze zredukowaną liczbą instrukcji (RISC): dwubajtowych instrukcji, większość wykonywana w 1 cyklu zegara, - 32 rejestry 8-bitowe robocze ogólnego przeznaczenia, dostosowane do wymagań języków wysokiego poziomu, - całkowicie statyczna praca (od 0 Mhz), - wydajność do 16 MIPS przy taktowaniu zegarem 16 MHz, - wbudowany układ mnożący, operacja mnożenia wykonywana w 2 cyklach zegara. 521

11 522 Rys Rdzeń mikrokontrolerów AVR i typowe układy zewnętrzne [2] nieulotna pamięć programu i danych: - 16 kb pamięci programu typu Flash na program, programowanej poprzez SPI lub JTAG o wytrzymałości cykli kasowanie/zapis, - opcjonalny boot-loader z niezależnymi bitami zabezpieczającymi, bajów nieulotnej pamięci danych EEPROM o trwałości 100 tys. cykli kasowanie/zapis, która może być wykorzystana do zapamiętania ustawień systemu lub akwizycji danych, - 1 kb wewnętrznej statycznej pamięci danych RAM, na której realizowany jest również stos, - programowane zabezpieczenia programu przed odczytem. wbudowane urządzenia peryferyjne: - dwa 8-bitowe liczniki-czasomierze z osobnym preskalerem (dzielnik częstotliwości podstawowej mikrokontrolera ) i trybem porównania,

12 - jeden 16-bitowy licznik-czasomierz z osobnym preskalerem, trybem porównania i przechwytywania, - licznik czasu rzeczywistego z osobnym oscylatorem, - cztery kanały PWM, - 8-kanałowy, 10-bitowy przetwornik A/C z multiplekserem, który wykorzystuje następujące wyprowadzenia: AVCC (zasilanie części analogowej), AREF (wejście napięcia odniesienia) oraz wejścia sygnałów analogowych oznaczone ADC0 do ADC7, - interfejs szeregowy SPI w trybie master/slave, pozwalający na łączenie jednego układu nadrzędnego z wieloma podrzędnymi, a ponadto dodatkowo pełni funkcję szeregowego interfejsu programowania; umożliwiającego programowanie mikrokontrolera w urządzeniu docelowym (ISP), przez bezpośrednie (lub przez zabezpieczający układ 74HC244) przyłączenie do portu drukarki LPT; modułowi SPI zostały przyporządkowane cztery wyprowadzenia o dodatkowych oznaczeniach: MOSI (ang. Master Out, Slave In), MISO (ang. Master In, Slave Out), SCK (ang. Serial Clock) i SS (ang. Slave Select), - programowany interfejs szeregowy USART, służący do łączenia mikrokontrolerów ze sobą, a po zastosowaniu zewnętrznych konwerterów do obsługi interfejsu RS-232 lub RS-485; układ USART w trybie asynchronicznym wykorzystuje dwie linie mikrokontrolera, oznaczone TxD (tor danych nadawanych) i RxD (tor danych odbieranych); w trybie synchronicznym dodatkowo wykorzystywana jest linia taktująca oznaczona XCK, - programowany układ watchdog z osobnym wbudowanym oscylatorem, - wbudowany komparator analogowy; któremu przyporządkowane są dwa wyprowadzenia o dodatkowych oznaczeniach AIN0 (wejście nieodwracające) i AIN1 (wejście odwracające). specjalne cechy mikrokontrolera: - wbudowany układ Reset i programowany detektor spadku napięcia zasilania, - wbudowany kalibrowany oscylator RC, - wewnętrzne i zewnętrzne źródła przerwań, - sześć trybów oszczędzania energii: Idle, ADC Noise Reduction, Power-save, Power-down, Standby, Extended Standby. wejścia/wyjścia oraz dostępne obudowy układu: - porty wejścia/wyjścia (oznaczone PA, PB, PC i PD), z maksymalnie ośmioma liniami każdy (do każdej przypisana jest funkcja alternatywna), 523

13 - dostępne wersje obudowy: DIP do montażu przewlekanego, TQFP, PLCC, QFN/MLF do montażu powierzchniowego. napięcie zasilania: - od 2,7 do 5,5 V dla ATmega16L, - od 4,5 do 5,5 V dla ATmega16. częstotliwość taktowania: - od 0 do 8 MHz dla ATmega16L, - od 0 do 16 MHz dla ATmega16. Rys Różne obudowy oraz rozkład wyprowadzeń układu ATmega16 (wraz z funkcjami alternatywnymi) [1] pobór prądu przy taktowaniu 1 MHz, zasilaniu 3 V, temperaturze 25 C (ATmega16L): - stan aktywny 1,1 ma, - tryb oszczędzania energii Idle 0,35 ma, - tryb oszczędzania energii Power-down poniżej 1 μa. Na rysunku 12.4 przedstawione zostały dostępne warianty obudów układu ATmega16. Zostały na nim zaznaczone główne oraz alternatywne (w nawiasach) funkcje poszczególnych wyprowadzeń mikrokontrolera. 524

14 12.3 Realizacja projektu Projekt urządzenia, które będzie wykorzystywało mikrokontroler, wymaga opracowania zarówno części sprzętowej, jaki i programu. W pierwszym etapie należy zaprojektować i uruchomić sprzęt, stosując zasady takie, jak przy projektowaniu układów cyfrowych o wysokim stopniu integracji. Możliwe jest również wykorzystanie gotowych zestawów uruchomieniowych (Rys. 12.5). Rys Przykładowy zestaw uruchomieniowy [2] Podczas programowania należy uwzględnić przede wszystkim ograniczenia sprzętowe wybranego mikrokontrolera. Ponadto program jest przygotowywany na innym procesorze, niż będzie wykonywany, bo najczęściej na komputerach osobistych. A zatem do tworzenia programów stosuje się oprogramowanie zewnętrzne (ang. Cross-software): asemblery, makroasemblery, kompilatory różnych języków programowania, konsolidatory. Asemblery mogą tworzyć postać relokowalną, co wymaga stosowania konsolidatora lub od razu postać wynikową. Przygotowane oprogramowanie nie jest często wolne od błędów. Aby móc je przetestować przed załadowaniem do urządzenia docelowego wykorzystuje się symulatory, które umożliwiają śledzenie wykonania programu z jednoczesną obserwacją, a nawet modyfikacją stanu rejestrów procesora, czy zawartości pamięci w trybie krokowym po odpowiednim 525

15 ustawieniu pułapek. Niekiedy symulator stanowi całość z edytorem kodu, asemblerem czy kompilatorem, dając kompleksowe środowisko programistyczne. Symulatory jednak nie umożliwiają najczęściej pracy programu w czasie rzeczywistym oraz symulacji układów współpracujących z mikrokontrolerem. Do tego celu należałoby zastosować emulatory. Programatory układów ATmega Wybrane jako przykładowe w niniejszym opracowaniu układy rodziny ATmega mogą być programowane: przy pomocy wyspecjalizowanego drogiego i skomplikowanego programatora wykorzystującego interfejs równoległy, bezpośrednio w urządzeniu, w którym mikrokontroler ma pracować przy wykorzystaniu: - interfejsu uruchomieniowego JTAG (ang. Joint Test Action Group), który pozwala nie tylko na zaprogramowanie pamięci programu i ustawienie bitów sterujących, ale również na śledzenie wykonywania programu i badanie stanu mikrokontrolera; wykrywa również brak połączenia z obwodem drukowanym; wykorzystywane są cztery wyprowadzenia mikrokontrolera o nazwach: TMS (ang. Test Mode Select), TCK (ang. Test ClocK), TDO (ang. Test Data Out) i TDI (ang. Test Data In), które muszą być odpowiednio połączone, - jednoprzewodowego interfejsu DebugWire, bazującego na wyprowadzeniu Reset mikrokontrolera, który jest prosty, ale nie pozwala na wykorzystanie zewnętrznych sygnałów zerujących interfejsu programowania SPI; ponieważ dokumentacja tego interfejsu nie jest dostępna można go wykorzystać jedynie z oryginalnym urządzeniem JTAGICE firmy Atmel Środowiska programistyczne Początkowo programowanie mikrokontrolerów odbywało się w oparciu o język programowania zwany asemblerem oparty na zbiorze instrukcji odpowiadających liście rozkazów maszynowych procesora, czyli w języku niskiego poziomu. Wykorzystanie tej metody zapewnia pełną kontrolę programisty nad zachowaniem układu, ale pisanie programów jest pracochłonne. Jednak dziś jest stosowane rzadko tylko do pisania fragmentów wymagających bardzo wysokiej wydajności lub przy ograniczonej pamięci programu. 526

16 Obecnie programy źródłowe są zapisywane jako ciąg symbolicznych instrukcji w językach wysokiego poziomu tworzonym przy użyciu wyspecjalizowanych edytorów i zapisywanych w postaci pliku ASCII. W przypadku mikrokontrolerów rodziny AVR wśród języków wysokiego poziomu dominują kompilatory języka Basic oraz języka C. Najbardziej rozpowszechnionym kompilatorem języka Basic jest środowisko BASCOM-AVR. Oprogramowanie to łączy funkcje edytora, kompilatora, symulatora i programatora. Głównym powodem popularności tego pakietu jest prostota użytkowania i relatywnie niska cena. Natomiast jedyną wadą bezpłatnej wersji demonstracyjnej jest jedynie ograniczenie długości generowanego kodu wynikowego do 4 kb. BASCOM jest wyposażony w rozbudowane funkcje biblioteczne, które uwalniają programistę od konieczności dokładnego poznawania wykorzystywanych w aplikacjach interfejsów i urządzeń peryferyjnych. Daje mało optymalny kod wynikowy zarówno pod względem objętości, jak i szybkości działania (bardziej optymalny kod generuje inny pakiet programistyczny FastAvr). BASCOM nie jest też wolny od błędów, a dla bardziej zaawansowanych programistów uciążliwe są jego ograniczenia. Jeżeli chodzi o C, to stworzono wiele kompilatorów tego języka dla mikrokontrolerów serii AVR. Wśród środowisk komercyjnych najbardziej popularne są CodeVisionAVR i ImageCraft ICCAVR. Znacznie droższym narzędziem o większych możliwościach jest pakiet IAR Embedded Workbench. Bezpłatnie dostępny jest kompilator znany pod nazwą AVR-GCC, wyposażony w niezbędne biblioteki standardowe. Dostępne są jego kody źródłowe, obszerna dokumentacja, a jego możliwości można uznać za zadawalające. Kompilator ten jest wykorzystywany w darmowym pakiecie WinAVR. Jest to zbiór programów dla Windows, które nie ustępują w zakresie funkcjonalności komercyjnym środowiskom programistycznym. Chociaż za jego podstawową wadę można uznać dość skomplikowaną obsługę, to najnowsze wersje oferują bardziej funkcjonalny interfejs użytkownika. Po zainstalowaniu pakiet nie wymaga już specjalnych procedur konfiguracyjnych, a wygodny edytor standardowo jest przystosowany do współpracy z kompilatorem. Początkujących może zrazić konieczność tworzenia dla każdego projektu pliku Makefile, czyli zbioru reguł, według których ma przebiegać kompilacja. Dostarczono więc program, który automatycznie edytuje ten plik według nastaw dokonywanych przy pomocy rozwijanego menu. Problemem bywa czasami wybór poziomu optymalizacji zbyt wysoki powoduje czasami usuwanie pozornie niepotrzebnych fragmentów programu. Pakiet WinAVR nie został wyposażony w biblioteki dla typowych interfejsów i urządzeń peryferyjnych, ale potrzebne pliki można znaleźć w Internecie i dołączyć samodzielnie. Bardzo ciekawa i godna polecenia 527

17 jest biblioteka RKLibAVR, której funkcje wzorowane są na ich odpowiednikach w pakiecie BASCOM-AVR. Dla układów AVR stworzono również kompilatory języków mniej popularnych, np. języka Pascal (AVRco) oraz Ada (AVR-Ada). Pomimo spójności i jasności tych języków, sensowność ich wykorzystania stoi jednak pod znakiem zapytania, głównie ze względu na ich małą popularność, słabą przenośność i trudny dostęp do dodatkowych bibliotek funkcji Środowisko programistyczne BASCOM-AVR Środowisko programistyczne BASCOM-AVR zostało stworzone do pracy pod kontrolą dowolnego systemu operacyjnego Windows 95, 98, 98SE, Me, NT, 2000 lub XP. Charakteryzuje się następującymi właściwościami: posiada edytor z wyróżnianiem składni i systemem pomocy kontekstowej, ułatwiającym pisanie programów, zawiera kompilator języka BASIC o składni zbliżonej do Microsoft Visual Basic i Quick Basic, który generuje szybki kod maszynowy, daje możliwość kompilacji programów dla każdego mikrokontrolera AVR, który posiada wewnętrzną pamięć danych, zawiera zintegrowany symulator oraz emulator terminala, zawiera zintegrowany programator ISP obsługujący większość popularnych układów programatorów. Środowisko BASCOM-AVR w wersji demo jest dostępne w Internecie na stronach firmy MCS Electronics. Domyślnym folderem podczas instalacji tego oprogramowania jest C:\Program Files\MCS Electronics\BASCOM-AVR. Ze względu na ograniczenia występujące w systemach Windows NT, 2000 i XP, do pracy ze środowiskiem BASCOM należy wykorzystywać konto użytkownika z uprawnieniami administratora. W przeciwnym razie niemożliwe będzie wykorzystanie wbudowanego programatora ISP. Do poprawnej pracy programu konieczne jest zainstalowanie w systemie drukarki. Przy jej braku wystarczy zainstalować sterownik dowolnej drukarki. Podstawy obsługi środowiska BASCOM-AVR Po uruchomieniu programu i otwarciu pliku poleceniem File/Open, okno będzie wyglądać tak, jak pokazano na rysunku

18 Rys Główne okno programu BASCOM AVR z przykładowym programem W głównym oknie programu występują typowe elementy aplikacji systemu Windows (paski tytułu, menu, przycisków narzędziowych, a na dole stanu). Charakterystycznymi elementami interfejsu są: lista procedur i etykiet. Menu zawiera następujące grupy poleceń: File, które grupuje typowe polecenia operacji na plikach i drukowania, Edit, zawierającą operacje cofania, działania na zawartości schowka, wyszukiwania i zamiany łańcuchów znaków, ustawiania zakładek ułatwiających przemieszczanie kursora do wskazanych miejsc kodu, View sterującą wyświetlaniem paneli interfejsu, Program z poleceniami służącymi do sprawdzenia poprawności kodu i wyświetlania raportu o jego przebiegu, kompilacji programu, uruchomienia symulatora lub programatora przesyłającego kod do mikrokontrolera, Tools zawierającą dodatkowe narzędzią wspomagające programowanie, takie jak emulator terminala, program do projektowania własnych znaków wyświetlaczy LCD, program do tworzenia własnych bibliotek, zapis kodu w formacie RTF, konwerter plików BMP do formatu BGF, wykorzystywanego przez graficzne wyświetlacze LCD, analizator stosu, program testujący aplikacje wykorzystujące protokół TCP/IP, menadżer wtyczek rozszerzających możliwości programu, Options zawierającą polecenia umożliwiające zmianę konfiguracji pakietu BASCOM: kompilatora, emulatora, edytora kodu, symulatora, 529

MIKROKONTROLERY I MIKROPROCESORY

MIKROKONTROLERY I MIKROPROCESORY PLAN... work in progress 1. Mikrokontrolery i mikroprocesory - architektura systemów mikroprocesorów ( 8051, AVR, ARM) - pamięci - rejestry - tryby adresowania - repertuar instrukcji - urządzenia we/wy

Bardziej szczegółowo

2. Architektura mikrokontrolerów PIC16F8x... 13

2. Architektura mikrokontrolerów PIC16F8x... 13 Spis treści 3 Spis treœci 1. Informacje wstępne... 9 2. Architektura mikrokontrolerów PIC16F8x... 13 2.1. Budowa wewnętrzna mikrokontrolerów PIC16F8x... 14 2.2. Napięcie zasilania... 17 2.3. Generator

Bardziej szczegółowo

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08 Mikrokontrolery 8-bitowe Mikrokontrolery 8-bitowe stanowią wciąż najliczniejszą grupę mikrokontrolerów. Istniejące w chwili obecnej na rynku rodziny mikrokontrolerów opracowane zostały w latach 80-tych.

Bardziej szczegółowo

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33 Spis treści 3 1. Wprowadzenie...11 1.1. Wstęp...12 1.2. Mikrokontrolery rodziny ARM...13 1.3. Architektura rdzenia ARM Cortex-M3...15 1.3.1. Najważniejsze cechy architektury Cortex-M3... 15 1.3.2. Rejestry

Bardziej szczegółowo

Kurs Elektroniki. Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26

Kurs Elektroniki. Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26 Kurs Elektroniki Część 5 - Mikrokontrolery. www.knr.meil.pw.edu.pl 1/26 Mikrokontroler - autonomiczny i użyteczny system mikroprocesorowy, który do swego działania wymaga minimalnej liczby elementów dodatkowych.

Bardziej szczegółowo

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F

Bardziej szczegółowo

WPROWADZENIE Mikrosterownik mikrokontrolery

WPROWADZENIE Mikrosterownik mikrokontrolery WPROWADZENIE Mikrosterownik (cyfrowy) jest to moduł elektroniczny zawierający wszystkie środki niezbędne do realizacji wymaganych procedur sterowania przy pomocy metod komputerowych. Platformy budowy mikrosterowników:

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,

Bardziej szczegółowo

Algorytmika i Programowanie VBA 1 - podstawy

Algorytmika i Programowanie VBA 1 - podstawy Algorytmika i Programowanie VBA 1 - podstawy Tomasz Sokół ZZI, IL, PW Czas START uruchamianie środowiska VBA w Excelu Alt-F11 lub Narzędzia / Makra / Edytor Visual Basic konfiguracja środowiska VBA przy

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR

Programowanie mikrokontrolerów AVR Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem

Bardziej szczegółowo

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

1.1 Co to jest USBasp?... 3 1.2 Parametry techniczne... 3 1.3 Obsługiwane procesory... 3 1.4 Zawartość zestawu... 4

1.1 Co to jest USBasp?... 3 1.2 Parametry techniczne... 3 1.3 Obsługiwane procesory... 3 1.4 Zawartość zestawu... 4 2012 Programator AVR USBasp Instrukcja obsługi 2012-02-11 2 SPIS TREŚCI 1. WSTĘP... 3 1.1 Co to jest USBasp?... 3 1.2 Parametry techniczne... 3 1.3 Obsługiwane procesory... 3 1.4 Zawartość zestawu... 4

Bardziej szczegółowo

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32Butterfly2 Zestaw STM32Butterfly2 jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C

Systemy wbudowane. Wprowadzenie. Struktura. Mikrokontrolery AVR. Wprowadzenie do programowania w C Systemy wbudowane Mikrokontrolery AVR Wprowadzenie do programowania w C dr inż. Maciej Piechowiak Wprowadzenie język C jest językiem strukturalnym wysokiego poziomu, jednak działającym blisko sprzętu i

Bardziej szczegółowo

Elementy składowe systemu komputerowego

Elementy składowe systemu komputerowego SWB - Systemy wbudowane - wprowadzenie - wykład 9 asz 1 Elementy składowe systemu komputerowego Podstawowe elementy składowe: procesor z ALU pamięć komputera (zawierająca dane i program) urządzenia wejścia/wyjścia

Bardziej szczegółowo

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne

Spis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1

Systemy operacyjne i sieci komputerowe Szymon Wilk Superkomputery 1 i sieci komputerowe Szymon Wilk Superkomputery 1 1. Superkomputery to komputery o bardzo dużej mocy obliczeniowej. Przeznaczone są do symulacji zjawisk fizycznych prowadzonych głównie w instytucjach badawczych:

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot, Charakterystyka mikrokontrolerów Przygotowali: Łukasz Glapiński, 171021 Mateusz Kocur, 171044 Adam Kokot, 171075 Plan prezentacji Co to jest mikrokontroler? Historia Budowa mikrokontrolera Wykorzystywane

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki

Mikroprocesory i Mikrosterowniki Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,

Bardziej szczegółowo

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com

Bardziej szczegółowo

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15

1. Wstęp Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE Rdzeń mikrokontrolerów ST7FLITE... 15 3 1. Wstęp... 9 2. Różnice pomiędzy mikrokontrolerami ST7 a ST7LITE... 11 3. Rdzeń mikrokontrolerów ST7FLITE... 15 3.1. Jednostka centralna...16 3.2. Organizacja i mapa pamięci...19 3.2.1. Pamięć RAM...20

Bardziej szczegółowo

Budowa Mikrokomputera

Budowa Mikrokomputera Budowa Mikrokomputera Wykład z Podstaw Informatyki dla I roku BO Piotr Mika Podstawowe elementy komputera Procesor Pamięć Magistrala (2/16) Płyta główna (ang. mainboard, motherboard) płyta drukowana komputera,

Bardziej szczegółowo

Systemy wbudowane Mikrokontrolery

Systemy wbudowane Mikrokontrolery Systemy wbudowane Mikrokontrolery Budowa i cechy mikrokontrolerów Architektura mikrokontrolerów rodziny AVR 1 Czym jest mikrokontroler? Mikrokontroler jest systemem komputerowym implementowanym w pojedynczym

Bardziej szczegółowo

ARCHITEKTURA PROCESORA,

ARCHITEKTURA PROCESORA, ARCHITEKTURA PROCESORA, poza blokami funkcjonalnymi, to przede wszystkim: a. formaty rozkazów, b. lista rozkazów, c. rejestry dostępne programowo, d. sposoby adresowania pamięci, e. sposoby współpracy

Bardziej szczegółowo

1.2. Architektura rdzenia ARM Cortex-M3...16

1.2. Architektura rdzenia ARM Cortex-M3...16 Od Autora... 10 1. Wprowadzenie... 11 1.1. Wstęp...12 1.1.1. Mikrokontrolery rodziny ARM... 14 1.2. Architektura rdzenia ARM Cortex-M3...16 1.2.1. Najważniejsze cechy architektury Cortex-M3... 16 1.2.2.

Bardziej szczegółowo

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11

Spis treúci. Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1. Przedmowa... 9. Wstęp... 11 Księgarnia PWN: Krzysztof Wojtuszkiewicz - Urządzenia techniki komputerowej. Cz. 1 Spis treúci Przedmowa... 9 Wstęp... 11 1. Komputer PC od zewnątrz... 13 1.1. Elementy zestawu komputerowego... 13 1.2.

Bardziej szczegółowo

Architektura mikroprocesorów TEO 2009/2010

Architektura mikroprocesorów TEO 2009/2010 Architektura mikroprocesorów TEO 2009/2010 Plan wykładów Wykład 1: - Wstęp. Klasyfikacje mikroprocesorów Wykład 2: - Mikrokontrolery 8-bit: AVR, PIC Wykład 3: - Mikrokontrolery 8-bit: 8051, ST7 Wykład

Bardziej szczegółowo

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC Wykład 2 Przegląd mikrokontrolerów 8-bit: -AVR -PIC Mikrokontrolery AVR Mikrokontrolery AVR ATTiny Główne cechy Procesory RISC mało instrukcji, duża częstotliwość zegara Procesory 8-bitowe o uproszczonej

Bardziej szczegółowo

Wykład Mikroprocesory i kontrolery

Wykład Mikroprocesory i kontrolery Wykład Mikroprocesory i kontrolery Cele wykładu: Poznanie podstaw budowy, zasad działania mikroprocesorów i układów z nimi współpracujących. Podstawowa wiedza potrzebna do dalszego kształcenia się w technice

Bardziej szczegółowo

Architektura komputerów

Architektura komputerów Architektura komputerów Wykład 3 Jan Kazimirski 1 Podstawowe elementy komputera. Procesor (CPU) 2 Plan wykładu Podstawowe komponenty komputera Procesor CPU Cykl rozkazowy Typy instrukcji Stos Tryby adresowania

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

Bardziej szczegółowo

Wykład 2. Mikrokontrolery z rdzeniami ARM

Wykład 2. Mikrokontrolery z rdzeniami ARM Wykład 2 Źródło problemu 2 Wstęp Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC. Różne wersje procesorów

Bardziej szczegółowo

Mikrokontroler AVR ATmega32 - wykład 9

Mikrokontroler AVR ATmega32 - wykład 9 SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 1 Mikrokontroler AVR ATmega32 - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Mikrokontroler AVR ATmega32 - wykład 9 asz 2 CechyµC ATmega32 1.

Bardziej szczegółowo

Temat 1: Podstawowe pojęcia: program, kompilacja, kod

Temat 1: Podstawowe pojęcia: program, kompilacja, kod Temat 1: Podstawowe pojęcia: program, kompilacja, kod wynikowy. Przykłady najprostszych programów. Definiowanie zmiennych. Typy proste. Operatory: arytmetyczne, przypisania, inkrementacji, dekrementacji,

Bardziej szczegółowo

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości

Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Politechnika Lubelska Wydział Elektrotechniki i Informatyki PRACA DYPLOMOWA MAGISTERSKA Zastosowanie procesorów AVR firmy ATMEL w cyfrowych pomiarach częstotliwości Marcin Narel Promotor: dr inż. Eligiusz

Bardziej szczegółowo

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych

Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych Dodatek B. Zasady komunikacji z otoczeniem w typowych systemach komputerowych B.1. Dostęp do urządzeń komunikacyjnych Sterowniki urządzeń zewnętrznych widziane są przez procesor jako zestawy rejestrów

Bardziej szczegółowo

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4

ICD Wprowadzenie. Wprowadzenie. Czym jest In-Circuit Debugger? 2. O poradniku 3. Gdzie szukać dodatkowych informacji? 4 ICD 2 Czym jest In-Circuit Debugger? 2 O poradniku 3 Gdzie szukać dodatkowych informacji? 4 ICD 1 ICD 25.08.2009 Czym jest In-Circuit Debugger? Większość procesorów dostarcza systemów debugowania (ang.

Bardziej szczegółowo

dokument DOK 02-05-12 wersja 1.0 www.arskam.com

dokument DOK 02-05-12 wersja 1.0 www.arskam.com ARS3-RA v.1.0 mikro kod sterownika 8 Linii I/O ze zdalną transmisją kanałem radiowym lub poprzez port UART. Kod przeznaczony dla sprzętu opartego o projekt referencyjny DOK 01-05-12. Opis programowania

Bardziej szczegółowo

System mikroprocesorowy i peryferia. Dariusz Chaberski

System mikroprocesorowy i peryferia. Dariusz Chaberski System mikroprocesorowy i peryferia Dariusz Chaberski System mikroprocesorowy mikroprocesor pamięć kontroler przerwań układy wejścia wyjścia kontroler DMA 2 Pamięć rodzaje (podział ze względu na sposób

Bardziej szczegółowo

Struktura i działanie jednostki centralnej

Struktura i działanie jednostki centralnej Struktura i działanie jednostki centralnej ALU Jednostka sterująca Rejestry Zadania procesora: Pobieranie rozkazów; Interpretowanie rozkazów; Pobieranie danych Przetwarzanie danych Zapisywanie danych magistrala

Bardziej szczegółowo

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515 Laboratorium Techniki Mikroprocesorowej Informatyka studia dzienne Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515 Cel ćwiczenia Celem ćwiczenia jest poznanie możliwości nowoczesnych

Bardziej szczegółowo

Przykładowe pytania DSP 1

Przykładowe pytania DSP 1 Przykładowe pytania SP Przykładowe pytania Systemy liczbowe. Przedstawić liczby; -, - w kodzie binarnym i hexadecymalnym uzupełnionym do dwóch (liczba 6 bitowa).. odać dwie liczby binarne w kodzie U +..

Bardziej szczegółowo

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre) Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie

Bardziej szczegółowo

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22) O autorze (9) Podziękowania (10) Wstęp (11) Pobieranie przykładów (12) Czego będę potrzebował? (12) Korzystanie z tej książki (12) Rozdział 1. Programowanie Arduino (15) Czym jest Arduino (15) Instalacja

Bardziej szczegółowo

Inkubator AVR Podstawy obsługi i programowania mikrokontrolerów rodziny. CZĘŚĆ I. Wprowadzenie i hardware Co na temat AVR każdy wiedzieć powinien? Producent: ATMEL (www.atmel.com) Instrukcje wykonywane

Bardziej szczegółowo

Programator AVR USBasp

Programator AVR USBasp 2012 Programator AVR USBasp Instrukcja obsługi 2012-09-11 2 SPIS TREŚCI 1. WSTĘP... 3 1.1 Co to jest USBasp?... 3 1.2 Parametry techniczne... 3 1.3 Obsługiwane procesory... 3 1.4 Zawartośd zestawu... 4

Bardziej szczegółowo

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści Arduino dla początkujących. Kolejny krok Autor: Simon Monk Spis treści O autorze Podziękowania Wstęp o Pobieranie przykładów o Czego będę potrzebował? o Korzystanie z tej książki Rozdział 1. Programowanie

Bardziej szczegółowo

Opracował: Jan Front

Opracował: Jan Front Opracował: Jan Front Sterownik PLC PLC (Programowalny Sterownik Logiczny) (ang. Programmable Logic Controller) mikroprocesorowe urządzenie sterujące układami automatyki. PLC wykonuje w sposób cykliczny

Bardziej szczegółowo

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 4 Magistrala SPI Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem oraz sterownikiem wyświetlaczy 7-segmentowych przy użyciu magistrali

Bardziej szczegółowo

Układy zegarowe w systemie mikroprocesorowym

Układy zegarowe w systemie mikroprocesorowym Układy zegarowe w systemie mikroprocesorowym 1 Sygnał zegarowy, sygnał taktujący W każdym systemie mikroprocesorowym jest wymagane źródło sygnałów zegarowych. Wszystkie operacje wewnątrz jednostki centralnej

Bardziej szczegółowo

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza

Bardziej szczegółowo

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361

ADuCino 360. Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361 Zestaw uruchomieniowy dla mikrokontrolerów ADuCM360/361 ADuCino 360 Zestaw ADuCino jest tanim zestawem uruchomieniowym dla mikrokontrolerów ADuCM360 i ADuCM361 firmy Analog Devices mechanicznie kompatybilnym

Bardziej szczegółowo

Systemy uruchomieniowe

Systemy uruchomieniowe Systemy uruchomieniowe Przemysław ZAKRZEWSKI Systemy uruchomieniowe (1) 1 Środki wspomagające uruchamianie systemów mikroprocesorowych Symulator mikroprocesora Analizator stanów logicznych Systemy uruchomieniowe:

Bardziej szczegółowo

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym

Technika mikroprocesorowa. Struktura programu użytkownika w systemie mikroprocesorowym Struktura programu użytkownika w systemie mikroprocesorowym start inicjalizacja niekończaca się pętla zadania niekrytyczne czasowo przerwania zadania krytyczne czasowo 1 Znaczenie problematyki programowania

Bardziej szczegółowo

Budowa komputera Komputer computer computare

Budowa komputera Komputer computer computare 11. Budowa komputera Komputer (z ang. computer od łac. computare obliczać) urządzenie elektroniczne służące do przetwarzania wszelkich informacji, które da się zapisać w formie ciągu cyfr albo sygnału

Bardziej szczegółowo

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę.

Jeśli chcesz łatwo i szybko opanować podstawy C++, sięgnij po tę książkę. Języki C i C++ to bardzo uniwersalne platformy programistyczne o ogromnych możliwościach. Wykorzystywane są do tworzenia systemów operacyjnych i oprogramowania użytkowego. Dzięki niskiemu poziomowi abstrakcji

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Programowanie mikrokontroleroẃ i mikroprocesoroẃ Rok akademicki: 2017/2018 Kod: EIT-1-408-s Punkty ECTS: 4 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:

Bardziej szczegółowo

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy:

LITEcompLPC1114. Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Sponsorzy: LITEcompLPC1114 Zestaw ewaluacyjny z mikrokontrolerem LPC1114 (Cortex-M0) Bezpłatny zestaw dla Czytelników książki Mikrokontrolery LPC1100. Pierwsze kroki LITEcompLPC1114 jest doskonałą platformą mikrokontrolerową

Bardziej szczegółowo

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C:

Systemy Wbudowane. Arduino, AVR. Arduino. Arduino. Arduino. Oprogramowanie. Mikrokontroler. Mikrokontroler Platforma Arduino. Arduino IDE: Arduino C: Mikrokontroler Platforma Systemy Wbudowane IDE:, AVR mgr inż. Marek Wilkus Wydział Inżynierii Metali i Informatyki Przemysłowej AGH Kraków Mikrokontroler AVR Uno Środowisko Terminal Uruchamianie http://home.agh.edu.pl/~mwilkus

Bardziej szczegółowo

ZL8AVR. Płyta bazowa dla modułów dipavr

ZL8AVR. Płyta bazowa dla modułów dipavr ZL8AVR Płyta bazowa dla modułów dipavr Zestaw ZL8AVR to płyta bazowa dla modułów dipavr (np. ZL7AVR z mikrokontrolerem ATmega128 lub ZL12AVR z mikrokontrolerem ATmega16. Wyposażono ją w wiele klasycznych

Bardziej szczegółowo

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08 Pamięci Układy pamięci kontaktują się z otoczeniem poprzez szynę danych, szynę owa i szynę sterującą. Szerokość szyny danych określa liczbę bitów zapamiętywanych do pamięci lub czytanych z pamięci w trakcie

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski

Systemy wbudowane. Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej. Witold Kozłowski Uniwersytet Łódzki Wydział Fizyki i Informatyki Stosowanej Systemy wbudowane Witold Kozłowski Zakład Fizyki i Technologii Struktur Nanometrowych 90-236 Łódź, Pomorska 149/153 https://std2.phys.uni.lodz.pl/mikroprocesory/

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania wykład 2 Piotr Cybula Wydział Matematyki i Informatyki UŁ 2012/2013 http://www.math.uni.lodz.pl/~cybula Język programowania Każdy język ma swoją składnię: słowa kluczowe instrukcje

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów2 2. ISP..2 3. I/O Ports..3 4. External Interrupts..4 5. Analog Comparator5 6. Analog-to-Digital Converter.6 7.

Bardziej szczegółowo

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

Grzegorz Cygan. Wstęp do programowania mikrosterowników w języku C 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

Bardziej szczegółowo

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl

Programowanie niskopoziomowe. dr inż. Paweł Pełczyński ppelczynski@swspiz.pl Programowanie niskopoziomowe dr inż. Paweł Pełczyński ppelczynski@swspiz.pl 1 Literatura Randall Hyde: Asembler. Sztuka programowania, Helion, 2004. Eugeniusz Wróbel: Praktyczny kurs asemblera, Helion,

Bardziej szczegółowo

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32 Butterfly Zestaw STM32 Butterfly jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity

Bardziej szczegółowo

Techniki mikroprocesorowe i systemy wbudowane

Techniki mikroprocesorowe i systemy wbudowane Techniki mikroprocesorowe i systemy wbudowane Wykład 1 Procesory rodziny AVR ATmega. Wstęp Wojciech Kordecki wojciech.kordecki@pwsz-legnica.eu Państwowa Wyższa Szkoła Zawodowa im. Witelona w Legnicy Wydział

Bardziej szczegółowo

Programowanie w języku C++ Grażyna Koba

Programowanie w języku C++ Grażyna Koba Programowanie w języku C++ Grażyna Koba Kilka definicji: Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i zasad

Bardziej szczegółowo

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ),

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH KL IV TI 6 godziny tygodniowo (6x15 tygodni =90 godzin ), Program 351203 Opracowanie: Grzegorz Majda Tematyka zajęć 2. Przygotowanie środowiska pracy

Bardziej szczegółowo

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy

Wprowadzenie do informatyki i użytkowania komputerów. Kodowanie informacji System komputerowy 1 Wprowadzenie do informatyki i użytkowania komputerów Kodowanie informacji System komputerowy Kodowanie informacji 2 Co to jest? bit, bajt, kod ASCII. Jak działa system komputerowy? Co to jest? pamięć

Bardziej szczegółowo

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski

Układ wykonawczy, instrukcje i adresowanie. Dariusz Chaberski Układ wykonawczy, instrukcje i adresowanie Dariusz Chaberski System mikroprocesorowy mikroprocesor C A D A D pamięć programu C BIOS dekoder adresów A C 1 C 2 C 3 A D pamięć danych C pamięć operacyjna karta

Bardziej szczegółowo

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki Turbo Pascal jest językiem wysokiego poziomu, czyli nie jest rozumiany bezpośrednio dla komputera, ale jednocześnie jest wygodny dla programisty,

Bardziej szczegółowo

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Program, to lista poleceń zapisana w jednym języku programowania zgodnie z obowiązującymi w nim zasadami. Celem programu jest przetwarzanie

Bardziej szczegółowo

Mikrokontrolery AVR techniczne aspekty programowania

Mikrokontrolery AVR techniczne aspekty programowania Andrzej Pawluczuk Mikrokontrolery AVR techniczne aspekty programowania Białystok, 2004 Mikrokontrolery rodziny AVR integrują w swojej strukturze między innymi nieulotną pamięć przeznaczoną na program (pamięć

Bardziej szczegółowo

Mikroprocesory i mikrosterowniki

Mikroprocesory i mikrosterowniki Mikroprocesory i mikrosterowniki Wykład 1 wstęp, budowa mikrokontrolera Wydział Elektroniki Mikrosystemów i Fotoniki Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Piotr Markowski

Bardziej szczegółowo

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści

Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop Spis treści Szkoła programisty PLC : sterowniki przemysłowe / Gilewski Tomasz. Gliwice, cop. 2017 Spis treści O autorze 9 Wprowadzenie 11 Rozdział 1. Sterownik przemysłowy 15 Sterownik S7-1200 15 Budowa zewnętrzna

Bardziej szczegółowo

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

Hardware mikrokontrolera X51

Hardware mikrokontrolera X51 Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)

Bardziej szczegółowo

LEKCJA TEMAT: Współczesne procesory.

LEKCJA TEMAT: Współczesne procesory. LEKCJA TEMAT: Współczesne procesory. 1. Wymagania dla ucznia: zna pojęcia: procesor, CPU, ALU, potrafi podać typowe rozkazy; potrafi omówić uproszczony i rozszerzony schemat mikroprocesora; potraf omówić

Bardziej szczegółowo

Politechnika Białostocka

Politechnika Białostocka Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Kod przedmiotu: TS1C 622 388 Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Elektronika samochodowa Temat: Programowanie

Bardziej szczegółowo

OPTIMA PC v2.2.1. Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 2011 ELFON. Instrukcja obsługi. Rev 1

OPTIMA PC v2.2.1. Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 2011 ELFON. Instrukcja obsługi. Rev 1 OPTIMA PC v2.2.1 Program konfiguracyjny dla cyfrowych paneli domofonowy serii OPTIMA 255 Instrukcja obsługi Rev 1 2011 ELFON Wprowadzenie OPTIMA PC jest programem, który w wygodny sposób umożliwia konfigurację

Bardziej szczegółowo

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP

Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP ZL32ARM ZL32ARM z mikrokontrolerem LPC1114 (rdzeń Cotrex-M0) dzięki wbudowanemu programatorowi jest kompletnym zestawem uruchomieniowym.

Bardziej szczegółowo

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

Bardziej szczegółowo

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O

Budowa komputera. Magistrala. Procesor Pamięć Układy I/O Budowa komputera Magistrala Procesor Pamięć Układy I/O 1 Procesor to CPU (Central Processing Unit) centralny układ elektroniczny realizujący przetwarzanie informacji Zmiana stanu tranzystorów wewnątrz

Bardziej szczegółowo

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania Podstawowe kroki programowania zestawu uruchomieniowego ZL9AVR z systemem operacyjnym NutOS w środowisku

Bardziej szczegółowo

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Rok akademicki: 2013/2014 Kod: EEL s Punkty ECTS: 2. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne Nazwa modułu: Technika mikroprocesorowa Rok akademicki: 2013/2014 Kod: EEL-1-616-s Punkty ECTS: 2 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek: Elektrotechnika Specjalność:

Bardziej szczegółowo

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści

Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, Spis treści Programowanie sterowników przemysłowych / Jerzy Kasprzyk. wyd. 2 1 dodr. (PWN). Warszawa, 2017 Spis treści Przedmowa 11 ROZDZIAŁ 1 Wstęp 13 1.1. Rys historyczny 14 1.2. Norma IEC 61131 19 1.2.1. Cele i

Bardziej szczegółowo

11.Mikrokomputeryjednoukładowe

11.Mikrokomputeryjednoukładowe Materiały do wykładu 11.Mikrokomputeryjednoukładowe Marcin Peczarski Instytut Informatyki Uniwersytet Warszawski 14maja2008 Podstawowe cechy(1) 11.1 Innenazwy mikrokontroler mikroprocesor do zastosowań

Bardziej szczegółowo

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400

Spis treści. Dzień 1. I Rozpoczęcie pracy ze sterownikiem (wersja 1707) II Bloki danych (wersja 1707) ZAAWANSOWANY TIA DLA S7-300/400 ZAAWANSOWANY TIA DLA S7-300/400 Spis treści Dzień 1 I Rozpoczęcie pracy ze sterownikiem (wersja 1707) I-3 Zadanie Konfiguracja i uruchomienie sterownika I-4 Etapy realizacji układu sterowania I-5 Tworzenie

Bardziej szczegółowo

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa i zasada działania komputera. dr Artur Bartoszewski Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu

Bardziej szczegółowo

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Podstawy programowania w języku Visual Basic dla Aplikacji (VBA) Instrukcje Język Basic został stworzony w 1964 roku przez J.G. Kemeny ego i T.F. Kurtza z Uniwersytetu w Darthmouth (USA). Nazwa Basic jest

Bardziej szczegółowo

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu Programowanie strukturalne Opis ogólny programu w Turbo Pascalu STRUKTURA PROGRAMU W TURBO PASCALU Program nazwa; } nagłówek programu uses nazwy modułów; } blok deklaracji modułów const } blok deklaracji

Bardziej szczegółowo

Wykład 4. Środowisko programistyczne

Wykład 4. Środowisko programistyczne Wykład 4 Dostępne kompilatory KEIL komercyjny GNU licencja GPL ARM komercyjny IAR komercyjny 2 Porównanie kompilatorów 3 Porównanie kompilatorów 4 Keil uvision Graficzny edytor Kompilator i linker Symulator

Bardziej szczegółowo