1. Porty wejścia wyjścia (I/O)

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

Download "1. Porty wejścia wyjścia (I/O)"

Transkrypt

1 1. Porty wejścia wyjścia (I/O) Z uwagi na budowę wewnętrzną CPU, a w szczególności długość rejestrów i szerokość szyny danych porty mają najczęściej budowę 8-bitową. Niektóre z nich mogą pracować jako analogowe lub cyfrowe. Kierunek kaŝdego wyprowadzenia dowolnego portu moŝna ustalać niezaleŝnie od pozostałych i zmieniać w dowolnym momencie bez wpływu na pozostałe linie portu. Stosowną konfigurację moŝna zrealizować przy uŝyciu rozkazów SBI lub CBI. Te same rozkazy moŝna wykorzystać do zmiany poziomu na porcie wyjściowym lub włączenia/wyłączenia podciągania pull-up linii portu wejściowego Budowa portu B Port B w typowym mikrokontrolerze jest 8-bitowym, dwukierunkowym portem we/wy. Jest on dostępny przez 3 lokacje w przestrzeni we/wy mikrokontrolera: Pierwsza lokacja to rejestr danych (Data Register) PORTB adres $18 w przestrzeni we/wy lub $38 w obszarze pamięci wewnętrznej. Druga lokacja to rejestr konfiguracji kierunku (Data Direction Register) DDRB mający odpowiednie adresy: $17 ($37). Trzecia lokacja to rejestr wejściowy (Input Pins) PINB o adresach $16 ($36). Rejestr PINB moŝe być tylko odczytywany, PORTB i DDRB mogą być zarówno czytane jak i zapisywane. WaŜną cechą portu B jest to, Ŝe kaŝda jego linia ma indywidualnie wybierany rezystor podciągający do plusa" zasilania (pull-up). Do wszystkich wyprowadzeń PORTB moŝna dołączać diody LED jedynie poprzez rezystor ograniczający. Dopuszczalna obciąŝalność kaŝdego wyprowadzenia PORTB wynosi 20 ma w stanie niskim (dla Vcc = 5 V). Bezpośrednio sterowane diody LED powinny być włączone poprzez rezystor ograniczający pomiędzy plusem zasilania a portem wyjściowym (przykładowe sterowanie diodą LED przedstawiono na rysunku obok). Zaświecenie diody następuje po ustawieniu na wyjściu portu niskiego poziomu logicznego. 1

2 Jeśli wyprowadzenia PB0 do PB7 są wykorzystywane jako wejścia i są zewnętrznie podciągane do dołu, to stanowią źródło prądu wypływającego z portu, jeśli tylko są uaktywnione wewnętrzne rezystory podciągające. Większość linii portów ogólnego przeznaczenia pełni dodatkowe funkcje wykorzystywane do obsługi urządzeń peryferyjnych. Znaczenie funkcji alternatywnych portu B przedstawiono w tablicy 1.1. Tab. 1. Alternatywne funkcje portu B Wyprowadzenie portu PBO PB1 PB3 PB5 PB6 PB7 Funkcja alternatywna AINO (wejście nieodwracające komparatora analogowego) AIN1 (wejście odwracające komparatora analogowego) 0C1 (wyjście porównania dla Timera/Licznika1) MOSI (wejście danych dla programowania szeregowego) MISO (wyjście danych dla programowania szeregowego) SCK (wejście zegarowe dla programowania szeregowego) PORTB (Port B Data Register) - rejestr danych portu B - $18 Rejestr PORTB moŝe być zapisywany i odczytywany. Zawiera dane we/wy. DDRB (Port B Data Direction Register) - rejestr kierunku portu B - $17 Rejestr DDRB określa typ kaŝdej linii portu B. Linie mogą być skonfigurowane jako wejściowe lub wyjściowe. Dodatkowo ustawia się opcje związane z podciąganiem. 2

3 PINB (Port B Input Pin Address) - rejestr wejściowy portu B - $16 Rejestr PINB moŝe być tylko odczytywany. Jego zawartość odzwierciedla bezpośrednio stan wyprowadzeń mikrokontrolera przypisanych do portu B. Fizycznie nie jest to więc rejestr. Inaczej jest podczas bezpośredniego odczytu PORTB. Wówczas czytany jest stan zatrzasków portu B (Port B Data Latch) Port B jako cyfrowy port we/wy ogólnego przeznaczenia Jeśli poszczególne linie portu B są wykorzystywane jako wyprowadzenia cyfrowe ogólnego przeznaczenia, to są wzajemnie równowaŝne. Jeśli DDBn będzie ustawiony ( 1"), to wyprowadzenie PBn będzie skonfigurowane jako wyjściowe. Jeśli DDBn będzie wyzerowany ( 0"), wyprowadzenie PBn będzie skonfigurowane jako wejściowe. Wyprowadzenie PBn skonfigurowane jako wejściowe będzie się zachowywało róŝnie, w zaleŝności od stanu PORTBn. Jeśli bit PORTBn będzie ustawiony ( 1"), to linia wejściowa PBn będzie miała uaktywniony MOS-owy rezystor podciągający (pull-up). Taka konfiguracja świetnie nadaje się do obsługi np. zewnętrznej klawiatury, róŝnego rodzaju przełączników. Tab. 2. Wpływ ustawienia bitów DDBn i PORTBn na wyprowadzenia portu B DDBn PORTBn I/0 Podciąganie pull-up Uwagi 0 0 Wejście Brak Wysoka impedancja (high-z) 0 1 Wejście Jest PBn jest źródłem prądu, jeśli jest zewnętrznie podciągany do masy zasilania (pull-low) 1 0 Wyjście Brak Wyjście typu push-pull stan niski 1 1 Wyjście Brak Wyjście typu push-pull stan wysoki Po zerowaniu mikrokontrolera port B jest ustawiany w stan wysokiej impedancji, nawet wówczas, gdy nie jest aktywny zegar systemowy. 3

4 Przykład 1. Konfigurowanie portów mikrokontrolera w asemblerze.include "2313def.inc".def temp=r17 Idi temp, $af out ddrb, temp ;PB0 do PB3 oraz PB5 i PB7 - wyjścia ;pozostałe - wejścia Idi temp, 0xcf out portb, temp ;PB0 do PB3 i PB7 wyjście w stanie wysokim ;PB5 wyjście w stanie niskim ;PB4 wejście w stanie High-Z ;PB6 wejście podciągnięte do plusa Funkcje alternatywne portu B Wyprowadzenie portu B mogą spełniać takŝe następujące funkcje alternatywne: B7 - SCK: wejście zegarowe dla programowania szeregowego Do tego wejścia jest doprowadzany zewnętrzny przebieg zegarowy taktujący transferem danych podczas szeregowego programowania pamięci mikrokontrolera. B6 - MISO: wyjście danych dla programowania szeregowego Z tego wyjścia są przekazywane informacje z mikrokontrolera do programatora podczas szeregowego programowania pamięci. B5 - MOSI: wejście danych dla programowania szeregowego Do tego wejścia są przekazywane informacje z programatora do mikrokontrolera podczas szeregowego programowania pamięci. B3 - OC1: wyjście przechwytywania Wyjście OC1 jest wykorzystywane, gdy jest aktywna funkcja porównywania Timera/Licznika1. Pojawia się na nim stan wysoki, jeśli stan Timera/Licznika1 zrówna się z rejestrem OCR1A. Wyprowadzenie PB3 powinno być w takim przypadku skonfigurowane jako wyjście. 4

5 B1 - AIN1: wejście odwracające komparatora analogowego Jeśli wyprowadzenie to jest skonfigurowane jako wejście z wyłączonym podciąganiem (DDB1 jest wyzerowane ( 0") i PB1 jest wyzerowane ( 0")), wyprowadzenie AIN1 jest bezpośrednio dołączone do odwracającego wejścia komparatora analogowego zawartego w strukturze mikrokontrolera. B0 AIN0: wejście nieodwracające komparatora analogowego Analogicznie jak powyŝej Budowa linii portu B Na rysunkach przedstawiono schemat linii 1 i 2 portu B. Ich budowa wewnętrzna róŝni się ze względu na funkcje alternatywne. Rys. 1. Schemat linii 0 i 1 portu B 5

6 2. Pamięci nieulotne w mikrokontrolerach AVR W mikrokontrolerach AVR zastosowane są jednocześnie dwa rodzaje pamięci nieulotnych. Pamięć Flash pełniąca rolę pamięci programu i pamięć EEPROM słuŝąca jako pamięć danych, które powinny być zachowane po wyłączeniu zasilania, czyli do przechowywania parametrów konfiguracyjnych samego mikrokontrolera, opcji programu. Programowanie obu pamięci moŝe się odbywać bezpośrednio w systemie (bez potrzeby przenoszenia mikrokontrolera do programatora) Bity sterujące W układach AVR wprowadzono programowalne bity, które powszechnie nazywa się sterującymi. Jednym z ich rodzajów są bity konfiguracyjne (angielska nazwa,fuse bits" jest dość myląca), które umoŝliwiają niejako zmianę wariantu mikrokontrolera. Drugim rodzajem są bity zabezpieczające, które umoŝliwiają wprowadzenie układu w tryb ochrony wewnętrznej pamięci programu tak, aby uniemoŝliwić osobie niepowołanej (konkurencji) odczyt jej zawartości. Mimo, Ŝe bity sterujące nie znajdują się w przestrzeni pamięci programu, programuje się je stosując to samo urządzenie, którym ładuje się do mikrokontrolera program aplikacji. Wszystkie ustawienia mogą być zapisywane wielokrotnie i nie są zerowane w trakcie kasowania pamięci układu (operacji chip erase"), w przeciwieństwie do bitów zabezpieczających. Niestety, nie wszystkie bity konfiguracyjne dostępne są w trybie programowania szeregowego. Programowanie bitów sterujących polega na przypisywaniu im wartości logicznej 0. Bit sterujący, który nie jest zaprogramowany, ma zatem wartość 1. Sposób domyślnej (fabrycznej) konfiguracji jest określany w nocie katalogowej danego układu Bity konfiguracyjne (ang. fuse bits) Układy grupy ATmega mogą mieć dwa lub trzy bajty, w skład których wchodzą bity konfiguracyjne. Z uwagi na ich mnogość, przed zastosowaniem danego mikrokontrolera naleŝy prześledzić pod tym kątem jego dokumentację. W tabeli poniŝej przedstawiono zbiór bitów konfiguracyjnych, które w układach ATmega występują najczęściej. Poza wymienionymi, mikrokontrolery te mogą mieć przykładowo tzw. bity zgodności, które włączają tryb emulacji wypartego mikrokontrolera starszej generacji. 6

7 Tabela 3 Najczęściej spotykane bity konfiguracyjne Nazwa bitu Opis Typowa wartość domyślna BODEN Włącza układ zerujący mikrokontroler w przypadku nieodpowiedniego napięcia zasilania 1 (BOD wyłączony) BODLEVEL(2...0) Ustawia poziom zadziałania modutu BOD. Dobierany zaleŝnie od napięcia zasilania i rodzaju mikrokontrolera. 1 BOOTRST BOOTSZ1...0 Powoduje przeniesienie wektora inicjalizacyjnego na początek sekcji boot loadera Determinują wielkość sekcji boot loadera, która jest umieszczona na końcu pamięci flash 1 (standardowy wektor inicjalizacyjny) 00 CKDIV8 CKOPT CKSEL3...0 JTAGEN OCDEN W niektórych mikrokontrolerach włącza dzielenie zegara systemowego przez 8. Wymusza pracę oscylatora w pełnym zakresie napięć zasilania (ang. rail--to-rail). Zaprogramowania CKOPT zwiększa stabilność pracy generatora w trudnych warunkach elektromagnetycznych, powodując przy tym większe zuŝycie energii. Określają źródło zegara systemowego - umoŝliwiają wybór pomiędzy wewnętrznym oscylatorem RC, źródłem zewnętrznym, zewnętrznym układem RC, rezonatorem kwarcowym i ceramicznym Uaktywnia interfejs uruchomieniowy JTAG i przyporządkowuje mu port TAP, którego linie (TCK, TDO, TDI i TMS) nie mogą być wówczas wykorzystywane jako uniwersalne porty wejścia-wyjścia Włącza tryb uruchomieniowy (ang. On-Chip Debug), dostępny dzięki interfejsowi JTAG 0 (zegar dzielony przez 8) 1 (oscylacje ograniczone) 0001 lub 0010 (wewnętrzny oscylator RC) 0 (JTAG włączony) 1 (OCD zablokowane) RSTDISBL Determinuje tryb pracy wyprowadzenia RESET, które w niektórych mikrokontrolerach słuŝyć moŝe równieŝ jako port wejścia-wyjścia. Zaprogramowanie tego bitu uniemoŝliwia późniejsze programowanie szeregowe poprzez interfejs SPI. 1 (RESET działa jako wyprowadzenie zerujące) SPIEN SUT1...0 Wtacza moŝliwość odczytu i programowania pamięci układowej za pomocą interfejsu szeregowego SPI. Ustawia opóźnienie z jakim mikrokontroler zaczyna działać po dołączeniu zasilania tak, aby generator taktujący i napięcie zasilania miały czas na ustabilizowanie się (ang. start-up time). Ustawienie powinno być uzaleŝnione od zastosowanego źródła zegarowego 0 (SPI włączone) 10 7

8 Bity zabezpieczające (ang. lock bits) Zintegrowanie układu mikrokontrolera z pamięcią programu daje ciekawą moŝliwość, której dawniej - przy stosowaniu pamięci zewnętrznych - nie było. Producent urządzeń moŝe zabezpieczyć swoje produkty tak, aby odczyt ich oprogramowania nie był moŝliwy. Jest to o tyle waŝne, Ŝe w dzisiejszych czasach - przy mocno rozwiniętej konkurencji - moŝliwość skopiowania oprogramowania (na które poświęca się zazwyczaj najwięcej czasu) jest praktycznie niedopuszczalna. Mikrokontrolery AVR posiadają dwa lub sześć tzw. bitów zabezpieczających, które umoŝliwiają ograniczenie dostępu do pamięci programu. Po zaprogramowaniu układu, moŝemy za ich pomocą włączyć wybrany tryb ochrony. Tryb ten daje się później zmieniać, ale tylko w kierunku poziomów bardziej restrykcyjnych. Kasowanie omawianych bitów moŝliwe jest wyłącznie poprzez wykonanie operacji kasowania całej pamięci mikrokontrolera (ang. chip erase). Bity zabezpieczające moŝna podzielić na dwie podgrupy: bity zabezpieczające pamięć flash i EEPROM przed dostępem zewnętrznym (ang. Lock bits); zaliczają się do nich dwa znaczniki opisane symbolami LB1 i LB2; znaczenie róŝnych ich kombinacji przedstawiono w tabeli 1.4, bity ograniczające zakres działania instrukcji lpm i spm (ang. Boot Lock bits); do tej grupy zaliczają się znaczniki BLB01, BLB02, BLB11, BLB12; Bity zabezpieczające naleŝy zaprogramować po załadowaniu pamięci programu, pamięci EEPROM i ustawieniu bitów konfiguracyjnych. Tab. 4. Poziomy zabezpieczeń pamięci flash i EEPROM przy dostępie zewnętrznym LB2 LB1 Znaczenie 1 1 brak zabezpieczeń 1 0 zapis pamięci jest niedozwolony 0 0 zapis, odczyt i weryfikacja zawartości pamięci są niedozwolone 8

9 Sygnatury Wszystkie mikrokontrolery z rodziny AVR mają 3-bajtową sygnaturę identyfikacyjną typ układu. Sygnatura moŝe być odczytana zarówno podczas programowania równoległego jak i szeregowego. Dzięki temu, podczas programowania moŝna w wielu sytuacjach uniknąć błędu mogącego uszkodzić układ. Rozmieszczenie sygnatur w mikrokontrolerze AT90S2313 wygląda następująco: 1. $000: - $1E (identyfikator produktu Atmela), 2. $001: - $91 (identyfikator 2kB pamięci Flash), 3. $002: - $01 (identyfikator układu AT90S2313, jeśli sygnatura $001 ma wartość $91). Jeśli bity zabezpieczające są ustawione w trybie 3 (oba zaprogramowane), to odczyt sygnatur jest zablokowany w trybie szeregowym. Dla układu ATmega 8 sygnatury wynoszą: 0x1E 0x93 0x Programowanie szeregowe Pamięć programu (Flash) i nieulotna pamięć danych (EEPROM) mikrokontrolera mają rozdzielne przestrzenie adresowe: $ $03FF (Flash) i $000...$07F (EEPROM). Obydwa obszary mogą być programowane przy wykorzystaniu interfejsu SPI, który zawiera linie: SCK, MOSI (wejście), MISO (wyjście). Rys.2. Funkcje wyprowadzeń ISP Aby rozpocząć kasowanie/programowanie pamięci, linia RESET musi znajdować się w stanie niskim. Po spełnieniu tego warunku niezbędne jest wykonanie polecenia Programming Enable (zezwolenie na programowanie), zapobiegające ewentualnemu przypadkowemu wejściu w tryb programowania. Przed rozpoczęciem zapisu danych do pamięci EEPROM jest wykonywany automatyczny cykl kasowania, wykorzystujący układ wewnętrznego taktowania. Nie jest więc konieczne wywołanie polecenia Chip Erase. Operacja kasowania powoduje wypełnienie wszystkich komórek pamięci wartością $FF. 9

10 Zewnętrzny przebieg zegarowy moŝe być doprowadzony do wejścia XTAL1. MoŜna równieŝ wykorzystywać wbudowany w mikrokontroler oscylator, współpracujący z rezonatorem kwarcowym dołączonym do końcówek XT AL1 i XTAL2. Algorytm programowania szeregowego Podczas szeregowego przesyłania danych do mikrokontrolera, dane są odczytywane na narastającym zboczu zegara SCK. Odbiór danych z mikrokontrolera jest natomiast taktowany zboczem opadającym. Szczegóły przedstawiono na rysunku 3. Do programowania i weryfikacji pamięci wykorzystywane są 4-bajtowe polecenia. Zalecana jest następująca procedura: 1. Po włączeniu zasilania naleŝy doprowadzić napięcie zasilające do wyprowadzeń Vcc i GND, utrzymując przez ten czas linie RESET i SCK w stanie niskim. Jeśli rezonator kwarcowy nie jest dołączony do końcówek XTAL1i XTAL2, naleŝy zastosować zewnętrzny przebieg zegarowy doprowadzony do wejścia XTAL1. 2. Programowanie szeregowe nie będzie działać, jeśli nie nastąpi synchronizacja transmisji pomiędzy programatorem i mikrokontrolerem. W stanie synchronizmu, drugi bajt polecenia Programming Enable ($53) spowoduje zwrócenie trzeciego bajtu do programatora (echo). Jeśli odebrane echo będzie niepoprawne, naleŝy podać dodatni impuls SCK i ponownie wysłać polecenie Programming Enable. Brak poprawnej odpowiedzi po kodzie $53 utrzymujący się w 32 próbach nawiązania synchronizacji oznacza, Ŝe występują problemy z programowanym mikrokontrolerem, bądź z połączeniem pomiędzy nim a programatorem. Rys. 3. Przebiegi charakteryzujące programowanie szeregowe mikrokontrolera 10

11 Tab. 5. Formaty poleceń programowania szeregowego pamięci Flash i EEPROM Polecenie Zezwolenie na programowanie Format polecenia Bajt 1 Bajt 2 Bajt 3 Bajt xxxx xxxx xxxx xxxx Operacja Zezwolenie na programowanie szeregowe Kasowanie pamięci x xxxx xxxx xxxx xxxx xxxx Kasowanie pamięci Czytanie pamięci programu Zapis pamięci programu Czytanie pamięci EEPROM Zapis pamięci EEPROM Zapis bitów zabezpieczających 0010 H000 xxxx xxaa bbbb bbbb oooo oooo Czytanie H bajtu pamięci spod adresu a:b 0100 H000 xxxx xxaa bbbb bbbb i i i i i i i i Zapis H bajtu pamięci pod adres a:b xxxx xxxx xbbb bbbb oooo oooo Czytanie danej z EEPROM spod adresu b xxxx xxxx xbbb bbbb i i i i i i i i Zapis danej do EEPROM pod adres b x x21x xxxx xxxx xxxx xxxx Zapis bitów zabezpieczających (wyzerowanie danego bitu) Czytanie sygnatury xxxx xxxx xxxx xxbb oooo oooo Czytanie sygnatur spod adresu bb Uwagi: a= starsze bity adresu, b= młodsze bity adresu, H=0 młodszy bajt, H=1 starszy bajt, o=dane wyjściowe, i=dane wejściowe, x= wartość bitu bez znaczenia, 1=bit zabezpieczający1 3. Jeśli wykonano polecenie Chip Erase, naleŝy odczekać 8-18 ms, po czym wygenerować dodatni impuls na wejściu RESET. 4. Do zaprogramowania kaŝdego bajtu pamięci niezbędne jest przesłanie jego adresu oraz zawartości. Operację programowania moŝna przyspieszyć omijając adresy, które zawierają dane o wartości $FF. 5. Poprawność zapisu moŝna zweryfikować wykorzystując polecenie Read. Powoduje ono przesłanie zapisanej w pamięci danej z mikrokontrolera do programatora poprzez linię MISO (PB6). 6. Zakończenie programowania następuje po ustawieniu linii RESET w stan wysoki, rozpoczynając tym samym normalną pracę mikrokontrolera. 3. Timery/liczniki Większość mikrokontrolerów AVR wyposaŝona jest w co najmniej dwa układy licznikowe. WyróŜnić moŝna dwa podstawowe ich rodzaje: 8 i 16-bitowe. Liczniki 8-bitowe oznaczane są cyframi 0 i 2, natomiast 16-bitowe 1 i 3. 11

12 W celu rozszerzenia zakresu ich zliczania wprowadzono dodatkowy licznik 10-bitowy, pełniący funkcję wstępnego dzielnika impulsów taktujących. Jest to tzw. preskaler. Jego konfigurację pokazano na rysunku 4. Jeśli jest wykorzystywany sygnał CK aktywnego generatora (taktującego równieŝ mikrokontroler), to mamy do czynienia z timerem, natomiast gdy jest wykorzystywany sygnał zewnętrzny T0 (dla układu TC0) lub T1 (dla układu TC1), mówimy o funkcji licznika. Stopień podziału preskalera moŝe być ustawiony na jedną z czterech standardowych wartości, niezaleŝnie dla kaŝdego timera/licznika: CK/8, CK/64, CK/256, CK/1024. Liczniki/timery mogą być taktowane równieŝ sygnałem zegarowym bez podziału (CK/1). Rys. 4. Konfiguracja 10-bitowego preskalera słuŝącego do wytwarzania sygnałów zegarowych dla Liczników/Timerów bitowy Timer/Licznik0 Schemat blokowy układu TC0 przedstawiono na rysunku 5. Jest to 8-bitowy timer/licznik, który moŝe być taktowany bezpośrednio sygnałem CK (z oscylatora wewnętrznego), sygnałem CK podzielonym wstępnie przez preskaler oraz sygnałem z wejścia zewnętrznego T0. Układ TC0 moŝe być zatrzymany w dowolnym momencie poprzez wyzerowanie bitów sterujących CS02, CS01, CS00 znajdujących się w rejestrze sterującym tego timera/licznika TCCR0. 12

13 Jeśli układ TC0 jest skonfigurowany jako licznik, to zewnętrzny przebieg zegarowy nie taktuje go bezpośrednio, lecz jest synchronizowany sygnałem wewnętrznego oscylatora. W tym trybie sygnał zegarowy T0 jest próbkowany podczas narastającego zbocza wewnętrznego sygnału zegarowego. Maksymalna mierzona częstotliwość sygnału na wejściu T0 musi być mniejsza niŝ f XTAL /2. Układ TC0 dla małych stopni podziału preskalera cechuje się duŝą rozdzielczością i dokładnością. DuŜe stopnie podziału przydają się natomiast do generowania długich impulsów lub obsługi wolnozmiennych zdarzeń. Rys. 5. Schemat blokowy Timera/Licznika0 (TC0) W przypadkach, w których jest wymagany precyzyjny pomiar długich czasów, niezbędne staje się wprowadzenie dodatkowych mechanizmów programowych. Najczęściej będzie to dodatkowa zmienna programu zliczająca przerwania od timera/licznika. Zliczanie kończy się dopiero po osiągnięciu wymaganej liczby wejść do procedury obsługującej przerwanie. Timer/Licznik0 jest konfigurowany poprzez rejestr sterujący TCCR0. Flaga przepełnienia dla tego układu (TOV0) znajduje się w rejestrze TIFR (Timer/Counter Interrupt Flag Register). 13

14 TCCR0 (Timer/Counter0 Control Register) - rejestr sterujący Timera/Licznika0 - $33 B zarezerwowane. Te bity są zarezerwowane i zawsze odczytywane jako zero. B2...B0 - CS02, CS01, CS00 (Clock Select0, bity: 2, 1, 0): bity wyboru stopnia podziału preskalera oraz źródła sygnału taktującego i jego zbocza aktywnego dla licznika TC0. Występujący w tablicy 6 sygnał CK pochodzi z wewnętrznego generatora i jest to ten sam sygnał, który taktuje CPU. Skonfigurowanie układu TC0 jako licznik powoduje - jak juŝ wiadomo - zliczanie impulsów z wejścia T0. Dzieje się tak nawet wtedy, gdy wyprowadzenie mikrokontrolera PD4/T0 jest ustawione jako wyjście. Rozwiązanie takie umoŝliwia programową kontrolę zliczania. Na skutek przepełnienia Timera/Licznika0 moŝe być wygenerowane przerwanie, którego procedura obsługi jest umieszczona w pamięci programu pod adresem $006. Tab. 6. Konfiguracja układu Timera/Licznika0 CS02 CS01 CS00 Opis Stop układ TC0 jest zatrzymany Sygnał taktujący CK Sygnał taktujący CK/ Sygnał taktujący CK/ Sygnał taktujący CK/ Sygnał taktujący CK/ Sygnał taktujący: zewnętrzny sygnał T0, zbocze opadające Sygnał taktujący: zewnętrzny sygnał T0, zbocze narastające TCNT0 (Timer/Counter0) - rejestr Timera/Licznika0 - $32 Timer/Licznik0 zaprojektowano jako układ zliczający w górę. Rejestr TCNT0 przechowujący aktualny stan zliczania jest dostępny zarówno do zapisu jak i odczytu. 14

15 Jeśli zapis do tego rejestru nastąpi jednocześnie z impulsem zegarowym, najpierw zostanie zwiększony stan licznika, następnie zostanie dokonany wpis nowej wartości do rejestru. Osiągniecie stanu 0 jest traktowane jako przepełnienie. W tym momencie jest ustawiana flaga przepełnienia TOV0 sygnalizująca Ŝądanie obsługi przerwania. To czy zostanie ono zauwaŝone przez CPU zaleŝy od ustawienia bitu TOIE0 w rejestrze TIMSK (Timer/Counter Interrupt Mask Register) i bitu globalnego zezwolenia na przerwania I w rejestrze SREG bitowy Timer/Licznik1 Timer/licznik 16-bitowy jest znacznie bardziej rozbudowany niŝ omawiany poprzednio, moŝe w związku z tym spełniać dodatkowe funkcje. Schemat blokowy Timera/Licznika1 przedstawiono na rysunku 7. Timer/licznik moŝe być taktowany bezpośrednio sygnałem CK (z oscylatora wewnętrznego), sygnałem CK podzielonym wstępnie przez preskaler lub sygnałem z wejścia zewnętrznego T1. Układ TC1 moŝe być zatrzymany w dowolnym momencie poprzez wyzerowanie bitów sterujących CS12, CS11, CS10 znajdujących się w rejestrze sterującym tego timera/licznika - TCCR1B (Timer/Counter1 Control Register B). TCCR1B (Timer/Counter1 Control Register B) rej. sterujący B Timera/Licznika1 - $2E B7 ICNC1 (Input Capture 1 Noise Canceler): bit włączający/wyłączający układ eliminacji szumu w trybie porównania. B6 ICES1 (Input Capture Edge Select): bit określający zbocze sygnału wyzwalającego przechwytywanie. Jeśli bit ICES1 jest wyzerowany to przepisywanie zawartości rejestrów timera/licznika do rejestru ICR1 jest realizowane na opadającym zboczu wejściowego sygnału ICP. B2 B0 CS12, CS11, CS10 (Clock Select1, bity: 2,1,0): bity wyboru stopnia podziału preskalera oraz źródła sygnału taktującego i jego zbocza aktywnego. Konfiguracja bitów analogicznie jak dla Timera/Licznika0. 15

16 Rys. 7. Schemat blokowy Timera/Licznika1 (TC1) TCNT1H i TCNT1L (Timer/Counter1) rejestr Timera/Licznika1 - $2D/$2C 16-bitowy rejestr TCNT1 przechowuje aktualny stan Timera/Licznika1 TCNT1H starszy bajt, TCNT1L młodszy bajt. Jest zarówno dostępny do zapisu jak i odczytu. Gdy zapis do rejestru TCNT1 następuje w chwili wystąpienia impulsu zegarowego, najpierw będzie wykonane zliczenie, później zaś rejestr zostanie ustawiony zgodnie z zapisaną daną. 16

17 Jedną z interesujących funkcji Licznika/Timera1 jest moŝliwość przechwytywania (capture). Jeśli TC1 pracuje w tym trybie, to podanie impulsu wyzwalającego na wejście ICP powoduje przepisanie aktualnego stanu licznika TC1 do rejestrów ICR1H i ICR1L. Tak więc, po wyzwoleniu licznik zlicza w ustalonym cyklu, a jego stan w chwili wyzwolenia został zatrzaśnięty w 16-bitowym rejestrze ICR1. Układ TC1 oprócz typowych trybów pracy jako zwykły timer lub licznik, umoŝliwia dodatkowo realizację funkcji: porównywania wyjścia (Output Compare), modulacji PWM (Pulse Width Modulation - modulacja szerokości impulsu), przechwytywania wejścia (Input Capture). Moduły licznikowe mogą dostarczać informacji o zdarzeniach, mających miejsce w trakcie ich pracy (np. o przepełnieniu, zgodności porównania). Sprawdzenie, czy dane zdarzenie miało miejsce, moŝe odbywać się poprzez odczyt specjalnych znaczników stanu (ang. polling - odpytywanie) lub na drodze mechanizmów przerwaniowych. Do obsługi przerwań wprowadzono rejestry je uaktywniające i rejestry zawierające znaczniki stanu: W rejestrach TIMSK przechowywane są bity, których ustawienie uaktywnia wybrane przerwania. Rejestry o oznaczeniach TIFR zawierają natomiast znaczniki ich Ŝądań - znaczniki informujące zarazem o wystąpieniu danego zdarzenia Mechanizm buforowy W celu zapewnienia jednoczesności zapisu i odczytu obu bajtów rejestrów 16-bitowych (np. TCNTn, ICRn, OCRnx) zastosowano mechanizm dostępu buforowanego. Wprowadzono specjalny rejestr tymczasowy (niewidoczny dla programisty), słuŝący do przechowywania starszego bajtu rejestru, na którym przeprowadzana jest operacja zapisu lub odczytu. W celu modyfikacji zawartości rejestru buforowanego w pierwszej kolejności konieczne jest zapisanie jego starszego bajtu (MSB), co w rzeczywistości spowoduje załadowanie rejestru tymczasowego. Następnie zapisana musi być część młodsza (LSB), co wywoła automatyczne i jednoczesne ładowanie obu części rejestru 16-bitowego. 17

18 Przykład 2. Zapis buforowanego rejestru 16-bitowego (TCNT1) cli ; wyłącz obsługę przerwań ldi R16, low(1234) ;ładuj rejestr pomocniczy R16 LSB wartości zapisywanej ldi R17, high(1234) ;ładuj rejestr pomocniczy R17 MSB wartości zapisywanej out TCNT1H, R17 ;ładuj bufor tymczasowy out TCNT1L, R16 ;zapisz 16-bitowy rejestr TCNT1 wartością 1234 sei ;włącz obsługę przerwań Odczyt prowadzony powinien być w kolejności odwrotnej. Najpierw odczytywany musi być bajt młodszy (LSB) - powoduje to jednoczesne zapisanie zawartości części starszej w rejestrze tymczasowym. Następujący później odczyt bajtu starszego powoduje w rzeczywistości pobranie zawartości bufora. Przykład 3. Odczyt buforowanego rejestru 16-bitowego (TCNT1) cli ;wyłącz obsługę przerwań in R16, TCNT1L ;odczytaj LSB rejestru TCNT1, a MSB zapisz w buforze in R17, TCNT1H ;pobierz MSB TCNT1 z bufora tymczasowego sei ;włącz obsługę przerwań PoniewaŜ ten sam rejestr tymczasowy wykorzystywany jest przy dostępie do róŝnych rejestrów buforowanych, zalecane jest, aby w czasie korzystania z niego obsługa przerwań pozostawała wyłączona. Działanie to pozwala wyeliminować ryzyko przypadkowego zniszczenia zawartości rejestru tymczasowego przez podprogram obsługi przerwania Tryb pracy normalnej Tryb pracy normalnej jest wybierany poprzez odpowiednią nastawę znaczników WGMn z rejestru TCCRn (TCCRnx) - takie ustawienie wymaga zwykle ich wyzerowania (np. WGM13...WGM10=0000). Jeśli bity CSn z tego samego rejestru są odpowiednio ustawione (wybierają jedno z aktywnych źródeł sygnału taktującego), licznik zaczyna pracować. W trybie pracy normalnej układ licznikowy zlicza do wartości maksymalnej (wynikającej z pojemności licznika, a więc do 255 lub 65535), a przepełnienie powoduje rozpoczęcie zliczania od początku (od zera). Zdarzenie przepełnienia moŝe być wykorzystywane do generacji przerwań. W kaŝdym momencie pracy licznika moŝliwe jest sprawdzenie jego stanu przez odczyt rejestru TCNTn. RównieŜ zapis tego rejestru w normalnym trybie pracy nie wprowadza Ŝadnego ryzyka. NaleŜy jedynie zwrócić uwagę na fakt, Ŝe w przypadku liczników 16- bitowych rejestr TCNTn jest buforowany. 18

19 Przykład 4. Uaktywnienie 16-bitowego licznika1 w trybie normalnym (ATmega16) in R16, TCCR1A ;operacje na rejestrze pomocniczym cbr R16, 1<<WGM11 cbr R16,1<<WGM10 out TCCR1A, R16 ;włącz tryb normalny poprzez odpowiednie ustawienie ;znaczników WGMn w rejestrze TCCR1A ldi R16, (1<<CS12) (0<<CS11) I (1<<S10) (0<<WGM13) I (0<<WGM12) out TCCR1B, R16 ;skonfiguruj licznik 1. ;licznik od tej pory zlicza z częstotliwością systemową ;podzieloną w stosunku 1:1024 moŝliwy jest odczyt lub ; zapis wartości zliczonej cli in R16, TCNT1L in R17, TCNT1H sei ;mechanizm buforowy - ładowanie wartości zliczonej ;do rejestrów R16 (LSB) i R17 (MSB) 3.4. Porównywanie Tryb pracy normalnej jest dość ubogi i w czystej postaci rzadko wykorzystywany. Dla jego rozszerzenia wprowadzono moŝliwość porównywania wartości zliczonej z wartością ustaloną. Niektóre moduły licznikowe umoŝliwiają przy tym porównywanie z wieloma wartościami stałymi, do których przechowywania słuŝą rejestry OCRnx. Zrównanie zawartości rejestru licznikowego (TCNTn) z zadaną wartością ustaloną (z OCRnx) moŝe wywoływać specjalne przerwanie i powodować zmianę na przydzielonym licznikowi wyjściu o dodatkowym oznaczeniu OCn lub OCnx (np. OC1A, OC1B - w przypadku, gdy dany licznik ma dwa moduły porównujące).. Do określenia sposobu, w jaki moduł licznikowy powinien nimi sterować, słuŝą znaczniki COMn lub COMnx z rejestru TCCRn (TCCRnx). Wystąpienie zgodności pomiędzy zawartościami rejestrów OCRnx i TCNTn - w zaleŝności od nastawy COMnx - moŝe mieć następujący wpływ na linię OCnx: brak operacji (COMnx1...COMnx0=00), zmiana stanu linii na przeciwny (COMnx1...COMnx0=01), ustawienie stanu niskiego (COMnx1...COMnx0=10), ustawienie stanu wysokiego (COMnx1...COMnx0=11). W pierwszym przypadku linia OCnx jest odłączona od modułu licznikowego i pracuje jako zwykły port wejścia-wyjścia. Inne ustawienie bitów COMnx powoduje juŝ, Ŝe stan znacznika PORTxn (z rejestru PORTx) odpowiadającego linii OCnx jest ignorowany, a kontrolę nad wyprowadzeniem przejmuje licznik. 19

20 Jeśli licznik pracuje w trybie innym niŝ PWM (np. normalnym), moŝliwe jest wymuszenie zmiany stanu na wyprowadzeniu OCn (OCnx) tak, jakby wystąpiło zdarzenie zgodności porównania. Dokonuje się tego, zapisując odpowiedni znacznik FOCn (FOCnx) w rejestrze TCCRn (TCCRnx) wysoką wartością logiczną. Operacja ta nie generuje przerwania wynikającego ze zgodnego porównania, a jedynie zmienia stan linii OCnx w sposób zaleŝny od nastawy znaczników COMnx z rejestrów TCCRnx. Przykład 5. Automatyczna generacja sygnału wyjściowego (ATmega16).. ;zakładamy, Ŝe licznik 0 pracuje w trybie normalnym ldi ;R16, 100 ;ładuj rejestr pomocniczy out OCR0, R16 ;wartość porównywana wynosi 100 in R16, TCCR0 ;operacje na rejestrze pomocniczym cbr R16, 1<<COM01 sbr R16, 1<<COM00 out TCCR0, R16 ;załaduj COM =01 w rejestrze TCCR0 sbi DDRB, DDB3 ;linia OC0 pracuje jako wyjście (OC0=PB3).. ;od tej chwili wyjście OC0 zmienia swój stan ;logiczny, gdy TCNT0 przekracza wartość Przechwytywanie MoŜliwością niejako komplementarną dla porównywania jest tzw. przechwytywanie (dostępne tylko w przypadku liczników 16-bitowych). Polega ono na automatycznym przepisaniu zawartości głównego rejestru licznika (TCNTnH i TCNTnL) do specjalnego rejestru ICRx (dokładniej rzecz ujmując, do ICRxH i ICRxL) w ściśle określonej chwili. Zdarzeniem wyzwalającym taką operację moŝe być wystąpienie narastającego lub opadającego zbocza w sygnale na wyprowadzeniu o dodatkowym oznaczeniu ICPn. Określenie parametru wyzwalającego polega na odpowiedniej nastawie bitu ICESn w rejestrze TCCRn (TCCRnx), którego ustawieniu odpowiada wybór zbocza narastającego. Sygnał z wejścia ICPn jest próbkowany w kaŝdym okresie zegarowym Przykładowo, funkcja ta pozwala na określenie chwili występowania pewnych zdarzeń zewnętrznych, umoŝliwia pomiar okresu lub wypełnienia dołączonego sygnału itd. KaŜde zdarzenie przechwycenia moŝe takŝe generować dedykowane mu przerwanie. 20

21 Rejestr ICRx jest 16-bitowym rejestrem buforowanym, którego odczyt powinien być dokonywany poczynając od bajtu młodszego. Przykład 6. Oczekiwanie na zdarzenie przechwycenia (ATmega16) ; zakładamy, Ŝe licznik 1 pracuje w trybie normalnym ; i Ŝe nie korzystamy z mechanizmów przerwaniowych cbi DDRD, DDD6 ; linia ICP1 działa jako wejście (ICP1=PD6) in R16, TCCR1B ;operacje na rejestrze pomocniczym sbr R16, 1<<ICES1 out TCCR1B, R16 ; zbocze narastające na ICP1 wywołuje przechwytywanie ldi R16, 1<<ICF1 out TIFR, R16 ; zeruj znacznik przechwycenia - ICF1 Czekaj: in R16, TIFR sbrs R16, ICF1 rjmp Czekaj ; pętla oczekująca na zdarzenie przechwycenia ; dalsza część programu jest wykonywana po przechwyceniu ldi R16, 1<<ICF1 out TIFR, R16 ; zeruj znacznik przechwycenia - ICF1 in R16, ICR1L ;ładuj LSB wartości przechwyconej do rejestru R16 in R17, ICR1H ;ładuj MSB wartości przechwyconej do rejestru R17 21

Wbudowane układy peryferyjne cz. 2 Wykład 8

Wbudowane układy peryferyjne cz. 2 Wykład 8 Wbudowane układy peryferyjne cz. 2 Wykład 8 Timery Timery (liczniki) 2 Timery informacje ogólne Mikrokontroler ATmega32 posiada 3 liczniki: Timer0 8-bitowy Timer1 16-bitowy Timer2 8-bitowy, mogący pracować

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

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1

Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1 Dodatek C 1. Timer 8-bitowy (Timer0) 1.1. Opis układu Uproszczony schemat blokowy zespołu 8-bitowego timera przedstawiono na rys.1 Rys. 1. Schemat blokowy timera Źródłem sygnału taktującego może być zegar

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2

Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2 Mikroprocesory i Mikrosterowniki Liczniki Timer Counter T/C0, T/C1, T/C2 Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

Bardziej szczegółowo

Wbudowane układy peryferyjne cz. 1 Wykład 7

Wbudowane układy peryferyjne cz. 1 Wykład 7 Wbudowane układy peryferyjne cz. 1 Wykład 7 Wbudowane układy peryferyjne UWAGA Nazwy rejestrów i bitów, ich lokalizacja itd. odnoszą się do mikrokontrolera ATmega32 i mogą być inne w innych modelach! Ponadto

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

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

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

Bardziej szczegółowo

Układy czasowe / liczniki (timers/counters)

Układy czasowe / liczniki (timers/counters) Układy czasowe / liczniki (timers/counters) Współpraca MK z otoczeniem w czasie rzeczywistym wymaga odliczania czasu, zliczania zdarzeń lub generowania złożonych sekwencji binarnych. Funkcje te realizowane

Bardziej szczegółowo

LABORATORIUM. TIMERY w mikrokontrolerach Atmega16-32

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

Bardziej szczegółowo

Programowanie mikrokontrolerów. 5 grudnia 2007

Programowanie 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ół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

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Sterowniki Urządzeń Mechatronicznych laboratorium. Ćw. 3: Timer v1.0

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania. Sterowniki Urządzeń Mechatronicznych laboratorium. Ćw. 3: Timer v1.0 1 CEL ĆWICZENIA Celem ćwiczenia jest zapoznanie się z możliwościami odmierzania czasu za pomocą wewnętrznego TIMER a mikrokontrolerów serii AVR 2 ZAKRES NIEZBĘDNYCH WIADOMOŚCI - wiadomości z poprzednich

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

Podstawy Techniki Mikroprocesorowej Laboratorium

Podstawy Techniki Mikroprocesorowej Laboratorium Laboratorium Ćwiczenie 3 Liczniki 0, 1, 2 (Timer Counters T/C0, T/C1, T/C2) Program ćwiczenia: obsługa trybu pracy normalny wybranego licznika, obsługa trybu pracy CTC wybranego licznika, obsługa trybu

Bardziej szczegółowo

WYKORZYSTANIE WEWNĘTRZNYCH GENERATORÓW RC DO TAKTOWANIA MIKROKONTROLERÓW AVR

WYKORZYSTANIE WEWNĘTRZNYCH GENERATORÓW RC DO TAKTOWANIA MIKROKONTROLERÓW AVR kpt. mgr inŝ. Paweł HŁOSTA kpt. mgr inŝ. Dariusz SZABRA Wojskowy Instytut Techniczny Uzbrojenia WYKORZYSTANIE WEWNĘTRZNYCH GENERATORÓW RC DO TAKTOWANIA MIKROKONTROLERÓW AVR W niektórych aplikacjach mikroprocesorowych,

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ów...2 2. ISP...2 3. I/O Ports...3 4. External Interrupts...4 5. Analog Comparator...6 6. Analog-to-Digital Converter...6

Bardziej szczegółowo

2. PORTY WEJŚCIA/WYJŚCIA (I/O)

2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2.1 WPROWADZENIE Porty I/O mogą pracować w kilku trybach: - przesyłanie cyfrowych danych wejściowych i wyjściowych a także dla wybrane wyprowadzenia: - generacja przerwania

Bardziej szczegółowo

Mikrokontrolery AVR techniczne aspekty programowania

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

Bardziej szczegółowo

SYSTEM PRZERWAŃ ATmega 32

SYSTEM 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ółowo

Przerwanie. Źródła przerwań

Przerwanie. Źródła przerwań Podstawy systemów mikroprocesorowych Wykład nr 3 Przerwania i liczniki dr Piotr Fronczak http://www.if.pw.edu.pl/~agatka/psm.html fronczak@if.pw.edu.pl Przerwanie Warunek lub zdarzenie, które przerywa

Bardziej szczegółowo

Układy czasowo-licznikowe w systemach mikroprocesorowych

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

Bardziej szczegółowo

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

Wbudowane układy komunikacyjne cz. 1 Wykład 10

Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne cz. 1 Wykład 10 Wbudowane układy komunikacyjne UWAGA Nazwy rejestrów i bitów, ich lokalizacja itd. odnoszą się do mikrokontrolera ATmega32 i mogą być inne w innych modelach!

Bardziej szczegółowo

KOMUNIKACJA Z OTOCZENIEM MIKROKONTROLERA

KOMUNIKACJA 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ółowo

AGH Akademia Górniczo- Hutnicza w Krakowie Katedra Elektroniki WIET

AGH Akademia Górniczo- Hutnicza w Krakowie Katedra Elektroniki WIET AGH Akademia Górniczo- Hutnicza w Krakowie Katedra Elektroniki WIET Technika Microprocesorowa Laboratorium 6 Timery i liczniki Auhor: Paweł Russek Tłumaczenie: Ernest Jamro http://www.fpga.agh.edu.pl/tm

Bardziej szczegółowo

Hardware mikrokontrolera X51

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

Bardziej szczegółowo

LICZNIKI Liczniki scalone serii 749x

LICZNIKI Liczniki scalone serii 749x LABOATOIUM PODSTAWY ELEKTONIKI LICZNIKI Liczniki scalone serii 749x Cel ćwiczenia Zapoznanie się z budową i zasadą działania liczników synchronicznych i asynchronicznych. Poznanie liczników dodających

Bardziej szczegółowo

AVR DRAGON. INSTRUKCJA OBSŁUGI (wersja 1.0)

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

Bardziej szczegółowo

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

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

Bardziej szczegółowo

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8

3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 3.2. Zegar/kalendarz z pamięcią statyczną RAM 256 x 8 Układ PCF 8583 jest pobierającą małą moc, 2048 bitową statyczną pamięcią CMOS RAM o organizacji 256 x 8 bitów. Adresy i dane są przesyłane szeregowo

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

Mikroprocesory i Mikrosterowniki

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

Bardziej szczegółowo

Układy czasowo-licznikowe w systemach mikroprocesorowych

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

Bardziej szczegółowo

Wbudowane układy peryferyjne cz. 3 Wykład 9

Wbudowane układy peryferyjne cz. 3 Wykład 9 Wbudowane układy peryferyjne cz. 3 Wykład 9 Komparator analogowy Komparator analogowy 2 Komparator analogowy Pozwala porównać napięcia na wejściu dodatnim i ujemnym Przerwanie może być wywołane obniżeniem

Bardziej szczegółowo

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia.

Przerzutnik ma pewną liczbę wejść i z reguły dwa wyjścia. Kilka informacji o przerzutnikach Jaki układ elektroniczny nazywa się przerzutnikiem? Przerzutnikiem bistabilnym jest nazywany układ elektroniczny, charakteryzujący się istnieniem dwóch stanów wyróżnionych

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

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

Komunikacja w mikrokontrolerach Laboratorium

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

Bardziej szczegółowo

Podstawy systemów mikroprocesorowych

Podstawy systemów mikroprocesorowych Podstawy systemów mikroprocesorowych Wykład nr 6 Wszystko, co jeszcze chcielibyście wiedzieć o mikrokontrolerach, ale wolicie nie pytać (bo jeszcze będzie na kolokwium?) dr Piotr Fronczak http://www.if.pw.edu.pl/~agatka/psm.html

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

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 ZEGAR CZASU RZECZYWISTEGO Ćwiczenie 4 Opracował: dr inŝ.

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki

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

Bardziej szczegółowo

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

Programowany układ czasowy

Programowany układ czasowy Programowany układ czasowy Zbuduj na płycie testowej ze Spartanem-3A prosty ośmiobitowy układ czasowy pracujący w trzech trybach. Zademonstruj jego działanie na ekranie oscyloskopu. Projekt z Języków Opisu

Bardziej szczegółowo

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.

Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie. Magistrala SPI Magistrala SPI składa się z linii: MOSI Master output Slave input MISO Master input Slave Output SCK Clock SS Slave select (CS Chip Select lub CE Chip Enable) Sygnał taktujący transmisję

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

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

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola

Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola Wstęp: Interfejs portu równoległego 6821 i portu szeregowego 6850 firmy Motorola Struktura systemu 68008 z układami peryferyjnymi 6821, 6050 Na rysunku 1.1 pokazano strukturę stanowiska z interfejsami

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

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5.

Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Pracownia elektryczna i elektroniczna. Elektronika cyfrowa. Ćwiczenie nr 5. Klasa III Opracuj projekt realizacji prac związanych z badaniem działania cyfrowych bloków arytmetycznych realizujących operacje

Bardziej szczegółowo

Politechnika Białostocka

Politechnika Białostocka Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Kod przedmiotu: Kod przedmiotu: ES1C 621 356 Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: Elektronika samochodowa Temat:

Bardziej szczegółowo

Inne układy peryferyjne AVR

Inne układy peryferyjne AVR Inne układy peryferyjne AVR Komparator analogowy Komparator rodzaj prostego przetwornika A/C blok pozwalający na dokonanie 1-bitowej konwersji sygnału z postaci analogowej na cyfrową, czyli sprawdzenia

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

Język FBD w systemie Concept

Język FBD w systemie Concept Adresowanie obiektów Bit - stan pojedynczego sygnału - wejście lub wyjście dyskretne, bit pamięci Bajt - 8 bitów - wartość od -128 do +127 Słowo - 16 bitów - wartość od -32768 do 32767 -wejście lub wyjście

Bardziej szczegółowo

był w momencie wystąpienia zewnętrznego zdarzenia. Jest bardzo przydatna przy pomiarach częstotliwości. Pracę timera Timer1 kontrolują następujące

był w momencie wystąpienia zewnętrznego zdarzenia. Jest bardzo przydatna przy pomiarach częstotliwości. Pracę timera Timer1 kontrolują następujące Kurs AVR lekcja 4 był w momencie wystąpienia zewnętrznego zdarzenia. Jest bardzo przydatna przy pomiarach częstotliwości. Pracę timera Timer1 kontrolują następujące rejestry: TCCR1A rejestr konfiguracyjny

Bardziej szczegółowo

Mikroprocesory i mikrosterowniki

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

Bardziej szczegółowo

Programowanie mikrokontrolerów. 3 stycznia 2008

Programowanie mikrokontrolerów. 3 stycznia 2008 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 3 stycznia 2008 Liczniki, cd. Przypomnienie wiadomości o liczniku 0 Przykładowy program korzystający z licznika Ćwiczenia praktyczne Licznik

Bardziej szczegółowo

Komunikacja w mikrokontrolerach. Wydział Elektroniki Mikrosystemów i Fotoniki Piotr Markowski

Komunikacja 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ół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

Dokumentacja mikrokontrolera Atmega16 firmy Atmel

Dokumentacja mikrokontrolera Atmega16 firmy Atmel Katedra Metrologii i Systemów Elektronicznych Wydział Elektroniki, Telekomunikacji i Informatyki Politechniki Gdańskiej LABORATORIUM MIKROSTEROWNIKI I MIKROSYSTEMY ROZPROSZONE Dokumentacja mikrokontrolera

Bardziej szczegółowo

PROGRAMOWALNE SYSTEMY MECHATRONIKI

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

Bardziej szczegółowo

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

2.1 Porównanie procesorów

2.1 Porównanie procesorów 1 Wstęp...1 2 Charakterystyka procesorów...1 2.1 Porównanie procesorów...1 2.2 Wejścia analogowe...1 2.3 Termometry cyfrowe...1 2.4 Wyjścia PWM...1 2.5 Odbiornik RC5...1 2.6 Licznik / Miernik...1 2.7 Generator...2

Bardziej szczegółowo

Ćw. 7: Układy sekwencyjne

Ćw. 7: Układy sekwencyjne Ćw. 7: Układy sekwencyjne Wstęp Celem ćwiczenia jest zapoznanie się z sekwencyjnymi, cyfrowymi blokami funkcjonalnymi. W ćwiczeniu w oparciu o poznane przerzutniki zbudowane zostaną następujące układy

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

Układy zegarowe w systemie mikroprocesorowym

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

Bardziej szczegółowo

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

Organizacja typowego mikroprocesora

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

Bardziej szczegółowo

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro

1. Cel ćwiczenia. 2. Podłączenia urządzeń zewnętrznych w sterowniku VersaMax Micro 1. Cel ćwiczenia Celem ćwiczenia jest zaprojektowanie sterowania układem pozycjonowania z wykorzystaniem sterownika VersaMax Micro oraz silnika krokowego. Do algorytmu pozycjonowania wykorzystać licznik

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

Wyjście do drukarki Centronix

Wyjście do drukarki Centronix Wyjście do drukarki Centronix Model M-0 do Dydaktycznego Systemu Mikroprocesorowego DSM-1 Instrukcja uŝytkowania Copyright 2007 by MicroMade All rights reserved Wszelkie prawa zastrzeŝone MicroMade Gałka

Bardziej szczegółowo

Programowany układ czasowy APSC

Programowany układ czasowy APSC Programowany układ czasowy APSC Ośmiobitowy układ czasowy pracujący w trzech trybach. Wybór trybu realizowany jest przez wartość ładowaną do wewnętrznego rejestru zwanego słowem sterującym. Rejestr ten

Bardziej szczegółowo

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

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

Bardziej szczegółowo

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe MIKROKONTROLER RODZINY MCS 5 Cykl rozkazowy mikrokontrolera rodziny MCS 5 Mikroprocesory rodziny MCS 5 zawierają wewnętrzny generator sygnałów zegarowych ustalający czas trwania cyklu zegarowego Częstotliwość

Bardziej szczegółowo

Licznik rewersyjny MD100 rev. 2.48

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

Bardziej szczegółowo

Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach

Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach 0-- Porty wejścia/wyjścia w układach mikroprocesorowych i w mikrokontrolerach Semestr zimowy 0/0, WIEiK-PK Porty wejścia-wyjścia Input/Output ports Podstawowy układ peryferyjny port wejścia-wyjścia do

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Instrukcja do ćwiczenia : Matryca komutacyjna

Instrukcja do ćwiczenia : Matryca komutacyjna Instrukcja do ćwiczenia : Matryca komutacyjna 1. Wstęp Każdy kanał w systemach ze zwielokrotnieniem czasowym jest jednocześnie określany przez swoją współrzędną czasową T i współrzędną przestrzenną S.

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

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406

Wstęp. Opis ATMEGA128 MINI MODUŁ VE-APS-1406 ATMEGA128 MINI MODUŁ VE-APS-1406 Wstęp Instrukcja użytkownika Opis Instrukcja prezentuje mini moduł z mikrokontrolerem rodziny AVR (firmy ATMEL) Atmega128 w obudowie TQFP 64. Procesor ATmega128 wyposażony

Bardziej szczegółowo

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

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

Bardziej szczegółowo

IC200UDR002 ASTOR GE INTELLIGENT PLATFORMS - VERSAMAX NANO/MICRO

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

Bardziej szczegółowo

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d.

Magistrala I 2 C. Podstawy systemów mikroprocesorowych. Wykład nr 5 Interfejsy szeregowe c.d. Magistrala I 2 C Podstawy systemów mikroprocesorowych Wykład nr 5 Interfejsy szeregowe c.d. dr Piotr Fronczak http://www.if.pw.edu.pl/~agatka/psm.html Inter-integrated circuit bus TWI Two-wire Serial Interface

Bardziej szczegółowo

Zastosowania mikrokontrolerów w przemyśle

Zastosowania mikrokontrolerów w przemyśle Zastosowania mikrokontrolerów w przemyśle Cezary MAJ Katedra Mikroelektroniki i Technik Informatycznych Współpraca z pamięciami zewnętrznymi Interfejs równoległy (szyna adresowa i danych) Multipleksowanie

Bardziej szczegółowo

Aplikacja czujnika temperatury dla modułu uniwersalnego UNIV 1.0 i procesora UNIV 1.0 (CPU)

Aplikacja czujnika temperatury dla modułu uniwersalnego UNIV 1.0 i procesora UNIV 1.0 (CPU) Aplikacja czujnika temperatury dla modułu uniwersalnego UNIV 1.0 i procesora UNIV 1.0 (CPU) Cechy: Z uŝyciem cyfrowych sensorów DS18B20, DS18B20-PAR lub DS1822, DS1822-PAR. Mierzy temperaturę od -55 C

Bardziej szczegółowo

LICZNIKI PODZIAŁ I PARAMETRY

LICZNIKI PODZIAŁ I PARAMETRY LICZNIKI PODZIAŁ I PARAMETRY Licznik jest układem służącym do zliczania impulsów zerojedynkowych oraz zapamiętywania ich liczby. Zależnie od liczby n przerzutników wchodzących w skład licznika pojemność

Bardziej szczegółowo

MIKROKONTROLERY I MIKROPROCESORY

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

Bardziej szczegółowo

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

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

WPROWADZENIE Mikrosterownik mikrokontrolery

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

Bardziej szczegółowo

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB

Ćw. 9 Przerzutniki. 1. Cel ćwiczenia. 2. Wymagane informacje. 3. Wprowadzenie teoretyczne PODSTAWY ELEKTRONIKI MSIB Ćw. 9 Przerzutniki 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z podstawowymi elementami sekwencyjnymi, czyli przerzutnikami. Zostanie przedstawiona zasada działania przerzutników oraz sposoby

Bardziej szczegółowo

Przetworniki analogowo-cyfrowe (A/C)

Przetworniki analogowo-cyfrowe (A/C) Przetworniki analogowo-cyfrowe (A/C) Przetworniki analogowo-cyfrowe to urządzenia, przetwarzające ciągły analogowy sygnał wejściowy jedno wejście na odpowiadający mu dyskretny cyfrowy sygnał wyjściowy

Bardziej szczegółowo

Mikrokontroler AVR ATmega32 - wykład 9

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

Bardziej szczegółowo

Opis układów wykorzystanych w aplikacji

Opis 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ółowo