ZESPÓŁ SZKÓŁ MECHANICZNO-ELEKTRYCZNYCH im... Technikum Telekomunikacyjne. Specjalność:. PRACA DYPLOMOWA

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

Download "ZESPÓŁ SZKÓŁ MECHANICZNO-ELEKTRYCZNYCH im... Technikum Telekomunikacyjne. Specjalność:. PRACA DYPLOMOWA"

Transkrypt

1 ZESPÓŁ SZKÓŁ MECHANICZNO-ELEKTRYCZNYCH im... Technikum Telekomunikacyjne Specjalność:. PRACA DYPLOMOWA Zaprojektuj i wykonaj stanowisko laboratoryjne do programowania mikrokontrolera SWt-. Promotor: mgr inż. Wykonał:., 2005

2 Spis treści SPIS TREŚCI Spis Treści 2 1. Cel pracy 3 2. Mikrokontroler Budowa zewnętrzna mikrokontrolera AT90S Architektura wewnętrzna mikrokontrolera AT90S Programator Budowa sprzętowa programatora Podłączenie programatora do jednostki centralnej komputera PC Program BASCOM -AVR (DEMO) Version Instalacja programu BASCOM-AVR Obsługa i użytkowanie programu BASCOM -AVR Najważniejsze opcje programu BASCOM-AVR Użytkowanie interfejsu symulatora (AVR Simulator) Interfejs programowania (AVR ISP STK Programmer) Kody błędów Programowanie Elementy tworzenia programów w języku BASIC Typy danych Zmienne Tablice Instrukcja pętli Instrukcja warunkowa Przykłady programów Generator piezoelektryczny Wyświetlacz alfanumeryczny LCD Zegar cyfrowy z wykorzystaniem wyświetlacza LCD Wnioski Załączniki 41

3 Spis treści 8. Literatura Spis rysunków i tabel 43

4 1. Cel pracy 3 1. Cel pracy Moja praca dyplomowa zatytułowana Zaprojektuj i wykonaj stanowisko laboratoryjne do programowania mikrokontrolera, ma charakter dydaktyczny. Będzie opracowana z myślą o następnych pokoleniach uczniów i ich edukacji w dziedzinie programowania elementów mikroprocesorowych. Moją prace rozpocznę od podstawowych zasad technologii mikroprocesorowej. Postaram się wyczerpująco i przystępnie omówić temat zagadnienia. Opiszę budowę i działanie wykonanego jako pracy praktycznej programatora do układu AT90S2313 będącego bardzo funkcjonalnym w dzisiejszych czasach układem programowalnym, a zarazem sterującym. Programator może być wykorzystywany w podstawowym i praktycznym nauczaniu sterowania urządzeniami elektronicznymi za pomocom techniki mikroprocesorowej. Zważając na obecny rozwój technologii komputerowej i mechanicznej, a co za tym idzie rozbudowy urządzeń automatycznych o nowe podzespoły sterowane elektronicznie. Ogólnie upowszechniającej się robotyce i wzrastającej wraz nią komfortu naszego życia. Technika mikroprocesorowa i podstawy programowania układów sterujących i nadzorujących dla technika elektronika lub informatyka staję się istotną umiejętnością w przyszłej pracy zawodowej. Umiejętność posługiwania się elementami programowalnymi przydaje się nie tylko w zawansowanych przedsięwzięciach, ale jak wspomniałem we wzrastającym standardzie życia. Obecny człowiek powinien potrafić nie tylko posługiwać się językiem obcym, ale i komputerem, który jest maszyną zaprogramowaną i posiadającą nie jeden układ programowalny, ale sporą ich ilość. Tak też celem mojej pracy nie musi być koniecznie dydaktyka szkolna. Może posłużyć ona także powierzchownemu zaznajomieniu się z zasadą działania elementów składowych otaczających nas urządzeń elektronicznych.

5 2. Mikrokontroler 4 2. Mikrokontroler Mikrokontroler jest to układ cyfrowy z wyspecjalizowanym mikroprocesorem (procesorem) i niezbędnymi urządzeniami zawartymi w jednym układzie scalonym czyniącym go układem autonomicznym (do pracy nie są koniecznie wymagane urządzenia zewnętrzne takie jak np. kontrolery magistral, kontrolery przerwań, generatory sygnałów). szyna adresowa szyna danych jednostka centralna szyna sterująca program ROM dane RAM urządzenia peryferyjne Rys Blokowa budowa mikrokontrolera Z rys widać, że mikrokontroler jest układem scalonym, w którego skład wchodzą podstawowe elementy kompletnego komputera takie jak: pamięć, jednostka centralna, urządzenia peryferyjne. Mikrokontroler komunikuje się z otoczeniem za pośrednictwem wewnętrznych urządzeń peryferyjnych. Jedną z najważniejszych cech jednostki centralnej mikrokontrolera jest szerokość szyny danych. Może być ona 8-bitowa, 16-bitowa lub 32-bitowa. Na podstawie jej szerokości określa się typ mikrokontrolera. Mikrokontrolery znajdują zastosowanie praktycznie we wszystkich nowoczesnych urządzeniach. Często są także używane przez amatorów do budowy niewielkich układów na własne potrzeby, inne używane są przez firmy do budowania urządzeń służących do kontroli, pomiaru itp. Jeszcze inne stosowane są w poważnych aplikacjach przez wojsko, służby bezpieczeństwa, banki, służby medyczne. Jednym słowem mikrokontroler staje się częścią naszego życia.

6 2.1. Budowa zewnętrzna mikrokontrolera AT90S Budowa zewnętrzna mikrokontrolera AT90S2313 Najlepiej zacząć omawianie budowy zewnętrznej od liczby nóżek i ich przeznaczenia. Mikrokontroler AT90S2313 jest niedużym dwudziesto nóżkowym układem scalonym (rys. 2.3.) W klasycznych układach scalonych funkcje wszystkich wyprowadzeń są ściśle określone, natomiast w mikroprocesorach jest inaczej. Charakterystyczna cechą jest tu obecność końcówek uniwersalnych. Opisywany układ ma takich uniwersalnych wyprowadzeń 15 (PD0-PD6, PB0-PB7). Każde z nich może być zarówno wejściem jak i wyjściem, a zależy to od programisty. 1. Końcówki zasilające (VCC, GND). Mikrokontroler można zasilać napięciem w granicach 2,7-6V wahającej się w zależności od modelu. Aby wykluczyć ryzyko błędnego działania układu, linie zasilające powinny być odsprzęgnięte pojemnością. Minimum to 10µF jak na rys ale lepiej zastosować szeregowo połączone kondensatory elektrolityczny µF i ceramiczny 100nF. 2. Obwody zerowania (RESET). Praktycznie wszystkie mikrokontrolery posiadają końcówkę RESET. Służy ona na przykład do prawidłowego rozpoczęcia pracy po włączeniu zasilania. Pozwala także wyzerować układ, czyli w każdej chwili rozpocząć działanie programu od nowa. W podstawowych aplikacjach układu nie potrzebne jest podłączanie jakichkolwiek elementów. 3. Do pełnego omówienia podstawowej aplikacji działania układu pozostają nam nóżki (5,4) XTAL1 i XTAL2, rys Końcówki te są wejściem i wyjściem wewnętrznego układu generatora. Do końcówek dostarczany jest sygnał zegarowy w celu synchronizacji wszystkich wewnętrznych bloków funkcyjnych. Impulsy są pozyskiwane z generatora kwarcowego o częstotliwościach wahających się w zależności od zastosowanego modelu 0-10MHz. Rys Podłączenie generatora kwarcowego Wyróżnia się trzy stany pracy generatorów, (różnią się one między sobą zasadą) im większa generowana częstotliwość tym większy pobór mocy przez układ, ale i większa wydajność obliczeniowa.

7 2.1. Budowa zewnętrzna mikrokontrolera AT90S LP generowanie niskich częstotliwości - XT generowanie średnich częstotliwości - HS generowanie wysokich częstotliwości Rys Rozmieszczenie i znaczenie nóżek mikrokontrolera AT90S2313 Rys Typowa aplikacja działania mikrokontrolera AT90S2313 Rys Precyzyjne wymiary układu scalonego AT90S2313

8 2.2. Architektura wewnętrzna mikrokontrolera AT90S Architektura wewnętrzna mikrokontrolera AT90S2313 Opisywany mikrokontroler AT90S2313 posiadający 20 nóżek, oprócz portów wejścia/wyjścia, ma wewnątrz wiele skomplikowanych obwodów. Wszystkie te obwody wraz z połączeniami można prześledzić na schemacie blokowym rys ALU (Arithmetic Logic Unit), czyli jednostka arytmetyczno-logiczna. To właściwie mózg opisywanego mikrokontrolera. Tu przeprowadza się obliczenia i inne operacje, najczęściej właśnie z wykorzystaniem liczb ośmiobitowych. 2. Mikroprocesor został wyposażony w tak zwany UART (Asynchronous Receiver and Transmitter) pozwalający w prosty sposób zrealizować programiście transmisję w popularnym standardzie RS-232C. Oznacza to, że mikrokontroler może współpracować z komputerem PC lub innymi urządzeniami przez port szeregowy. Port szeregowy UART kontaktuje się ze światem zewnętrznym za pomocą dwóch wyprowadzeń: wejścia odbiornika (RXD) i wyjścia odbiornika (TXD). UART jest interfejsem asynchronicznym. 3. Mikrokontroler będący niewątpliwie układem cyfrowym ma na swoim pokładzie element analogowy, którym jest komparator. Komparator porównuje napięcia podane na jego dwa wejścia oznaczone na rys (AIN0, AIN1), ale nie zmienia to istoty, że końcówki mogą być wej/wyj. Odczyt komparatora odbywa się programowo. 4. Watchdog to licznik z osobistym generatorem. Ten licznik i generator pracują zupełnie niezależnie od generatora kwarcowego dołączonego do XTAL1 i XTAL2. Gdy licznik zliczy do końca i zacznie od nowa spowoduje reset procesora i rozpocznie działanie programu od początku. Prawidłowo działający program w regularnych odstępach czasu powoduje wyzerowanie licznika watchdog a, a w związku z tym reset procesora nie nastąpi. Może się jednak stać, że pod wpływem warunków zewnętrznych program przestanie działać poprawnie tzn. procesor może wpaść w tak zwaną martwą pętlę i przestać spełniać zadanej roli. Taka awaria spowoduje błędne działanie urządzenia, ale i licznik watchdoga nie będzie zerowany, więc po krótkim czasie rzędu milisekund nastąpi reset procesora, a program zacznie działanie od początku. 5. Pamięć FLASH to pamięć programu, rys.2.7. AT90S2313 ma 2 kilobajty, czyli 2048 bajtów pamięci programu. Rzeczywistości zorganizowana jest ona jako 1024 słów 16-bitowych. Za pomocą kompilatora i programatora właśnie ta pamięć zostanie zapełniona programem nadzorującym i sterującym mikrokontrolerem. Pamięć FLASH można wedle potrzeby kasować

9 2.2. Architektura wewnętrzna mikrokontrolera AT90S i zapisywać od nowa poprawionym lub innym programem. Pamięć ta może być kasowana i programowana co najmniej 1000 razy. Rys Wewnętrzna budowa blokowa mikrokontrolera AT90S2313

10 2.2. Architektura wewnętrzna mikrokontrolera AT90S Najważniejszą jednak właściwością pamięci FLASH jest to, że podczas pracy układu zawartość pozostaje stała, a wyłączenie zasilania nie ma wpływu na jej zwartość. Rys Przestrzeń adresowa pamięci programu - FLASH Pamięć RAM to pamięć operacyjna (danych), jej struktura pokazana jest na rys.2.8. Omawiany mikrokontroler posiada 128 bajtów tej pamięci. RAM jest aktywnie wykorzystywany podczas pracy układu, w tego typu pamięci przechowywane są dane i wyniki operacji potrzebne do bezproblemowej pracy mikrokontrolera. Wszystko odbywa się za pomocą kodu binarnego (dwójkowego) zorganizowanego w ośmiobitowe słowa (bajty). Pamięć RAM można zapisywać i odczytywać dowolną liczbę razy i nie ma tutaj limitu cyklów zapisu. Zapisane dane w tego typu pamięci bezpowrotnie giną po wyłączeniu zasilania. Programując mikroprocesor z pomocą BASCOM-a nie trzeba troszczyć się o pamięć RAM i jej zawartość. BASCOM sam określa sposób jej użytkowania. A następnie podczas pracy dba o to program znajdujący się w pamięci programu. Rys Struktura adresowa pamięci danych - RAM Pamięć pomocnicza EEPROM, rys.2.9. Opisywany układ posiada 128 bajtów tej pamięci zorganizowanej w 128 słów po 8 bitów w każdym. Pamięć ta jest czymś pośrednim pomiędzy pamięcią programu i RAM-em. Istnieje możliwość zaprogramowania pamięć EEPROM z zewnątrz czyli za pomocą komputera, podobnie jak pamięci FLASH.

11 2.2. Architektura wewnętrzna mikrokontrolera AT90S Co bardzo ważne, program podczas działania może zmienić dane znajdujące się w rejestrach EEPROM-u. Zapis tej pamięci trwa o wiele dłużej niż zapis RAM-u, a także jest ograniczona ilość cyklów zapisu do razy (co przy aktywnym wykorzystaniu tak jak np. pamięci danych nie jest wcale tak dużo). Rys Przestrzeń adresowa pamięci pomocniczej - EEPROM W mikrokontrolerze AT90S2313 oprócz pamięci FLASH, RAM i EEPROM znajdują się również rejestry co widać na rys rejestry robocze ogólnego przeznaczenia (general purpose working registers), który współpracuje bezpośrednio z ALU i pozwala łatwo przeprowadzać obliczenia i inne operacje. Rejestr jest po to gdyż na zwykłej pamięci RAM nie można przeprowadzić operacji obliczeniowych. Liczbę z RAMu trzeba przenieść do rejestru roboczego i dopiero poddać dalszej obróbce. Co jeszcze można zauważyć na rys. 2.6., to że w pamięci znajduje się jeszcze miejsce na 64 rejestry wej/wyj. Za pomocą tych rejestrów możliwe jest sterowanie i odczytywanie stanu wszelkich urządzeń dodatkowych. Te urządzenia są widziane przez procesor podobnie jak pamięć RAM, można do nich wysyłać dane jak i je odczytywać. Architekturę mikroprocesorów rdzeniowych można sklasyfikować według typu: mapy pamięci oraz listy instrukcji. Układ, którym zająłem się w mojej pracy ze względu na mapę pamięci ma architekturę typu harwardzkiego. Oznacza to że działanie układu opiera się na użyciu dwóch oddzielnych szyn dla danych i rozkazów, dzięki czemu w trakcie pobierania argumentów wykonywanej właśnie instrukcji można równocześnie zacząć pobieranie następnego słowa rozkazowego. Skraca to cykl rozkazowy i zwiększa szybkość pracy. Obszary adresowe pamięci danych i programu są rozdzielone. Pociąga to za sobą niejednoznaczność adresów, ponieważ pod tym samym adresem jednostka centralna widzi pamięć RAM i ROM. W tym przypadku stosuje się inne rozkazy dla pamięci programu i inne dla pamięci danych. Wadą tego rozwiązania jest utrudniony przepływ danych z pamięci programu do obszaru pamięci operacyjnej, co uniemożliwia stosowanie jednej z podstawowych technik programistycznych.

12 2.2. Architektura wewnętrzna mikrokontrolera AT90S Ze względu na listę instrukcji mikrokontroler AT90S2313 posiada architekturę RSC, (rys 2.10.) Mówi to o zredukowanej liście instrukcji, a odznacza się następującymi cechami: - Procesor jest zbudowany zgodnie z architekturą harwardzką. - Procesor wykorzystuje przetwarzanie potokowe (pipeling) w celu zwiększenia szybkości wykonywania programu. - Zbiór realizowanych instrukcji jest ograniczony i spełnia warunki ortogalności (symetrii). W przetwarzaniu potokowym jednostka centralna dysponuje pobranymi na zapas instrukcjami, które będą kierowane do współbieżnego wykonania w jej poszczególnych jednostkach wykonawczych. Instrukcje pobierane z pamięci programu do kolejki w cyklu opuszczają ją w takiej samej kolejności i są kierowane do poszczególnych układów wykonawczych. Ortogonalność zbioru instrukcji radykalnie upraszcza budowę układu sterowania, który może realizować cykl wykonania każdego rozkazu według identycznego algorytmu. Stąd prostszy układ sterowania może pracować szybciej, dlatego cykl rozkazowy ulega skróceniu. Klasyczna architektura RISC jest stosowana w mikrokontrolerach rzadko. Najczęściej można znaleźć tylko elementy tej architektury, ale ortogonalność instrukcji nie jest pełna. Rys Schemat blokowy procesora rdzeniowego mikrokontrolera AT90S2313 opartego o architekturę RISC

13 3. Programator Programator Mikrokontroler AT90S2313 może być zaprogramowany przynajmniej na dwa sposoby. To znaczy ostateczny program może być wprowadzony z komputera PC do pamięci Programu FLASH procesora w różny sposób. Dane mogą być wprowadzone równolegle, po osiem bitów, albo szeregowo, bit po bicie. Zajmę się metodą szeregową polegającą na wykorzystaniu tak zwanego łącza SPI (Serial Peripheral Interface). Interfejs SPI służy do dwukierunkowej (full-duplex), synchronicznej i jak wspomniałem szeregowej transmisji danych pomiędzy mikrokontrolerem, a zewnętrznymi układami peryferyjnymi. Jest to interfejs trójżyłowy: składa się z dwóch linii synchronicznie przesyłających dane w przeciwnych kierunkach i linii z sygnałem zegarowym synchronizującym ten transfer. NADRZĘDNY PODRZĘDNY MSBit LSBit MSBit LSBit Pakiet 8 bitów MISO MOSI Pakiet 8 bitów MOSI MISO Generator SCK SCK sygnału zegarowego VCC GND Rys.3.1. Przykład podłączenia interfejsu SPI Na rys pokazałem sposób połączenia interfejsu SPI pomiędzy układem narzędziowym i układem podrzędnym, gdzie pin MISO jest wejściem danych, pin MOSI wyjściem danych, a pin SCK źródłem sygnału zegarowego dla układów. Sygnały danych i zegara są przesyłane oddzielnymi jednokierunkowymi liniami. Sygnał zegara nie jest ciągły, nadawany jest jedynie w czasie trwania transmisji. Kiedy układ nadrzędny nadaje dane na linii MOSI do układu podrzędnego, to układ podrzędny odpowiada, wysyłając do układu nadrzędnego dane na linii MISO. Implikuje to dwukierunkową transmisję z jednoczesnym wysyłaniem i odbieraniem danych, synchronizowanym tym samym sygnałem zegarowym, przez oba układy. Do wysłania bajtu i jego odebrania wystarczy osiem impulsów zegarowych na linii SCK.

14 3.1. Budowa sprzętowa programatora Budowa sprzętowa programatora Cała inteligencja programatora została skupiona w części softwer owej, a programator sprzętowy został maksymalnie uproszczony i zawiera niewielką ilość elementów. Jego budowa oparta jest na podstawowej aplikacji działania procesora, uzupełnionej o układy stabilizujące napięcie zasilania i sygnały sterujące procesem programowania. Mikrokontroler, a w tym przypadku i programator musi być zasilany stałym napięciem +5V. Zasilanie to możemy pobierać z zasilacza sieciowego ale łatwiej jest wziąć je z pecetowego poru joysticka (tzw. GAME PORTU). Napięcie zasilania jest odseparowane i filtrowane przez równolegle połączenie do źródła kondensatorów elektrolitycznego i ceramicznego o pojemnościach 100µF. Układ scalony SN74LS244 jest jedynym aktywnym podzespołem tego układu, który dopasowuje i reguluje poziom sygnałów doprowadzanych z komputera do mikrokontrolera jak i odwrotnie. Piny pod zworkę JP1 mają za zadanie odłączenia rezonatora kwarcowego w przypadku programowania procesora 8-pinowgo AT90S2343. Programator, bliżej płytka obwodu drukowanego wykonana została na laminacie jednostronnym. Schemat programatora umieściłem na rys. 3.3., a w tab widnieje wykaz elementów potrzebnych do budowy niniejszego urządzenia. ELEMENT SYMBOL WARTOŚĆ Układ scalony IC1 SN74LS244 Rezystor R1 100kΩ Kondensator C1 1µF Kondensator C2,C9,C10 100nF Kondensator C3,C4,C6,C7,C12,C13 33pF Kondensator-elektrolit C5,C8,C11 100µF/10V Rezonator kwarcowy Q1 4MHz Podstawka CON4 20 PIN Podstawka CON5 8 PIN Listwa Pinów JP1 2x1 Złącze LPT CON2 DB25M Złącze GAME PORT CON6 Tab Wykaz elementów potrzebnych do budowy programatora

15 3.1. Budowa sprzętowa programatora 14 Rys Schemat ideowy programatora

16 3.2. Podłączenie programatora do jednostki centralnej komputera PC Podłączenie programatora do jednostki centralnej komputera PC Programator komunikuje się z komputerem PC za pomocą portu szeregowego LPT (port drukarki) blokowy schemat tego połączenia przedstawiam na rys.3.4. KOMPUTER PC KOMUNIKACJA ZASILANIE PROGRAMATOR AT90S2313 Rys Schemat blokowy podłączenia programatora do komputera PC Elementem łączącym port LPT w komputerze z układem programatora jest 11 żyłowy przewód (szelka). Warstwę zewnętrzną przewodu stanowi tworzywo sztuczne w postaci miękkiej. Rys Schemat I/O portu równoległego. Równoległy port drukarki, zwany powszechnie interfejsem Centronics, pokazany na rys został zaprojektowany specjalnie z myślą o jednokierunkowej transmisji danych do drukarki, stąd oprócz ośmiu linii danych obecne są również dedykowane linie sygnałów zwrotnych informujących. Z czasem port drukarkowy doczekał się wersji dwukierunkowej, będącej dziś standardem. Jest to, obecny w każdym pececie, port ECP (Enhanced Capabilities Port), opisany standardem IEEE Specyfikacja ECP dopuszcza dołączenie do jednego portu kilku urządzeń ze złączami przejściowymi. Maksymalna długość kabla Centronics to 8 metrów, jednak tak długie połączenie musi być wykonane kablem o bardzo dobrej jakości. Typowa długość kabla to 1,5 metra. Teoretyczna szybkość transmisji portu ECP może sięgać 2 MB/s, jednak w praktyce jest to kb/s. Tradycyjnie stosowanym złączem jest żeńskie, 25-stykowe gniazdo po stronie peceta.

17 3.2. Podłączenie programatora do jednostki centralnej komputera PC 16 PIN Znaczenie Rysunek v Joystick A, Button 1 Joystick A, X Axis Gnd Gnd Joystick A, Y Axis Joystick A, Button 2 +5v +5v Joystick B, Button 1 Joystick B, X Axis Gnd Joystick B, Y Axis Joystick B, Button 2 +5v Tab Opis I/O interfejsu joysticka PC Omawiany programator jak już powiedziałem jest zasilany napięciem +5V pobieranym bezpośrednio z portu joysticka. Gameport nie jest standardowo umieszczony na płycie głównej, rys.3.6. Jest elementem karty dźwiękowej. Interfejs analogowego joysticka PC zawiera cztery przetworniki analogowo-cyfrowe, umożliwiające pomiar oporności zawartych w manipulatorze potencjometrów oraz linie sygnałowe czterech przycisków. To samo gniazdo jest równocześnie złączem interfejsu MIDI, służącego do komunikacji z instrumentami muzycznymi. MIDI jest interfejsem szeregowym z pętlą prądową, umożliwiającym łączenie w łańcuch do 15 urządzeń. Maksymalna długość segmentu kabla to ok. 18 m.

18 4. Program BASCOM-AVR (DEMO) Version Program BASCOM-AVR (DEMO) Version Program BASCOM-AVR jest softwerem mającym zastosowanie w programowaniu mikroprocesorów firmy ATMEL. Program demonstracyjny w tym przypadku nie ma żadnych ograniczeń, gdyż jego autoryzacja polega na ograniczeniu kodu kompilowanego programu do 2KB, a jak wiadomo omawiany przeze mnie mikrokontroler AT90S2313 jedynie tylko tyle posiada dostępnej pamięci. Pakiet bo tak można nazwać ten program zawiera w sobie wiele podprogramów pomocnych przy programowaniu i późniejszym użytkowaniu mikrokontrolera. W jego skład wchodzi główny moduł czyli kompilator języka Bascom, symulator, terminal, narzędzia pomocne przy współpracy z wyświetlaczem LCD. Program BASCOM-AVR przy pomocy odpowiedniego programatora sprzętowego może obsługiwać układy scalone wymienione w tab TYP POJEMNOŚC PAMIĘCI FLASH POJEMNOŚĆ PAMIĘCI EEPROM 90S KB 128 bajtów 90S KB 128 bajtów 90S KB 128 bajtów 90S KB 128 bajtów 90S KB 256 bajtów 90S KB 256 bajtów 90S KB 256 bajtów 90S KB 512 bajtów 90S KB 512 bajtów MEGA KB 2KB MEGA KB 4KB ATINY22 2 KB 128 bajtów M KB 512 bajtów M KB 512 bajtów M KB 1024 bajtów ATINY12 1 KB 64 bajtów ATINY15 1 KB 64 bajtów M8 8 KB 512 bajtów M16 16 KB 1024 bajtów M64 64 KB 2048 bajtów M KB 4 KB Tab Układy scalone obsługiwane przez program BASCOM-AVR (DEMO)

19 4.1. Instalacja programu BASCOM-AVR Instalacja programu BASCOM-AVR Instalacja programu BASCOM-AVR niczym nie różni się od instalacji innych programów w środowisku Windows. Przed rozpoczęciem instalacji warto sprawdzić czy na dysku twardym znajduje się wystarczająco dużo miejsca na instalowany program, a następnie przystąpić do instalacji. 1) Odnaleźć program instalacyjny o nazwie setup.exe na załączonej do pracy płycie CD. A następnie uruchomić aplikację. 2) Na ekranie monitora powinno pojawić się okno. Prosi ono o zamknięcie wszystkich innych, aktualnie działających aplikacji, przypomina o szczegółach zawartych w regulaminie dotyczących rozpowszechnianiu programu. Aby przejść dalej klikamy NEXT 3) Po tej operacji ukazuje się okno. Przedstawia ono treść regulaminu, którym opatrzony jest program i zasady użytkowania wersji BASCOM-AVR (DEMO) Version Po przeczytaniu niniejszych paragrafów należy kliknąć przycisk NEXT.

20 4.1. Instalacja programu BASCOM-AVR 18 4) Następne okno pomaga nam umieścić instalowany pakiet w odpowiadającym nam miejscu na naszym komputerze. Aby to wykonać należy kliknąć przycisk BROWSE, a następnie wybrać odpowiadające miejsce na twardym dysku. Po wykonaniu tej operacji klikamy przycisk NEXT. 5) W tym okienku wyświetlana jest ścieżka do katalogu w którym zostaną skopiowane ustawienia i pliki pomocne do prawidłowego i bezproblemowego odinstalowania programu. W celu kontynuowania instalacji zaznaczamy opcje YES i klikamy NEXT. 6) Instalator pyta za pomocą kolejnego okienka pod jaką nazwą ma być umieszczony program BASCOM-AVR w MENU START po wybraniu i wpisaniu stosownej nazwy dla użytkownika klikamy przycisk NEXT.

21 4.1. Instalacja programu BASCOM-AVR 19 7) Ostateczne potwierdzenie chęci zainstalowania naszego programu. Jeżeli jesteśmy zdecydowani klikamy NEXT, a jeśli nie i chcemy poprawić poprzednie konfiguracje klikamy BACK. 8) Okno informuje nas o postępie kopiowania plików programu na nasz twardy dysk w wyznaczone wcześniej miejsce. 9) Okno to oznajmia nam o pomyślnym zakończeniu instalacji. Aby już kompletnie zakończyć instalację nie pozostaje nam nic innego jak kliknąć przycisk FINISH. Po ukończeniu instalacji i powróceniu do poziomu pulpitu Windowsa warto uruchomić ponownie komputer dla pewności i poprawnego działa zainstalowanej aplikacji.

22 4.2. Obsługa i użytkowanie programu BASCOM-AVR Obsługa i użytkowanie programu BASCOM-AVR Program po zainstalowaniu znajduje się pod wybraną nazwą w MENU START. Po uruchomieniu aplikacji wszystkie najważniejsze rzeczy potrzebne do zaprogramowania można wykonać z poziomu głównego okna, bez zagłębiania się w paski narzędzi. Program BASCOM-AVR jest typową aplikacją działającą pod Windows, więc jego obsługa nie powinna nastręczyć trudności, a większość poleceń w pasku menu jest taka sama jak w innych programach Windows. Jak widać procedury w języku BASCOM pisze się na białej formatce, a po zakończeniu obowiązkowo sprawdza i kompiluje na język zrozumiały dla mikrokontrolera (kod maszynowy). Wykorzystywany przez BASCOM dialekt BASIC'a ma niewiele wspólnego z BASIC'iem, który być może pamiętany jest z epoki komputerów 8 bitowych. Jest to nowoczesny język programowania, w pełni strukturalny i wyposażony w dziesiątki dodatkowych poleceń specyficznych dla techniki mikroprocesorowej. Pisząc program, najpierw tworzy się program źródłowy. Ma on rozszerzenie.bas, ale jest to najzwyklejszy plik tekstowy, zazwyczaj zawierający dużą liczbę komentarzy. Ten program źródłowy powstaje za pomocą edytora na komputerze PC w języku BASIC. Programator po skompilowaniu utworzy też pliki o rozszerzeniach.hex potrzebne przez niektóre programatory, EEP z danymi do zapisu w pamięci EEPROM. Dla potrzeb symulatorów kompilator stworzy pliki DBG i OBJ. Komplet uzupełni plik tekstowy raportu z rozszerzeniem.rpt, a w przypadku wystąpienia jakichś błędów także plik.err z informacją o błędach kompilacji. Rys Główne okno programu BASCOM-AVR

23 4.2. Obsługa i użytkowanie programu BASCOM-AVR 21 Aby program współpracował z programatorem sprzętowym należy ustawić to w opcjach, rys.4.3. W tym celu klikamy na pasek OPTIONS, a następnie PROGRAMMER, po czym ukazuje się nam okienko. Gdzie w opcji PROGRAMMER musimy wybrać rodzaj programatora. Wybieramy STK200/STK300 PROGRAMMER i zatwierdzamy OK. Rys Okno ustawień typu programatora sprzętowego Najważniejsze opcje programu BASCOM-AVR Jak już wspomniałem programowanie mikrokontrolera można przeprowadzić bez zagłębiania się w paski narzędzi, za pomocom poniższych przycisków. Nowa formatka do pisania procedur w języku BASCOM. Otwiera napisane programy jedynie z rozszerzeniem.bas Kompiluje i jednocześnie sprawdza program źródłowy, w razie wystąpienia jakiegoś błędu w kodzie programu wyświetla błąd w głównym oknie programu BASCOM-AVR. Symuluje środowisko, w którym będzie działał program źródłowy i pokazuje jego działanie krok po kroku. Za pomocom tego przycisku wchodzimy do opcji programowani mikroprocesorów. Wyjście z programu BASCOM-AVR

24 4.2. Obsługa i użytkowanie programu BASCOM-AVR Użytkowanie interfejsu symulatora (AVR Simulator) Napisanie programu jest proste, problemy zaczynają się dopiero podczas usuwania z niego nieuniknionych błędów. Jest to, czynność niezwykle pracochłonna, polegająca na programowaniu procesora, umieszczaniu go w układzie, sprawdzaniu poprawności działania systemu, poprawianie odnalezionych błędów, ponownym programowaniu procesora i tak dalej, BASCOM pozwala znacznie przyspieszyć mozolną czynność testowania programów. W pakiecie BASCOM zawarty jest symulator programowy, umożliwiający częściowe przetestowanie napisanego programu bez konieczności programowania procesora ani dołączania jakichkolwiek urządzeń peryferyjnych do komputera, rys.4.4. Za pomocą tego symulatora możemy sprawdzić efekty współdziałania procesora z wyświetlaczami alfanumerycznymi LCD i wyświetlaczami siedmiosegmentowymi, obejrzeć stany wyjść wszystkich portów, a także wymusić na nich określone stany logiczne. Dostępne są edytory służące podporządkowaniu obsłudze urządzeń peryferyjnych określonych wyjść procesora. Za pomocą odpowiednich przycisków możemy także symulować występowanie przerwań, a także pracę timerów. Symulacja sprzętowa wymaga połączenia komputera z badanym układem za pomocą układu elektronicznego. Symulacja może odbywać się w trybie ciągłym jak też krok po kroku ustala się to w odpowiednich opcjach programu, może także być rozpoczęta i zakończona w dowolnej chwili. Rys Opis okna symulatora

25 4.2. Obsługa i użytkowanie programu BASCOM-AVR Interfejs programowania (AVR ISP STK Programmer) Opcja programowania stanowi centralną i niezbędną część aplikacji BASCOM-AVR. Za jej pomocą wybieramy rodzaj układu do zaprogramowania, kasujemy, odczytujemy zawartość pamięci mikroprocesorów itp. Program sterujący programatorem, rys.4.5. można wywołać za pomocą kliknięcia na odpowiednią ikonę w głównym oknie programu jak i za pośrednictwem klawisza F4. Rys Opis okna programu obsługującego programator

26 4.3. Kody błędów Kody błędów Poniższa lista błędów może pojawić się podczas sprawdzania składni lub kompilacji naszego programu źródłowego. Pomoże nam ona znaleźć popełniony błąd w napisanym programie. Kod Opis 1 Nieznana instrukcja 2 Nieznana struktura instrukcji EXIT 3 Spodziewano się WHILE 4 Brak miejsca w pamięci IRAM na zmienną typu Bit 5 Brak miejsca na zmienne typu Bit 6 Spodziewana. (kropka) w nazwie pliku. 7 Spodziewana instrukcja IF..THEN 8 Pliku źródłowego nie odnaleziono 9 Maksymalnie można użyć 128 instrukcji ALIAS 10 Nieznany typ wyświetlacza 11 Spodziewano się INPUT, OUTPUT, 0 lub 1 12 Nieznany parametr instrukcji CONFIG 13 Ta stała już jest zdefiniowana 14 Bajty mogą być tylko w IRAM 15 Błędny typ danych 16 Nieznana definicja 17 Spodziewano się 9 parametrów 18 Zmienne bitowe umieszczone mogą być tylko w pamięci SRAM lub IRAM 19 Spodziewano się określenia długości zmiennej typu String 20 Nieznany typ danych 21 Brak wolnej pamięci IRAM 22 Brak wolnej pamięci SRAM 23 Brak wolnej pamięci XRAM 24 Brak wolnej pamięci EEPROM 25 Ta zmienna już jest zdefiniowana 26 Spodziewano się AS 27 Spodziewano się parametru 28 Spodziewano się IF..THEN 29 Spodziewano się SELECT..CASE 30 Zmienne bitowe są zmiennymi globalnymi, nie można ich usuwać 31 Błędny typ danych

27 4.3. Kody błędów Niezdefiniowana zmienna 33 Zmienne globalne nie mogą być usuwane 34 Błędna ilość parametrów 35 Spodziewano się 3 parametrów 36 Spodziewano się THEN 37 Błędny operator relacji 38 Nie można wykonać tej operacji dla zmiennych bitowych 39 Spodziewano się FOR 40 Ta zmienna nie może być parametrem instrukcji RESET 41 Ta zmienna nie może być parametrem instrukcji SET 42 Spodziewano się liczby jako parametru 43 Pliku nie odnaleziono 44 Spodziewano się 2 zmiennych 45 Spodziewano się DO 46 Błędne przypisanie 47 Spodziewano się UNTIL 50 Liczba nie mieści się w zmiennej Integer 51 Liczba nie mieści się w zmiennej Word 52 Liczba nie mieści się w zmiennej Long 60 Ta etykieta już istnieje 61 Etykiety nie znaleziono 62 Najpierw SUB lub FUNCTION 63 Parametrem funkcji ABS() może być liczba typu Integer lub Long 64 Spodziewany, (przecinek) 65 Urządzenie nie zostało otwarte 66 Urządzenie już jest otwarte 68 Spodziewano się numeru kanału 70 Ta szybkość transmisji nie może być użyta 71 Typ przekazanych parametrów nie jest zgodny z zadeklarowanym 72 Getclass error. Jest to błąd wewnętrzny. 73 Używanie PRINT w połączeniu z tą funkcją jeszcze nie działa 74 Spodziewano się 3 parametrów 80 Kod nie mieści się w pamięci tego układu 81 Użyj funkcji HEX() zamiast PRINTHEX 82 Użyj funkcji HEX() zamiast LCDHEX 85 Nieznane źródło przerwania

28 4.3. Kody błędów Błędny parametr w instrukcji CONFIG TIMER 87 Nazwa podana jako parametr instrukcji ALIAS już jest używana 88 Spodziewano się 0 lub 1 89 Liczba musi zawierać się w przedziale Ten adres jest za duży 91 Spodziewano się INPUT, OUTPUT, BINARY lub RANDOM 92 Spodziewano się LEFT lub RIGHT 93 Niezdefiniowana zmienna 94 Podano zbyt dużo bitów 95 Spodziewano się FALLING albo RISING 96 Stopień podziału preskalera musi być jednym z podanych: 1, 8, 64, 256 lub Procedura lub funkcja musi być wcześniej zadeklarowana przez DECLARE 98 Spodziewano się SET lub RESET 99 Spodziewano się nazwy typu 100 Zmienne tablicowe nie mogą być umieszczone w pamięci IRAM 101 Nie mogę znaleźć takiej nazwy sprzętowego rejestru 102 Błąd w wewnętrznej procedurze 103 Spodziewano się = (znak równości) 104 LoadReg error 105 StoreBit error 106 Nieznany rejestr 107 LoadnumValue error 108 Nieznana dyrektywa w pliku definicji rejestrów 109 Spodziewano się znaku = w pseudoinstrukcji.equ, w dołączanym pliku 110 Nie znaleziono pliku do dołączenia 111 Procedura lub funkcja nie została zadeklarowana przez DECLARE 112 Spodziewano się nazwy procedury lub funkcji 113 Ta procedura jest już zadeklarowana 114 Zmienne lokalne mogą być definiowane tylko w treści procedury lub funkcji 115 Spodziewano się numeru kanału 116 Błędny plik rejestrów 117 Nieznane źródło przerwania 200 Pliku definicji.def nie odnaleziono 201 Low Pointer register expected 202 Nie odnaleziono pseudoinstrukcji.equ, prawdopodobnie ta funkcja nie jest obsługiwana przez wybrany procesor

29 4.3. Kody błędów Błąd w instrukcji LD lub LDD 204 Błąd w instrukcji ST lub STD 205 Spodziewano się } (klamra zamykająca) 206 Podanej biblioteki nie odnaleziono 207 Biblioteka została już zarejestrowana 210 Nie znaleziono definicji tego bitu 211 Nie znaleziono zewnętrznej procedury 212 Spodziewano się LOW LEVEL, RISING lub FALLING 213 Spodziewano się ciągu znaków 214 Długość zmiennej String w pamięci XRAM wynosi Nieznany skrót mnemoniczny 216 Stała nie została zdefiniowana 217 Zmienne typu BIT lub Boolean nie mogą być łączone w tablice. 218 Rejestr musi być z zakresu R16-R Przerwania INT0-INT3 są zawsze wyzwalane niskim poziomem logicznym w procesorach MEGA AVR. 220 Skok do przodu poza dozwolonym zakresem 221 Skok do tyłu poza dozwolonym zakresem 222 Błędny znak 223 Spodziewano się * (gwiazdki) 224 Indeks spoza zakresu 225 Nawiasy nie mogą występować w opisach stałych 226 Spodziewano się stałej numerycznej lub znakowej 227 Adres początkowy pamięci SRAM jest większy niż jej adres końcowy 228 Linie DATA musza być umieszczone poza programem, po instrukcji END 229 Spodziewano się END SUB lub END FUNCTION 230 Nie możesz zapisywać do rejestru wejściowego końcówek portu (PINx) 231 Spodziewano się TO 232 Ta funkcja nie jest obsługiwana w tym procesorze 233 Instrukcja READ nie działa z danymi umieszczonymi w pamięci EEPROM 234 Spodziewano się instrukcji otwarcia bloku komentarza: ') 235 Spodziewano się instrukcji zamknięcia bloku komentarza: '( 236 Liczba nie mieści się w zmiennej typu Byte 238 Ta zmienna nie jest zmienną tablicową 239 Invalid code sequence because of AVR hardware bug 240 Spodziewano się END FUNCTION

30 4.3. Kody błędów Spodziewano się END SUB 242 Wystąpił brak zgodności zmiennych 243 Numer bitu wykracza poza liczbę dopuszczalną dla tej zmiennej 244 Nie możesz używać wskaźnika Y 245 Zmienne tablicowe nie mogą być w pamięci IRAM 246 Brak miejsca na definicje w pliku.def 247 Spodziewano się kropki 248 Powinien być użyty argument BYVAL w tej deklaracji 249 Procedura obsługi przerwania jest już zdefiniowana 250 Spodziewano się GOSUB 251 Ta etykieta musi być nazwana SECTIC 252 Spodziewano się zmiennej Integer lub Word 253 Ta zmienna nie może być w pamięci ERAM 254 Spodziewana zmienna 255 Spodziewano się Z lub Z+ 256 Spodziewano się zmiennej typu Single 257 Spodziewano się "" 258 Spodziewano się SRAM 259 Zmienne typu Byte nie mogą przyjmować wartości ujemnych 260 Ciąg znaków nie zmieści się w tej zmiennej typu String 261 Spodziewano się tablicy 262 Spodziewano się ON lub OFF 263 Indeks tablicy poza zakresem 264 Zamiast tego użyj ECHO OFF i ECHO ON 265 Spodziewano się offsetu w rozkazie LDD lub STD. Np. Z Spodziewano się TIMER0, TIMER1 lub TIMER2 267 Spodziewano się stałej liczbowej 268 Parametr musi zawierać się w granicach Spodziewano się END SELECT 270 Ten adres już jest zajęty 322 Ten typ danych nie jest obsługiwany przez tą instrukcję 232 Etykieta posiada zbyt dużo znaków 234 Ten układ nie jest obsługiwany przez bibliotekę I2C w trybie Slave 325 Stopień podziału preskalera musi wynosić: 1, 8, 32, 128, 256 lub Spodziewano się #ENDIF 327 Maksymalna wielkość to 255

31 4.3. Kody błędów Nie działa z programowym układem UART 999 Wersje DEMO lub BETA generują kod tylko do 2 KB Często zdarza się, że kompilator raportuje błąd File not found, który jest zwykle spowodowany przez błędne określenie parametrów instrukcji - zwłaszcza CONFIG. Warto wspomnieć omawiając kody błędów o bardzo przydatnej funkcji pakietu BASCOM-AVR, a mianowicie o tym że podczas sprawdzania kompilator w dolnej części głównego okna podaje powyższy, jeden z popełnionych błędów, a zaraz po nim linię w której natrafił na tą oto nieprawidłowość w kodzie programu. Pomocą może być też umieszczona po tych wskazówkach instrukcja dotycząca korekty błędu.

32 5. Programowanie Programowanie Na pewno każdy z nas słyszał o jakimś języku programowania: C++, Asembler, Turbo Pascal, Delhi, Java, Basic, a także HTML itp. Nie różnią się one bardzo od siebie, tak jak języki, którymi posługują się ludzie. Ktoś kiedyś porównał języki programistyczne do dialektów i gwar, jakie panują w języku ludzkim. Jeżeli zrozumiemy i opanujemy tworzenie programów w jednym z to drugi nastręczy na pewno nam mniej kłopotów. Programowanie mikrokontrolerów jest ściśle związana z architekturą samego procesora i jego sprzętowego otoczenia. Cykl tworzenia oprogramowania dla mikrokontrolera jest zbliżony do cyklu tworzenia oprogramowania dla komputerów osobistych. Cykl ten obejmuje trzy fazy: Napisanie kodu źródłowego. Przetłumaczenie kodu źródłowego na kod maszynowy danego mikrokontrolera. Uruchomienie programu w systemie docelowym. Każdy program główny rozpoczyna się słowem DO, a kończy END między tymi wyrazami zawarta jest najważniejsza część programu. Ma ona strukturę algorytmu i wedle potrzeb programisty może być zapętlona, warunkowana i przerywana, co pokazane jest obrazowo na rys Start Niekończąca się pętla Inicjacja Przerwania Zadania krytyczne czasowo Zadania niekrytyczne czasowo Rys Struktura blokowa programu 5.1. Elementy tworzenia programu w języku BASIC Do programowania mikrokontrolera AT90S2313 będę wykorzystywać język BASCOM oparty na dialekcie języka BASIC. Jest to odmiana ukierunkowana na programowanie procesorów jednoukładowych takich jak nasz. Język BASCOM jest językiem niskiego stopnia, łatwość nauki

33 5. Programowanie 30 wspomaga to, że poszczególne słowa zapożyczone są z języka angielskiego. W BASCOMIE nie ma ściśle określonej struktury pliku źródłowego przygotowywanego programu, lecz dla większej jego przejrzystości pisany program można podzielić na bloki. Przykład rozplanowania programu podaję poniżej. Dyrektywy dla kompilatora $REGFILE = "m8def.dat" $CRYSTAL = informuje kompilator o pliku dyrektyw wykorzystywanego mikrokontrolera informuje kompilator o częstotliwości oscylatora taktującego mikrokontroler 'Instrukcje konfiguracji peryferiów oraz urządzeń zewnętrznych Config Watchdog = 2048 konfiguracja Watchdoga Config TimerO = Timer, Prescale = 1024 konfiguracja TimerO Config Portc = Output konfiguracja portu C 'Deklaracje nagłówków funkcji oraz procedur Declare Sub Inkrementuj (Liczb As Byte) deklaracja procedury Inkrementuj Declare Function Dodaj (C As Integer,D As Integer) As Integer deklaracja funkcji Dodaj 'definicje zmiennych, stałych i aliasów Dim Liczba As Byte definicja zmiennej typu Byte Dim A As Integer, B As Integer definicje zmiennych typu Integer Dim Wynik As Integer definicja zmiennej typu Integer Const X = 5 definicja stałej X W Alias A definicja aliasu, W wskazuje na zmienną A 'program główny A = 100 przypisanie zmiennej A wartości 100 B = 80 przypisanie zmiennej B wartości 80 Liczba = 5 przypisanie zmiennej Liczba wartości 5 Call Inkrementuj(Liczba) wywołanie procedury Inkrementuj Print Liczba wyświetlenie wartości zmiennej liczba (wartość 6) Wynik = Dodaj (A, B) Print Wynik... End wywołanie funkcji Dodaj wyświetlenie wartości zmiennej wynik (wartość 180) Koniec programu głównego 'Definicje wcześniej zadeklarowanych funkcji oraz procedur Sub Inkrementuj (Liczb As Byte) Treść procedury inkrementującej wartość parametru Liczb Incr Liczb inkrementacja zmiennej Liczb End Sub koniec procedury Function Dodaj(C As Integer, D As Integer) As Integer Treść funkcji dodającej wartości parametrów C i D

34 5.1. Elementy tworzenia programu w języku BASIC 32 Dodaj = C + D End Function instrukcja dodaje wartości parametrów C i D koniec funkcji 'w tej części programu mogą znajdować się podprogramy, 'podprogramy oraz tablice stałych. Powyższy listing jest jedynie przykładem rozplanowania dowolnego programu i jego układu. Pamiętajmy o tym, że po napisaniu programu nieuniknione jest jego sprawdzenie w poszukiwaniu błędów, wyrazisty układ pomaga w ich odnalezieniu. Dobrym nawykiem osoby piszącej program powinno stać się umieszczanie komentarzy, na końcu każdej linii po znaku ( ) Typy danych Każda ze zmiennych posiada określony typ, związany z treścią przechowywanych w niej danych. W języku BASCOM BASIC zdefiniowano kilka podstawowych typów: Bit 1/8 bajta Bit może przyjmować tylko dwie wartości: 0 i 1. Byte 1 bajt Bajt może przechowywać dowolną dodatnią liczbę całkowitą z zakresu od 0 do 255. Integer 2 bajty Typ Integer może przechowywać dowolną liczbę całkowitą z zakresu do Long 4 bajty Typ Long może przechowywać dowolną liczbę całkowitą z zakresu -2^32 do 2^32-1 Word 2 bajty Typ Word może przechowywać dowolną dodatnią liczbę całkowitą z zakresu od 0 do Single 4 bajty Typ Single może przechowywać dowolną liczbę stało lub zmiennoprzecinkową. Typ String przechowuje dowolny ciąg znaków o długości String max. 254 bajty nie większej niż 254 znaki. Ciąg ten zakończony jest zawsze znakiem 0. Każdy znak to jeden bajt. Tak więc tekst o długości 10 znaków zajmuje 11 bajtów. Tab.5.2. Tabela przedstawiająca typy danych z ich właściwościami Zmienne Zmienna jest częścią programu pamiętającym dane. Zmiennej przyporządkowany jest dany obszar pamięci nadawany przez programistę przy użyciu typów danych. Przykład przypisań zmiennym wartości: X = 5 zmienna X jest typu Byte Y = 2.5 zmienna Y jest typu Single Z = mikro zmienna Z jest typu String

35 5.1. Elementy tworzenia programu w języku BASIC 33 Każda zmienna przed użyciem w programie powinna zostać wcześniej zdefiniowana. Robi się po to, aby kompilator mógł określić ilość miejsca dla tej zmiennej. Zmienne definiuje się instrukcją Dim o następującej składni: Dim nazwa [(rozmiar)]as typ gdzie: nazwa nazwa identyfikująca zmienną, rozmiar parametr zmiennych tablicowych liczba elementów tablicy, typ typ zmiennej Tablice Tablica to zbiór ponumerowanych jednakowych elementów. Każdy element tablicy posiada swój własny indeks (numer) jednoznacznie identyfikujący go. Zmiana jednego elementu tablicy nie wpływa, zatem na resztę elementów przechowywanych w tablicy. Indeks tablicy jest liczbą całkowitą (bez znaku) i musi się zawierać w przedziale od 1 do Pierwszy element tablicy ma zawsze numer 1. Przykład: Dim a(10) As Byte definiujemy tablicę a z dziesięcioma elementami typu Byte Dim Index As Byte definicja zmiennej Indem typu Byte, która będzie wskazywać elementy tablicy Index = 4 przypisanie zmiennej indem wartości 4 A(1) = 1 przypisanie do pierwszego elementu tablicy wartości 1 A(Index) = 3 przypisanie do czwartego elementu tablicy wartości 3 numer, elementu wskazuje zmienna Indem A(Indem+2) = 4 przypisanie do szóstego (4+2) elementu tablicy A wartości 4-numer elementu jest obliczany LCD A(1) wyświetl na LCD wartość elementu 1 tablicy LCD A(Index) wyświetl na LCD wartość elementu 4 tablicy LCD A(Indem+2) wyświetl na LCD wartość elementu 6 tablicy

36 5.1. Elementy tworzenia programu w języku BASIC Instrukcja pętli Przy pisaniu programu trudno się raczej obejść bez instrukcji, które muszą być powtarzane. Do tworzenia takich powtórzeń stosuje się pętle np. For...Next. W tej instrukcji powtórzenie jest wykonywane określoną ilość razy. Składnia instrukcji For...Next jest następująca: For zmienna = liczba_pocz To liczba_kon [Step krok] Instrukcje... Next [zmienna] gdzie: zmienna - zmienna numeryczna, będąca licznikiem przejść pętli (wskaźnikiem pętli), liczba_pocz - liczba początkowa licznika pętli, liczba_kon - liczba końcowa licznika pętli, krok - krok zmiany wartości licznika pętli po osiągnięciu instrukcji Next, instrukcje - ciąg instrukcji Instrukcja warunku Instrukcja warunkowa jest wykorzystywana do uzależnienia dalszego ciągu wykonywania programu od innego warunku logicznego lub wartości. Dzięki tym instrukcjom można wybierać które z sekwencji ma być wykonana. Przykładem instrukcji warunkowej może być If...Then. Składnia instrukcji If...Then jest następująca: If wyrazeniel Then ciag_instrukcji_a [Elseif wyrazenie2 Then ciag_instrukcji_b] [Else ciag_instrukcji_c] End If gdzie: wyrazeniel, wyrazenie2 - wyrażenia określające warunki logiczne, ciag_instrukcji a - ciąg instrukcji wykonywanych, gdy spełniony jest warunek określony przez wyrazeniel, ciag_instrukcji b - ciąg instrukcji wykonywanych, gdy spełniony jest warunek określony przez wyrażenie2, ciag_instrukcji_c - ciąg instrukcji wykonywanych, gdy niespełniony jest warunek określony przez wyrażenie1 oraz wyrażenie2

37 5.1. Elementy tworzenia programu w języku BASIC Przykładowe programy Generator piezoelektryczny Za pomocą przypadkowej membrany piezo możemy wykonać prosty sygnalizator. Schemat podłączenia membrany do mikrokontrolera pokazałem na rys a program sterujący poniżej. Rys Podłączenie membrany piezo do mikrokontrolera Kod źródłowy pokazuje jak należy zaprogramować układ aby wykorzystał membranę piezoelektryczną. $regfile = "2313DEF.dat" $crystal = Config Portb = 255 Portb = &B Config Portd = & Portd = &B Do Sound Portd.5, , 1000 Waitus 1000 Loop End 'wszystkie końcówki jako 'wyjścia 'parametry sygnału 'czas wstrzymania 'koniec programu Wyświetlacz alfanumeryczny LCD Sterowanie wyświetlaczami alfanumerycznymi LCD ze sterownikiem HD44780 jest w BASCOMIE bardzo łatwe. Układ HD44780 powoduje to, że użytkownik nie musi martwić się o poszczególne punkty wyświetlacza - wysyła tylko do modułu rozkazy Do ich obsługi przewidziano wiele instrukcji, których użycie zilustruję w przykładzie.

38 5.1. Elementy tworzenia programu w języku BASIC 36 Zalecane jest połączenie wyświetlacza LCD o organizacji 2x16 znaków z wyprowadzeniami mikrokontrolera tak jak na rys.5.4. Ten sposób połączenia nazywany jest Pin Mode. Wyświetlacz może być dołączony do dowolnych wyprowadzeń mikrokontrolera, gdyż odpowiednie jego linie będą konfigurowane w programie. Oznaczenia wyprowadzeń wyświetlacza mają następujące znaczenie: GND minus zasilania VCC plus zasilania Vo regulacja kontrastu RS wybór rejestru R/W zapis/odczyt rejestrów wyświetlacza EN sygnał zezwalający D0 DD7 linie danych Linia sygnału R/W nie jest wykorzystywana i jest na stałe dołączona do masy, co powoduje, że jest możliwy tylko zapis do rejestrów wyświetlacza. Rys.5.4. Schemat dołączenia wyświetlacza alfanumerycznego LCD do mikrokontrolera

39 5.1. Elementy tworzenia programu w języku BASIC 37 Kod źródłowy poniżej pokazuje działanie procedur sterujących wyświetlaczem. $regfile = "2313DEF.dat" $crystal = Cls Do Cls Lcd TEKST Wait 2 Cls LCD TEKST 2 Wait 2 Loop End czyszczenie ekranu rozpoczęcie pętli napisz tekst czeka 2000ms koniec pętli koniec programu Zegar cyfrowy z wykorzystaniem wyświetlacza LCD W tej części pracy przedstawiam wykorzystanie mikrokontrolera do budowy precyzyjnego zegara wyświetlającego ustawioną godzinę w formacie (g:mm:ss). Do odmierzania równych odcinków czasu wykorzystano przerwania od przepełnienia 16-bitowego licznika Timer1. W zegarze możliwe jest ustawienie dwoma przyciskami czasu (godzin oraz minut).do dokładnego odmierzania precyzyjnych odcinków czasu wystarczają dokładność oraz stabilność częstotliwości sygnału taktującego zapewniające rezonatory kwarcowe. Na rys.5.5. poniżej przedstawiam schemat podłączenia wyświetlacza i przycisków do mikrokontrolera, a także źródło programu wsadowego. Rys.5.5. Schemat połączeniowy do realizacji zegara cyfrowego

40 5.1. Elementy tworzenia programu w języku BASIC 38 $regfile = "2313DEF.dat" $crystal = Program źródłowy do zegara cyfrowego Config Pind.0 = Input Config Pind.1 = Input Config Timer1 = Timer, Prescale = 256 Declare Sub Wysw_czas czas na On Timer1 Odmierz_1s Dim Sekundy As Byte Dim Minuty As Byte Dim Godziny As Byte Dim Nowa_w As Byte Dim Wart_bcd As Byte S1 Alias Pind.0 S2 Alias Pind.1 'konfiguracja przycisków 'konfiguracja Timer1 'jako Timer 'procedura wyświetlająca 'LCD 'przepełnienie Timer1 o 'etykiecie Odmierz_1s 'deklaracje zmiennych 'przypisanie przyciskom 'sterującym nazw S1,S2 Enable Interrupts Enable Timer1 Counter1 = Set Nowa_w Set Portd.0 Set Portd.1 Do Call Wysw_czas If S1 = 0 Then S1 to Waitms 25 If S1 = 0 Then Incr Minuty Sekundy = 0 If Minuty = 60 Then Minuty = 0 End If Set Nowa_w Call Wysw_czas Waitms 200 End If End If If S2 = 0 Then Waitms 25 If S2 = 0 Then Incr Godziny If Godziny = 24 Then 'wartość początkowa wpisana 'do Timer1 (opóźnienie) 'zezwolenie na wyświetlenie 'dołączenie do linii PD0,PD1 'rezystora podciągającego 'pętla główna programu 'wywołanie procedury 'Wysw_czas 'jeśli przyciśnięty przycisk 'sprawdzenie czy przycisk S1 'jest dalej przyciśnięty 'zezwolenie na wyświetlenie 'czasu 'wywołanie procedury 'Wysw_czas 'jeśli przyciśnięty przycisk 'S2 to 'sprawdzenie czy przycisk S2 'dalej przyciśnięty jak tak to

41 5.1. Elementy tworzenia programu w języku BASIC 39 Godziny = 0 End If Set Nowa_w Call Wysw_czas Waitms 200 End If End If Loop End Sub Wysw_czas If Nowa_w = 1 Then Cls Wart_bcd = Makebcd(godziny) Lcd Bcd(wart_bcd) ; ":" Wart_bcd = Makebcd(minuty) Lcd Bcd(wart_bcd) ; ":" Wart_bcd = Makebcd(sekundy) Lcd Bcd(wart_bcd) ; ":" Reset Nowa_w End If End Sub Wysw_czas Odmierz_1s: Counter1 = Counter Incr Sekundy Set Nowa_w If Sekundy = 60then Sekundy = 0 'koniec instrukcji 'warunkowej 'koniec programu 'procedura wyświetlająca 'czas 'podprogram obsługi 'przerwania 'jeśli sekundy=60 to wyzeruj Incr Minuty 'i zwiększ minuty o 1 'wartość If Minuty = 60then 'jeśli minuty=60 to wyzeruj Minuty = 0 'jeśli minuty=60 to wyzeruj Incr Godziny 'i zwiększ godziny o 1 'wartość If Godziny = 24 Then 'jeśli godziny=24 to Godziny = 0 'zerowanie godziny End If End If End If Return 'powrót z przerwania

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

Ć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

Programowanie mikrokontrolerów - laboratorium

Programowanie mikrokontrolerów - laboratorium Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Instytut Techniczny Programowanie mikrokontrolerów- laboratorium Nazwisko i imię 1. 2. Data wykonania ćwiczenia: Grupa: Ocena sprawozdania Zaliczenie: Symbol:

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

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja ----------------------------start---------------------------- Program mikroprocesorowego miernika mocy generowanej $crystal = 8000000 deklaracja częstotliwości kwarcu taktującego uc $regfile "m8def.dat"

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

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

Programator procesorow AVR do kompilatora BASCOM AVR (zgodny z STK200)

Programator procesorow AVR do kompilatora BASCOM AVR (zgodny z STK200) 1 z 5 2009-01-11 12:07 Wstecz Strona główna Programator procesorow AVR do kompilatora BASCOM AVR (zgodny z STK200) Widok płytek drukowanych jest tutaj Jest to banalnie prosty układ programatora procesorów

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

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2 www.and-tech.pl Strona 1 Zawartość Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2

Bardziej szczegółowo

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2 Strona 1 Zawartość 1. Instalacja... 3 2. Instalacja sterowników w trybie HID.... 3 3. Programowanie

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

Listing_ $crystal = deklaracja

Listing_ $crystal = deklaracja ------------------------------------------------- Listing_4 ---------------------------------------------------- $crystal = 8000000 deklaracja częstotliwości kwarcu $regfile "m8def.dat" biblioteka mikrokontrolera

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

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

Synteza częstotliwości na układzie PLL LM7001

Synteza częstotliwości na układzie PLL LM7001 Synteza częstotliwości na układzie PLL LM7001 1 Do zaprojektowania i skonstruowania syntezy częstotliwości, jak to zazwyczaj bywa, zachęciła mnie dostępność na rynku radiotelefonów starszych typów. Do

Bardziej szczegółowo

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2 Strona 1 Spis treści 1. Instalacja...3 2. Instalacja sterowników w trybie HID....3 3. Programowanie w trybie HID...4 4. Instalacja w trybie COM....5 5. Programowanie

Bardziej szczegółowo

Programator procesorów rodziny AVR AVR-T910

Programator procesorów rodziny AVR AVR-T910 Programator procesorów rodziny AVR AVR-T910 Instrukcja obsługi Opis urządzenia AVR-T910 jest urządzeniem przeznaczonym do programowania mikrokontrolerów rodziny AVR firmy ATMEL. Programator podłączany

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

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

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

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

Programowanie Mikrokontrolerów

Programowanie Mikrokontrolerów Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i Mikrokontrolery Dostęp do portów mikrokontrolera ATmega32 język C laboratorium: 10 autorzy: dr

Bardziej szczegółowo

Programator mikrokontrolerów AVR

Programator mikrokontrolerów AVR Programator mikrokontrolerów AVR Marek SP9XUH www.sp9xuh.pl poczta@sp9xuh.pl Moja przygoda z mikrokontrolerami firmy ATMEL zaczęła się w 1999 roku od układu AT89C2051. Minęło parę lat, pojawiły się nowe

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

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

SML3 październik

SML3 październik SML3 październik 2005 16 06x_EIA232_4 Opis ogólny Moduł zawiera transceiver EIA232 typu MAX242, MAX232 lub podobny, umożliwiający użycie linii RxD, TxD, RTS i CTS interfejsu EIA232 poprzez złącze typu

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

Uniwersalny zestaw uruchomieniowy ZL4PIC

Uniwersalny zestaw uruchomieniowy ZL4PIC Uniwersalny zestaw uruchomieniowy ZL4PIC Uniwersalny zestaw uruchomieniowy ZL4PIC przeznaczony jest testowania aplikacji realizowanych na bazie mikrokontrolerów PIC. Jest on przystosowany do współpracy

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

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

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

PROGRAMOWALNE STEROWNIKI LOGICZNE

PROGRAMOWALNE STEROWNIKI LOGICZNE PROGRAMOWALNE STEROWNIKI LOGICZNE I. Wprowadzenie Klasyczna synteza kombinacyjnych i sekwencyjnych układów sterowania stosowana do automatyzacji dyskretnych procesów produkcyjnych polega na zaprojektowaniu

Bardziej szczegółowo

Instrukcja obsługi programatora AVR Prog USB v2

Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2 Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2 www.and-tech.pl Strona 1 Zawartość Instrukcja obsługi programatora AVR Prog USB v2, STK500 v2

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

Technika Mikroprocesorowa

Technika Mikroprocesorowa Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa

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

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC 1 Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami

Bardziej szczegółowo

Wstęp...10. 1. Podstawy programowania QBASIC...13. 2. Budowa mikroprocesora...35. 3. Zestaw uruchomieniowy...55. 5. Porty wejścia/wyjścia...

Wstęp...10. 1. Podstawy programowania QBASIC...13. 2. Budowa mikroprocesora...35. 3. Zestaw uruchomieniowy...55. 5. Porty wejścia/wyjścia... Spis treści 3 Wstęp...10 Jak zacząć?...11 1. Podstawy programowania QBASIC...13 Zmienne...17 Instrukcja pętli FOR...NEXT...19 Badanie warunku...20 Instrukcja warunkowa IF...THEN...ELSE...21 Etykiety i

Bardziej szczegółowo

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów

Instrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów 2008 Instrukcja obsługi PROGRAMATOR dualavr redflu Tarnów 1. Instalacja. Do podłączenia programatora z PC wykorzystywany jest przewód USB A-B (często spotykany przy drukarkach). Zalecane jest wykorzystanie

Bardziej szczegółowo

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych

1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy

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

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

Logiczny model komputera i działanie procesora. Część 1.

Logiczny model komputera i działanie procesora. Część 1. Logiczny model komputera i działanie procesora. Część 1. Klasyczny komputer o architekturze podanej przez von Neumana składa się z trzech podstawowych bloków: procesora pamięci operacyjnej urządzeń wejścia/wyjścia.

Bardziej szczegółowo

MultiTool instrukcja użytkownika 2010 SFAR

MultiTool instrukcja użytkownika 2010 SFAR MultiTool instrukcja użytkownika 2010 SFAR Tytuł dokumentu: MultiTool instrukcja użytkownika Wersja dokumentu: V1.0 Data: 21.06.2010 Wersja urządzenia którego dotyczy dokumentacja: MultiTool ver. 1.00

Bardziej szczegółowo

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8

ZL2AVR. Zestaw uruchomieniowy z mikrokontrolerem ATmega8 ZL2AVR Zestaw uruchomieniowy z mikrokontrolerem ATmega8 ZL2AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega8 (oraz innych w obudowie 28-wyprowadzeniowej). Dzięki wyposażeniu w

Bardziej szczegółowo

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda). ZL2PRG Programator ISP dla mikrokontrolerów AVR firmy Atmel Programator ZL2PRG jest uniwersalnym programatorem ISP dla mikrokontrolerów, o budowie zbliżonej do STK200/300 (produkowany przez firmę Kanda).

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

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania

Sterownik Spid Pant 8 i Ant 8. Podręcznik użytkowania Sterownik Spid Pant 8 i Ant 8 Podręcznik użytkowania Spis treści Spis treści...2 Wprowadzenie...3 Komplet...3 Dane techniczne...3 Panel sterujący...4 Panel tylny...5 Obsługa sterownika...6 Zmiana trybu

Bardziej szczegółowo

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2

LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 1. Cel ćwiczenia Celem ćwiczenia jest pokazanie budowy systemów opartych na układach Arduino. W tej części nauczymy się podłączać różne czujników,

Bardziej szczegółowo

interfejs szeregowy wyświetlaczy do systemów PLC

interfejs szeregowy wyświetlaczy do systemów PLC LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych

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

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

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega32 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu

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

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0) AVR DRAGON INSTRUKCJA OBSŁUGI (wersja 1.0) ROZDZIAŁ 1. WSTĘP... 3 ROZDZIAŁ 2. ROZPOCZĘCIE PRACY Z AVR DRAGON... 5 ROZDZIAŁ 3. PROGRAMOWANIE... 8 ROZDZIAŁ 4. DEBUGOWANIE... 10 ROZDZIAŁ 5. SCHEMATY PODŁĄCZEŃ

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

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S]

ZL25ARM. Płyta bazowa dla modułów diparm z mikrokontrolerami STR912. [rdzeń ARM966E-S] ZL25ARM Płyta bazowa dla modułów diparm z mikrokontrolerami STR912 [rdzeń ARM966E-S] ZL25ARM to płyta bazowa umożliwiająca wykonywanie różnorodnych eksperymentów z mikrokontrolerami STR912 (ARM966E-S).

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

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT

ISP ADAPTER. Instrukcja obsługi rev.1.1. Copyright 2009 SIBIT Instrukcja obsługi rev.1.1 Spis treści 1.Wprowadzenie... 3 2. Rozmieszczenie elementów...4 3. Opis wyprowadzeń złącza ISP...6 4. Zasilanie adaptera...7 5. Wybór źródła taktowania...8 6. Wybór programowanego

Bardziej szczegółowo

ZL1MSP430 Zestaw startowy dla mikrokontrolerów MSP430F11xx/11xxA ZL1MSP430

ZL1MSP430 Zestaw startowy dla mikrokontrolerów MSP430F11xx/11xxA ZL1MSP430 ZL1MSP430 Zestaw startowy dla mikrokontrolerów MSP430F11xx/11xxA ZL1MSP430 Zestaw startowy dla mikrokontrolerów MSP430F11xx/11xxA Mikrokontrolery z rodziny MSP430 słyną z niewielkiego poboru mocy i możliwości

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 9-236 Łódź, Pomorska 49/53 https://std2.phys.uni.lodz.pl/mikroprocesory/

Bardziej szczegółowo

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO IC200UDR002 8 wejść dyskretnych 24 VDC, logika dodatnia/ujemna. Licznik impulsów wysokiej częstotliwości. 6 wyjść przekaźnikowych 2.0 A. Port: RS232. Zasilanie: 24 VDC. Sterownik VersaMax Micro UDR002

Bardziej szczegółowo

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR

Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów AVR ZL10AVR Zestaw ZL10AVR umożliwia wszechstronne przetestowanie aplikacji wykonanych z wykorzystaniem mikrokontrolerów z rodziny AVR (ATtiny, ATmega,

Bardziej szczegółowo

ZL29ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

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

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Maciek Słomka 4 czerwca 2006 1 Celprojektu. Celem projektu było zbudowanie modułu umożliwiającego wizualizację stanu czujników

Bardziej szczegółowo

2.1 Przesył danych między procesorem a tabelą zmiennych

2.1 Przesył danych między procesorem a tabelą zmiennych 1 Wstęp...1 2 Jak aplikacja obsługuje procesory?...2 2.1 Przesył danych między procesorem a tabelą zmiennych...2 2.2 Polecenia wysyłane do procesorów...2 3 Podstawowe peryferia procesora HallChip...3 3.1

Bardziej szczegółowo

Organizacja typowego mikroprocesora

Organizacja typowego mikroprocesora Organizacja typowego mikroprocesora 1 Architektura procesora 8086 2 Architektura współczesnego procesora 3 Schemat blokowy procesora AVR Mega o architekturze harwardzkiej Wszystkie mikroprocesory zawierają

Bardziej szczegółowo

MCAR Robot mobilny z procesorem AVR Atmega32

MCAR Robot mobilny z procesorem AVR Atmega32 MCAR Robot mobilny z procesorem AVR Atmega32 Opis techniczny Jakub Kuryło kl. III Ti Zespół Szkół Zawodowych nr. 1 Ul. Tysiąclecia 3, 08-530 Dęblin e-mail: jkurylo92@gmail.com 1 Spis treści 1. Wstęp..

Bardziej szczegółowo

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 -

micro Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Wspó³praca z programami Podstawowe w³aœciwoœci - 1 - STK500v2 Programator ISP mikrokontrolerów AVR zgodny z STK500v2 Opis Obs³ugiwane mikrokontrolery Programator STK500v2 jest programatorem ISP 8-bitowych mikrokontrolerów AVR firmy Atmel. Pod³¹czany do portu

Bardziej szczegółowo

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać

Bardziej szczegółowo

Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel

Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel Katedra Metrologii i Optoelektroniki Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska LABORATORIUM MIKROKONTROLERY I MIKROSYSTEMY Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4

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

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

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main.

znajdowały się różne instrukcje) to tak naprawdę definicja funkcji main. Część XVI C++ Funkcje Jeśli nasz program rozrósł się już do kilkudziesięciu linijek, warto pomyśleć o jego podziale na mniejsze części. Poznajmy więc funkcje. Szybko się przekonamy, że funkcja to bardzo

Bardziej szczegółowo

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe

Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe System mikroprocesorowy 1. Przedstaw schemat blokowy systemu mikroprocesorowego.

Bardziej szczegółowo

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń. Nazwa implementacji: Termometr cyfrowy - pomiar temperatury z wizualizacją pomiaru na wyświetlaczu LCD Autor: Krzysztof Bytow Opis implementacji: Wizualizacja działania elementu zestawu modułu-interfejsu

Bardziej szczegółowo

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Wersja 1.0 Tomasz Pachołek 2017-13-03 Opracowanie zawiera opis podstawowych procedur, funkcji, operatorów w języku C dla mikrokontrolerów AVR

Bardziej szczegółowo

Standard transmisji równoległej LPT Centronics

Standard transmisji równoległej LPT Centronics Standard transmisji równoległej LPT Centronics Rodzaje transmisji szeregowa równoległa Opis LPT łącze LPT jest interfejsem równoległym w komputerach PC. Standard IEEE 1284 został opracowany w 1994 roku

Bardziej szczegółowo

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów

Adresowanie obiektów. Adresowanie bitów. Adresowanie bajtów i słów. Adresowanie bajtów i słów. Adresowanie timerów i liczników. Adresowanie timerów Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

Układy czasowo-licznikowe w systemach mikroprocesorowych

Układy czasowo-licznikowe w systemach mikroprocesorowych Układy czasowo-licznikowe w systemach mikroprocesorowych 1 W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość

Bardziej szczegółowo

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S)

ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) ZL2ARM easyarm zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) ZL2ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) 1 Zestaw ZL2ARM opracowano z myślą

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

Programowanie sterowników PLC wprowadzenie

Programowanie sterowników PLC wprowadzenie Programowanie sterowników PLC wprowadzenie Zakład Teorii Maszyn i Automatyki Katedra Podstaw Techniki Felin p.110 http://ztmia.ar.lublin.pl/sips waldemar.samociuk@up.lublin,pl Sterowniki programowalne

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

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

ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS

ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS ZASOBY ZMIENNYCH W STEROWNIKACH SAIA-BURGESS Autorzy Wydanie Data : : : Zespół SABUR Sp. z o.o. 3.00 Sierpień 2013 2013 SABUR Sp. z o. o. Wszelkie prawa zastrzeżone Bez pisemnej zgody firmy SABUR Sp. z

Bardziej szczegółowo

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19

LITEcomp. Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19 LITEcomp Zestaw uruchomieniowy z mikrokontrolerem ST7FLITE19 Moduł LITEcomp to miniaturowy komputer wykonany na bazie mikrokontrolera z rodziny ST7FLITE1x. Wyposażono go w podstawowe peryferia, dzięki

Bardziej szczegółowo

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

ZL27ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103 ZL27ARM Zestaw uruchomieniowy dla mikrokontrolerów STM32F103 Zestaw ZL27ARM jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów STM32F103. Dzięki wyposażeniu w szeroką gamę zaawansowanych układów

Bardziej szczegółowo

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

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

Kod produktu: MP01105

Kod produktu: MP01105 MODUŁ INTERFEJSU KONTROLNO-POMIAROWEGO DLA MODUŁÓW Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs kontrolno-pomiarowy do podłączenia modułów takich jak czujniki temperatury, moduły przekaźnikowe,

Bardziej szczegółowo

ZL17PRG. Programator ICP dla mikrokontrolerów ST7F Flash

ZL17PRG. Programator ICP dla mikrokontrolerów ST7F Flash ZL17PRG Programator ICP dla mikrokontrolerów ST7F Flash Programator ZL17PRG umożliwia programowanie mikrokontrolerów z rodziny ST7 firmy STMicroelectronics. Programator pracuje w oparciu o protokół ICC

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

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM.

Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC2100, które można zastosować w zestawie ZL3ARM. ZL3ARM płytka bazowa dla modułu diparm_2106 (ZL4ARM) ZL3ARM Płytka bazowa dla modułu diparm_2106 Płytkę bazową ZL3ARM opracowano z myślą o elektronikach chcących szybko poznać mozliwości mikrokontrolerów

Bardziej szczegółowo