W O J S K O W A A K A D E M I A T E C H N I C Z N A im. Jarosława Dąbrowskiego

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

Download "W O J S K O W A A K A D E M I A T E C H N I C Z N A im. Jarosława Dąbrowskiego"

Transkrypt

1 W O J S K O W A A K A D E M I A T E C H N I C Z N A im. Jarosława Dąbrowskiego ZAKŁAD AWIONIKI I UZBROJENIA LOTNICZEGO Przedmiot: MIKROELEKTRONIKA SAMOCHODOWA Ćwiczenie laboratoryjne: Badanie układów wejścia-wyjścia systemu mikroprocesorowego wprowadzanie danych przy użyciu klawiatury WARSZAWA 2008

2 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie studentów z budową, zasadą działania i obsługą programową portów wejścia-wyjścia, jako podstawowych układów peryferyjnych mikrokontrolerów. 2. Opis zestawu uruchomieniowego ZL2AVR W skład zestawu uruchomieniowego ZL2AVR czyli systemu mikroprocesorowego z mikrokontrolerem ATmega8 wchodzą następujące elementy składowe: Lp. produkt zdjęcie 1 Zestaw uruchomieniowy z mikrokontrolerem AVR ATmega8 (ZL2AVR) 2 Programator ISP dla mikrokontrolerów AVR (ZL2PRG) 3 Alfanumeryczny wyświetlacz LCD 2x16 4 Zasilacz niestabilizowany V 500mA Charakterystyka głównych elementów zestawu: 1. Zestaw uruchomieniowy ZL2AVR. Pozwala na opracowywanie różnorodnych projektów, które można przetestować zanim zostanie dla nich zaprojektowana płytka drukowana. Możliwe jest również projektowanie specjalizowanych sterowników mikroprocesorowych zbudowanych z wykorzystaniem zestawu ZL2AVR. 2. Programator ZL2PRG dla mikrokontrolerów AVR. Programator jest wyposażony w interfejs umożliwiający programowanie pamięci już po zamontowaniu w systemie (ISP). Zbudowany jest w oparciu o dwustronną płytkę drukowaną, a jego atutem jest możliwość współpracy z wieloma bezpłatnymi programami sterującymi jego pracą, m.in. programator obsługiwany jest przez oprogramowanie Bascom AVR. 3. Alfanumeryczny wyświetlacz LCD. Jego zastosowanie umożliwia prezentację danych zobrazowujących wyniki działania opracowywanego oprogramowania.

3 4. Zasilacz niestabilizowany 3..12V 500mA. Zasilacz umożliwia ustawienie napięcia wyjściowego za pomocą obrotowego przełącznika. Schemat ideowy układu uruchomieniowego ZL2AVR przedstawia rys. 1. Rys.1. Schemat ideowy układu uruchomieniowego ZL2AVR Ze schematu wynika, że w układzie uruchomieniowym są dostępne elementy, z których można utworzyć wiele różnych układów mikroprocesorowych, bez konieczności lutowania. Charakterystyka elementów znajdujących się na układzie zamieszczona jest poniżej: 1. Mikrokontroler ATmega8 (U 1 ) może być taktowany wewnętrznym sygnałem zegarowym lub z zastosowaniem zewnętrznego rezonatora kwarcowego X1, dołączonego przez zworki JP2, JP3. Wszystkie wyprowadzenia mikrokontrolera są dostępne na podwójnych końcówkach. Elementy L1, C3, C4, tworzą filtr napięcia zasilającego wewnętrzny przetwornik analogowo cyfrowy A/C. 2. S5, R24, C5, JP1 zapewniają zerowanie mikrokontrolera. Zerowanie można przeprowadzić przyciskiem S5. Zwora JP1 umożliwia dołączenie zewnętrznego obwodu zerującego do mikrokontrolera. W mikrokontrolerze linia zerowania RST może być wykorzystana jako zwyczajna linia I/0 portu C. 3. Złącze Z7 jest to złącze programatora ISP,wraz ze złączem Z2 służy do podłączania programatora. 4. Wyświetlacz LCD o organizacji 2x16 znaków umożliwia prezentacje danych zobrazowujących wyniki działania opracowywanego oprogramowania. 5. Cztery wyświetlacze siedmiosegmentowe LED ze wspólną anodą przeznaczone są do prezentowania danych liczbowych.

4 6. Interfejs szeregowy RS232 zrealizowany z użyciem konwertera poziomów MAX232 umożliwia komunikację z komputerem PC oraz innymi układami mikroprocesorowymi. 7. Konwerter I 2 C na 8-bitowy port I/0 zrealizowany na układzie PCF8574 może pracować zarówno z liniami wejściowymi, jak i wyjściowymi, również w trybie mieszanym. Adresy konwertera są ustalone na stałe. Umożliwia wykonywanie eksperymentów z wykorzystaniem interfejsu I 2 C oraz zwiększa liczbę portów o dodatkowy port 8-bitowy. 8. Złącza Z5, Z6 (I 2 C) umożliwiają dołączenie do układu zewnętrznych urządzeń sterowanych magistralą I 2 C. Rezystory R27 i R28 są konieczne do poprawnej pracy magistrali. 9. Port wyjściowy dużej mocy zbudowany jest z wykorzystaniem układu ULN2803A. Umożliwia sterowanie urządzeniami pobierającymi znaczny prąd. 10. Diody sygnalizacyjne LED (D1...D8) umożliwiają sygnalizację zdarzeń stwierdzonych przez zaprojektowany układ mikroprocesorowy. Rezystory R1 R8 ograniczają prądy płynące przez diody LED. 11. Złącze Z10 (1-Wire) umożliwia dołączanie elementów sterowanych za pomocą interfejsu 1-Wire. 12. Odbiornik transmisji danych w podczerwieni U7 umożliwia sterowanie układem mikroprocesorowym za pomocą pilota. 13. Złącze Z11 (Servo) służy do dołączania mechanizmu modelarskiego. 14. Przyciski ogólnego przeznaczenia S1...S4 w zależności od wartości napięcia podawanego na wejścia portów mikrokontrolera będą po ich przyciśnięciu podawać poziom niski, bądź wysoki. 15. Złącze Z1 umożliwia dołączenie do płytki klawiatury PC ze złączem PS Złącza Z4, Z8, Z9 (AUX) na złącza te zostały wyprowadzone napięcia zasilające płytkę oraz linie zasilające A1-A6, które umożliwiają dołączenie do płytki elementów zewnętrznych. 17. Potencjometr P2 umożliwia podanie na wejście przetwornika analogowo cyfrowego A/C zawartego w mikrokontrolerze napięcia z zakresu 0 do 5 V. 18. Podstawka U2 można w nią włożyć dowolny układ 14 pinowy. 19. Podstawka U3 można w nią włożyć dowolny układ 16 pinowy. Układy zawarte na płytce zasilane są napięciem +5 V, które jest stabilizowane za pomocą stabilizatora U6. Dioda D9 sygnalizuje włączenie zasilania płytki uruchomieniowej. Wszystkie elementu układu uruchomieniowego mikrokontrolera należy ze sobą łączyć za pomocą przewodów. Przewodów nie należy lutować, ponieważ są wyposażone w odpowiednie wtyki. 3. Obsługa klawiatury Ważnymi elementami towarzyszącymi mikrokontrolerom, są oprócz wyświetlaczy, przyciski oraz klawiatury. Za pomocą tych elementów jest możliwe wpisanie do mikrokontrolera odpowiednich wartości lub przełączanie jego trybów pracy. Za ich pomocą operator może wprowadzać dane lub modyfikować wartości konfigurowalnych parametrów programu. Przyciski do mikrokontrolera można dołączyć bezpośrednio do jego wyprowadzeń lub dołączyć je matrycowo. Klawiatury w układzie matrycowym trzeba odczytywać poprzez sekwencyjne ustawianie, np. niskiego poziomu na liniach wierszy i odczytywanie kolejno linii kolumn. Do obsługi klawiatury w układzie matrycowym potrzebna jest mniejsza liczba linii mikrokontrolera. Jeżeli jest potrzebna bardzo rozbudowana klawiatura, to można

5 dołączyć do mikrokontrolera komputerową klawiaturę, która ma ponad 101 klawiszy. Język Bascom oferuje do obsługi takiej klawiatury specjalne instrukcje, wskutek czego obsługa klawiatury jest bardzo łatwa. W tym rozdziale przedstawiono dwa przykłady obsługi przycisków: dołączonych bezpośrednio do wyprowadzeń (linii portów) mikrokontrolera, a także dołączonych w układzie klawiatury matrycowej 2x2, przeglądanej w podprogramie obsługi przerwania od przepełnienia licznika Timer Wykorzystanie do obsługi przycisków instrukcji Debounce Ponieważ styki klawiatury są elementami mechanicznymi, ich obsługa może się wydać trudna i sprawiać trochę problemów. Problemy te wynikają z faktu, że po naciśnięciu przycisku jego styki przez pewien czas drgają powodując powstanie serii impulsów zamiast czystego zwarcia lub rozwarcia. Drgania styków zazwyczaj nie trwają dłużej niż 25 ms. Jeżeli mikrokontroler będzie bardzo często sprawdzał stan linii, do której dołączono przycisk, to zamiast pojedynczego naciśnięcia może wykryć serię naciśnięć, co może być przyczyną niepoprawnej pracy programu. Najczęściej stosowany i najprostszy sposób rozwiązania tego problemu polega na odczytywaniu przycisku (klawiatury) z opóźnieniem. Po wykryciu naciśnięcia przycisku odmierzane jest zazwyczaj opóźnienie około 25 ms, po czym ponownie jest sprawdzany stan przycisku, który można już uznać za stabilny, jeżeli jest dalej naciśnięty. W języku Bascom jest instrukcja Debounce umożliwiająca wykrycie naciśnięcia przycisku (przycisków) na wybranych liniach portów mikrokontrolera. Zapewnia ona odczytanie stanu przycisku (choć nie tylko jednego) z zastosowaniem programowej eliminacji drgań styków. Składnia tej instrukcji jest następująca: Debounce Pinx.y, stan, etykieta [,Sub] gdzie: Pinx.y linia portu, która będzie sprawdzona, np. Pinb.5; stan 0, gdy sygnałem aktywnym naciśnięcia ma być poziom niski, a 1 gdy poziom wysoki; etykieta etykieta określająca miejsce skoku po naciśnięciu przycisku; Sub po naciśnięciu nastąpi skok do podprogramu o podanej etykiecie (skok do podprogramu jak z zastosowaniem instrukcji Gosub) Parametr Sub umożliwia skok do etykiety podprogramu, z którego będzie możliwy powrót instrukcją Return. Instrukcja Debounce po wykryciu zmiany stanu linii portu do stanu określonego parametrem stan, po 25 ms sprawdza ponownie stan tej linii (eliminuje to drganie styków). Jeśli stan się nie zmienił, to następuje skok do podanej etykiety. Jeżeli będą różne stany (parametr stan będzie różny od stanu linii portu), to będą wykonane kolejne instrukcje programu zawarte po tej instrukcji. Instrukcja ta nie wstrzymuje bowiem działania programu. Przy przytrzymaniu przycisku instrukcja Debounce zostanie wykonana tylko jeden raz. Jej ponowne wykonanie będzie możliwe po puszczeniu oraz ponownym naciśnięciu przycisku. Każda instrukcja Debounce korzysta z 1 bitu pamięci RAM, do zapamiętania stanu linii portu. Dla każdej linii portu jest przydzielany osobny bit. Jeżeli w programie jest potrzebne oczekiwanie na naciśnięcie przycisku, to można skorzystać z instrukcji Bitwait, która wstrzymuje działanie programu dopóki na określonej linii portu pojawi się oczekiwany stan (np. przy naciśnięciu przycisku).

6 Dla instrukcji Debounce jest możliwa zmiana czasu opóźnienia (domyślnie 25 ms) na inny. Służy do tego instrukcja konfigurująca Config Debounce = czas, gdzie czas jest wartością w milisekundach. Aby sprawdzić działanie oraz wykorzystanie instrukcji Debounce, do mikrokontrolera można dołączyć dwa przyciski oraz dwie diody LED zgodnie ze schematem na rys.1 i przygotować program z instrukcją. Rys.1. Schemat dołączenia do mikrokontrolera przycisków oraz diod LED. Przycisku mogą być dołączone do linii PB1 oraz PB2, a diody do PB4 oraz PB5 mikrokontrolera. Przyciśnięcie przycisku będzie powodować podanie na linię wejściową niskiego poziomu napięcia. Tak więc instrukcja Debounce powinna reagować na poziom niski na danej linii. Napisany przykładowy program dla mikrokontrolera będzie powodował, że po naciśnięciu przycisku S1 będzie zmieniał się na przeciwny stan diody D1, a naciśnięcie przycisku S2 będzie powodowało zmianę stanu diody D2 na przeciwny. Poniżej przedstawiono przykład odczytu dwóch przycisków za pomocą instrukcji Debounce: Program obsługi przycisków S1, S2 za pomocą instrukcji Debounce $REGFILE = m8def.dat informuje kompilator o pliku dyrektyw mikrokontrolera $CRYSTAL = informuje kompilator o częstotliwości oscylatora taktującego mikrokontroler Config Pinb.1 = Intput linia PB1 jako wejściowa Config Pinb.2 = Intput linia PB2 jako wejściowa Config Pinb.4 = Output linia PB4 jako wyjściowa Config Pinb.5 = Output linia PB5 jako wyjściowa Led1 Alias Portb.5 przypisanie nazwy Led1 portowi Portb.5 Led2 Alias Portb.4 przypisanie nazwy Led2 portowi Portb.4 S1 Alias Pinb.2 przypisanie nazwy S1 portowi Portb.2 S2 Alias Pinb.1 przypisanie nazwy S2 portowi Portb.1 Set Portb.1 Set Portb.2 dołączenie do linii PB1 rezystora podciągającego dołączenie do linii PB2 rezystora podciągającego Do nieskończona pętla Do Loop Debounce S1, 0, Pr1, Sub jeśli naciśnięty przycisk S1

7 to skok do podprogramu Pr1 Debounce S2, 0, Pr2, Sub jeśli naciśnięty przycisk S1 to skok do podprogramu Pr1 Loop koniec pętli programu End koniec programu Pr1: Toggle Led1 Return Pr2: Toggle Led2 Return podprogram Pr1 zmiana na przeciwny stanu wyjścia sterującego diodą D1 powrót z podprogramu podprogram Pr2 zmiana na przeciwny stanu wyjścia sterującego diodą D2 powrót z podprogramu W pierwszej kolejności w programie linie PB1 oraz PB2 są konfigurowane jako wejściowe, a linie PB4 oraz PB5 jako wyjściowe. Następnie do wykorzystywanych linii portów przypisano aliasy, które oznaczają elementy, jakie do tych linii dołączono. Instrukcje Set Portb.1 oraz Set Portb.2 dołączają do linii PB1 oraz PB2 rezystory podciągające. Należy takie rezystory dołączyć, gdyż przy rozwartych przyciskach byłaby na tych liniach stan nieokreślony, a rezystory podciągające wymmuszają na nich poziomy wysokie. Dalej, w nieskończonej pętli Do Loop umieszczono dwie instrukcje Debounce odczytujące odpowiednio stan przycisku S1 oraz S2. Po naciśnięciu przycisku linii wejściowej będzie poziom niski, dlatego parametr stan instrukcji Debounce ma wartość 0. Po wykryciu przez te instrukcje poziomu niskiego nastąpią skoki do podprogramów oznaczonych etykietą Pr1 dla S1, oraz Pr2 dla S2, gdyż w instrukcjach Debounce zastosowano parametr Sub. Po naciśnięciu przycisku S1wykonane zostaną instrukcje w podprogramie Pr1, czyli zostanie zmieniony na przeciwny stan linii PB5 (Led1). Po naciśnięciu przycisku S2 wywołany zostanie podprogram Pr2 i zmieniony zostanie na przeciwny stan linii PB4 (Led2). Przytrzymanie wciśniętego przycisku nie powoduje żadnych zmian. Dopiero po jego puszczeniu i ponownym naciśnięciu wykonane zostaną od początku odpowiednie podprogramy. Instrukcja Debounce jest nieodpowiednia, gdy chcemy aby wartość określanej zmiennej zwiększyła się przy dłuższym przyciśnięciu przycisku, a nie po każdym jego naciśnięciu. Można jednak przygotować obsługującą przyciski przykład poprzez zastosowanie instrukcji warunkowej If Then, która zapewni pełną kontrolę nad działaniem przycisku i funkcjami, jakie mają być nim wybrane Zastosowanie instrukcji warunkowej If Then do odczytywania stanów przycisków Do odczytywania stanu przycisku można zastosować własną procedurę z instrukcją warunkową If Then. W tym przykładzie przedstawiono sposób obsługi przycisków z wykorzystaniem tej instrukcji oraz instrukcji Bitwait. Aby prawidłowo wykonać czynności po wciśnięciu przycisku należy: wykryć naciśnięcie przycisku; odczekać 25 ms w celu eliminacji drgań styków; ponownie sprawdzić, czy przycisk jest nadal wciśnięty; jeżeli wciśnięty, to wykonać związane z tym funkcje;

8 czekać na puszczenie przycisku. W przedstawionym poniżej przykładzie programu, w odpowiedzi na naciśnięcie przycisków S1 i S2 będą zmieniane stany diod D1 i D2 dołączonych do mikrokontrolera zgodnie z rys.1. Naciśnięcie przycisku zmienia na przeciwny stan przypisanej mu diody LED. Program umożliwia także, przy włączaniu mikrokontrolera, wywołanie innej funkcji, w której jest realizowane migotanie diod LED. Aby wywołać tę funkcję należy przed włączeniem zasilania nacisnąć przyciski S2 i przytrzymać je: Program obsługi przycisków S1, S2 za pomocą instrukcji warunkowej In Then $REGFILE = m8def.dat informuje kompilator o pliku dyrektyw mikrokontrolera $CRYSTAL = informuje kompilator o częstotliwości oscylatora taktującego mikrokontroler Config Pinb.1 = Intput linia PB1 jako wejściowa Config Pinb.2 = Intput linia PB2 jako wejściowa Config Pinb.4 = Output linia PB4 jako wyjściowa Config Pinb.5 = Output linia PB5 jako wyjściowa Led1 Alias Portb.5 przypisanie nazwy Led1 portowi Portb.5 Led2 Alias Portb.4 przypisanie nazwy Led2 portowi Portb.4 S1 Alias Pinb.2 przypisanie nazwy S1 portowi Portb.2 S2 Alias Pinb.1 przypisanie nazwy S2 portowi Portb.1 Set Portb.1 Set Portb.2 dołączenie do linii PB1 rezystora podciągającego dołączenie do linii PB2 rezystora podciągającego początek programu If S1 = 0 And S2 = 0 Then Jeśli naciśnięte jednocześnie Przyciski S1 i S2 to Waitms 25 opóźnienie 25ms dla eliminacji drgań If S1 = 0 And S2 = 0 Then ponowne sprawdzenie stanu przycisków S1 oraz S2 i jeśli są dalej naciśnięte to: Do wejście do nieskończonej pętli Toggle Led2 zmiana na przeciwny stanu linii PB4 Toggle Led1 zmiana na przeciwny stanu linii PB5 Waitms 500 opóźnienie 500ms Loop Do If S1 = 0 Then Jeśli naciśnięte jednocześnie Przyciski S1 to Waitms 25 opóźnienie 25ms dla eliminacji drgań If S1 = 0 Then ponowne sprawdzenie stanu przycisku S1 jest dalej naciśnięty, jeśli tak to Toggle Led1 zmiana na przeciwny stanu linii PB5 Bitwait S1, Set oczekiwanie na puszczenie przycisku S1

9 koniec warunków Return powrót z podprogramu If S2 = 0 Then Jeśli przyciśnięty przyciski S2 to Waitms 25 opóźnienie 25ms dla eliminacji drgań If S2 = 0 Then ponowne sprawdzenie czy przycisk S2 dalej jest wciśnięty, jeśli tak to: Toggle Led2 zmiana na przeciwny stanu linii PB4 Bitwait S2, Set oczekiwanie na puszczenie przycisku S2 Loop End Na początku programu, za pomocą instrukcji If Then, jest sprawdzany stan przycisków S1 i S2. Jeżeli oba są naciśnięte, to wykonane zostaną instrukcje zależne od spełnienia tego warunku. Po opóźnieniu 25 ms ponownie sprawdza się, czy S1 oraz S2 są jednocześnie naciśnięte. Jeżeli tak, to program wchodzi do nieskończonej pętli Do Loop, w której co 500 ms będzie zmieniany na przeciwny stan linii portu, do których zostały dołączone diody D1 i D2. Dołączone do nich diody będą zapalały się i gasły. Jeżeli przy włączaniu zasilania nie zostały naciśnięte jednocześnie przyciski S1 i S2, to opisane wyżej instrukcje zostaną pominięte i będą wykonywane instrukcje w drugiej nieskończonej pętli Do Loop. W tej pętli sprawdzany jest stan przycisku S1. Jeżeli naciśnięcie przycisku S1 zostanie poprawnie zinterpretowane, to zmieniony zostanie stan linii PB5 na przeciwny. Dalej za pomocą instrukcji oczekującej Bitwait zrealizowane jest oczekiwanie na naciśnięcie przycisku S1, czyli oczekiwanie na pojawienie się na linii z dołączonym z poziomu wysokiego (puszczony przycisk). Instrukcja Bitwait umożliwia oczekiwanie na ustawienie lub wyzerowanie określonego bitu. Składnia tej instrukcji jest następująca: Bitwait bit, Set Reset gdzie: bit nazwa zmiennej bitowej lub bitu w porcie mikrokontrolera. Instrukcja powoduje wstrzymanie działania programu, dopóki określony bit nie zostanie ustawiony w stan 1 (parametr Set) lub w stan 0 (parametr Reset). Wróćmy do programu. Po stwierdzeniu puszczenia przycisku instrukcja Bitwait zakończy swe działanie. Kolejne instrukcje w pętli Do Loop odpowiedzialne są za obsługę przycisku S2, po jego naciśnięciu stan linii PB4 jest zmieniany na przeciwny. Wykrywanie naciśnięcia wielu przycisków lub dłuższego ich przytrzymania można wykorzystać do wywołania w programie procedur konfigurujących dany układ. W omawianym i poprzednim przykładzie należy zauważyć, że stan linii jest odczytywany z rejestru PINx, a nie z rejestru PORTx, gdzie x to symbol danego przycisku. Jeżeli naciśnięcie przycisków będzie powodować podanie na wejście poziomu wysokiego, to należy wyłączyć rezystory podciągające i dołączyć zewnętrzne rezystory ściągające do masy, aby w stanie spoczynku (gdy nie jest naciśnięty przycisk linii wejściowej panował poziom niski, wymuszony przez rezystor ściągający.

10 3.3. Obsługa klawiatury matrycowej 2 x 2 W sytuacji, gdy mamy niewiele wolnych linii mikrokontrolera, a jest potrzeba użyć wielu przycisków, można zastosować połączenie przycisków w układzie matrycowym. W połączeniu matrycowym, przyciski są dołączone do mikrokontrolera podobnie jak diody matrycowego wyświetlacza LED. Jeżeli zastąpimy w takim wyświetlaczu diody przyciskami, to uzyskamy klawiaturę matrycową. Jeżeli musimy zastosować 9 przycisków, można je połączyć w matrycę o 3 kolumnach i 3 wierszach. Do jej obsługi jest potrzebnych 6 linii mikrokontrolera, a nie 9, jak przy dołączeniu każdego przycisku do jednej linii portu. Obsługa takiej klawiatury przebiega podobnie jak wyświetlacza matrycowego LED, ale kolumnami sterują linie wyjściowe, a wiersze są odczytywane przez linie wejściowe mikrokontrolera. Jeżeli naciśnięcie przycisku ma powodować podanie na wejście poziomu niskiego, to obsługa klawiatury jest następująca. Na pierwszą kolumnę w danej chwili należy podać poziom niski, to naciśnięto przycisk. Który przycisk naciśnięto można zidentyfikować po numerze wiersza, w którym odczytano poziom niski. W kolejnych krokach jest sprawdzany stan przycisków kolumny 2, a następnie 3, znowu pierwszej, itd. (dla klawiatury matrycowej 3x3). Tak jak w przypadku multipleksowanych wyświetlaczy, multipleksowanie klawiatur matrycowych można zrealizować na wiele sposobów. Sposób zaprezentowany w tym przykładzie jest tylko jednym z możliwych. Tak jak przy multipleksowaniu wyświetlaczy, odczytywanie klawiatury dobrze jest umieścić w podprogramie obsługi przerwania, aby było realizowane poza programem głównym. W tym przykładzie zilustrowano odczytywanie stanu przycisków połączonych w matrycę 2x2, czyli będą obsługiwane 4 przyciski. Oczywiście zastosowanie połączenia matrycowego przycisków ma sens, jeżeli przycisków jest więcej niż 2. Przy 4 przyciskach są potrzebne 4 linie, czyli tyle samo ile jest potrzebnych przy bezpośrednim dołączeniu przycisków do mikrokontrolera. Rys.2. Schemat dołączenia do linii portu mikrokontrolera klawiatury matrycowej 2x2.

11 Przykładowy program obsługuje klawiaturę w przerwaniu zgłaszanym od Timer a. W przypadku klawiatury nie jest potrzebne zgłaszanie przerwania tak często, jak w przypadku wyświetlaczy. Wystarczy, że przerwanie obsługujące klawiaturę matrycową będzie zgłaszane rzadziej niż co 20 ms. W przykładzie przerwanie zgłaszane jest co 25 ms. Procedurę obsługi klawiatury 2x2 napisano tak, aby stan przycisków zapisany w zmiennej nie był zakłócany. Ponieważ styki przycisków drgają, aby pominąć to zjawisko, gdy zostanie wykryty naciśnięty przycisk, stan jest zapamiętywany w dodatkowej zmiennej. Jeżeli po ponownym przerwaniu, czyli za około 25 ms przycisk dalej ma taki sam stan (równy zapisanemu w dodatkowej zmiennej), to oznacza, że przycisk naciśnięto, a nie jest to zakłócenie. Dopiero wtedy do zmiennej określającej stan przycisku jest wpisywany jego kod. Taki sposób działania podprogramu obsługi przerwania pozwala na pominięcie drgań styków przycisków. Przykład dołączenia klawiatury matrycowej 2x2 do mikrokontrolera przedstawiono na rys.2. Zgodnie z tym schematem, do linii PB0 oraz PB1 (skonfigurowanych jako wejściowe) dołączono wiersze matrycy klawiatury, natomiast kolumny dołączono do PB2 i PB3, skonfigurowanych jako wyjściowe. Przy poziomie 0 na linii PB2 będzie możliwy odczyt przycisków kolumny 1, a przy poziomie 0 na PB3 kolumny 2. Do mikrokontrolera dołączono także wyświetlacz alfanumeryczny LCD, na którym będzie wyświetlany kod naciśniętego przycisku. Program obsługujący klawiaturę 2x2 przedstawia się następująco: Program obsługi klawiatury matrycowej 2x2 w przerwaniu zgłaszanym od przepełnienia Timer a 0 8 MHz/1024/200= =około 39 Hz. $REGFILE = m8def.dat informuje kompilator o pliku dyrektyw mikrokontrolera $CRYSTAL = informuje kompilator o częstotliwości oscylatora taktującego mikrokontroler Config Pinb.0 = Intput linia PB0 jako wejściowa Config Pinb.1 = Intput linia PB1 jako wejściowa Config Pinb.2 = Output linia PB2 jako wyjściowa Config Pinb.3 = Output linia PB3 jako wyjściowa Config Lcd = 16 * 2 konfigurowanie typu wyświetlacza LCD Config Lcdpin = Pin, Db4 = Portc.3,Db5 = Portc.2 Db6 = Portc.1, Db7 = Portc.0, E = Portc.4, Rs = Portc.5 konfigurowanie linii mikrokontrolera, do których dołączono LCD On Timer0 Mult_kl Dim Temp1 As Byte Dim Temp2 As Byte Dim Przycisk As Byte Dim I As Byte W1 Alias Pinb.0 W2 Alias Pinb.1 konfigurowanie przerwania od przepełnienia Timer0, skok do podprogramu Mult_kl zmienna pomocnicza Temp1 zmienna pomocnicza Temp2 zmienna, do której będzie wpisywany kod naciśniętego przycisku zmienna licznikowa przypisanie nazwie Pinb.0 nazwy W1 przypisanie nazwie Pinb.1 nazwy W2

12 Kol1 Alias Portb.2 Kol2 Alias Portb.3 Enable Interrupts Enable Timer0 Load Timer0, 200 Set Portb.0 Set Portb.1 Set Kol1 Set Kol2 Do Cls Lcd Przycisk Waitms 100 Loop End przypisanie nazwie Portb.2 nazwy Kol1 przypisanie nazwie Portb.3 nazwy Kol2 odblokowanie globalnego systemu przerwań odblokowanie przerwania od przepełnienia Timer0 wpisanie do licznika wartości początkowej 56, bo =56 dołączenie do linii PB0 rezystora podciągającego dołączenie do linii PB1 rezystora podciągającego ustawienie linii Kol1 ustawienie linii Kol2 wejście do nieskończonej pętli czyszczenie LCD wyświetlenie na LCD stanu zmiennej Przycisk opóźnienie 100ms koniec programu Mult_kl: podprogram przerwania, w którym jest obsługiwana klawiatura Load Timer0, 200 wpisanie do licznika wartości początkowej 56 For I = 1 To 2 pętla wykonywana 2 razy If I = 1 Then jeśłi I = 1, to Reset Kol1 zerowanie linii Kol1 Else w przeciwnym razie Set Kol1 ustawienie linii Kol1 Reset Kol2 i zerowanie linii Kol2 If W1 = 0 Or W2 = 0 Then jeżeli przy I = 1 lub I =2 wejścia W1 lub W2 mają stany niskie naciśnięty przycisk to Temp1 = Pinb And &B zapisanie do zmiennej Temp1 wartości dwóch najmniej znaczących bitów rejestru PINB (linie W1 i W2) Exit For opuszczenie pętli For Next Else Temp1 = 0 wyzerowanie zmiennej Temp1 Next I zwiększenie o 1 wartości I If Temp2 = Temp1 Then jeśli wartości w Temp2 oraz Temp1 są sobie równe, to Przycisk = Temp1 zapisanie kodu naciśniętego przycisku do zmiennej Przycisk If I = 2 Then jeśli I = 2, to

13 Przycisk = Przycisk + 2 End OF Else Temp2 = Temp1 Set Kol1 Set Kol2 Return dodanie do zmiennej Przycisk wartości 2, gdyż odczytano stany przycisków drugiego wiersza zapisanie wartości Temp1 do do zmiennej Temp2 powrót z podprogramu przerwania Najpierw linie, do których dołączono wiersze klawiatury skonfigurowano jako wejściowe, a linie, do których dołączono klawiatury jako linie wyjściowe. Dalej jest konfigurowany wyświetlacz LCD oraz Timer0 z podziałem preskalera po Następnie konfigurowane jest przerwanie od przepełnienia licznika Timer a 0 po jego wystąpieniu następuje skok do podprogramu wskazywanego przez etykietę Mult_kl. Dalej definiowane są zmienne Temp1 oraz Temp2, które są zmiennymi wykorzystywanymi w podprogramie obsługi przerwania, do tymczasowego przechwytywania kodu naciśniętego klawisza w celu ominięcia drgań styków. Do zmiennej Przycisk w podprogramie obsługi przerwania jest wczytywany kod klawisza. Kody czterech klawiszy będą to wartości od 1 do 4. Przy niewciśniętych klawiszach zmiennej Przycisk jest wpisywana wartość 0. Dla linii sterujących klawiaturą utworzono aliasy W1 i W2, przypisane do linii wejściowych (identyfikują wiersze klawiatury) oraz Kol1 i Kol2 przypisane do linii wyjściowych (identyfikują kolumny klawiatury). Następnie odblokowano przerwania globalne od licznika i Timer0. Do Timer0 załadowano instrukcją Load wartość 200, która jest liczbą impulsów po zliczeniu których licznik wygeneruje przerwanie. Policzymy po jakim czasie zostanie wygenerowane przerwanie przy podziale preskalera przez 1024, częstotliwości rezonatora kwarcowego 8MHz i liczbie impulsów do odliczenia równej /8 MHz = 125 khz czyli przerwanie będzie wykonywane co 125 ns * 1024 * ms. Następnie do linii wejściowych mikrokontrolera będących wejściami wierszy matrycy klawiatury zostają, poprzez wykonanie instrukcji Set Portb 0 oraz Set Portb1 dołączone rezystory podciągające, aby linie nie miały nieokreślonych stanów, gdy nie przyciśnięto żadnego przycisku. Dalej ustawiane są poziomy wysokie na liniach wyjściowych o aliasach Kol1 i Kol2 i rozpoczyna się pętla For Next, która może być wykonana dwa razy. W zależności od wartości zmiennej I obsługiwana jest pierwsza kolumna albo druga kolumna klawiatury. Jeżeli I = 1, to ustawiany jest poziom niski na linii dołączonej do pierwszej kolumny klawiatury. Jeżeli nie naciśnięto żadnego przycisku tej kolumny, to warunek (W1 = 0 Or W2 = 0) nie będzie prawdziwy. Warunek ten będzie prawdziwy jedynie wtedy, gdy na liniach wiersza W1 lub W2 będzie poziom niski. Który świadczy o naciśnięciu przycisku. Przy niespełnieniu tego warunku, do zmiennej Temp1 jest wpisywana wartość 0. Następnie pętla For Next zostaje wykonana dla I = 2, co spowoduje ustawienie poziomu wysokiego na linii Kol1 i poziomu niskiego na linii Kol2. Obsługiwana jest więc 2 kolumna klawiatury. Jeżeli nie naciśnięto żadnego przycisku to zmiennej Temp1 zostaje wpisana wartość 0. Po wykonaniu kolejnych instrukcji do zmiennej Przycisk zostanie wpisana wartość 0, co oznacza, ze nie naciśnięto żadnego przycisku. W przypadku, gdy linia W1 lub W2 zmieniła poziom z wysokiego na niski (przyciśnięcie przycisku), wykonane zostaną instrukcje po spełnieniu warunku (W1 =0 Or W2 = 0),

14 czyli do zmiennej Temp1 załadowane zostaną z rejestru wejściowego PINB dwa najmniej znacząc bity. Pozostałe bity wpisane do zmiennej Temp1, z użyciem operatora And zostaną wyzerowane. Po wpisaniu do zmiennej Temp1 stanu linii W1 i W2 zostaje wykonana instrukcja Exit For, która umożliwia wcześniejsze opóźnienie pętli. Jeżeli bowiem po sprawdzaniu kolumny 1 wykryto naciśnięcie przycisku, to nie jest już konieczne sprawdzanie kolejnych kolumn. Po wykonaniu instrukcji Exit For zostaje sprawdzony warunek, czy wartość zmiennej Temp2 jest równa zmiennej Temp1. Jeżeli nie są równe, to do zmiennej Temp2 jest wpisywana wartość Temp1 i podprogram obsługi przerwania jest kończony. Jeżeli przycisk jest nadal wciśnięty, to w następnym przerwaniu (za około 25 ms) zostanie znowu wykryty naciśniety przycisk i wtedy warunek (Temp2 = Temp1) będzie spełniony i do zmiennej Przycisk zostanie zapisany kod naciśniętego klawisza. Po wciśnięciu przycisku jego kod jest więc wpisywany do zmiennej Przycisk dopiero w drugim przerwaniu. Do rozpoznania, które przyciski wciśnięto, tzn. do której kolumny należą, została wykorzystana zmienna I. Jeżeli zmienna ta, po wykryciu naciśnięcia przycisku, miała wartość 1, to będą rozpoznawane klawisze kolumny pierwszej o kodach 1 i 2. Jeżeli rozpoznanie naciśniętego przycisku wykryto przy I = 2, to oznacza, że naciśnięto któryś z przycisków kolumny 2 i do zmiennej Przycisk zostaje dodana wartość 2. Naciskanym przyciskom będą więc odpowiadały kody od 1 do 4. Aby zilustrować, w pętli głównej programu co 100 ms na wyświetlaczu LCD jest wypisywana wartość zmiennej Przycisk, do której jest ładowany kod naciśnietego przycisku. Przed każdym wyświetleniem wartości zmiennej Przycisk, wyświetlacza jest czyszczony instrukcją Cls. Warto wykorzystywać klawiatury matrycowe, gdy mamy mało wolnych linii mikrokontrolera, a potrzebnych jest wiele przycisków. Gdy w układzie stosowane są multipleksowane wyświetlacze LED, obsługę klawiatury można włączyć do podprogramu sterowania tymi wyświetlaczami, zmniejszając tym samym liczbę wykorzystywanych linii mikrokontrolera. Język Bascom ma także funkcję Getkbd(), która sprawdza stan klawiatury matrycowej i zwraca numer wciśniętego klawisza do zmiennej. Funkcja ta umożliwia tylko obsługę klawiatur matrycowych 4 x 4 lub 4 x 6. Dla klawiatur matrycowych o innych rozmiarach trzeba napisać własne procedury obsługi, np. wzorując się na zaprezentowanym przykładzie Obsługa komputerowej klawiatury AT Gdy w jakiejś aplikacji jest potrzebna klawiatura o wielu przyciskach, to można do mikrokontrolera dołączyć tanią komputerową klawiaturę AT. W języku Bascom instrukcja, dzięki której można z łatwością obsłużyć taką klawiaturę. W tym punkcie zaprezentowano przykład obsługi takiej klawiatury. Znaki naciskanych klawiszy będą wyświetlane na wyświetlaczu alfanumerycznym LCD. Klawiatury AT mają złącza w dwóch odmianach: DIN5 lub PS/2 (DIN6). W tabeli 1 przedstawiono funkcje styków złączy DIN5 oraz PS/2. Linia DATA jest linią dwukierunkową, którą są przesyłane do i z kontrolera klawiatury. Linia CLK jest również dwukierunkowa. Źródłem sygnału zegarowego jest zawsze klawiatura, ale można na tej linii wymusić poziom niski. Jeżeli na linii poziom niski będzie trwał dłużej niż 10 ms, to kontroler klawiatury przełączy się w tryb odbioru danych z mikrokontrolera. Na rys.3 przedstawiono schemat dołączenia klawiatury AT do linii PB2, PB3 mikrokontrolera. Dwie pozostałe linie klawiatury dołączono do napięć zasilających. Do

15 mikrokontrolera dołączono także wyświetlacz LCD, aby zobrazować działanie dołączonej klawiatury AT. Rys.3. Schemat dołączenia klawiatury AT do mikrokontrolera. Tabela 1. Funkcje styków złączy AT (DIN5) oraz PS/2 (DIN6) Do obsługi klawiatury są wykorzystywane dwie instrukcje: konfigurująca Config Keyboard i funkcja odczytu klawiatury Getatkbd(). Dzięki tym instrukcjom można obsługiwać klawiaturę AT nie znając jej protokołu transmisji. Przykładowy program obsługi klawiatury AT przedstawiono poniżej: Program obsługi klawiatury AT PC $REGFILE = m8def.dat informuje kompilator o pliku dyrektyw mikrokontrolera $CRYSTAL = informuje kompilator o częstotliwości oscylatora taktującego mikrokontroler Config Lcd = 16 * 2 konfiguracja typu wyświetlacza LCD

16 Config Lcdpin = Pin, Db4 = Portc.3, Db5 = Portc.2, Db6 = Portc.1, Db7 = Portc.0, E = Portc.4, Rs = Portc.5 konfiguracja linii mikrokontrolera do których dołączono LCD Config Keyboard = Pinb.2, Data = Pinb.3, Keydata = Keydata konfiguracja linii portu do których dołączono klawiaturę AT Dim Kod_k1 As Byte zmienna do której wpisywany jest przekonwertowany kod naciśnietego klawisza Cls Do czyszczenie LCD nieskończona pętla Do Loop Kod_k1 = Getatkbd() odczytanie danej klawiatury i zapisanie kodu klawisza do zmiennej Kod_k1 If Kod_k1 > 0 Then jeśli odczytywany kod ma wartość większą niż 0, to If Kod_k1 > 31 and Kod_k1 < 127 Then jeśli warunek jest spełniony to Lcd Chr(Kod_k1) wyświetlenie na LCD kodu znaku o kodzie ASCII zawartm w Kod_k1 If Kod_k1 = 44 Then Cls If Kod_k1 = 13 Then LowerLine Loop End czyszczenie wyświetlacza przeniesienie kursora do drugiej linii wyświetlacza LCD koniec programu tablica konwersji kodów odczytanych z klawiatury na kod ASCII Keydata: tablica kodów Keydata klawisze normalnie małe litery Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Data &H5E, 0, 0, 0, 0, 0, 0, 113, 49, 0, 0, 0, 122, Data 115, 97, 119, 50, 0, 0, 99, 120, 100, 101, 52, Data 51, 0, 0, 32, 118, 102, 116, 114, 53, 0, 0, 110, Data 98, 104, 103, 121, 54, 7, 8, 44, 109, 106, 117, 55, Data 56, 0, 0, 44, 107, 105, 111,48, 57, 0, 0, 46, 45, Data 108, 48, 112, 43, 0, 0, 0, 0, 0, 0, 92, 0, 0, 0, Data 0, 13, 0, 0, 92, 0, 0, 0, 48, 44, 50, 53, 54, 56, Data 0, 0, 0, 43, 51, 45, 42, 57, 0, 0, klawisze z Shift duże litery Data 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, Data 0, 0, 0, 0, 0, 0, 81, 33, 0, 0, 0, 90, 83, 65, Data 87, 34, 0, 0, 67, 88, 68, 69, 0, 35, 0, 0, 32, 86,

17 Data 70, 84, 82, 37, 0, 0, 78, 66, 72, 71, 89, 38, 0, Data 0, 76, 77, 74, 85, 47, 40, 0, 0, 59, 75, 73, 79, Data 61, 41, 0, 0, 58, 95, 76, 48, 80, 63, 0, 0, 0, 0, Data 0, 0, 96, 0, 0, 0, 0, 13, 94, 0, 42, 0, 0, 0, 62, Data 0, 0, 0, 8, 0, 0, 49, 0, 52, 55, 0, 0, 0, 0, 48, Data 44, 50, 53, 54, 56, 0, 0, 0, 43, 51, 45, 42, 57, 0, Po uruchomieniu tego programu, ilustrującego obsługę klawiatury AT, każde naciśnięcie klawisza (o kodach ASCII znaku od 32 do 127), spowoduje wyświetlenie na wyświetlaczu odpowiadającego mu znaku. Na przykład naciśnięcie klawisza z literą a spowoduje wyświetlenie na wyświetlaczu litery a (z klawiszem Shift będą wyświetlane duże litery). Naciśniecie klawisza Del powoduje wyczyszczenie wyświetlacza LCD, a klawisza Enter przejście kursora do drugiej linii wyświetlacza. Na początku programu, oprócz instrukcji konfigurującej wyświetlacz LCD, konfigurowana jest także klawiatura AT za pomocą instrukcji Config Keyboard. Instrukcja ta współpracuje z funkcją Getatkbd() odczytu naciśniętego klawisza oraz określa linie portów mikrokontrolera, do których dołączono klawiaturę AT. Składnia instrukcji konfigurującej klawiaturę AT jest następująca: Config Keyborad = Pinx.y, Data = pinx.y, Keydata = tabela_kodow gdzie: Keyborad linia portu, do której jest dołączona linia sygnałowa CLK klawiatury; Data linia portu, do której jest dołączona linia sygnałowa DATA klawiatury, Keydata etykieta określającą adres tablicy przeliczeniowej kodów klawiszy. Klawiatura AT nie przesyła kodów ASCII naciśniętego klawisza, tylko zwraca numer umowny tego klawisza, na przykład klawisza Esc zwraca numer klawisza (kod 76). Dlatego w instrukcji Config Keyboard należy podać adres (poprzez podanie etykiety) tablicy przeliczeniowej, zapisanej w bloku instrukcja Data na końcu programu. Zawarta w programie tablica przeliczeniowa o etykiecie Keydata zawiera kody ASCII znaków odpowiadające poszczególnym numerom (kodom) klawiszy klawiatury AT. Na przykład, naciśnięcie klawisza e o numerze 24 jest konwertowane na kod ASCII 101, który odpowiada właśnie literze e. Do odczytania numeru naciśniętego klawisza i przeliczonego wg tablicy na kod ASCII służy funkcja Getatkbd(). Składnia tej funkcji jest następująca: zmienna = Getatkbd() gdzie: zmienna zmienna typu Sting lub Byte, do której jest przypisywany odczytany znak lub jego kod ASCII funkcja zwraca zero, gdy nie naciśnieto żadnego klawisza Funkcja oczekuje na odebranie znaku z klawiatury, czyli wstrzymuje działanie programu. Przerwanie pętli oczekiwania może nastąpić przez ustawienie zmiennej Err, na przykład w podprogramie obsługi przerwania. Funkcja Getatkbd() używa dwóch bitów w

18 rejestrze R6: bity 4 i 5 są używane jako flagi stanu klawiszy Shift i Ctrl. Klawisze specjalne klawiatury nie są rozpoznawane przez tę funkcję. W programie definiowana jest zmienna Kod_kl, do której jest wpisywany kod ASCII naciśniętego klawisza. Następnie po wykonaniu czyszczenia LCD instrukcją Cls są wykonywane instrukcje w nieskończonej pętli Do Loop. W pierwszej kolejności, w tej pętli jest wykonywana funkcja odczytująca i przeliczająca według tablicy numer naciśniętego klawisza na jego kod ASCII, zapisywany w zmiennej Kod_k1. Następnie jest sprawdzane czy wartość zmiennej Kod_k1 jest większa od 0. Jeżeli tak, to oznacza, że naciśnięto klawisz. Następnie jest sprawdzany zakres kodu ASCII klawisza. Jeżeli jest on większy od 31, a mniejszy od 127, to są to kody ASCII znaków, które można wyświetlić na LCD. Jeżeli kod odczytanego znaku zawiera się w tym zakresie, to jest on zamieniany przez funkcję Chr na odpowiadający mu znak, który następnie zostaje wyświetlony na LCD. Jeżeli wartość kodu nie odpowiada znakom, które można wyświetlić na LCD, to nie jest ona przesyłana do LCD. Jeżeli otrzymany kod ma wartość 44, to oznacza, że naciśnięto klawisz Del i wówczas wyświetlacz LCD zostaje wyczyszczony poprzez wykonanie instrukcji Cls. Następnie za pomoc instrukcji warunkowej If Then sprawdzane jest, czy wartość zmiennej Kod_k1 wynosi 13 (kod ASCII klawisza Enter). Jeżeli naciśnięto klawisz Enter, to jest wykonywana instrukcja Lowerline, która ustawia kursor wyświetlacza na początku drugiej linii.

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

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

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

Listing_ $crystal = deklaracja

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

Bardziej szczegółowo

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168

ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168 ZL16AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168 ZL16AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerówavr w obudowie 28-wyprowadzeniowej (ATmega8/48/88/168). Dzięki

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

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

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

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

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

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

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

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

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

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC

ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC 1 ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami mikrokontrolerów PIC. Jest on przystosowany do współpracy z mikrokontrolerami

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

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

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 Temat: Klawiatura szesnastkowa - menu. Nazwisko i imię 1. 2. Data wykonania ćwiczenia: Grupa:

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

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe www.evboards.eu

AVREVB1. Zestaw uruchomieniowy dla mikrokontrolerów AVR. Zestawy uruchomieniowe www.evboards.eu AVREVB1 Zestaw uruchomieniowy dla mikrokontrolerów AVR. 1 Zestaw AVREVB1 umożliwia szybkie zapoznanie się z bardzo popularną rodziną mikrokontrolerów AVR w obudowach 40-to wyprowadzeniowych DIP (układy

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

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

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019)

ZL9AVR. Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019) ZL9AVR Płyta bazowa dla modułów ZL7AVR (ATmega128) i ZL1ETH (RTL8019) ZL9AVR to płyta bazowa umożliwiająca wykonywanie różnorodnych eksperymentów związanych z zastosowaniem mikrokontrolerów AVR w aplikacjach

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

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

ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887

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

Bardziej szczegółowo

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu.

Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100. Zestaw do samodzielnego montażu. E113 microkit Edukacyjny sterownik silnika krokowego z mikrokontrolerem AT90S1200 na płycie E100 1.Opis ogólny. Zestaw do samodzielnego montażu. Edukacyjny sterownik silnika krokowego przeznaczony jest

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

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

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

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

ZL30ARM. Zestaw uruchomieniowy dla mikrokontrolerów STM32F103

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

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

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

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

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC ZL28ARM Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC Zestaw ZL28ARM jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów AT91SAM7XC. Dzięki wyposażeniu w szeroką gamę układów peryferyjnych

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

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

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

E-TRONIX Sterownik Uniwersalny SU 1.2

E-TRONIX Sterownik Uniwersalny SU 1.2 Obudowa. Obudowa umożliwia montaż sterownika na szynie DIN. Na panelu sterownika znajduje się wyświetlacz LCD 16x2, sygnalizacja LED stanu wejść cyfrowych (LED IN) i wyjść logicznych (LED OUT) oraz klawiatura

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

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

ZL11AVR. Zestaw uruchomieniowy z mikrokontrolerem ATtiny2313

ZL11AVR. Zestaw uruchomieniowy z mikrokontrolerem ATtiny2313 ZL11AVR Zestaw uruchomieniowy z mikrokontrolerem ATtiny2313 Zestaw przeznaczony do budowania prostych aplikacji z mikrokontrolerem ATtiny2313 (w podstawkę można również zamontować AT90S1200 lub AT90S2313).

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

Zestaw Startowy EvB. Więcej informacji na stronie: http://and-tech.pl/zestaw-evb-5-1/

Zestaw Startowy EvB. Więcej informacji na stronie: http://and-tech.pl/zestaw-evb-5-1/ Zestaw Startowy EvB Zestaw startowy EvB 5.1 z mikrokontrolerem ATMega32 jest jednym z najbardziej rozbudowanych zestawów dostępnych na rynku. Został zaprojektowany nie tylko z myślą o początkujących adeptach

Bardziej szczegółowo

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę

Bardziej szczegółowo

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x

ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x ZL9ARM płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x ZL9ARM Płytka bazowa dla modułów diparm z mikrokontrolerami LPC213x/214x 1 ZL9ARM to uniwersalna płyta bazowa dla modułów diparm

Bardziej szczegółowo

Elektronika samochodowa (Kod: TS1C )

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

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

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

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

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

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

SML3 październik

SML3 październik SML3 październik 2005 24 100_LED8 Moduł zawiera 8 diod LED dołączonych do wejść za pośrednictwem jednego z kilku możliwych typów układów (typowo jest to układ typu 563). Moduł jest wyposażony w dwa złącza

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

Kod produktu: MP01105T

Kod produktu: MP01105T MODUŁ INTERFEJSU DO POMIARU TEMPERATURY W STANDARDZIE Właściwości: Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs do podłączenia max. 50 czujników temperatury typu DS18B20 (np. gotowe

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

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU Ćwiczenie 9 STEROWANIE ROLETAMI POPRZEZ TEBIS TS. WYKORZYSTANIE FUNKCJI WIELOKROTNEGO ŁĄCZENIA. 2 1. Cel ćwiczenia. Celem ćwiczenia jest nauczenie przyszłego użytkownika

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

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1.

Wydział Elektryczny. Katedra Automatyki i Elektroniki. Instrukcja. do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1. Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 PAMIĘCI SZEREGOWE EEPROM Ćwiczenie 3 Opracował: dr inŝ.

Bardziej szczegółowo

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx

ZL6PLD zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx ZL6PLD Zestaw uruchomieniowy dla układów FPGA z rodziny Spartan 3 firmy Xilinx 1 ZL6PLD jest zestawem uruchomieniowym dla układów FPGA z rodziny Spartan 3 firmy Xilinx. Oprócz układu PLD o dużych zasobach

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

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

LDA-8/ Z wyświetlacz tekstowy

LDA-8/ Z wyświetlacz tekstowy LDA-8/100-...-Z wyświetlacz tekstowy - instrukcja obsługi SEM 05.2006 Str. 1/6 LDA-8/100-...-Z wyświetlacz tekstowy INSTRUKCJA OBSŁUGI Stosowane oznaczenia: SYMBOL OPIS Ostrzeżenie o niebezpieczeństwie

Bardziej szczegółowo

TERMINAL DO PROGRAMOWANIA PRZETWORNIKÓW SERII LMPT I LSPT MTH-21 INSTRUKCJA OBSŁUGI I EKSPLOATACJI. Wrocław, lipiec 1999 r.

TERMINAL DO PROGRAMOWANIA PRZETWORNIKÓW SERII LMPT I LSPT MTH-21 INSTRUKCJA OBSŁUGI I EKSPLOATACJI. Wrocław, lipiec 1999 r. TERMINAL DO PROGRAMOWANIA PRZETWORNIKÓW SERII LMPT I LSPT MTH-21 INSTRUKCJA OBSŁUGI I EKSPLOATACJI Wrocław, lipiec 1999 r. SPIS TREŚCI 1. OPIS TECHNICZNY...3 1.1. PRZEZNACZENIE I FUNKCJA...3 1.2. OPIS

Bardziej szczegółowo

Moduł uruchomieniowy AVR ATMEGA-16 wersja 2

Moduł uruchomieniowy AVR ATMEGA-16 wersja 2 Dane aktualne na dzień: 30-08-2016 20:09 Link do produktu: /modul-uruchomieniowy-avr-atmega-16-wersja-2-p-572.html Moduł uruchomieniowy AVR ATMEGA-16 wersja 2 Cena Cena poprzednia Dostępność 211,00 zł

Bardziej szczegółowo

dv-2ps INSTRUKCJA OBSŁUGI

dv-2ps INSTRUKCJA OBSŁUGI dv-2ps INSTRUKCJA OBSŁUGI Manometr cyfrowy z programowalnymi stykami i wyjściem RS485 1. Diody LED statusu styków 2. Aktualna wartość ciśnienia 3. Przyłacze elektyczne 4. Przyłącze procesowe dv-2ps jest

Bardziej szczegółowo

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307

Język C. Wykład 9: Mikrokontrolery cz.2. Łukasz Gaweł Chemia C pokój 307 Język C Wykład 9: Mikrokontrolery cz.2 Łukasz Gaweł Chemia C pokój 307 lukasz.gawel@pg.edu.pl Pierwszy program- powtórka Częstotliwość zegara procesora μc (należy sprawdzić z kartą techniczną μc) Dodaje

Bardziej szczegółowo

Dokumentacja Licznika PLI-2

Dokumentacja Licznika PLI-2 Produkcja - Usługi - Handel PROGRES PUH Progres Bogdan Markiewicz ------------------------------------------------------------------- 85-420 Bydgoszcz ul. Szczecińska 30 tel.: (052) 327-81-90, 327-70-27,

Bardziej szczegółowo

Mikrokontrolery AVR Wprowadzenie

Mikrokontrolery AVR Wprowadzenie Mikrokontrolery AVR Wprowadzenie Komunikacja z otoczeniem mikrokontrolera Każdy z mikrokontrolerów posiada pewna liczbę wyprowadzeń cyfrowych które służą do wprowadzania i odbierania informacji z mikrokontrolera.

Bardziej szczegółowo

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej.

Wydział Elektryczny. Katedra Telekomunikacji i Aparatury Elektronicznej. Konstrukcje i Technologie w Aparaturze Elektronicznej. Politechnika Białostocka Wydział Elektryczny Katedra Telekomunikacji i Aparatury Elektronicznej Konstrukcje i Technologie w Aparaturze Elektronicznej Ćwiczenie nr 4 Temat: Sterowanie sekwencyjne wyświetlaczem

Bardziej szczegółowo

Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51.

Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51. Ćwiczenie nr 4 Cel ćwiczenia: Celem ćwiczenia jest zapoznanie z obsługą klawiatury sekwencyjnej i matrycowej w systemie DSM-51. Wiadomości wstępne: Klawiatura sekwencyjna zawiera tylko sześć klawiszy.

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 Zestaw uruchomieniowy dla mikrokontrolerów LPC2104/5/6 (rdzeń ARM7TDMI-S) 1 Zestaw ZL2ARM opracowano z myślą o elektronikach chcących szybko zaznajomić się z mikrokontrolerami z rdzeniem ARM7TDMI-S.

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

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

Podstawy techniki mikroprocesorowej

Podstawy techniki mikroprocesorowej Podstawy techniki mikroprocesorowej Temat 2 Obsługa wyświetlaczy v.1.0 Uniwersytet Pedagogiczny, Instytut Techniki Dominik Rzepka, dominik.rzepka@agh.edu.pl, 2014 1. Obsługa pinów mikroprocesora i wyświetlacze

Bardziej szczegółowo

Miernik częstotliwości 100 MHz

Miernik częstotliwości 100 MHz Miernik częstotliwości 100 MHz Marek SP9XUH www.sp9xuh.pl poczta@sp9xuh.pl W pierwszym zamyśle układ ten, miał posłużyć do sprawdzenia możliwości prostego i w miarę dokładnego pomiaru częstotliwości wyjściowej

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

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie

INSTRUKCJA OBSŁUGI. Przekaźnik czasowy ETM ELEKTROTECH Dzierżoniów. 1. Zastosowanie INSTRUKCJA OBSŁUGI 1. Zastosowanie Przekaźnik czasowy ETM jest zadajnikiem czasowym przystosowanym jest do współpracy z prostownikami galwanizerskimi. Pozwala on załączyć prostownik w stan pracy na zadany

Bardziej szczegółowo

Kod produktu: MP01611-ZK

Kod produktu: MP01611-ZK ZAMEK BEZSTYKOWY RFID ZE ZINTEGROWANĄ ANTENĄ, WYJŚCIE RS232 (TTL) Moduł stanowi gotowy do zastosowania bezstykowy zamek pracujący w technologii RFID dla transponderów UNIQUE 125kHz, zastępujący z powodzeniem

Bardziej szczegółowo

Moduł licznika położenia LP 2.

Moduł licznika położenia LP 2. Pracownia Elektroniki i Automatyki W.J. Dubiński ul. Krzyszkowicka 16 32-020 WIELICZKA tel./fax (12) 278 29 11 NIP 676-010-37-14 Moduł licznika położenia LP 2. 1. Przeznaczenie. Licznik rewersyjny LP 2

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

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH

Instrukcja Obsługi. Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH Instrukcja Obsługi Modułu wyjścia analogowego 4-20mA PRODUCENT WAG ELEKTRONICZNYCH RADWAG 26 600 Radom ul. Bracka 28, Centrala tel. (0-48) 38 48 800, tel./fax. 385 00 10, Dz. Sprzedaży (0-48) 366 80 06

Bardziej szczegółowo

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem

Cyfrowe Elementy Automatyki. Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem Cyfrowe Elementy Automatyki Bramki logiczne, przerzutniki, liczniki, sterowanie wyświetlaczem Układy cyfrowe W układach cyfrowych sygnały napięciowe (lub prądowe) przyjmują tylko określoną liczbę poziomów,

Bardziej szczegółowo

Przerwania, polling, timery - wykład 9

Przerwania, polling, timery - wykład 9 SWB - Przerwania, polling, timery - wykład 9 asz 1 Przerwania, polling, timery - wykład 9 Adam Szmigielski aszmigie@pjwstk.edu.pl SWB - Przerwania, polling, timery - wykład 9 asz 2 Metody obsługi zdarzeń

Bardziej szczegółowo

Interfejs analogowy LDN-...-AN

Interfejs analogowy LDN-...-AN Batorego 18 sem@sem.pl 22 825 88 52 02-591 Warszawa www.sem.pl 22 825 84 51 Interfejs analogowy do wyświetlaczy cyfrowych LDN-...-AN zakresy pomiarowe: 0-10V; 0-20mA (4-20mA) Załącznik do instrukcji obsługi

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

ZL3ST7. Zestaw uruchomieniowy dla mikrokontrolerów

ZL3ST7. Zestaw uruchomieniowy dla mikrokontrolerów ZL3ST7 Zestaw uruchomieniowy dla mikrokontrolerów ST7FLITE3x Zestaw ZL3ST7 jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ST7FLITE3x. Dzięki wyposażeniu w szeroką gamę układów peryferyjnych

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

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701.

SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy dla procesora ADAU1701. SigmaDSP - zestaw uruchomieniowy. SigmaDSP jest niedrogim zestawem uruchomieniowym dla procesora DSP ADAU1701 z rodziny SigmaDSP firmy Analog Devices, który wraz z programatorem USBi i darmowym środowiskiem

Bardziej szczegółowo

Wyniki (prawie)końcowe - Elektroniczne warcaby

Wyniki (prawie)końcowe - Elektroniczne warcaby Wyniki (prawie)końcowe - Elektroniczne warcaby Zbigniew Duszeńczuk 14 czerwca 2008 Spis treści 1 Stan realizacji projektu na dzień 14 czerwca 2008 2 2 Najważniejsze cechy projektu 2 2.1 Użyte elementy..............................

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

ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x. Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x

ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x. Tab. 1. Zestawienie najważniejszych parametrów wybranych mikrokontrolerów z rodziny LPC213x ZL6ARM Zestaw uruchomieniowy dla mikrokontrolerów LPC213x (rdzeń ARM7TMDI-S) Kompatybilny z zestawem MCB2130 firmy Keil! Zestaw ZL6ARM opracowano z myślą o elektronikach chcących szybko zaznajomić się

Bardziej szczegółowo

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO!

ĆWICZENIE 7. Wprowadzenie do funkcji specjalnych sterownika LOGO! ćwiczenie nr 7 str.1/1 ĆWICZENIE 7 Wprowadzenie do funkcji specjalnych sterownika LOGO! 1. CEL ĆWICZENIA: zapoznanie się z zaawansowanymi możliwościami mikroprocesorowych sterowników programowalnych na

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

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

PRUS. projekt dokumentacja końcowa

PRUS. projekt dokumentacja końcowa Adrian Antoniewicz Marcin Dudek Mateusz Manowiecki 17.01.2007 PRUS projekt dokumentacja końcowa Temat: Układ zdalnego sterowania (za pomocą interfejsu RS-232) wyświetlaczem LCD. Spis treści: 1. 2. 3. 4.

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