Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 1
|
|
- Ewa Kaźmierczak
- 7 lat temu
- Przeglądów:
Transkrypt
1 1 Ćwiczenie nr 1 Program ćwiczenia: Wprowadzenie - obsługa zestawów dydaktycznych i narzędzi programistycznych, Programowanie portów, pętli, skoków i procedur, Obsługa przerwań. Zagadnienia do przygotowania: Specyfika portów we/wy układu ATmega8535 Rejestry uniwersalne wpisywanie danych Rejestry specjalne wpisywanie wartości Skoki bezwarunkowe Wywołania podprogramów Inicjalizacja stosu 1
2 2 1. Makiety dydaktyczne informacje wstępne Wszystkie ćwiczenia laboratoryjne prowadzone w ramach kursu Podstawy Techniki Mikroprocesorowej realizowane są na specjalnie przygotowanych makietach dydaktycznych. Wygląd makiety przedstawiono na rys. 1. Rys. 1. Widok makiety dydaktycznej Makieta dydaktyczna wyposażona jest między innymi w: - mikrokontroler (Atmega 8535 firmy ATMEL), - osiem diod elektroluminescencyjnych (D0..D8), - klawiaturę 4 4, - tranzystory mocy (układ scalony ULN2803A), - potencjometry (Pot1, Pot2), - wyświetlacz LCD (HD44780), - układ scalony MAX7219 (sterowanie pracą wyświetlaczy 7 segmentowych), - zewnętrzną pamięć EEPROM (układ scalony 24C08), - rozszerzenie portów I/O (układ scalony PCF8574A). 2
3 3 Wyprowadzenia we/wy mikrokontrolera (określane potocznie jako piny, spotyka się również stosowanie terminu nóżki, którego stosowanie nie jest zalecane) są na makiecie podłączone do podwójnych listew kołkowych typu GOLGPIN. Listwy te podzielone są na cztery grupy po jednej dla każdego z portów (A, B, C, D) mikrokontrolera. Dla pojedynczego wyprowadzenia portu (jednej linii portu) każda para wyprowadzeń (pinów) na listwie kołkowej znajduje się na tym samym potencjale. Sygnały sterujące do diod elektroluminescencyjnych (LED) doprowadzane są za pomocą złączy JLEDx (gdzie x odpowiada numerowi diody). Klawiatura umieszczona na makiecie składa się z 16 przycisków rozmieszczonych w 4 rzędach po 4 przyciski w każdym. Obsługiwana jest za pomocą podwójnej listwy kołkowej zawierającej 2 8 pinów. Wybór odpowiedniego przycisku uzyskuje się przez podłączenie właściwych pinów na listwie. Górne cztery piny służą do wyboru kolumny (Kol), natomiast cztery dolne używane są do wyboru rzędu (Rzad). Tranzystory mocy służą do wzmacniania sygnałów pochodzących z mikrokontrolera w celu wysterowania np. uzwojeń silnika krokowego. Sygnał wejściowy należy podłączyć do odpowiednich pinów podwójnej listwy kołkowej oznaczonej symbolem IN0..7. Sygnały wyjściowe buforów prądowych doprowadzone są do listwy zaciskowej oznaczonej symbolem OUT0..7. Potencjometry Pot1, Pot2 podłączane są za pomocą pinów JPOTx (gdzie x to numer odpowiedniego potencjometru). Na wyprowadzeniu JPOTx występuje napięcie o wartości zależnej od aktualnej nastawy potencjometru. Przy rezystancji potencjometru ustawionej na minimum wyprowadzenia JPOTx znajduje się na potencjale Vcc = 5V. Wyświetlacz LCD umożliwia wyświetlanie znaków graficznych. Obsługiwany jest za pomocą 11 sygnałów: 3 sygnałów sterujących (REG SELECT, READ/WRITE, ENABLE) oraz 8 linii danych (D0..7). Układ scalony MAX7219 służy do sterowania pracą wyświetlaczy 7-segmentowych (SGM0..7). Programowanie układu odbywa się za pośrednictwem magistrali szeregowej SPI. Do sterowania pracą układu służą wyprowadzenia CLK, LOAD, DOUT, DIN. 3
4 4 Zewnętrzna pamięć danych (EEPROM) umożliwia zapis i odczyt danych za pomocą magistrali TWI(I 2 C). Linie A0..A2 (środkowe na listwie kołkowej) służą do ustalania adresu urządzenia (potrzebne w przypadku programowania więcej niż jednego układu pamięci). Linia WP służy do zabezpieczenia przed zapisem (gdy podłączony do Vcc, możliwy jest tylko odczyt). Sygnał zegarowy podłączany jest do linii SCA, a dane wysyłane/odbierane są przez linię SDA. Układ scalony PCF8574A umożliwia podłączenie dodatkowych portów I/O do mikrokontrolera. Układ programowany jest za pomocą magistrali TWI. Wyprowadzenia dodatkowego portu podłączone są do listwy kołkowej oznaczonej symbolem Port I2C (OUT0..7I). Do sterowania pracą układu służą linie A0..2 (adres układu), SCL (sygnał zegarowy), SDA (wysyłanie/odbiór danych), INT (przerwanie od rozszerzonego portu). Programowanie mikrokontrolera umieszczonego w makiecie odbywa się przez port równoległy IEEE 1284 (LPT). Nie ma konieczności stosowania odrębnego układu programatora. Przed rozpoczęciem pracy do makietę należy podłączyć do zasilacza. W tym celu wyprowadzenie zasilacza wtyczkowego 9 VDC należy podłączyć do gniazda zasilania umieszczonego na makiecie. W sytuacji gdy po podłączeniu zasilania zaświecą się wszystkie segmenty wyświetlaczy 7-segmentowych należy odłączyć zasilacz i po krótkiej chwili podłączyć makietę ponownie do zasilacza. 2. Obsługa narzędzi programistycznych Programowanie mikrokontrolera ATmega8535 odbywa się za pośrednictwem programów AVRStudio 4.19 oraz PonyProg2000. Oba programy są oprogramowaniem typu freeware i mogą być pobrane za darmo za pośrednictwem sieci Internet. Pierwszy z programów służy do pisania kodu i jego konwersji na język maszynowy (binarny). Skompilowany kod wysyłany jest za pomocą programu PonyProg2000 do mikrokontrolera. 4
5 5 2.1 Obsługa programu AVR Studio 4 Po uruchomieniu programu AVR Studio 4 wyświetlone zostanie okno powitalne (Rys.2). Jeżeli chcemy rozpocząć pracę nad nowym projektem należy wybrać przycisk New Project (u góry po lewej stronie). W wypadku gdy chcemy otworzyć już istniejący projekt należy wybrać odpowiedni projekt z listy umieszczonej poniżej i kliknąć przycisk z napisem Open (po prawej stronie). Rys. 2. Widok okna powitalnego programu AVR Studio 4 Po wyborze nowego projektu, wyświetlone zostanie kolejne okno (Rys. 3). Rys. 3. Okno wyboru typu, nazwy oraz ścieżki nowego projektu 5
6 6 Służy ono do wyboru typu, nazwy oraz ścieżki projektu. Środowisko AVR Studio 4 umożliwia programowanie mikrokontrolerów za pomocą języka Assembler (kliknięcie na Atmel AVR Assembler) lub C (kliknięcie na AVR GCC). Program kursu Podstawy techniki mikroprocesorowej przewiduje programowanie w języku Assembler. Po wyborze typu projektu, należy w polu po prawej stronie wpisać nazwę projektu. Możliwa jest również zmiana ścieżki projektu. Aby to zrobić należy kliknąć guzik po prawej stronie (z symbolem ) i wybrać nową ścieżkę projektu. Po wyborze języka programowania oraz wpisaniu nazwy projektu należy kliknąć przycisk z napisem Next>> (dolna część okna). Po wykonaniu wspomnianej czynności wyświetlone zostanie kolejne okno (Rys. 4). Umożliwia ono wybór platformy debugowania (po lewej stronie) oraz typu programowanego mikrokontrolera (po prawej stronie). Należy wybrać platformę AVR Simulator oraz mikrokontroler ATmega8535, a następnie kliknąć przycisk z napisem Finish. Następnie wyświetlone zostanie okno główne programu (Rys. 5). Rys. 4. Okno wyboru platformy debugowania oraz typu mikrokontrolera 6
7 7 Rys. 5. Widok okna głównego programu AVR Studio 4 Po lewej stronie znajduje się okno zawierające informacje dotyczące najważniejszych rejestrów mikrokontrolera (np. wskaźnik wierzchołka stosu - Stack Pointer, rejestr statusu SREG itd.) oraz rejestrów ogólnego przeznaczenia (R0..31). W oknie po prawej stronie znajduje się lista wszystkich rejestrów I/O mikrokontrolera. Kod programu wpisywany jest w centralnym polu. Po zakończeniu pisania kodu, program należy poddać kompilacji. W tym celu należy kliknąć przycisk (Assemble) lub nacisnąć klawisz F7. W wypadku gdy chcemy zasymulować działanie napisanego programu (tryb debugowania) należy kliknąć przycisk (Assemble and Run) lub wcisnąć kombinację klawiszy Ctrl+F7. Podczas trwania symulacji (Rys. 6) kolejna instrukcja, która będzie wykonana zaznaczona jest przez strzałkę znajdującą się po lewej stronie okna kodu programu. Aby przejść do kolejnej linijki kodu (symulacja wykonania instrukcji przez mikrokontroler) należy kliknąć ikonę znajdującą się w górnym menu lub nacisnąć klawisz F11. W trakcie trwania symulacji można przeglądać aktualne wartości wszystkich rejestrów mikrokontrolera na każdym etapie działania programu. Wartości zmienione w ostatnim kroku podświetlane są kolorem czerwonym. 7
8 8 Rys. 6. Widok okna głównego programu AVR Studio 4 w trakcie debugowania (symulacji) Po przeprowadzeniu kompilacji oprogramowanie AVR Studio 4 generuje plik o takiej samej nazwie jak projekt i rozszerzeniu hex. Jest to plik wsadowy w formacie INTEL dla programu PonyProg Obsługa programu PonyProg2000 Wygenerowany plik.hex należy otworzyć w programie PonyProg2000 przez kliknięcie ikony (górne menu obrazkowe) lub klikając File w górnym menu, a następnie Open Device File. Po otwarciu pliku.hex w polu edycyjnym wyświetlona zostanie zawartość tego pliku (Rys. 7). Przed wpisaniem programu do mikrokontrolera należy sprawdzić czy PonyProg2000 jest właściwie skonfigurowany. Po prawej stronie górnego menu obrazkowego powinno być wybrane AVR micro oraz ATmega8535. Jeżeli PonyProg2000 jest skonfigurowany poprawnie można zapisać program do mikrokontrolera uprzednio podłączając przewód LPT do odpowiedniego portu na makiecie dydaktycznej. Wpisanie programu do mikrokontrolera odbywa się po kliknięciu ikony (Write Device) w dolnym menu obrazkowym. W wypadku gdy mikrokontroler miał już wcześniej zapisany program po kliknięciu ikony Write Device nastąpi nadpisanie starego programu nowym. 8
9 9 Rys. 7. Widok okna głównego programu PonyProg2000 Za pomocą programu PonyProg2000 można również sprawdzić i zmienić ustawienia tzw. FUSE bitów informujący m. in. o źródle i częstotliwości taktowania. W celu oczytania konfiguracji FUSE bitów należy kliknąć ikonę i po pojawieniu się nowego okna kliknąć Read (Uwaga: puste pole przy bicie oznacza, że jest on w stanie wysokim). Konfiguracji FUSE-bitów NIE WOLNO zmieniać bez zgody prowadzącego zajęcia laboratoryjne! 3. Programowanie portów mikrokontrolera Mikrokontroler ATmega8535 zawiera 64 rejestry specjalne i 32 rejestry uniwersalne. Nazwy rejestrów specjalnych są zdefiniowane i związane są z funkcją jaką te rejestry pełnią, bądź ze sprzętem którego pracę konfigurują (np. rejestr statusu SREG, rejestry DDRx, PORTx, PINx portów I/O,). Natomiast nazwy rejestrów uniwersalnych składają się z numeru rejestru (od 0 do 31) poprzedzonych literą R (np. R16). Aby móc korzystać ze zdefiniowanych nazw rejestrów należy program rozpocząć dyrektywą:.include "m8535def.inc" 9
10 10 Rejestry specjalne służą do konfigurowania i sterowania pracą peryferii mikrokontrolera (np. portów, liczników, przetwornika analogowo-cyfrowego, itd.). Operacje arytmetycznologiczne mogą być wykonywane tylko na rejestrach uniwersalnych. Rejestry te są używane również do programowania (konfigurowania) rejestrów specjalnych. Praktycznie wszystkie rejestry mikrokontrolera ATmega8535 są 8 bitowe (poza nielicznymi wyjątkami). Jednym z podstawowych peryferii każdego mikrokontrolera są porty. Służą one między innymi do wysyłania i odbierania danych przez mikrokontroler. Układ ATmega8535 wyposażony jest w 4 porty (A, B, C i D). Do konfiguracji kierunku portu (wejście/wyjście) służy rejestr specjalny DDRx (gdzie x to nazwa portu np. dla portu A rejestr będzie nosił nazwę DDRA). Aby skonfigurować port A jako wyjście należy wpisać w odpowiednie miejsce w rejestrze DDRA wartość logiczną 1. Jeżeli wpisana zostanie wartość logiczna 0 to dana linia portu będzie skonfigurowana jako wejście. Do wpisywania wartości do rejestrów służy między innymi komenda ldi jednak nie można wykorzystać jej do bezpośredniego konfigurowania rejestrów specjalnych oraz rejestrów uniwersalnych od R0 do R15. Oznacza to, że zapis: ldi DDRA, 0b spowoduje błąd podczas kompilacji programu. Poprawnie konfiguracja portu odbywa się za pośrednictwem rejestru uniwersalnego R16..31, np.: ldi R16, 0b out DDRA, R16 Użyta powyżej komenda out powoduje przepisanie wartości z rejestru uniwersalnego R16 do specjalnego DDRA. Możliwe jest skonfigurowanie portu jako wejściowo-wyjściowego: ldi R16, 0b out DDRA, R16 taki zapis spowoduje, że połowa portu A będzie wyjściem (młodsza część portu linie 0..3), pozostała część będzie wejściem (starsza część portu linie 4..7). W wypadku pracy portu jako wejścia stany logiczne odpowiadający sygnałom dostarczonym z zewnątrz do linii portu są wpisywane przez mikrokontroler do rejestru PINx. Aby odczytać wartość z portu i zapisać ją do rejestru uniwersalnego należy użyć instrukcji in: 10
11 11 ldi R16, 0b \\wpisz do rejestru R16 out DDRA, R16 \\cały port A ustawiony jako wejście in R17, PINA \\przepisanie wartości z rej. PINA do R17 Jeżeli port pracuje jako wyjście to wysyłane nim dane należy wpisywać do rejestru PORTx. W wypadku wysyłania danych np. portem A należy użyć polecania out:.include "m8535def.inc" ldi R16, 0b \\załaduj do R16 out DDRA, R16 \\cały port A ustawiony jako wyjście ldi R17, 0b \\załaduj do R17 out PORTA, R17 \\wyślij zawartość R17 portem A Wpisanie powyższego programu do mikrokontrolera i podłączenie jego portu A z wejściami sterującymi pracą diod LED na makiecie (Rys. 8) spowoduje, że zaświeci się co druga dioda (D1, D3, D5, D7). Rys. 8. Schemat podłączenia portu A mikrokontrolera z wejściami diod LED 11
12 12 Powyższy program z punktu widzenia formalnego jest poprawny, natomiast z punktu widzenia praktycznego zawiera drobną usterkę mogącą spowodować nieprzewidywalne zachowanie układu. Sprawa dotyczy zachowania mikrokontrolera po wykonaniu ostatniej instrukcji programu. Po wykonaniu instrukcji out PORTA, R17 \\wyślij zawartość R17 portem A mikrokontroler wykona bowiem kolejną instrukcję zapisaną w pamięci programu. W szczególności może być tam zapisana instrukcja z programu, który wpisany był do pamięci przez poprzednie osoby używające tej makiety, np. zapisanie rejestru PORTA wartości zerowej. Aby poprawnie zatrzymać działanie mikrokontrolera po wykonaniu programu należy w końcowej jego części umieścić zapętlenie (informacje dotyczące wyjaśnienia użytego mechanizmu znajdują się w dalszej części instrukcji): zatrzymaj: rjmp, zatrzymaj \\skocz do etykiety zatrzymaj 4. Programowanie pętli, skoków i procedur Mikrokontroler wykonuje program kolejno rozkaz po rozkazie. Aby zaburzyć taką pracę należy zastosować jedną z dostępnych funkcji skoku. Wywołanie jej spowoduje skok (przejście) w wybrane (wskazane) miejsce programu. Miejsce, od którego ma zostać przeniesione wykonywanie programu zaznacza się w programie etykietą. Etykieta może mieć dowolną nazwę i powinna kończyć się dwukropkiem (:). W kodzie programu nie mogą występować dwie identyczne etykiety. Jedną z instrukcji umożliwiających skok warunkowy do wybranego miejsca w programie jest BRNE. Instrukcja ta powoduje skok do miejsca oznaczonego etykietą jeżeli wartość ostatnio zmienianego rejestru uniwersalnego nie jest równa (instrukcja ta testuje wartość logiczną flagi Z rejestru SREG). W chwili wyzerowania aktualnie używanego przez ALU rejestru uniwersalnego ustawiana jest flaga Z w rejestrze SREG i wówczas wywołanie instrukcji BRNE nie powoduje wykonania skoku, wykonywana jest kolejna instrukcja umieszczona w kodzie programu po instrukcji BRNE. Instrukcja BRNE może posłużyć do 12
13 13 konstrukcji pętli opóźniającej. Pętla taka może być wykorzystana np. w programie sterującym pracą diod LED na makiecie. Program powodujący cykliczne zaświecanie i gaszenie wszystkich diod LED może mieć postać:.include "m8535def.inc" ldi R16, 0b ldi R17, 0b out DDRA, R16 powtorz: out PORTA, R16 out PORTA, R17 rjmp powtorz Dla tak napisanego programu diody będą mrugać z częstotliwością w przybliżeniu równą połowie częstotliwości pracy mikrokontrolera. W wypadku mikrokontrolera ATmega8535 umieszczonego na makiecie jest ona na tyle wysoka (3,686 MHz), że niemożliwe jest dostrzeżenie za pomocą ludzkiego oka zaprogramowanego gaszenia i zaświecania diod LED. Widoczny efekt mrugania diod można osiągnąć przez uzupełnienie programu o pętlę opóźniającą: ldi R16, 0b \\wypełnij rejestr R16 delay: \\etykieta o nazwie delay dec R16 \\zmniejsz wartość R16 o 1 brne delay \\skocz do delay jeżeli ostatnio \\ zmieniony rejestr (R16) \\nie jest równy 0 Wykonanie tak skonstruowanej pętli opóźniającej zajmie mikrokontrolerowi cykli zegarowych. Pętle należy umieścić dwukrotnie w kodzie - po instrukcjach zaświecających i gaszących diody LED. 13
14 14 Oszacować: Czy takie opóźnienie jest wystarczające, aby je zauważyć? Jeśli nie zaproponować kod dla pętli zagnieżdżonej. Jednak przygotowany w taki sposób program traci na przejrzystości. Dlatego lepszym rozwiązaniem jest zastosowanie podprogramu. W wypadku języka Assembler podprogram musi rozpocząć się etykietą i zakończyć instrukcją RET. Aby wywołać odpowiedni podprogram należy jego etykietę poprzedzić np. instrukcją RCALL: rcall podprogram_opoznienie \\ skok do miejsca \\oznaczonego etykietą \\ podprogram_opoznienie Jednak, aby móc użyć instrukcji RCALL należy uprzednio dokonać inicjalizacji stosu. Instrukcja RCALL jest to funkcja skoku z tzw. śladem oznacza to, że w momencie wywołania skoku w pamięci mikrokontrolera (na tzw. stosie) zapisywany jest adres powrotu. Program wraca do punktu z którego nastąpiło wywołanie podprogramu, gdy w podprogramie natrafi na komendę RET. Ponieważ adres powrotu zapisywany jest na stosie, niezbędne jest zainicjalizowanie wskaźnika wierzchołka stosu (Stack Pointer). Uzyskuje się to następującą sekwencją instrukcji: ldi R16,low(RAMEND) \\inicjalizacja stosu out SPL, R16 ldi R16,high(RAMEND) out SPH, R16 RAMEND jest stałą 16-bitową w której przechowywany jest adres wierzchołka stosu. Rejestry SPL (Stack Pointer Low) oraz SPH (Stack Pointer High) są rejestrami do których zapisywana jest młodsza (low) oraz starsza (high) część adresu wskaźnika wierzchołka stosu. Wspomniany fragment kodu powinien zawsze znajdować się na początku programu zaraz za dyrektywami Assemblera (instrukcje rozpoczynające się kropką np..include). Zmodyfikowany kod programu powodujący cykliczne zaświecanie i gaszenie diod LED z wykorzystaniem podprogramów może mieć postać: 14
15 15 ldi R16, 0b ldi R17, 0b \\ dyrektywy, stos, konf. portów, itd. powtorz: out PORTA, R16 rcall delay0 out PORTA, R17 rcall delay0 rjmp powtorz \\ program główny \\ zaświeć diody \\ wywołanie podprogramu delay0 \\ zgas diody \\ zapętlenie program głównego delay0: ldi R18, 0b delay0_1: dec R18 brne delay0_1 ret \\wyjście z podprogramu \\do programu głównego Oszacować: Czy takie opóźnienie jest wystarczające, aby je zauważyć? Jeśli nie zaproponować kod dla pętli zagnieżdżonej. 15
16 16 5. Obsługa przycisków Schemat podłączenia pojedynczego przycisku do mikrokontrolera przedstawiono na Rys. 9. Który przycisk został wybrany? Rys. 9. Podłączenie przycisku do mikrokontrolera na makiecie dydaktycznej Aby uniknąć problemów z indukowaniem się zakłóceń elektromagnetycznych (np. sygnały z nadajników telefonów komórkowych) w liniach portów mikrokontrolera używanych jako wejścia dobrą praktyką jest użycie mechanizmu pull-up, który podciąga (brak lepszego odpowiednika w języku polskim) ustala stan logiczny 1 wybranych linii portów. Uruchomienie mechanizmu pull-up można zainicjalizować w kodzie programu w następujący sposób: ldi R16, 0 out DDRA, R16 ldi R16, 255 out PORTA, R16 \\port A jako wejście \\pull-up na wszystkich liniach portu A W tej sytuacji ustalone zostały wysokie stany logiczne na wszystkich liniach portu A i możliwe jest tylko wykrywanie przez mikrokontroler zewnętrze ustalenie linii w stan niski. 16
17 17 Należy zatem jedno wyprowadzenie przycisku zwiernego z klawiatury należy podłączyć do portu mikrokontrolera. Natomiast drugie wyprowadzenie należy podłączyć do GND (stan logiczny 0 ). Linia portu do której podłączony jest przycisk powinna być skonfigurowana jako wejście. Przy właściwym podłączeniu wciśnięcie przycisku spowoduje ustalenie potencjału GND na odpowiedniej linii portu. Wykrycie przez mikrokontroler wciśnięcia przycisku realizuje się przez obserwację stanu logicznego na linii portu, do której to podłączony jest przycisk. Do wykrywania wciśnięcia przycisku można posłużyć się na przykład instrukcjami SBIC, SBIS, SBRC, SBRS. Dwie pierwsze instrukcje przeznaczone są dla rejestrów specjalnych, a dwie kolejne dla rejestrów uniwersalnych. Polecenie SBIC/SBRC powoduje pominięcie kolejnej linijki kodu jeżeli odpowiedni bit w wybranym rejestrze jest równy 0. Komendy SBIS/SBRS działają w analogiczny sposób, z tą różnicą że kolejna linijka jest pomijana jeżeli wybrany bit jest równy 1. Składnia każdego z poleceń jest identyczna i wygląda w następujący sposób: sbic nazwa_rejestru_i/o, nr_bitu_w_rejestrze Przykładowy fragment kodu powodującego zaświecenie diody LED gdy przycisk został wciśnięty i zgaszenie gdy został zwolniony: \\dyrektywy, konfiguracja portów itd. ldi R16,0b out DDRA, R16 \\linia 1 ustawiona jako wy., pozostałe na we. przycisk: ldi R17,0b \\ wł. pull-up na wejsciach out PORTA, R17 \\ dioda podłączona do pinu 1 (zgaszona) sbic PINA, 0 \\ sprawdź czy na pinie 0 portu A jest 0 \\ (do pin 0 na porcie A podłączony \\ jest przycisk) rjmp przycisk \\ jeżeli wciśnięty to ta linijka jest pomijana rjmp zaswiec \\ jeżeli wciśnięty skocz do zaswiec 17
18 18 zaswiec: ldi R16,0b \\ustaw 1 na wy i włącz pull-up na we. out PORTA, R16 \\zaswiec diodę podłączoną do linii 1 portu A rjmp przycisk 6. Obsługa wyświetlacza 7-segmentowego (zewnętrznego) Wyświetlacz ten służy do wyświetlania liczb dziesiętnych oraz niektórych liter. Składa się z siedmiu segmentów odpowiedzialnych za wyświetlanie liczby lub litery oraz pojedynczego segmentu będącego kropką. Wyświetlacz wyposażony jest w wyprowadzenia zapewniające zasilanie oraz umożliwiające sterowanie każdym segmentem niezależenie. Wyświetlacz używany podczas zajęć laboratoryjnych posiada 9 wyprowadzeń umieszczony na niewielkiej płytce PCB, dołączany do makiety za pośrednictwem przewodów. Schemat wyświetlacza siedmiosegmentowego przedstawiono na Rys. 10. Rys. 2. Schemat wyświetlacza siedmiosegmentowego Do obsługi pojedynczego wyświetlacza siedmiosegmentowego z kropką wystarcza jeden bajt. Sposób podłączenia poszczególnych segmentów do bitów sterujących może być dowolny. W zależności czy kodowany wyświetlacz jest układem ze wspólną katodą (WK) lub wspólną anodą (WA) należy jego dziewiąty pin (środkowy w dolnym rzędzie) podłączyć do GND lub Vcc. Dla układu WK podanie stanu wysokiego ( 1 ) na pin wyświetlacza spowoduje zaświecenie wybranego segmentu, a stanu niskiego ( 0 ) jego zgaszenie. W wyświetlaczach WA jest odwrotnie. Poniżej zamieszczono przykładowy kod powodujący cykliczne zaświecanie i gaszenie wszystkich segmentów wyświetlacza siedmiosegmentowego: 18
19 19 \\ dyrektywy, itd. ldi R16, 0b out DDRA, R16 \\ port A ustawiony jako wyjście zapal: out PORTA, R16 \\ wysyłanie 1 do segmentów wyświetlacza WK rcall delay0 \\ opóźnienie zgas: ldi R17, 0b out PORTA, R17 \\ wysyłanie 0 do segmentów wyświetlacza WK rcall delay0 rjmp zapal \\ po opóźnieniu skocz do zapal delay0: \\ pętla opóźniająca ret 7. Przerwania zewnętrzne (INT0, INT1) Przerwaniem nazywamy sygnał powodujący wstrzymanie aktualnie wykonywanego przez mikrokontroler programu i wykonanie programu obsługi przerwania. Po obsłużeniu przerwania mikrokontroler powraca do wykonywania programu w miejscu, w którym nastąpiło przerwanie. Przerwania dzielimy na zewnętrzne oraz wewnętrzne. W pierwszym przypadku sygnał przerwania pochodzi od zewnętrznego urządzenia podłączonego do odpowiednich linii mikrokontrolera. Dla mikrokontrolera ATmega8535 sygnał przerwania zewnętrznego powinien być podłączony do linii 2 (przerwanie INT0) lub 3 (przerwanie INT1) portu D. Przerwania wewnętrzne mogą być wywoływane przez wybrane peryferia mikrokontrolera (np. licznik, przetwornik analogowy-cyfrowy, itd.). 19
20 20 W wypadku równoczesnego (w tym samym cyklu zegarowym) wystąpienia się dwóch (lub więcej) przerwań obsługiwane jest przerwanie o wyższym priorytecie. Wykaz wszystkich przerwań oraz ich priorytetów można znaleźć w Tab. 19 (s. 46) dokumentacji układu ATmega8535. We wspomnianej tabeli można odszukać również adres do umieszczenia programu obsługi przerwania. Na przykład w wypadku przerwania RESET program przejdzie do instrukcji umieszczonej pod adresem 0x000 (czyli na początek programu). W wypadku gdy w programie przewidujemy występowanie przerwań innych niż RESET niezbędne jest uporządkowanie jego struktury za pomocą dyrektywy.org. Dyrektywa ta umożliwia nadanie konkretnego adresu występującej po niej linijce kodu, np.:.org $000 rjmp przerwanie1 \\ ta linijka ma adres $000.org $013 rjmp przerwanie2 \\ a ta linijka będzie mieć adres $013 Stosując dyrektywę.org należy pamiętać, że nie można używać dwa razy tego samego adresu w jednym programie, np.:.org $000 rjmp przerwanie1.org $000 rjmp przerwanie2 \\ TAK JEST ŹLE Wartość adresu po dyrektywie.org może tylko wzrastać w kolejnych linijkach kodu, np.: ŹLE DOBRZE.org $013.org $000 rjmp etykieta1 rjmp etykieta2.org $000.org $013 rjmp etykieta2 rjmp etykieta1 20
21 21 Powrót z programu obsługi przerwania następuję przez użycie instrukcji RETI. Do prawidłowego działania programu wykorzystującego przerwania niezbędna jest inicjalizacja stosu. Aby móc korzystać z przerwań zewnętrznych należy je odblokować w rejestrze GICR (General Interrupt Control Register): bit INT1 INT0 INT IVSEL IVCE GICR Odblokowanie wybranego przerwania odbywa się poprzez ustawienie właściwego bitu w rejestrze GICR. W przypadku przerwań zewnętrznych INT1 i INT0 są to odpowiednio bity 7 i 6. Po odblokowaniu odpowiedniego przerwania/przerwań należy wskazać sygnał wyzwalający przerwanie zewnętrzne. W tym celu należy skonfigurować rejestr MCUCR: bit SM2 SE SM1 SM0 ISC11 ISC10 ISC01 ISC00 MCUCR Bity ISC11 oraz ISC10 używane są do konfigurowania sygnału wyzwalającego przerwania INT1, a bity ISC01 oraz ISC00 dla przerwania INT0. Sygnały wyzwalające przerwanie zewnętrzne oraz odpowiadające im kombinacje bitów ISCx0 i ISCx1 przedstawiono poniżej: ISCx1 ISCx0 Sygnał wyzwalający 0 0 Niski poziom na linii INT1/0 0 1 Zmiana stanu logicznego na linii INT1/0 1 0 Opadające zbocze na linii INT1/0 1 1 Narastające zbocze na linii INT1/0 Po skonfigurowaniu rejestrów GICR oraz MCUCR należy odblokować przerwania globalnie. Odbywa się to przez ustawieniu 7 bitu (Interrupt) w rejestrze SREG. Można zrobić to za pomocą instrukcji SEI lub przez zapis: sbi SREG, 7 \\ustaw bit 7 w SREG Należy pamiętać, że wyprowadzenia portu (D) do których dostarczany jest sygnał przerwania powinny być skonfigurowane jako wejściowe i musi być na nich ustawiony pull-up. 21
22 22 Przykładowy program wykorzystujący przerwanie zewnętrzne przedstawiono poniżej:.include "m8535def.inc".org $000 rjmp start.org $001 rjmp przerw0 \\ adres RESET \\ adres przerwania INT0 start: ldi R16, low(ramend) out SPL, R16 ldi R16, high(ramend) out SPH, R16 ldi R16,0b out DDRD, R16 ldi R16,0b out PORTD, R16 \\ port D jest wyjściem \\ pull-up na porcie D ldi R16, 0b out GICR, R16 ldi R16, 0b out MCUCR, R16 sei \\ konfiguracja przerwań \\ odblokowanie przerwania INT0 \\ przerwanie INT0 wywołane \\ zmianą stanu na linii PD2 \\ globalne odblokowanie przerwań prog_glowny: \\ program główny rjmp prog_glowny przerw0: reti \\ program obsługi przerwania od INT0 22
23 23 8. Przykładowe zadania 1) Napisać program wyświetlający nr indeksu na wyświetlaczu siedmiosegmentowym (cyfra po cyfrze). Wskazówka: zmodyfikować pętlę opóźniającą w taki sposób aby opóźnienie wyniosło 3 x 255 x 255 cykli zegarowych. 2) Napisać program obsługujący 4 przyciski. Po wciśnięciu każdego z przycisków na wyświetlaczu siedmiosegmentowym pojawi się inna cyfra/litera. 3) Napisać program który będzie zliczał ile razy został wciśnięty przycisk. Wynik zliczania będzie wyświetlany na: a. linijce diod, b. wyświetlaczu siedmiosegmentowym. Wskazówka: wykorzystać komendy ROL/ROR, MOV. 4) Napisać program który zaświeci jedną z ośmiu diod. Po wciśnięciu jednego przycisku zaświecona dioda przesunie się w lewą stronę, a po wciśnięciu drugiego przycisku w prawo. Program zrealizować wykorzystując: a. instrukcje SBIC/SBIS lub SBRC/SBRS, b. przerwania zewnętrzne INT0, INT1. Wskazówka: wykorzystać polecenia ROL, ROR 23
Mikroprocesory i Mikrosterowniki Laboratorium
Laboratorium Ćwiczenie 1 Porty I/O (we/wy) Przerwania zewnętrzne Program ćwiczenia: wprowadzenie do tematyki programowania mikrokontrolerów, podstawy programowania w asemblerze, obsługa portów we/wy, obsługa
Bardziej szczegółowoMikrokontrolery 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ółowoInstytut 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ółowoCwiczenie 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ółowoNiektóre piny mogą pełnić różne role, zależnie od aktualnej wartości sygnałów sterujących.
Podłączenie mikrokontrolera ATmega8: zasilanie 8 i 22
Bardziej szczegółowoTechniki mikroprocesorowe i systemy wbudowane
Techniki mikroprocesorowe i systemy wbudowane Wykład 1 Procesory rodziny AVR ATmega. Wstęp Wojciech Kordecki wojciech.kordecki@pwsz-legnica.eu Państwowa Wyższa Szkoła Zawodowa im. Witelona w Legnicy Wydział
Bardziej szczegółowoSchemat 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ółowoPodstawowe 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ółowoKOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA
Mikrokontrolery AVR KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA Wyprowadzenia Każdy z mikrokontrolerów posiada pewną liczbę wyprowadzeń cyfrowych które służą do wprowadzania i odbierania informacji z mikrokontrolera.
Bardziej szczegółowoInstytut 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ółowo2. 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ółowoMultiTool 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ółowoTechnika 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ółowoMikrokontroler 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ółowoKomunikacja 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ółowointerfejs szeregowy wyświetlaczy do systemów PLC
LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych
Bardziej szczegółowoimei 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ółowoInstrukcja 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ółowoInstrukcja obsługi. PROGRAMATOR dualavr. redflu Tarnów
2008 Instrukcja obsługi PROGRAMATOR dualavr redflu Tarnów 1. Instalacja. Do podłączenia programatora z PC wykorzystywany jest przewód USB A-B (często spotykany przy drukarkach). Zalecane jest wykorzystanie
Bardziej szczegółowoPROGRAMOWALNE 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ółowoHardware mikrokontrolera X51
Hardware mikrokontrolera X51 Ryszard J. Barczyński, 2016 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Hardware mikrokontrolera X51 (zegar)
Bardziej szczegółowoOpis układów wykorzystanych w aplikacji
Opis układów wykorzystanych w aplikacji Układ 74LS164 jest rejestrem przesuwnym służącym do zamiany informacji szeregowej na równoległą. Układ, którego symbol logiczny pokazuje rysunek 1, posiada dwa wejścia
Bardziej szczegółowoInstrukcja 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ółowoLABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2
LABORATORIUM - ELEKTRONIKA Układy mikroprocesorowe cz.2 1. Cel ćwiczenia Celem ćwiczenia jest pokazanie budowy systemów opartych na układach Arduino. W tej części nauczymy się podłączać różne czujników,
Bardziej szczegółowoInstytut 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Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED
Ćwiczenie 2 Siedmiosegmentowy wyświetlacz LED 2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się studentów ze sposobem obsługi wielopozycyjnego 7-segmentowego wyświetlacza LED multipleksowanego programowo
Bardziej szczegółowoSterowanie urządzeniami elektronicznymi przy użyciu portu LPT
Romanek Wojciech kl. IV d Dokumentacja techniczna projektu: Sterowanie urządzeniami elektronicznymi przy użyciu portu LPT Zespół Szkół Elektronicznych w Rzeszowie 16 kwietnia 2007 1 Spis treści: Wstęp...
Bardziej szczegółowoProgramowanie mikrokontrolerów. 5 grudnia 2007
Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 5 grudnia 2007 Przerwania Umożliwiają asynchroniczną obsługę różnych zdarzeń, np.: zmiana stanu wejścia, zakończenie przetwarzania analogowo-cyfrowego,
Bardziej szczegółowoSystemy 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ółowodokument 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ółowoPoradnik 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ółowoPodstawy 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ółowoParametryzacja 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ółowoMikroprocesory i Mikrosterowniki
Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,
Bardziej szczegółowoMikroprocesory i Mikrosterowniki
Mikroprocesory i Mikrosterowniki Wykład 1 Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Konsultacje Pn,
Bardziej szczegółowoOrganizacja 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ółowoInstrukcja 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ółowoINSTRUKCJA 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ółowoWidok programatora PonyProgUSB wersja 1.0 oraz jego elementy przedstawiono na poniższym rysunku.
Telwis PonyProg USB INSTRUKCJA OBSŁUGI Widok programatora PonyProgUSB wersja 1.0 oraz jego elementy przedstawiono na poniższym rysunku. Program PonyProgUSB nie jest wersją instalacyjną. Uruchamiamy go
Bardziej szczegółowoTworzenie 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ółowoSigmaDSP - 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ółowoAVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)
AVR DRAGON INSTRUKCJA OBSŁUGI (wersja 1.0) ROZDZIAŁ 1. WSTĘP... 3 ROZDZIAŁ 2. ROZPOCZĘCIE PRACY Z AVR DRAGON... 5 ROZDZIAŁ 3. PROGRAMOWANIE... 8 ROZDZIAŁ 4. DEBUGOWANIE... 10 ROZDZIAŁ 5. SCHEMATY PODŁĄCZEŃ
Bardziej szczegółowoLaboratorium Komputerowe Systemy Pomiarowe
Jarosław Gliwiński, Łukasz Rogacz Laboratorium Komputerowe Systemy Pomiarowe ćw. Zastosowanie standardu VISA do obsługi interfejsu RS-232C Data wykonania: 03.04.08 Data oddania: 17.04.08 Celem ćwiczenia
Bardziej szczegółowoProgramowanie 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ółowoAVREVB1. 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ółowoElectronic 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ółowoLaboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie
Laboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie Ćwiczenie nr l Podstawy programowania mikrokontrolerów rodziny AVR8 opracował dr inż. Wojciech
Bardziej szczegółowoKomunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski
Komunikacja w mikrokontrolerach Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski Treść kursu Programowanie mikrokontrolerów AVR (ATMEL) Orientacja na komunikację międzyukładową w C Literatura
Bardziej szczegółowoSystemy 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ółowoMikroprocesory 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ółowoMikroprocesory i mikrosterowniki
Mikroprocesory i mikrosterowniki Wykład 1 wstęp, budowa mikrokontrolera Wydział Elektroniki Mikrosystemów i Fotoniki Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. Piotr Markowski
Bardziej szczegółowoPrzemysł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ółowoMOD Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.
MOD - 11 Xmega explore z ATXmega256A3BU Sklep firmowy: Kursy i instrukcje: Dokumentacje techniczne: Aplikacje i projekty: Aktualności: sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl
Bardziej szczegółowoSYSTEM PRZERWAŃ ATmega 32
Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA SYSTEM PRZERWAŃ ATmega 32 Opracował: mgr inż.
Bardziej szczegółowoSpis treœci. Co to jest mikrokontroler? Kody i liczby stosowane w systemach komputerowych. Podstawowe elementy logiczne
Spis treści 5 Spis treœci Co to jest mikrokontroler? Wprowadzenie... 11 Budowa systemu komputerowego... 12 Wejścia systemu komputerowego... 12 Wyjścia systemu komputerowego... 13 Jednostka centralna (CPU)...
Bardziej szczegółowoSML3 październik
SML3 październik 2005 35 160_7SEG2 Moduł zawiera dwupozycyjny 7-segmentowy wyświetlacz LED ze wspólną anodą, sterowany przez dwa dekodery HEX->7SEG zrealizowane w układach GAL16V8. Dekodery przypominają
Bardziej szczegółowoProgramator mikrokontrolerów AVR
Programator mikrokontrolerów AVR Marek SP9XUH www.sp9xuh.pl poczta@sp9xuh.pl Moja przygoda z mikrokontrolerami firmy ATMEL zaczęła się w 1999 roku od układu AT89C2051. Minęło parę lat, pojawiły się nowe
Bardziej szczegółowoProgramowanie 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ółowoWstę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ółowoInstrukcja 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ółowoCW-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ółowoInstrukcja 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ółowoPolitechnika 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ółowoSystemy 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ółowoWydział 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ółowoINSTRUKCJA OBSŁUGI PROGRAMATORA WILLEM
INSTRUKCJA OBSŁUGI PROGRAMATORA WILLEM INSTALACJA PROGRAMU: 1. Uruchamiamy program setup. Po chwili pojawi się okno powitalne. W celu kontynuowania instalacji klikamy na przycisk Next. 2. Wybieramy ścieżkę
Bardziej szczegółowoCentrala alarmowa ALOCK-1
Centrala alarmowa ALOCK-1 http://www.alarmlock.tv 1. Charakterystyka urządzenia Centrala alarmowa GSM jest urządzeniem umożliwiającym monitorowanie stanów wejść (czujniki otwarcia, czujki ruchu, itp.)
Bardziej szczegółowoPOLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRYCZNY KATEDRA ENERGOELEKTRYKI LABORATORIUM INTELIGENTNYCH INSTALACJI ELEKTRYCZNYCH
POLITECHNIKA WROCŁAWSKA WYDZIAŁ ELEKTRYCZNY KATEDRA ENERGOELEKTRYKI LABORATORIUM INTELIGENTNYCH INSTALACJI ELEKTRYCZNYCH Wprowadzenie do oprogramowania firmowego Eaton RF-System (na podstawie dokumentacji
Bardziej szczegółowoPolitechnika 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ółowoSzkolenia 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ółowoXMEGA. 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ółowoOpis 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ółowoBramki logiczne Instrukcja do ćwiczeń laboratoryjnych
Bramki logiczne Instrukcja do ćwiczeń laboratoryjnych. WSTĘP Celem ćwiczenia jest zapoznanie się z podstawowymi sposobami projektowania układów cyfrowych o zadanej funkcji logicznej, na przykładzie budowy
Bardziej szczegółowo1.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Ć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ółowo4. Karta modułu Slave
sygnały na magistralę. Można wyróżnić trzy typy układów scalonych takie jak bramki o otwartym kolektorze wyjściowym, bramki trójstanowe i bramki o przeciwsobnym wzmacniaczu wyjściowym. Obciążalność prądową
Bardziej szczegółowo1 Moduł Neuronu Cyfrowego SM
1 Moduł Neuronu Cyfrowego SM Moduł Neuronu Cyfrowego SM daje użytkownikowi Systemu Vision możliwość obsługi fizycznych urządzeń Neuronów Cyfrowych podłączonych do Sterownika Magistrali. Moduł odpowiada
Bardziej szczegółowoWarsztaty 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ółowoMikroprocesory i Mikrosterowniki Laboratorium
Laboratorium Ćwiczenie 2 Przetwornik analogowo/cyfrowy (ADC) Program ćwiczenia: obsługa przerwań, obsługa konwertera A/C. Zagadnienia do przygotowania: jak do ćwiczenia 1, rejestry i obsługa konwertera
Bardziej szczegółowoLABORATORIUM 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ółowoInż. Kamil Kujawski Inż. Krzysztof Krefta. Wykład w ramach zajęć Akademia ETI
Inż. Kamil Kujawski Inż. Krzysztof Krefta Wykład w ramach zajęć Akademia ETI Metody programowania Assembler Język C BASCOM Assembler kod maszynowy Zalety: Najbardziej efektywny Intencje programisty są
Bardziej szczegółowoInstrukcja obsługi programu PLOMP PLUS FM
Instrukcja obsługi programu PLOMP PLUS FM Edata Polska Sp. z o.o. ul. Puławska 314 02-819 Warszawa Tel 22 545-32-40 Fax 22 678-60-29 biuro@edatapolska.pl Ver 1.04 Aplikacja PLOMP PLUS FM przeznaczona jest
Bardziej szczegółowoOdczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku
Informator Techniczny nr 12 -- styczeń 2001 -- INFORMATOR TECHNICZNY GE FANUC Odczyt zegara ze sterownika do panelu serii TIU z możliwością korekty ustawień zegara w sterowniku Program w sterowniku W sterowniku
Bardziej szczegółowoAkademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki
Akademia Górniczo-Hutnicza w Krakowie Katedra Elektroniki Technika mikroprocesorowa Instrukcja 2 Pętle i instrukcje kontroli przepływu programu Autor: Paweł Russek Tłumaczenie: Marcin Pietroń http://www.fpga.agh.edu.pl/tm
Bardziej szczegółowowersja dokumentacji 1.00 Opis programu TeleTokenEdit
wersja dokumentacji 1.00 Opis programu TeleTokenEdit Spis treści INFORMACJE WSTĘPNE...1 ROZPOCZĘCIE PRACY Z PROGRAMEM...1 FORMATOWANIE TELETOKENU...2 PROGRAMOWANIE TELETOKENU...4 ZAKŁADKI W PROGRAMIE...5
Bardziej szczegółowoPodstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści
Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów...2 2. ISP...2 3. I/O Ports...3 4. External Interrupts...4 5. Analog Comparator...5 6. Analog-to-Digital Converter...6
Bardziej szczegółowo1.2 Schemat blokowy oraz opis sygnałów wejściowych i wyjściowych
Dodatek A Wyświetlacz LCD. Przeznaczenie i ogólna charakterystyka Wyświetlacz ciekłokrystaliczny HY-62F4 zastosowany w ćwiczeniu jest wyświetlaczem matrycowym zawierającym moduł kontrolera i układ wykonawczy
Bardziej szczegółowoProgramowanie 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ółowoWyś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ółowoAkademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET
Akademia Górniczo- Hutmicza w Krakowie Katedra Elektroniki WIET Technika mikroprocesorowa Instrukcja 3 Stos i podprogramy Autor: Paweł Russek Tłumaczenie: Marcin Pietroń http://www.fpga.agh.edu.pl/tm ver.
Bardziej szczegółowoDokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026"
Dokumentacja sterownika mikroprocesorowego "MIKSTER MCC 026" Sp. z o.o. 41-250 Czeladź ul. Wojkowicka 21 Tel. 032 763-77-77 Fax: 032 763-75-94 v.1.2 www.mikster.pl mikster@mikster.pl (14.11.2007) SPIS
Bardziej szczegółowoZL4PIC. 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ółowoZL2AVR. 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Ćwiczenie 4: Eksploatacja systemu kontroli dostępu jednego Przejścia REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU
REGIONALNE CENTRUM EDUKACJI ZAWODOWEJ W BIŁGORAJU R C E Z w B I Ł G O R A J U Eksploatacja URZĄDZEŃ ELEKTRONICZNYCH Ćwiczenie 4: Eksploatacja systemu kontroli dostępu jednego Przejścia Opracował mgr inż.
Bardziej szczegółowoProgramowanie w językach asemblera i C
Programowanie w językach asemblera i C Mariusz NOWAK Programowanie w językach asemblera i C (1) 1 Dodawanie dwóch liczb - program Napisać program, który zsumuje dwie liczby. Wynik dodawania należy wysłać
Bardziej szczegółowoSprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.
Sprawozdanie z projektu MARM Część druga Specyfikacja końcowa Prowadzący: dr. Mariusz Suchenek Autor: Dawid Kołcz Data: 01.02.16r. 1. Temat pracy: Układ diagnozujący układ tworzony jako praca magisterska.
Bardziej szczegółowoMOD - 11. Xmega explore z ATXmega256A3BU. sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl blog.modulowo.
MOD - 11 Xmega explore z ATXmega256A3BU Sklep firmowy: Kursy i instrukcje: Dokumentacje techniczne: Aplikacje i projekty: Aktualności: sklep.modulowo.pl akademia.modulowo.pl zestawy.modulowo.pl app.modulowo.pl
Bardziej szczegółowoTwinCAT 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ółowoInstrukcja 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ółowoMetody 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