LABORATORIUM MIKROKONTROLERY I MIKROSYSTEMY

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

Download "LABORATORIUM MIKROKONTROLERY I MIKROSYSTEMY"

Transkrypt

1 Katedra Metrologii i Optoelektroniki Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska LABORATORIUM MIKROKONTROLERY I MIKROSYSTEMY Ćwiczenie nr 5 Tworzenie programów w asemblerze na mikrokontroler ATXmega32A4 firmy Atmel Ćwiczenie nr 6 Pisanie oprogramowania z wykorzystaniem języka C na mikrokontroler ATXmega32A4 firmy Atmel opracowane przez: dr hab. inż. Zbigniew Czaja Gdańsk 2015

2 Ćwiczenie nr 5 Tworzenie programów w asemblerze na mikrokontroler ATXmega32A4 firmy Atmel I. Literatura (dokumentacja do ćwiczeń laboratoryjnych) [1] Atmel Corporation, "8-bit XMEGA A Microcontroller, XMEGA A MANUAL ", 2012, plik - xmega32a_manual.pdf. [2] Atmel Corporation, "8/16-bit XMEGA A4 Microcontroller, ATxmega128A4 ATxmega64A4 ATxmega32A4 ATxmega16A4", 2012, plik - xmega32a4.pdf. [3] Atmel Corporation, "8-bit AVR Instruction Set", 2010, plik - AVR_Instruction_Set.pdf. [4] Czaja Z., Burek K., "Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel", 2013, plik atxmega32a4_pl.pdf. Powyższa dokumentacja znajduje się w katalogu c:\labmik\doc II. Sprzęt i oprogramowanie 1. Zestaw laboratoryjny mikrokontrolera ATxmega32A4. 2. Programator Programator AVRISP mkii z interfejsem PDI podłączony do portu USB komputera PC. 3. Zasilacz gniazdkowy stabilizowany 9V. 4. Kabel połączeniowy dla standardu interfejsu szeregowego USB. 5. Oprogramowanie użytkowe na komputer PC: a) zintegrowane środowisko programistyczne IDE (Atmel Studio 6 (c:\labmik\atmel Studio 6\ atmelstudio.exe), b) program obsługi terminali szeregowych (terminal.exe (c:\labmik\terminal\ terminal.exe)), c) program Total Commander do zarządzania systemem plików. III. Zadania laboratoryjne 1. Przygotowanie stanowiska laboratoryjnego do pracy. a) sprawdzić czy zestaw laboratoryjny jest podłączony do zasilacza gniazdkowego 9V podłaczonego do listwy zasilającej. b) sprawdzić czy zestaw laboratoryjny jest podłączony przez programator AVRISP mkii do jednego portu USB, a przez kabel USB do drugiego portu USB komputera PC, c) uruchomić komputer PC (praca pod Windows XP), d) uruchomić program do zarządzania systemem plików, np. Total Commander (ikona na pulpicie ), Totalcmd.lnk 1

3 e) przejść do katalogu c:\labmik\ i usunąć podkatalog lab5 z całą jego zawartością (rys. 1) (kasowanie katalogu po zaznaczeniu katalogu lab5 nacisnąć klawisz Delete lub F8), Rys. 1. Panel programu Total Commander z zaznaczonym katalogiem c:\labmik\lab5 f) rozpakować plik lab5.zip znajdujący się w katalogu C:\labmik\ (zawiera on podkatalog lab5 wraz z jego właściwą zawartością) (rozpakowywanie w obydwu panelach programu Total Commander musi być wyświetlany katalog c:\labmik. W lewym panelu wejść do pliku lab5.zip (zaznaczyć go i nacisnąć klawisz Enter lub dwa razy kliknąć na nim myszką), po czym zaznaczyć katalog lab5 i nacisnąć klawisz F5 (rys. 2). W prawym panelu pojawi się ten katalog już rozpakowany). Rys. 2. Panel programu Total Commander z otwartym plikiem lab5.zip 2. Zapoznanie się ze środowiskiem IDE dla mikrokontrolera ATxmega32A4 kompilacja. a) Uruchomić program atmelstudio.exe. W tym celu najlepiej przejść do katalogu c:\labmik\lab5\ i dwukrotnie kliknąć na link AtmelStudio.lnk. b) Pojawi się panel główny programu Atmel Studio. Będąc w zakładce Start Page kliknąć na ikonę New Project.... 2

4 c) Pojawi się okienko New Project (rys. 3). Wybrać Assembler. Pola Name, Location, Solution i Solution name powinny być uzupełnione tak, jak pokazano na rys. 3. Po czym nacisnąć przycisk OK. Rys. 3. Okienko z ustawieniami projektu d) Pojawi się kolejne okienko Device Selection (rys. 4). W polu Device family ma być wybrane AVR XMEGA, 8-bit, a na liście zaznaczony mikrokontroler ATxmega32A4. Na zakończenie nacisnąć przycisk OK. Rys. 4. Okienko Device Selection 3

5 e) Na ekranie pojawił się panel programu Atmel Studio 6 z oknem przyk1.asm zawierajacym uniwersalny szablon dla programów pisanych w asemblerze. f) Teraz należy przekopiować zawartość pliku przyk1_tmp.asm do tego okna. W tym celu otworzyć w dowolnym edytorze tekstowym plik przyk1_tmp.asm, (np. będąc w Total Commander zaznaczyć ten plik i nacisnąć klawisz F4). Jak jesteśmy w edytorze tekstowym z otwartym plikiem przyk1_tmp.asm, aby zaznaczyć cały tekst naciskamy klawisze Ctrl-A, aby zachować go w schowku Windows naciskamy klawisze Ctrl-C. Zamykamy edytor tekstowy i przechodzimy do Atmel Studio do okna przyk1.asm. Zaznaczamy cały tekst i naciskamy klawisze Ctrl-V. Zapisujemy tak utworzony plik przyk1.asm, naciskajac klawisze Ctrl-S. Rys. 5. Główny panel programu Atmel Studio 6 g) Dokonać asemblacji (kompilacji) programu przyk1.asm. W tym celu należy wybrać z menu głównego polecenie Build > Build Solution lub nacisnąć klawisz F7. h) Sprawdzić, czy w oknie Output są komunikaty informujące o poprawnej kompilacji. Panel programu Atmel Studio powinien wyglądać podobnie jak na rys. 5. i) W okienku Solution Explorer (prawe okienko pokazane na rys. 5) otworzyć katalog Output Files, zaznaczyć plik przyk1.lss i go otworzyć np. poprzez dwukrotne kliknięcie lewym klawiszem myszy na tym pliku. Przeanalizować ten plik uwaga: wyniki asemblacji znajdują się pod koniec tego pliku. Po przeanalizowaniu pliku zamknąć okienko z jego zawartością. 4

6 3. Zapoznanie się ze środowiskiem IDE dla mikrokontrolera ATxmega32A4 symulacja. a) Nasz program musi być wcześniej skompilowany, co już zrobiliśmy w poprzednim punkcie. Aby uruchomić symulację wybrać Project > przyk1 Properties. b) W oknie przyk1 w zakładce Tool w polu Select debugger/programmer wybrać Simulator. Zapisać ustawienia nacisnąś klawisze Ctrl-S, po czym zamknąć okienko przyk1. c) Przejrzeć listę poleceń menu Debug. W celu prześledzenia pracy programu przyk1.asm najlepiej wybrać pracę krokową, wywołując polecenie Debug > StepInto (klawisz F11). Jedno naciśnięcie klawisza F11 powoduje wykonanie jednej instrukcji asemblera oraz modyfikację stanów rejestrów i ich bitów w okienku IO View d) Po pierwszym naciśnięciu klawisza F11 powinny pojawić się okienka IO View i Memory. W okienku IO View wybrać np. Port Configuration (PORTA), a w dolnym okienku przejść na Registers, tak jak pokazano na rys. 6. Rys. 6. Główny panel programu Atmel Studio 6 z uruchomionym symulatorem e) Przeanalizować całą pracę programu: naciskająć klawisz F11 (praca krokowa programu przyk1.asm) obserwować co się dzieje na potrach PORTA i PORTC oraz ze zmiennymi counter, tmp i tmp2 (jakie przypisano im rejestry?). f) Aby zakończyć symulację programową należy wywołać polecenie Debug > Stop Debugging. 5

7 4. Programowanie mikrokontrolera ATxmega32A4w systemie docelowym. a) Zamknąć poprzedni projekt przyk1 wywołując polecenie File > Close Solution. b) Następnie utworzyć nowy projekt wywołać polecenie File > New > Project.... Nadać mu nazwę porty. Przy tworzeniu projektu postępować tak jak w poprzednim przykładzie (punkty od 2c) do 2f)). Przy czym w tym przypadku przekopiować zawartość pliku porty_tmp.asm do okna z plikiem porty.asm. c) Dokonać asemblacji wybierając polecenie Build > Build Solution (klawisz F7). d) Przeanalizować kod programu porty.asm oraz zawartość pliku porty.lss. Zrozumieć zasadę działania programu. Wszystkie niezbędne informacje znajdują się w dokumentacji technicznej [1-4]. e) Uruchomić symulator tak jak przedstawiono w punkcie 3b). Prześledzić na symulatorze programowym pracę programu porty.asm. Pętla Wait_for_E0 trwa ponad 2000 cykli, a dokładnie ile? Ile cylki potrzeba na wykonanie pętli Program? aby się tego dowiedzieć wybrać okienko Processor. Rys. 7. Okienko IO View skonfigurowane do generacji przewań zewnętrznych na PORTD f) W celu zasymulowania przycisku SW0 umieszczonego na płytce laboratoryjnej [4], czyli w celu wywołania przerwania zewnętrznego INT0, skonfigurować okienko IO View tak jak pokazano na rys. 7 wybrać w górnej części okienka Port Configuration (PORTD), a w dolnej zaznaczyć rejestr IN. Następnie ustawić stan 6

8 wysoki na pozycji bit 0 rejestru IN (rys. 7). Należy pamiętać o wykonywaniu w między czasie polecenia Debug > StepInto (klawisz F11). Dopiero będąc już w obsłudze przerwania ServiceINT0 wyzerować ten bit. Obserwować co się dzieje ze zmienną tmp3 i na PORTC_OUT. g) Podobnie wywołać przerwanie od INT1 (pozycja bit 1 w rejestrze IN). h) Dla zainteresowanych: można generować pobudzenia na liniach portów mikrokontolera za pomocą poleceń zapisanych w plikach *.stim korzystajac z polecenia Debug > Execute Stimulifile opisane zostało to w pomocy programu Atmel Studio (polecenie Help > View Help). i) Po przeanalizowaniu pracy programu porty.asm zakończyć symulację programową wywołując polecenie Debug > Stop Debugging. j) Sprawdzić, czy płytka laboratoryjna jest włączona (świecą się diody LED 9 i LED 10) przełącznik POWER SWITCH w pozycji ON [4]. k) Przejść do programowania. W tym celu wybrać programator korzystajac z polecenia Tools > Device Programming. l) Pojawi się okienko Device Programming. W polu Tool wybrać AVRISP mkii, w polu Device ma być ATxmega32A4, a w polu Interface PDI. Następnie nacisnąć przycisk Apply. m) Aby poznać parametry pracy mikrokontrolera wybrać zakładkę Device information i nacisnąć przycisk Read. Powinien pojawić się komunikat podobny jak na rys. 8. Rys. 8. Okno obsługi programatora AVRISP mkii zakładka Device information n) W celu zaprogramowania mikrokontrolera wybrać zakładkę Memories. W polu Flash (32 KB+4 KB BOOT), tak jak na rys. 9, powinien być wybrany plik C:\labmik\lab5\porty\ porty\debug\porty.hex. Nacisnąć przycisk Program. o) Po proprawnym zaprogramowaniu mikrokontrolera, w dolnym polu okienka Device Programming powinny być takie same komunikaty jak na rys. 9. Można wtedy zamknąć to okienko. 7

9 Rys. 9. Okno obsługi programatora AVRISP mkii zakładka Memories p) Przeanalizować pracę programu porty.asm w systemie docelowym. Zmieniać ustawienia przełączników na DIP SWITCH, obserwować co się dzieje na diodach LED0 7, naciskać przyciski SW0 do SW3 i przyglądać się jak pracuje wyświetlacz 7- mio segmentowy. 5. Zapoznać się z obsługą w asemblerze przetwornika A/C mikrokontrolera. a) w tym celu przeanalizować kod programu adc.asm, korzystać z dokumentacji [1,4]. Do czego służą potencjometry POT1 i POT2 w tym programie? Na czym wyświetlany jest wynik zmierzonego napięcia na wyjściu POT1, a na czym napięcie wyjściowe na POT2? b) dokonać jego kompilacji, ewentualnie symulacji programowej oraz zaprogramować mikrokontroler, c) przeanalizować pracę programu adc.asm w systemie docelowym (opis obsługi płytki laboratoryjnej pracującej zgodnie z programem adc.asm znajduje się w komentarzach do kodu tego programu). 6. Komunikacja zestawu laboratoryjnego za pośrednictwem interfejsu USB obsługiwanego przez moduł MMusb232 z komputerem PC za pomocą interfejsu UART mikrokontrolera. a) przeanalizować kod programu rs232.asm korzystając z dokumentacji [1,4] jak wysyła i odbiera się dane w programie rs232.asm? Co jest wyświetlane na diodach LED, a co na wyświetlaczu 7-mio segmentowym? b) dokonać jego kompilacji, po czym zaprogramować mikrokontroler, c) przeanalizować pracę programu rs232.asm w systemie docelowym (obsługa zestawu laboratoryjnego znajduje się w komentarzach do kodu tego programu). Na komputerze PC uruchomić program terminal.exe do komunikacji z urządzeniami dołączonymi do 8

10 portów COM (c:\labmik\terminal\terminal.exe). W celu skonfigurowania terminala wywołać okienko Parametry transmisji przez Połączenie->Linia... Powinno być ustawione: Port Com2 do Com8 (w zależności od stanowiska laboratoryjnego), Bitów na sekundę 9600, Bity danych 8, Parzystość Brak, Bity stopu 1, kontrola transmisji Brak (rys. 10). Rys. 10. Okno programu terminal.exe 7. Napisać kod źródłowy własnego programu pracującego zgodnie z zaleceniami prowadzącego laboratorium i uruchomić go (zadanie dodatkowe nieobowiązkowe przeznaczone dla studentów wykonujących laboratorium z Mikrosterowników i mikrosystemów rozproszonych). 9

11 IV. Listingi programów 1. Program przyk1.asm ; Przyklad pierwszy - przeznaczony do nauki symulacji pracy ATxmega32a4 ; w środowisku Atmel Studio 6 ; Laboratorium: Mikrokontrolery i mikrosystemy oraz Mikrosterowniki i mikrosystemy ; rozproszone ; ; Dokumentacja techniczna do ćwiczenia laboratoryjnego: ; [1] Atmel Corporation, "8-bit XMEGA A Microcontroller, XMEGA A MANUAL ", 2012, ; plik - xmega32a_manual.pdf. ; [2] Atmel Corporation, "8/16-bit XMEGA A4 Microcontroller, ATxmega128A4 ; ATxmega64A4 ATxmega32A4 ATxmega16A4", 2012, plik - xmega32a4.pdf. ; [3] Atmel Corporation, "8-bit AVR Instruction Set", 2010, ; plik - AVR_Instruction_Set.pdf. ; [4] Czaja Z., Burek K., "Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 ; firmy Atmel", 2013, plik - atxmega32a4_pl.pdf..dseg.def tmp = r16 ; przypisanie nazw dla rejestrów.def tmp2 = r17.def counter = r18.cseg.org 0x00 ; początek segmentu programu ; wektor przerwania od resetu / początek programu ; procedura inicjalizacji po resecie i włączeniu zasilania Reset: ldi tmp,0xff sts PORTC_DIR,tmp ldi tmp,0xf2 sts PORTA_DIR,tmp ldi tmp,0x00 sts PORTD_DIR,tmp ldi tmp,0x08 sts PORTE_DIR,tmp ldi tmp2,0x40 ; port C - wyjściowy ; linie PA7-PA4, PA1 wyjściami, PA3,PA2 i PA0 ; wejściami (analogowymi) ; port D - wejściowy ; linia PE3 (TxD) wyjściem, pozostałe linie wej. ; sterowanie linią PA6 ;ldi r26,low(porta_outset) ; wprowadzenie adresu PORTA_OUTSET do rejestru X ;ldi r27,high(porta_outset) ; *** Program główny (głowna pętla programu) *** Program: rcall Show ; wyświetlenie stanu licznika dec counter ; dekrementowanie licznika rjmp Program ; powrót do początku programu ; ********************************************************************************* ; funkcja wyświetlenie licznika na linijce diod led [3] Show: sts PORTC_OUT,counter ; wystawienie stanu licznika na port C sts PORTA_OUTSET,tmp2 ; aktywacja układu IC3 (od linijki LED) sts PORTA_OUTCLR,tmp2 ; zatrzaśnięcie stanu na wyjściu IC3 ;st X+,tmp2 ;st X,tmp2 ;dec r26 ; kod realizuje powyższą procedurę, tylko szybciej.exit ret 10

12 2. Program porty.asm ; Przyklad drugi - porty.asm - obsługa portów mikrokontrolera ATxmega32a4 ; w środowisku Atmel Studio 6 ; Laboratorium: Mikrokontrolery i mikrosystemy oraz Mikrosterowniki i mikrosystemy ; rozproszone ; ; Dokumentacja techniczna do ćwiczenia laboratoryjnego: ; [1] Atmel Corporation, "8-bit XMEGA A Microcontroller, XMEGA A MANUAL ", 2012, ; plik - xmega32a_manual.pdf. ; [2] Atmel Corporation, "8/16-bit XMEGA A4 Microcontroller, ATxmega128A4 ; ATxmega64A4 ATxmega32A4 ATxmega16A4", 2012, plik - xmega32a4.pdf. ; [3] Atmel Corporation, "8-bit AVR Instruction Set", 2010, ; plik - AVR_Instruction_Set.pdf. ; [4] Czaja Z., Burek K., "Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 ; firmy Atmel", 2013, plik - atxmega32a4_pl.pdf..dseg.def tmp = r16 ; przypisanie nazw dla rejestrów.def tmp2 = r17.def tmp3 = r18.def counter = r19.cseg ; wektory resetu i przerwań.org 0x00 jmp Reset.ORG PORTD_INT0_vect jmp ServiceINT0.ORG PORTD_INT1_vect jmp ServiceINT1 ; początek segmentu programu ; wektor przerwania od resetu / początek programu ; wektor przerwania INT0 ; wektor przerwania INT1 ; procedury obsługi przerwań ServiceINT0: pause0: lds tmp,portd_in sbrs tmp,0 rjmp pause0 inc tmp3 rcall wysw7 reti ServiceINT1: pause1: lds tmp,portd_in sbrs tmp,1 rjmp pause1 dec tmp3 rcall wysw7 reti ; obsługa przerwania od INT0 na porcie D ; sprawdzenie czy przycisk INT0 puszczony, czy jest ; na nim stan "Hi" ; jesli nie, to pauza ; inkrementuj zawartość zmiennej tmp3 ; wyświetlenie danej tmp3 na wyswietlaczu 7-seg. ; obsługa przerwania od INT1 na porcie D ; sprawdzenie czy przycisk INT1 puszczony, czy jest ; na nim stan "Hi" ; jesli nie, to pauza ; dekrementuj zawartość zmiennej tmp3 ; wyświetlenie danej tmp3 na wyswietlaczu 7-seg. ; procedura inicjalizacji po resecie i włączeniu zasilania Reset: ; konfiguracja pracy oscylatora ldi tmp,0xcb sts OSC_XOSCCTRL,tmp; ; zakres MHz, 16K clk start-up time lds tmp,osc_ctrl ori tmp,0x08 sts OSC_CTRL,tmp ; External Oscillator (EO) możliwy do wykorzystania 11

13 Wait_for_EO: lds tmp,osc_status sbrs tmp,3 rjmp Wait_for_EO ldi r16,0xd8 ldi r19,0x03 ldi r27,0x00 ldi r26,0x40 out 0x34,r16 st x,r19 ; czekaj aż EO będzie gotowy ; modyfikacja rejestru chronionego ; CPU_CCP = 0xD8 - odblokuj rejest przed zapisem ; CLK_CTRL = 0x03 - przełącz system zegarowy na EO ; ustawienie wskaźnika stosu i rejestru Z ldi tmp, high(ramend) ; [1] out CPU_SPH, tmp ldi tmp, low(ramend) out CPU_SPL, tmp ldi zh,high(znaki<<1) ldi zl,low(znaki<<1) ; rejestr Z wskazuje na początek tablicy ; ZNAKI ; konfiguracja portów ldi tmp,0xf2 sts PORTA_DIR,tmp ; linie PA7-PA4, PA1 wyjściami, PA3,PA2 i PA0 ; wejściami (analogowymi) ldi tmp,0x80 ; sterowanie linią PA7 sts PORTA_OUTSET,tmp ; dezaktywacja układu IC4 ldi tmp,0xff sts PORTC_DIR,tmp ; port C - wyjściowy ldi tmp,0x00 sts PORTD_DIR,tmp ; port D - wejściowy ldi tmp,0x08 sts PORTE_DIR,tmp ; linia PE3 (TxD) wyjściem, pozostałe linie ; wejściowe ; konfigutracja przerwań zewnętrznych na porcie D - klawisze SW0 -SW3 [4] ldi tmp,0x05 sts PORTD_INTCTRL, tmp ; Low level interrupt na INT0 i INT1 ldi tmp,0x01 sts PORTD_INT0MASK, tmp ldi tmp,0x02 sts PORTD_INT1MASK, tmp ldi tmp,0x01 sts PORTD_PIN0CTRL, tmp ldi tmp,0x01 sts PORTD_PIN1CTRL,tmp ldi tmp,0x01 sts PMIC_CTRL, tmp sei ; PD0 - INT0 ; PD1 - INT1 ; INT0 na zbocze narastające ; INT1 na zbocze narastające ; Low level interrupt odblokowane ; odblokowanie przerwań ; *** Program główny (głowna pętla programu) *** Program: rcall dip8 rcall led8 rcall sw4 rjmp Program ; odczyt DIP-8 ; wyświetlenie danej na linijce 8 LED ; odczyt stanu przycisków SW2 i SW3 ; powrót do początku programu ; ********************************************************************************* 12

14 ; blok funkcji ; funkcja odczyt stanu przycisków SW2 i SW3 sw4: lds tmp, PORTD_IN sbrs tmp,2 ldi tmp3, 0x0 sbrs tmp,3 ldi tmp3,0x0f rcall wysw7 ret ; odczyt stanu linii portu D ; czy nienaciśniety klawisz SW2 ; wpisz '0' jak naciśniety ; czy nienaciśniety klawisz SW3 ; wpisz 'F' jak naciśniety ; wyświetlenie danej tmp3 na wyswietlaczu ; 7-segmentowym ; funkcja odczyt ustawien DIP-8 dip8: cli ; zablokowanie przerwan clr tmp sts PORTC_DIR,tmp ; inicjalizacja portu C jako wejściowy ldi tmp,0x80 ; sterowanie linią PA7 sts PORTA_OUTCLR,tmp ; aktywacja układu IC4 (od DIP-8) [4] nop lds tmp2, PORTC_IN ; odczyt DIP-8 sts PORTA_OUTSET,tmp ; dezaktywacja układu IC4 ser tmp sts PORTC_DIR,tmp ; ustawienie portu C na wyjściowy sei ; odblokowanie przerwan ret ; funkcja wyświetlenie licznika na linijce diod led led8: sts PORTC_OUT,tmp2 ldi tmp,0x40 sts PORTA_OUTSET,tmp sts PORTA_OUTCLR,tmp ret ; wystawienie stanu DIP-8 na port C ; sterowanie linią PA6 ; aktywacja układu IC3 (od linijki LED) ; zatrzaśnięcie stanu na wyjściu IC3 ; funkcja wyświetlenie liczbę naciśnięć przycisku INT0 wysw7: mov zl, tmp3 ; adresowanie pośrednie - dostęp do pamięci FLASH ; (dekodowanie znaku na wyśw. 7-segmentowy) andi zl,0x0f ; użycie maski 0x0F - zerowanie czterech ; najstarszych bitów lpm ; [3] sts PORTC_OUT,r0 ldi tmp,0x20 sts PORTA_OUTSET,tmp sts PORTA_OUTCLR,tmp ret ; wystawienie stanu DIP-8 na port C - zdekodowany ; wynik po wykonaniu instrukcji "lpm" znajduje się ; w rejestrze "r0" ; sterowanie linią PA5 ; aktywacja układu IC2 (od wysw. 7-seg.) ; zatrzaśnięcie stanu na wyjściu IC2 ; *** Tablica znaków *** ; tablica znaków umieszczona jest w pamięci programu FLASH począwszy od ; adresu 0x400 ; - dostęp: instrukcja lpm wykonująca operację: r0 <- FLASH(Z), ; gdzie 16-bitowy rejestr Z składa się z dwóch 8-bitowych rejestrów zh,zl.org 0x400 ZNAKI:.db 0x21,0xF5,0x13,0x91,0xC5,0x89,0x09,0xF1,0x01,0x81,0x41,0x0D,0x2B,0x15,0x0B,0x4B 13

15 ; Zawartość rejestru zl Kod 7-seg. Wyświetlany znak na wyświetlaczu 7-seg. ; ; 0x00 0x21 0 ; 0x01 0xF5 1 ; 0x02 0x13 2 ; 0x03 0x91 3 ; 0x04 0xC5 4 ; 0x05 0x89 5 ; 0x06 0x09 6 ; 0x07 0xF1 7 ; 0x08 0x01 8 ; 0x09 0x81 9 ; 0x0A 0x41 A ; 0x0B 0x0D b ; 0x0C 0x2B C ; 0x0D 0x15 d ; 0x0E 0x0B E ; 0x0F 0x4B F ; EXIT 14

16 Ćwiczenie nr 6 Pisanie oprogramowania z wykorzystaniem języka C na mikrokontroler ATXmega32A4 firmy Atmel I. Literatura (dokumentacja do ćwiczeń laboratoryjnych) [1] Atmel Corporation, "8-bit XMEGA A Microcontroller, XMEGA A MANUAL ", 2012, plik - xmega32a_manual.pdf. [2] Atmel Corporation, "8/16-bit XMEGA A4 Microcontroller, ATxmega128A4 ATxmega64A4 ATxmega32A4 ATxmega16A4", 2012, plik - xmega32a4.pdf. [3] Czaja Z., Burek K., "Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel", 2013, plik atxmega32a4_pl.pdf. [4] Generated by Doxygen 1.5.6, " avr-libc 1.6.7", 2010, plik - avr-libc-user-manual.pdf. [5] Hitachi, "HD44780U (LCD-II)(Dot Matrix Liquid Crystal Display Controller/Driver)", plik - hd44780.pdf. Powyższa dokumentacja znajduje się w katalogu c:\labmik\doc II. Sprzęt i oprogramowanie 1. Zestaw laboratoryjny mikrokontrolera ATxmega32A4. 2. Programator Programator AVRISP mkii z interfejsem PDI podłączony do portu USB komputera PC. 3. Zasilacz gniazdkowy stabilizowany 9V. 4. Kabel połączeniowy dla standardu interfejsu szeregowego USB. 5. Oprogramowanie użytkowe na komputer PC: a). zintegrowane środowisko programistyczne IDE (Atmel Studio 6 (c:\labmik\atmel Studio 6\ atmelstudio.exe), b). program obsługi terminali szeregowych (terminal.exe (c:\labmik\terminal\ terminal.exe)), c). program Total Commander do zarządzania systemem plików. III. Zadania laboratoryjne 1. Przygotowanie stanowiska laboratoryjnego do pracy. a) sprawdzić czy zestaw laboratoryjny jest podłączony do zasilacza gniazdkowego 9V podłaczonego do listwy zasilającej. b) sprawdzić czy zestaw laboratoryjny jest podłączony przez programator AVRISP mkii do portu USB, a przez kabel USB do drugiego portu USB komputera PC, c) uruchomić komputer PC (praca pod Windows XP), 15

17 d) uruchomić program do zarządzania systemem plików, np. Total Commander (ikona na pulpicie ), Totalcmd.lnk e) przejść do katalogu c:\labmik\ i usunąć podkatalog lab6 z całą jego zawartością (rys. 1) (kasowanie katalogu po zaznaczeniu katalogu lab6 nacisnąć klawisz Delete lub F8), Rys. 1. Panel programu Total Commander z zaznaczonym katalogiem c:\labmik\lab6 f) rozpakować plik lab6.zip znajdujący się w katalogu C:\labmik\ (zawiera on podkatalog lab6 wraz z jego właściwą zawartością) (rozpakowywanie w obydwu panelach programu Total Commander musi być wyświetlany katalog c:\labmik. W lewym panelu wejść do pliku lab6.zip (zaznaczyć go i nacisnąć klawisz Enter lub dwa razy kliknąć na nim myszką), po czym zaznaczyć katalog lab6 i nacisnąć klawisz F5 (rys. 2). W prawym panelu pojawi się ten katalog już rozpakowany). Rys. 2. Panel programu Total Commander z otwartym plikiem lab6.zip 2. Zapoznanie się ze środowiskiem IDE dla mikrokontrolera ATxmega32A4 kompilacja. a) Uruchomić program atmelstudio.exe. W tym celu najlepiej przejść do katalogu c:\labmik\lab6\ i dwukrotnie kliknąć na link AtmelStudio.lnk. 16

18 b) Pojawi się panel główny programu Atmel Studio. Będąc w zakładce Start Page kliknąć na ikonę New Project.... c) Pojawi się okienko New Project (rys. 3). Zaznaczamy C/C++ i wybieramy GCC C Executable Project C/C++. Pola Name, Location, Solution i Solution name powinny być uzupełnione tak, jak pokazano na rys. 3. Po czym nacisnąć przycisk OK. Rys. 3. Okienko z ustawieniami projektu d) Pojawi się kolejne okienko Device Selection (rys. 4). W polu Device family ma być wybrane AVR XMEGA, 8-bit, a na liście zaznaczony mikrokontroler ATxmega32A4. Na zakończenie nacisnąć przycisk OK. Rys. 4. Okienko Device Selection 17

19 e) Na ekranie pojawił się panel programu Atmel Studio 6 z oknem przyk1.c zawierajacym uniwersalny szablon dla programów pisanych w asemblerze. f) Teraz należy przekopiować zawartość pliku przyk1_tmp.c do tego okna. W tym celu otworzyć w dowolnym edytorze tekstowym plik przyk1_tmp.c, (np. będąc w Total Commander zaznaczyć ten plik i nacisnąć klawisz F4). Jak jesteśmy w edytorze tekstowym z otwartym plikiem przyk1_tmp.c, aby zaznaczyć cały tekst naciskamy klawisze Ctrl-A, aby zachować go w schowku Windows naciskamy klawisze Ctrl-C. Zamykamy edytor tekstowy i przechodzimy do Atmel Studio do okna przyk1.c. Zaznaczamy cały tekst i naciskamy klawisze Ctrl-V. Zapisujemy tak utworzony plik przyk1.c, naciskajac klawisze Ctrl-S. Rys. 5. Główny panel programu Atmel Studio 6 z oknem przyk1.c g) Dokonać kompilacj) programu przyk1.c. W tym celu należy wybrać z menu głównego polecenie Build > Build Solution lub nacisnąć klawisz F7. h) Sprawdzić, czy w oknie Output są komunikaty informujące o poprawnej kompilacji. Panel programu Atmel Studio powinien wyglądać podobnie jak na rys. 5. i) W okienku Solution Explorer (prawe okienko pokazane na rys. 5) otworzyć katalog Output Files, zaznaczyć plik przyk1.lss i go otworzyć np. poprzez dwukrotne kliknięcie lewym klawiszem myszy na tym pliku. Przeanalizować ten plik: Jak odbywa się zamiana kodu C na kod asemblera? Jak wygląda obsługa przerwań? Zwrócić uwagę, jakie rejestry od r0 do r31 używane są przez kompilator? 18

20 Ile linii w asemblerze odpowiada poleceniu liczba += 10;? j) Zamknąć okno przyk1.lss. k) W kodzie programu przyk1.c zakomentować linię z poleceniem liczba += 10;. Zapisać plik przyk1.c (naciskajac klawisze Ctrl-S ) i ponownie go skompilować - polecenie Build > Rebuild Solution. l) Ponownie otworzyć plik przyk1.lss i zobaczyć o ile jest krótszy plik wynikowy bez obliczeń zmiennoprzecinkowych. 3. Zapoznanie się ze środowiskiem IDE dla mikrokontrolera ATxmega32A4 symulacja. a) Nasz program musi być wcześniej skompilowany, co już zrobiliśmy w poprzednim punkcie. Aby uruchomić symulację wybrać Project > przyk1 Properties. b) W oknie przyk1 w zakładce Tool w polu Select debugger/programmer wybrać Simulator. Zapisać ustawienia nacisnąś klawisze Ctrl-S, po czym zamknąć okienko przyk1. c) Przejrzeć listę poleceń menu Debug. W celu prześledzenia pracy programu przyk1.c najlepiej wybrać pracę krokową, wywołując polecenie Debug > StepInto (klawisz F11). Jedno naciśnięcie klawisza F11 powoduje wykonanie jednej instrukcji asemblera oraz modyfikację stanów rejestrów i ich bitów w okienku IO View. Rys. 6. Główny panel programu Atmel Studio 6 z uruchomionym symulatorem 19

21 d) Po pierwszym naciśnięciu klawisza F11 powinny pojawić się okienka IO View i Memory. W okienku IO View wybrać np. Port Configuration (PORTA), a w dolnym okienku przejść do Memory1. e) W okienku Memory1 wybrać w linii Memory: data INTERNAL_SRAM. Pod adresem 0x2005 znajduje się zmienna counter, a pod adresem 0x2004 zmienna flaga. f) Przeanalizować całą pracę programu: naciskająć klawisz F11 (praca krokowa programu przyk1.c) obserwować co się dzieje na potrach PORTA i PORTC oraz ze zmiennymi counter, flaga. Aby wywoływać obsługi przerwań zaznaczać w rejestrze INTFLAGS bit 0 dla INT0 i bit 1 dla INT1. g) Aby zakończyć symulację programową należy wywołać polecenie Debug > Stop Debugging. 4. Programowanie mikrokontrolera ATxmega32A4w systemie docelowym. a) Zamknąć poprzedni projekt przyk1 wywołując polecenie File > Close Solution. b) Następnie utworzyć nowy projekt wywołać polecenie File > New > Project.... Nadać mu nazwę porty. Przy tworzeniu projektu postępować tak jak w poprzednim przykładzie (punkty od 2c) do 2f)). Przy czym w tym przypadku przekopiować zawartość pliku porty_tmp.c do okna z plikiem porty.c. c) Dokonać kompilacji wybierając polecenie Build > Build Solution (klawisz F7). d) Przeanalizować kod programu porty.c oraz zawartość pliku porty.lss. Zrozumieć zasadę działania programu. Wszystkie niezbędne informacje znajdują się w dokumentacji technicznej [1-4]. e) Uruchomić symulator tak jak przedstawiono w punkcie 3a-c). Prześledzić na symulatorze programowym pracę programu porty.c. Pętla do while ((OSC_STATUS & 0x08) == 0); trwa ponad 2000 cykli. Zapoznać się ze schematem ideowym płytki laboratoryjnej i obsługą układów znajdujacych się na niej). Co z tego wynika? Jak zasymulować sygnały sterujace układami IC2, IC3 i IC4 na płytce? Rys. 7. Okienko IO View z portem PORTA 20

22 f) W celu zasymulowania przycisku SW0 umieszczonego na płytce laboratoryjnej [4], czyli w celu wywołania przerwania zewnętrznego INT0, skonfigurować okienko IO View podobnie tak jak pokazano na rys. 7 w ćwiczeniu nr 3. Podczas wywoływania przerwań należy pamiętać o wykonywaniu w między czasie polecenia Debug > StepInto (klawisz F11). Dopiero będąc już w obsłudze przerwania ServiceINT0 wyzerować ten bit. Obserwować co się dzieje ze zmienną counter (aby znaleźć jej miejsce, czyli adres, w pamieci SRAM mikrokontrolera zajrzeć do pliku porty.lss). g) Po przeanalizowaniu pracy programu porty.asm zakończyć symulację programową wywołując polecenie Debug > Stop Debugging. h) Sprawdzić, czy płytka laboratoryjna jest włączona (świecą się diody LED 9 i LED 10) przełącznik POWER SWITCH w pozycji ON [4]. i) Przejść do programowania. W tym celu wybrać programator korzystajac z polecenia Tools > Device Programming. j) Pojawi się okienko Device Programming. W polu Tool wybrać AVRISP mkii, w polu Device ma być ATxmega32A4, a w polu Interface PDI. Następnie nacisnąć przycisk Apply. k) Jeżeli chcemy poznać parametry pracy mikrokontrolera, to wybrać zakładkę Device information i nacisnąć przycisk Read. Powinien pojawić się komunikat podobny jak na rys. 8. Rys. 8. Okno obsługi programatora AVRISP mkii zakładka Device information l) W celu zaprogramowania mikrokontrolera wybrać zakładkę Memories. W polu Flash (32 KB+4 KB BOOT), tak jak na rys. 9, powinien być wybrany plik C:\labmik\lab6\porty\ porty\debug\porty.hex. Nacisnąć przycisk Program. m) Po proprawnym zaprogramowaniu mikrokontrolera, w dolnym polu okienka Device Programming powinny być takie same komunikaty jak na rys. 9. Można wtedy zamknąć to okienko. 21

23 Rys. 9. Okno obsługi programatora AVRISP mkii zakładka Memories n) Przeanalizować pracę programu porty.c w systemie docelowym. Zmieniać ustawienia przełączników na DIP SWITCH, obserwować co się dzieje na diodach LED0 7, naciskać przyciski SW0 oraz SW1 i przyglądać się jak pracuje wyświetlacz 7-mio segmentowy. 5. Komunikacja zestawu laboratoryjnego za pośrednictwem interfejsu USB obsługiwanego przez moduł MMusb232 z komputerem PC za pomocą interfejsu UART mikrokontrolera. a) Utworzyć projekt rs232 tak jak w punktach 2a) do 2e), utworzyć plik rs232.c z pliku rs232_tmp.c tak jak w punkcie 2f). b) Przeanalizować kod programu rs232.c korzystając z dokumentacji [1,4] jak wysyła i odbiera się dane w programie rs232.c? Co jest wyświetlane na diodach LED, a co na wyświetlaczu 7-mio segmentowym? c) Dokonać jego kompilacji, po czym zaprogramować mikrokontroler plikiem C:\labmik\lab6\rs232\rs232\Debug\rs232.hex. d) Przeanalizować pracę programu rs232.c w systemie docelowym (obsługa zestawu laboratoryjnego znajduje się w komentarzach do kodu tego programu). Na komputerze PC uruchomić program terminal.exe do komunikacji z urządzeniami dołączonymi do portów COM (c:\labmik\terminal\terminal.exe). W celu skonfigurowania terminala wywołać okienko Parametry transmisji przez Połączenie->Linia... Powinno być ustawione: Port Com2 do Com8 (w zależności od stanowiska laboratoryjnego), Bitów na sekundę 9600, Bity danych 8, Parzystość Brak, Bity stopu 1, kontrola transmisji Brak (rys. 10). 22

24 6. Obsługa wyświetlacza tekstowego LCD. Rys. 10. Okno programu terminal.exe a) Utworzyć projekt lcd tak jak w punktach 2a) do 2e), utworzyć plik lcd.c z pliku lcd_tmp.c tak jak w punkcie 2f). b) Do katalogu C:\labmik\lab6\lcd\ lcd\ przekopiować z katalogu C:\labmik\lab6\ pliki lcd_lib.h i lcd_lib.c. c) Przeanalizować kody programu w plikach lcd.c, lcd_lib.h i lcd_lib.c korzystając z dokumentacji [1-4], a szczególnie z [5] jak inicjalizuje się wyświetlacz LCD i jak wysyła się do niego dane i polecenia? W pliku lcd_lib.c znajdują się kody wszystkich funkcji obsługujących wyświetlacz LCD. Aby otworzyć plik lcd_lib.h lub plik lcd_lib.c w oknie edytora Atmel Studio, należy wykonać polecenie File > Open > File... (Ctrl-O) i wybrać dany plik. d) Dokonać kompilacji pliku lcd.c, po czym zaprogramować mikrokontroler plikiem C:\labmik\lab6\lcd\lcd\Debug\lcd.hex. e) Przeanalizować pracę programu lcd.c w systemie docelowym (obsługa zestawu laboratoryjnego znajduje się w komentarzach do kodu tego programu). Można podmieniać wysyłane na wyświetlacz LCD teksty, zmieniać ustawienia kursora na wyświetlaczu, itp. Aby zobaczyć efekty swojej pracy, po każdej zmianie należy zapisać program, dokonać jego kompilacji i zaprogramować nim mikrokontroler. 7. Napisać kod źródłowy własnego programu pracującego zgodnie z zaleceniami prowadzącego laboratorium i uruchomić go (zadanie dodatkowe nieobowiązkowe przeznaczone dla studentów wykonujących laboratorium z Mikrosterowników i mikrosystemów rozproszonych). 23

25 IV. Listingi programów 1. Program przyk1.c /* Przyklad pierwszy - przeznaczony do nauki symulacji pracy ATxmega32a4 w środowisku Atmel Studio 6 */ /* Laboratorium: Mikrokontrolery i mikrosystemy oraz Mikrosterowniki i mikrosystemy rozproszone */ /* Dokumentacja techniczna do ćwiczenia laboratoryjnego: [1] - Atmel Corporation, "8-bit XMEGA A Microcontroller, XMEGA A MANUAL ", 2012, plik - xmega32a_manual.pdf. [2] - Atmel Corporation, "8/16-bit XMEGA A4 Microcontroller, ATxmega128A4 ATxmega64A4 ATxmega32A4 ATxmega16A4", 2012, plik - xmega32a4.pdf. [3] - Czaja Z., Burek K., "Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel", 2013, plik - atxmega32a4_pl.pdf. [4] - Generated by Doxygen 1.5.6, " avr-libc 1.6.7", 2010, plik - avr-libc-usermanual.pdf. */ #include <avr/io.h> #include <avr/interrupt.h> void avr_init(void); // prototyp funkcji unsigned char licznik; volatile unsigned char flaga; double liczba; // deklaracja zmiennej globalnej // zmienno-przecinkowej int main(void) // procedura inicjalizacji po resecie i włączeniu zasilania avr_init(); // *** Program główny (głowna pętla programu) *** while(1) PORTC_OUT = licznik; PORTA_OUTSET = 0x40; PORTA_OUTCLR = 0x40; // wystawienie stanu licznika // aktywacja układu IC3 (od linijki LED) // zatrzaśnięcie stanu na wyjściu IC3 licznik++; // zwiększenie licznika o 1 liczba += 10; // operacja na liczbach zmiennoprzecinkowych // ********************************************* return(0); /* *********** Blok obsługi przerwań *********** */ // external interrupt 0 - inkrementacja zmiennej flaga ISR(PORTD_INT0_vect) flaga++; // external interrupt 1 - dekrementacja zmiennej flaga ISR(PORTD_INT1_vect) flaga--; 24

26 /* *********** Blok funkcji *********** */ void avr_init(void) /* inicjalizacja układu */ // Porty: A, B, C, D, E - kierunek linii: 0-wejście 1-wyjście PORTA_DIR = 0xF2; PORTA_OUTSET = 0x40; PORTB_DIR = 0x00; PORTC_DIR = 0xFF; PORTD_DIR = 0x00; PORTE_DIR = 0x08; // linie PA7-PA4, PA1 wyjściami, PA3,PA2 i PA0 // wejściami (analogowymi) // sterowanie linią PA6 - dezaktywacja układu IC3 // Port B - wejście // port C - wyjściowy // port D - wejściowy // linia PE3 (TxD) wyjściem, pozostałe linie // wejściowe /* wygaszenie diod po resecie */ PORTC_OUT = 0xFF; PORTA_OUTSET = 0x40; PORTA_OUTCLR = 0x40; // wystawienie stanu wysokiego na diody LED // aktywacja układu IC3 (od linijki LED) // zatrzaśnięcie stanu na wyjściu IC3 licznik = 0x0; /* przerwania zewnętrzne INT0 i INT1 na PORT D */ PORTD_INTCTRL = 0x05; PORTD_INT0MASK = 0x01; PORTD_INT1MASK = 0x02; PORTD_PIN0CTRL = 0x01; PORTD_PIN1CTRL = 0x01; PMIC_CTRL = 0x01; sei(); // niski poziom przerwań INT0 i INT1 // PD0 - INT0 // PD1 - INT1 // INT0 na zbocze narastające // INT1 na zbocze narastające // Low level interrupt odblokowane // odblokowanie przerwań return; 2. Program porty.c /* Przyklad drugi - sterowanie portami ATxmega32a4 */ /* Laboratorium: Mikrokontrolery i mikrosystemy oraz Mikrosterowniki i mikrosystemy rozproszone */ /* Dokumentacja techniczna do ćwiczenia laboratoryjnego: [1] - Atmel Corporation, "8-bit XMEGA A Microcontroller, XMEGA A MANUAL ", 2012, plik - xmega32a_manual.pdf. [2] - Atmel Corporation, "8/16-bit XMEGA A4 Microcontroller, ATxmega128A4 ATxmega64A4 ATxmega32A4 ATxmega16A4", 2012, plik - xmega32a4.pdf. [3] - Czaja Z., Burek K., "Stanowisko laboratoryjne dla mikrokontrolera ATXmega32A4 firmy Atmel", 2013, plik - atxmega32a4_pl.pdf. [4] - Generated by Doxygen 1.5.6, " avr-libc 1.6.7", 2010, plik - avr-libc-usermanual.pdf. */ #include <avr/io.h> #include <avr/interrupt.h> /* *** prototypy funkcji *** */ void avr_init(void); void send7seg(unsigned char); void send8led(unsigned char); unsigned char ReadDip8(void); //servicesw2(); //servicesw3(); 25

27 /* *** deklaracje zmiennych *** */ unsigned char result; unsigned char dana, counter; /* *** Tablica znaków dla wyswietlacza 7-segmentowego *** */ // '0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'A', 'b', 'C', 'd', 'E', 'F', const unsigned char buf[16] = 0x21,0xF5,0x13,0x91,0xC5,0x89,0x09,0xF1,0x01,0x81,0x41,0x0D,0x2B,0x15,0x0B,0x4B; int main(void) // procedura inicjalizacji po resecie i włączeniu zasilania avr_init(); // *** Program główny (głowna pętla programu) *** while(1) dana = ReadDip8(); send8led(dana); //servicesw2(); //servicesw3(); // odczyt przełącznikow DIP SWITCH // wyswietlenie stanu DIP SWITCH na linijce LED8 // sprawdzenie stanu przycisku SW2 // sprawdzenie stanu przycisku SW3 // ********************************************* return(0); /* *********** Blok obsługi przerwań *********** */ // external interrupt 0 - inkrementacja zmiennej flaga ISR(PORTD_INT0_vect) counter++; loop_until_bit_is_set(portd_in,0); // czekaj na puszczenie klawisza SW0 send7seg(counter); // wyswietl dana na wysw. 7-seg. // external interrupt ISR(PORTD_INT1_vect) loop_until_bit_is_set(portd_in,1); // czekaj na puszczenie klawisza SW1 //...; // kod obsługi przerwania /* - kod obsługi przerwań przetwornika ADC A // ADC A CH0 interrupt - odczytanie wyniku i... ISR(ADCA_CH0_vect) v_res = ADCA_CH0RES; // odczyt wyniku pomiaru napięcia na kanale CH0 //...; // kod obsługi przerwania // ADC A CH1 interrupt - odczytanie wyniku i... ISR(ADCA_CH1_vect) v_res = ADCA_CH1RES; // odczyt wyniku pomiaru napięcia na kanale CH1 */ //...; // kod obsługi przerwania 26

28 /* *********** Blok funkcji *********** */ /* - kod funkcji używanej do konfiguracji przetwornika ADC A // Definition of read calibration row function: // NVM_CMD = 0x02; // Read calibration Row Command, NVM_CMD has address 0x01CA // read result from addr of read calibration row space // NVM_CMD = 0x00; // No operation uint8_t read_calibration_row(uint16_t addr) uint8_t result; asm( "ldi r19,0x02 \n" "ldi r27,0x01 \n" "ldi r26,0xca \n" "st x,r19 \n" "lpm %0, Z" "\n\t" "ldi r19,0x00 \n" "st x,r19 \n" : "=r" (result) : "z" (addr) ); */ return(result); void avr_init(void) /* inicjalizacja układu */ // Ustawienie zegara systemowego OSC_XOSCCTRL = 0xCB; OSC_CTRL = 0x08; // zakres MHz, 16K clk start-up time // External Oscillator (EO) możliwy do // wykorzystania do while((osc_status & 0x08) == 0); //CPU_CCP = 0xD8; //CLK_CTRL = 0x03; asm ("ldi r16,0xd8 \n" "ldi r19,0x03 \n" "ldi r27,0x00 \n" "ldi r26,0x40 \n" "out 0x34,r16 \n" "st x,r19 \n" : : ); // czekaj aż EO będzie gotowy // odblokuj rejest przed zapisem // przełącz system zegarowy na EO // Porty: A, B, C, D, E - kierunek linii: 0-wejście 1-wyjście PORTA_DIR = 0xF2; PORTA_OUTSET = 0x80; PORTB_DIR = 0x00; PORTC_DIR = 0xFF; PORTD_DIR = 0x00; PORTE_DIR = 0x08; // linie PA7-PA4, PA1 wyjściami, PA3,PA2 i PA0 // wejściami (analogowymi) // sterowanie linią PA7 - dezaktywacja układu IC4 // Port B - wejście // port C - wyjściowy // port D - wejściowy // linia PE3 (TxD) wyjściem, pozostałe linie // wejściowe /* wygaszenie diod po resecie */ PORTC_OUT = 0xFF; PORTA_OUTSET = 0x40; PORTA_OUTCLR = 0x40; // wystawienie stanu wysokiego na diody LED // aktywacja układu IC3 (od linijki LED) // zatrzaśnięcie stanu na wyjściu IC3 27

29 /* - kod konfiguracji przetwornika ADC A // Kalibracja przetwornika ADCA // ADACAL0-0x20; ADACAL1-0x21; dana = (read_calibration_row(0x21)<<8) read_calibration_row(0x20); ADCA_CAL = dana; // ADCA_CAL = 0x0444; // ADC A ADCA_CTRLB = 0x06; ADCA_REFCTRL = 0x20; ADCA_PRESCALER = 0x02; ADCA_CH0_CTRL = 0x01; ADCA_CH1_CTRL = 0x01; ADCA_CH0_MUXCTRL = 0x10; ADCA_CH1_MUXCTRL = 0x18; ADCA_CH0_INTCTRL = 0x01; ADCA_CH1_INTCTRL = 0x01; ADCA_CTRLA = 0x01; */ // wynik bez znaku, 12-bitowa rozdzielczość, // justowanie w lewo // zewnętrzne napięcie referencyjne z pinu AREF // na PORT A // podział sygnału zegarowego DIV16 (1 MHz) // wejście dodatnie na kanale CH0 // wejście dodatnie na kanale CH1 // kanał CH0 na pinie ADC2 // kanał CH1 na pinie ADC3 // Low level interrupt na kanale CH0 // Low level interrupt na kanale CH1 // włączenie ADC A /* przerwania zewnętrzne INT0 i INT1 na PORT D */ PORTD_INTCTRL = 0x05; PORTD_INT0MASK = 0x01; PORTD_INT1MASK = 0x02; PORTD_PIN0CTRL = 0x01; PORTD_PIN1CTRL = 0x01; PMIC_CTRL = 0x01; sei(); // niski poziom przerwań INT0 i INT1 // PD0 - INT0 // PD1 - INT1 // INT0 na zbocze narastające // INT1 na zbocze narastające // Low level interrupt odblokowane // odblokowanie przerwań counter = 0; return; void send8led(unsigned char bajt) /* wysterowanie linijki diod led */ PORTC_OUT = bajt; PORTA_OUTSET = 0x40; PORTA_OUTCLR = 0x40; return; // wystawienie zmiennej na port C // aktywacja układu IC3 (od linijki LED) // zatrzaśnięcie stanu na wyjściu IC3 void send7seg(unsigned char bajt) /* wysterowanie wyświetlacza 7 segmentowego */ bajt &= 0x0F; // użycie maski 0x0F - zerowanie czterech // najstarszych bitów result = buf[bajt]; // konwersja na kod wys. 7-seg. PORTC_OUT = result; PORTA_OUTSET = 0x20; PORTA_OUTCLR = 0x20; return; // wystawienie zmiennej na port C // aktywacja układu IC2 (od wysw. 7-seg.) // zatrzaśnięcie stanu na wyjściu IC2 28

30 unsigned char ReadDip8(void) /* funkcja odczytuje stan przełaczników DIP SWITCH */ uint8_t bajt; cli(); PORTC_DIR = 0x00; PORTA_OUTCLR = 0x80; bajt = PORTC_IN; bajt = PORTC_IN; PORTA_OUTSET = 0x80; PORTC_DIR = 0xFF; sei(); return bajt; // blokada przerwan // ustawienie portu C jako wejściowy // aktywacja układu IC4 (od DIP-8) // odczyt z pinów stanu przełączników DIP SWITCH // dodatkowy odczyt z pinów stanu przełączników // DIP SWITCH // dezaktywacja układu IC4 // ustawienie portu C na wyjściowy // globalne odblokowanie przerwań /* void servicesm2(void) // odczyt stanu klawisza SW2 if bit_is_clear(portd_in,2) // testowanie klawisza SW2 - gdy naciśnięty to jest // stan niski loop_until_bit_is_set(portd_in,2); // oczekiwanie na puszczenie klawisza SW2 //...; // kod funkcji return; void servicesm3(void) // odczyt stanu klawisza SW3 if bit_is_clear(portd_in,3) // testowanie klawisza SW3 // gdy naciśnięty to jest stan niski loop_until_bit_is_set(portd_in,3); // oczekiwanie na puszczenie klawisza SW3 //...; // kod funkcji return; */ /* *********** Uwagi dotyczące ADC A *********** */ /* // Kod uruchamiania konwersji ADC: ADCA_CH0_CTRL = 0x81; // start konwersji, wejście dodatnie na kanale CH0 ADCA_CH1_CTRL = 0x81; // start konwersji, wejście dodatnie na kanale CH1 // Konwersja zmiennej unsigned int v_res na unsigned char dana: */ dana = (unsigned char)(v_res = v_res >> 4); // konwersja na bajt // (dla justowania w lewo) 29

LABORATORIUM MIKROKONTROLERY I MIKROSYSTEMY

LABORATORIUM MIKROKONTROLERY I MIKROSYSTEMY Katedra Metrologii i Optoelektroniki Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska LABORATORIUM MIKROKONTROLERY I MIKROSYSTEMY Ćwiczenie nr 3 Realizacja oprogramowania w asemblerze

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

Instrukcja do laboratorium Akademii ETI *

Instrukcja do laboratorium Akademii ETI * Instrukcja do laboratorium Akademii ETI 26.03.2014 I. Logowanie do systemu Aby zalogować się do komputera należy podać następującego użytkownika i hasło: - w sali 308: lab1/lab1 - w sali 325: student1/student1

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

Electronic Infosystems

Electronic Infosystems Department of Optoelectronics and Electronic Systems Faculty of Electronics, Telecommunications and Informatics Gdansk University of Technology Electronic Infosystems Microserver TCP/IP with CS8900A Ethernet

Bardziej szczegółowo

Projektowanie z użyciem procesora programowego Nios II

Projektowanie z użyciem procesora programowego Nios II Projektowanie z użyciem procesora programowego Nios II WSTĘP Celem ćwiczenia jest nauczenie projektowania układów cyfrowych z użyciem wbudowanych procesorów programowych typu Nios II dla układów FPGA firmy

Bardziej szczegółowo

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015 XMEGA Warsztaty CHIP Rok akademicki 2014/2015 Plan warsztatów: Wprowadzenie do Atmel Studio (20/11/2014) Porty I/O (20/11/2014) Przerwania (27/11/2014) Wykorzystana literatura: [1] Dokumentacja ATMEL(www.atmel.com):

Bardziej szczegółowo

Schemat blokowy architektury AVR

Schemat blokowy architektury AVR Schemat blokowy architektury AVR Rejestry procesora AVR dostępne programowo Rejestry procesora AVR związane z pobraniem i wykonaniem rozkazu Schemat blokowy procesora ATMega 2560 ATMEL ATMEGA328P MEMORY

Bardziej szczegółowo

Instrukcja do oprogramowania ENAP DEC-1

Instrukcja do oprogramowania ENAP DEC-1 Instrukcja do oprogramowania ENAP DEC-1 Do urządzenia DEC-1 dołączone jest oprogramowanie umożliwiające konfigurację urządzenia, rejestrację zdarzeń oraz wizualizację pracy urządzenia oraz poszczególnych

Bardziej szczegółowo

imei Instytut Metrologii, Elektroniki i Informatyki

imei Instytut Metrologii, Elektroniki i Informatyki PODSTAWY TECHNIKI MIKROPROCESOROWEJ Laboratorium Elektrotechnika, studia stacjonarne pierwszego stopnia Temat: Wprowadzenie do programowania mikrokontrolerów rodziny MCS-51 imei Instytut Metrologii, Elektroniki

Bardziej szczegółowo

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1

ADVANCE ELECTRONIC. Instrukcja obsługi aplikacji. Modbus konfigurator. Modbus konfigurator. wersja 1.1 Instrukcja obsługi aplikacji 1 1./ instalacja aplikacji. Aplikacja służy do zarządzania, konfigurowania i testowania modułów firmy Advance Electronic wyposażonych w RS485 pracujących w trybie half-duplex.

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

PROGRAMOWALNE SYSTEMY MECHATRONIKI

PROGRAMOWALNE SYSTEMY MECHATRONIKI PROGRAMOWALNE SYSTEMY MECHATRONIKI Laboratorium nr 5 Podstawy programowania mikrokontrolerów. Przerwania. 1. System przerwań informacje ogólne Programy sterujące mikrokontrolerów rzadko mają postać listy

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

Instrukcja do ćwiczeń

Instrukcja do ćwiczeń Instrukcja do ćwiczeń SYSTEMY WBUDOWANE Lab. 3 Przetwornik ADC + potencjometr 1. Należy wejść na stronę Olimexu w celu znalezienia zestawu uruchomieniowego SAM7-EX256 (https://www.olimex.com/products/arm/atmel/sam7-ex256/).

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

Parametryzacja przetworników analogowocyfrowych

Parametryzacja przetworników analogowocyfrowych Parametryzacja przetworników analogowocyfrowych wersja: 05.2015 1. Cel ćwiczenia Celem ćwiczenia jest zaprezentowanie istoty działania przetworników analogowo-cyfrowych (ADC analog-to-digital converter),

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i Mikrokontrolery Zastosowanie przetwornika analogowo-cyfrowego do odczytywania napięcia z potencjometru

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

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 mikrokontrolerów. 8 listopada 2007

Programowanie mikrokontrolerów. 8 listopada 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 8 listopada 2007 Alfanumeryczny wyświetlacz LCD umożliwia wyświetlanie znaków ze zbioru będącego rozszerzeniem ASCII posiada zintegrowany sterownik

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział IEiT Katedra Elektroniki TECHNIKA MIKROPROCESOROWA II LAB 6 Moduł UART - współpraca z komputerem poprzez BlueTooth Mariusz Sokołowski

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

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

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika

Warsztaty AVR. Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR. Dariusz Wika Warsztaty AVR Instalacja i konfiguracja środowiska Eclipse dla mikrokontrolerów AVR Dariusz Wika 1.Krótki wstęp: Eclipse to rozbudowane środowisko programistyczne, które dzięki możliwości instalowania

Bardziej szczegółowo

Programator AVR MKII. Instrukcja obsługi. Copyright by Barion www.barion-st.com 2014-05-31

Programator AVR MKII. Instrukcja obsługi. Copyright by Barion www.barion-st.com 2014-05-31 2014 Programator AVR MKII Instrukcja obsługi www.barion-st.com 2014-05-31 2 SPIS TREŚCI 1. WSTĘP... 3 1.1 Co to jest AVR MKII?... 3 1.2 Parametry techniczne... 3 1.3 Obsługiwane procesory... 4 2. BUDOWA

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział IEiT Katedra Elektroniki TECHNIKA MIKROPROCESOROWA II LAB 6a Wykorzystanie USB do komunikacji z komputerem PC Mariusz Sokołowski http://www.fpga.agh.edu.pl/upt2

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

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych.

Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. Laboratorium 1 Temat: Przygotowanie środowiska programistycznego. Poznanie edytora. Kompilacja i uruchomienie prostych programów przykładowych. 1. Przygotowanie środowiska programistycznego. Zajęcia będą

Bardziej szczegółowo

Ćwiczenia z S7-1200. S7-1200 jako Profinet-IO Controller. FAQ Marzec 2012

Ćwiczenia z S7-1200. S7-1200 jako Profinet-IO Controller. FAQ Marzec 2012 Ćwiczenia z S7-1200 S7-1200 jako Profinet-IO Controller FAQ Marzec 2012 Spis treści 1 Opis zagadnienie poruszanego w ćwiczeniu. 3 1.1 Wykaz urządzeń..... 3 2 KONFIGURACJA S7-1200 PLC.. 4 2.1 Nowy projekt.

Bardziej szczegółowo

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx

Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx Projektowanie z użyciem softprocesora picoblaze w układach programowalnych firmy Xilinx CEL ĆWICZENIA Celem ćwiczenia jest utrwalenie wiedzy dotyczącej budowy, działania i własności programowalnych układów

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Obsługa portów wejścia/wyjścia mikrokontrolera laboratorium: 02 autor: mgr inż.

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

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

Przemysłowy odtwarzacz plików MP3

Przemysłowy odtwarzacz plików MP3 Przemysłowy odtwarzacz plików MP3 WWW.DIGINN.EU Spis treści 1. Opis odtwarzacza MP3... 3 2. Wyprowadzenia odtwarzacza... 4 2.1 Wymiary płytki... 6 4. Tryby pracy... 8 5. Podłączanie MP3 Playera... 9 6.

Bardziej szczegółowo

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1

Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32. Instrukcja Obsługi. SKN Chip Kacper Cyrocki Page 1 Płytka uruchomieniowa AVR oparta o układ ATMega16/ATMega32 Instrukcja Obsługi SKN Chip Kacper Cyrocki Page 1 Spis treści Wstęp... 3 Wyposażenie płytki... 4 Zasilanie... 5 Programator... 6 Diody LED...

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

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017

LABORATORIUM UKŁADÓW PROGRAMOWALNYCH. PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR ZIMOWY 2017 Politechnika Wrocławska, Wydział Elektroniki Mikrosystemów i Fotoniki Wydziałowy Zakład Metrologii Mikro- i Nanostruktur LABORATORIUM UKŁADÓW PROGRAMOWALNYCH PROCESORY OSADZONE kod kursu: ETD 7211 SEMESTR

Bardziej szczegółowo

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051

Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051 Tworzenie nowego projektu w asemblerze dla mikroprocesora z rodziny 8051 Katedra Automatyki, Wydział EAIiE Akademia Górniczo-Hutnicza w Krakowie Marcin Piątek Kraków 2008 1. Ważne uwagi i definicje Poniższy

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

SYSTEMY CZASU RZECZYWISTEGO (SCR)

SYSTEMY CZASU RZECZYWISTEGO (SCR) Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Inżynierii Systemów Sterowania SYSTEMY CZASU RZECZYWISTEGO (SCR) Podstawy programowanie systemów wbudowanych na bazie platformy sprzętowo-programowej

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

1.Wstęp. 2.Generowanie systemu w EDK

1.Wstęp. 2.Generowanie systemu w EDK 1.Wstęp Celem niniejszego ćwiczenia jest zapoznanie z możliwościami debuggowania kodu na platformie MicroBlaze oraz zapoznanie ze środowiskiem wspomagającym prace programisty Xilinx Platform SDK (Eclipse).

Bardziej szczegółowo

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. 13 4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy,

Bardziej szczegółowo

Opis procedur asemblera AVR

Opis procedur asemblera AVR Piotr Kalus PWSZ Racibórz 10.05.2008 r. Opis procedur asemblera AVR init_lcd Plik: lcd4pro.hvr Procedura inicjuje pracę alfanumerycznego wyświetlacza LCD za sterownikiem HD44780. Wyświetlacz działa w trybie

Bardziej szczegółowo

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Cel ćwiczenia: Głównym celem ćwiczenia jest nauczenie się obsługi klawiatury. Klawiatura jest jednym z urządzeń wejściowych i prawie zawsze występuje

Bardziej szczegółowo

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program

LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program LabVIEW PLATFORMA EDUKACYJNA Lekcja 5 LabVIEW i Arduino konfiguracja środowiska i pierwszy program Przygotował: Jakub Wawrzeńczak 1. Wprowadzenie Lekcja przedstawia wykorzystanie środowiska LabVIEW 2016

Bardziej szczegółowo

Instrukcja ręcznej konfiguracji połączenia z Internetem przez. modem ED77 w systemie Windows XP

Instrukcja ręcznej konfiguracji połączenia z Internetem przez. modem ED77 w systemie Windows XP Instrukcja ręcznej konfiguracji połączenia z Internetem przez UWAGA modem ED77 w systemie Windows XP wersja 1.0 Niniejsza instrukcja nie opisuje sposobu i przebiegu instalacji sterowników urządzenia. W

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów AVR z rodziny ATmega. Programowanie mikrokontrolerów AVR z rodziny ATmega. Materiały pomocnicze Jakub Malewicz jakub.malewicz@pwr.wroc.pl Wszelkie prawa zastrzeżone. Kopiowanie w całości lub w częściach bez zgody i wiedzy autora

Bardziej szczegółowo

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej

Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium komputerowych systemów pomiarowych Ćwiczenie 8 Wykorzystanie modułów FieldPoint w komputerowych systemach pomiarowych 1. Wprowadzenie

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

Ćwiczenia z S7-1200. Komunikacja S7-1200 z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP.

Ćwiczenia z S7-1200. Komunikacja S7-1200 z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP. Ćwiczenia z S7-1200 Komunikacja S7-1200 z miernikiem parametrów sieci PAC 3200 za pośrednictwem protokołu Modbus/TCP FAQ Marzec 2012 Spis treści 1 Opis zagadnienie poruszanego w ćwiczeniu. 3 1.1 Wykaz

Bardziej szczegółowo

Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia

Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi. Przebieg ćwiczenia Ćwiczenie VIIN Konfiguracja i programowanie PLC Siemens SIMATIC S7 i panelu tekstowego w układzie sterowania napędami elektrycznymi Przebieg ćwiczenia 1. Rozpoznać elementy stanowiska (rys.1,2,3) i podłączyć

Bardziej szczegółowo

MikloBit ul. Cyprysowa 7/5 43-600 Jaworzno. www.miklobit.com support@miklobit.com. JTAG + ISP dla AVR. rev. 1.1 2006.03.

MikloBit ul. Cyprysowa 7/5 43-600 Jaworzno. www.miklobit.com support@miklobit.com. JTAG + ISP dla AVR. rev. 1.1 2006.03. MikloBit ul. Cyprysowa 7/5 43-600 Jaworzno www.miklobit.com support@miklobit.com JTAG + ISP dla AVR rev. 1.1 2006.03.10 Spis treści 1.Wprowadzenie... 3 2.Interfejs JTAG... 4 2.1.Złącze interfejsu JTAG...

Bardziej szczegółowo

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Loader LX51 INSTRUKCJA OBSŁUGI. 2012 DK Wszystkie prawa zastrzeżone

Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51. Loader LX51 INSTRUKCJA OBSŁUGI. 2012 DK Wszystkie prawa zastrzeżone Dariusz Kozak ZESTAW URUCHOMIENIOWY MIKROKOMPUTERÓW JEDNOUKŁADOWYCH MCS-51 ZUX51 Loader LX51 INSTRUKCJA OBSŁUGI 2012 DK Wszystkie prawa zastrzeżone Kopiowanie, powielanie i rozpowszechnianie jest dozwolone

Bardziej szczegółowo

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

4 Transmisja szeregowa, obsługa wyświetlacza LCD. 1 4 Transmisja szeregowa, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy, - ramka transmisyjna, - przeznaczenie buforów obsługi

Bardziej szczegółowo

TWRS-21 TABLICOWY WYŚWIETLACZ CYFROWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, listopad 1999 r.

TWRS-21 TABLICOWY WYŚWIETLACZ CYFROWY DOKUMENTACJA TECHNICZNO-RUCHOWA. Wrocław, listopad 1999 r. TABLICOWY WYŚWIETLACZ CYFROWY DOKUMENTACJA TECHNICZNO-RUCHOWA Wrocław, listopad 1999 r. 50-305 WROCŁAW TEL./FAX (+71) 373-52-27 ul. S.JARACZA 57-57A TEL. 0-602-62-32-71 str.2 SPIS TREŚCI 1.OPIS TECHNICZNY...3

Bardziej szczegółowo

Laboratorium Procesorów Sygnałowych

Laboratorium Procesorów Sygnałowych Laboratorium Procesorów Sygnałowych Moduł STM32F407 Discovery GPIO, C/A, akcelerometr I. Informacje wstępne Celem ćwiczenia jest zapoznanie z: Budową i programowaniem modułu STM32 F4 Discovery Korzystaniem

Bardziej szczegółowo

Instrukcja programowania płytek edycji 2014

Instrukcja programowania płytek edycji 2014 Instrukcja programowania płytek edycji 2014 Spis treści 1. Opis płytki procesorowej (sumo_base_5)...1 1.1. Podstawowe elementy płytki...2 1.2. Pozostałe elementy płytki...3 2. Opis płytki sterującej napędami

Bardziej szczegółowo

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie 1. Uruchomienie programu TwinCAT 3: a) Kliknąć w start i wpisać wpisać frazę twincat. b) Kliknąć w ikonę jak poniżej: 2. Wybrać w menu

Bardziej szczegółowo

AVR Asembler: Podstawy posługiwania się AVR Studio 4.

AVR Asembler: Podstawy posługiwania się AVR Studio 4. AVR Asembler: Podstawy posługiwania się AVR Studio 4. Pierwszym krokiem nauki programowania będzie instalacja programu AVR Studio. Osobiście używam wersji 3.55... i 4.05. Niestety nowa wersja AVR Studio

Bardziej szczegółowo

Konfiguracja pakietu CrossStudio for MSP430 2.0.

Konfiguracja pakietu CrossStudio for MSP430 2.0. Konfiguracja pakietu CrossStudio for MSP430 2.0. 1. Przed rozpoczęciem pracy przeczytaj całego manuala. 2. Gratulujemy wyboru modułu MMmsp430x1xxx. W celu rozpoczęcia pracy należy pobrać 30-dniową wersję

Bardziej szczegółowo

Programowalne Układy Cyfrowe Laboratorium

Programowalne Układy Cyfrowe Laboratorium Zdjęcie opracowanej na potrzeby prowadzenia laboratorium płytki przedstawiono na Rys.1. i oznaczono na nim najważniejsze elementy: 1) Zasilacz i programator. 2) Układ logiki programowalnej firmy XILINX

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

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

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Systemy Czasu Rzeczywistego Programowanie wyświetlacza graficznego LCD laboratorium: 01 autor: mgr inż. Paweł Pławiak

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR z rodziny ATmega.

Programowanie mikrokontrolerów AVR z rodziny ATmega. Programowanie mikrokontrolerów AVR z rodziny ATmega. Materiały pomocnicze Jakub Malewicz jakub.malewicz@pwr.wroc.pl Wszelkie prawa zastrzeżone. Kopiowanie w całości lub w częściach bez zgody i wiedzy autora

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

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Obsługa portów wyjścia procesora AVR laboratorium: 06 autor: mgr inż. Katarzyna

Bardziej szczegółowo

Product Update 2013. Funkcjonalność ADR dla przemienników Częstotliwości PowerFlex 750 oraz 525 6

Product Update 2013. Funkcjonalność ADR dla przemienników Częstotliwości PowerFlex 750 oraz 525 6 Product Update 2013 Funkcjonalność ADR dla przemienników Częstotliwości PowerFlex 750 oraz 525 6 Str. 2 / 15 Funkcjonalność ADR dla przemienników PF 750 Temat: Celem niniejszego ćwiczenia, jest zapoznanie

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Laboratorium

Mikroprocesory i Mikrosterowniki 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

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Laboratorium OiOSE. Programowanie w środowisku MS Visual C++ 1 Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych Organizacja i Oprogramowanie Systemów Elektronicznych Michał Kowalewski

Bardziej szczegółowo

Następnie kliknąć prawym klawiszem myszy na Połączenie sieci bezprzewodowej i wybrać Wyłącz.

Następnie kliknąć prawym klawiszem myszy na Połączenie sieci bezprzewodowej i wybrać Wyłącz. Przygotowanie urządzenia: Krok 1 Włączyć i zresetować wzmacniacz sygnału TL-WA850RE do ustawień fabrycznych naciskając i przytrzymując przycisk RESET, który znajduje obok portu LAN tego urządzenia przez

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

INSTRUKCJA UŻYTKOWNIKA MPCC

INSTRUKCJA UŻYTKOWNIKA MPCC V1.0.0 (10.14.2015) 1 (7) INSTALACJA UWAGA: Produkt działa jako urządzenie nadrzędne Modbus. Dlatego w przypadku podłączania narzędzia do istniejącej sieci Modbus konieczne może okazać się odłączenie innego

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

TM-47.1-2 PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T

TM-47.1-2 PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T LANEX S.A. ul. Ceramiczna 8 20-150 Lublin tel. (081) 444 10 11 tel/fax. (081) 740 35 70 TM-47.1-2 PROGRAM TERMINALA RS232 DLA MULTIPLEKSERA 8XRS232 / ETHERNET 10BASE-T LANEX S.A., ul.ceramiczna 8, 20-150

Bardziej szczegółowo

1. Opis. 2. Wymagania sprzętowe:

1. Opis. 2. Wymagania sprzętowe: 1. Opis Aplikacja ARSOFT-WZ2 umożliwia konfigurację, wizualizację i rejestrację danych pomiarowych urządzeń produkcji APAR wyposażonych w interfejs komunikacyjny RS232/485 oraz protokół MODBUS-RTU. Aktualny

Bardziej szczegółowo

Licznik rewersyjny MD100 rev. 2.48

Licznik rewersyjny MD100 rev. 2.48 Licznik rewersyjny MD100 rev. 2.48 Instrukcja obsługi programu PPH WObit mgr inż. Witold Ober 61-474 Poznań, ul. Gruszkowa 4 tel.061/8350-620, -800 fax. 061/8350704 e-mail: wobit@wobit.com.pl Instrukcja

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

Użycie AVR Studio do kompilacji AVRUB

Użycie AVR Studio do kompilacji AVRUB Użycie AVR Studio do kompilacji AVRUB 1. Utwórz nowy folder, skopiuj wszystkie pliki z avrub do niego. 2. Otwórz AVR Studio, utwórz nowy projekt, dodaj plik bootldr.c do grupy "Source Files". 3. Otwórz

Bardziej szczegółowo

Bezpieczeństwo informacji oparte o kryptografię kwantową

Bezpieczeństwo informacji oparte o kryptografię kwantową WYŻSZA SZKOŁA BIZNESU W DĄBROWIE GÓRNICZEJ WYDZIAŁ ZARZĄDZANIA INFORMATYKI I NAUK SPOŁECZNYCH Instrukcja do laboratorium z przedmiotu: Bezpieczeństwo informacji oparte o kryptografię kwantową Instrukcja

Bardziej szczegółowo

Opis szybkiego uruchomienia programu APBSoft

Opis szybkiego uruchomienia programu APBSoft Opis szybkiego uruchomienia programu APBSoft www.telmatik.pl Program APBSoft należy instalować z otrzymanej płyty CD albo pobrać ze strony www.telmatik.pl. W drugim przypadku program dostarczany jest w

Bardziej szczegółowo

1. Tworzenie nowego projektu.

1. Tworzenie nowego projektu. Załącznik do Instrukcji 1. Tworzenie nowego projektu. Wybieramy opcję z menu głównego New->QNX C Project. Wprowadzamy nazwę przechodzimy do następnego kroku NEXT. Wybieramy platformę docelową oraz warianty

Bardziej szczegółowo

Program EDYTOR-AS-OUX

Program EDYTOR-AS-OUX Z.S.E. ASTER ul. Brzozowa 13 87-100 Toruń http:\\www.asterlm.mga.com.pl E-mail: asterlm@mga.com.pl m.lewndowski.aster@gmail.com Program EDYTOR-AS-OUX 1. Charakterystyka ogólna Program edytor-as-oux.exe

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikrokontrolery i Mikroprocesory Zapoznanie się ze środowiskiem IAR Embedded Workbench; kompilacja, debuggowanie,

Bardziej szczegółowo

Zaawansowane aplikacje internetowe - laboratorium

Zaawansowane aplikacje internetowe - laboratorium Zaawansowane aplikacje internetowe - laboratorium Web Services (część 3). Do wykonania ćwiczeń potrzebne jest zintegrowane środowisko programistyczne Microsoft Visual Studio 2005. Ponadto wymagany jest

Bardziej szczegółowo

PLUTO Sterownik bezpieczeństwa Skrócona Instrukcja obsługi oprogramowania. PlutoProgrammingManualPL_v7A.pdf 1

PLUTO Sterownik bezpieczeństwa Skrócona Instrukcja obsługi oprogramowania. PlutoProgrammingManualPL_v7A.pdf 1 PLUTO Sterownik bezpieczeństwa Skrócona Instrukcja obsługi oprogramowania PlutoProgrammingManualPL_v7A.pdf 1 www.jokabsafety.com Spis treści 1. Instalacja oprogramowania 3 2. Podłączenie do komputera..5

Bardziej szczegółowo

Temat nr 5. System czasu rzeczywistego bazujący na stałopozycyjnym procesorze sygnałowym. LABORATORIUM Procesory i komputery przemysłowe

Temat nr 5. System czasu rzeczywistego bazujący na stałopozycyjnym procesorze sygnałowym. LABORATORIUM Procesory i komputery przemysłowe LABORATORIUM Procesory i komputery przemysłowe Katedra Systemów Elektroniki Morskiej Wydział Elektroniki Telekomunikacji i Informatyki Politechnika Gdańska Temat nr 5 System czasu rzeczywistego bazujący

Bardziej szczegółowo

Notatka Aplikacyjna NA 03006PL Maj 2016

Notatka Aplikacyjna NA 03006PL Maj 2016 Notatka Aplikacyjna NA 03006PL Spis treści 1. Wstęp... 2 1.1. Wymagania programowe... 2 2. Tworzenie projektu i dodawanie programu w... 3 3. Organizacja okien dla języka IL... 5 4. Składnia języka IL...

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

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut.

Gromadzenie danych. Przybliżony czas ćwiczenia. Wstęp. Przegląd ćwiczenia. Poniższe ćwiczenie ukończysz w czasie 15 minut. Gromadzenie danych Przybliżony czas ćwiczenia Poniższe ćwiczenie ukończysz w czasie 15 minut. Wstęp NI-DAQmx to interfejs służący do komunikacji z urządzeniami wspomagającymi gromadzenie danych. Narzędzie

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

CW-HC08 Programowanie mikrokontrolera MC9S08QD4 [2]

CW-HC08 Programowanie mikrokontrolera MC9S08QD4 [2] CW-HC08 Programowanie mikrokontrolera MC9S08QD4 [2] Jan Kędzierski Marek Wnuk Wrocław 2012 Dokument stanowi instrukcję do ćwiczenia w ramach kursu Sterowniki robotów. Przebieg ćwiczenia Celem ćwiczenia

Bardziej szczegółowo

Ćwiczenie 7 Matryca RGB

Ćwiczenie 7 Matryca RGB IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -1- Ćwiczenie 7 Matryca RGB IMiO PW, LPTM, Ćwiczenie 7, Matryca RGB -2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z inną oprócz RS - 232 formą szeregowej

Bardziej szczegółowo

Katedra Inżynierii Systemów Sterowania WEiA PG. Przemysłowe Sieci Informatyczne Laboratorium

Katedra Inżynierii Systemów Sterowania WEiA PG. Przemysłowe Sieci Informatyczne Laboratorium Katedra Inżynierii Systemów Sterowania WEiA PG Przemysłowe Sieci Informatyczne Laboratorium Instrukcja do ćwiczenia: Sieć Profibus DP (Decentralized Perhipals) Opracowali: Dr inż. Jarosław Tarnawski Dr

Bardziej szczegółowo

Programowanie w środowisku graficznym GUI

Programowanie w środowisku graficznym GUI Programowanie w środowisku graficznym GUI 1. Wprowadzenie Język C# jest stworzony do szybkiego tworzenia aplikacji przy pomocy zintegrowanego środowiska programistycznego IDE (ang. Itegrated Development

Bardziej szczegółowo

Programowanie sterowników

Programowanie sterowników Programowanie sterowników Wydział Elektrotechniki, Informatyki i Telekomunikacji 1 Strona 1 Ćwiczenie 1: Usuwanie projektu 1. Uruchom Windows Explorer. 2. Usuń projekt z lokalizacji na dysku: D:\Automation

Bardziej szczegółowo