MIKROKONTROLERY FIRMY ATMEL. dr inż. Wiesław Madej

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

Download "MIKROKONTROLERY FIRMY ATMEL. dr inż. Wiesław Madej"

Transkrypt

1 MIKROKONTROLERY FIRMY ATMEL dr inż. Wiesław Madej

2 Mikrokontroler To elektroniczny układ scalony, zawierający w sobie rdzeń procesora, pamięć oraz programowalne urządzenia wejścia/wyjścia takie jak porty szeregowe i równoległe czy przetworniki. Mikrokontroler pobiera z nieulotnej pamięci wielokrotnego zapisu instrukcje, które następnie wykonuje. Za pomocą tych małych elementów (ich wymiary sięgają zazwyczaj kilku centymetrów) można sterować licznymi zewnętrznymi urządzeniami: od wyświetlaczy, poprzez zamki, silniki, czujniki, światła drogowe itp. Te złożone układy pobierają tak mało prądu, że mogą z powodzeniem być zasilane z przenośnych źródeł energii np. z baterii.

3 ATMEL Atmel Corporation to przedsiębiorstwo wytwarzające układy scalone. Produkuje między innymi: pamięci EEPROM i flash, 8 bitowe mikrokontrolery oparte na architekturze 8051, 32 bitowe mikrokontrolery oparte na architekturze ARM, 8 bitowe mikrokontrolery oparte na własnej architekturze AVR, 32 bitowe mikrokontrolery oparte na własnej architekturze AVR32, Układy FPGA

4 Układy z rodziny AVR zostały podzielone na kilka "pod-rodzin": tinyavr - oznaczenie Attiny - od 1 do8kb pamięć programu - obudowy o 8-32 pinach - ograniczony zestaw zintegrowanych peryferiów - obniżony pobór mocy megaavr - oznaczenie ATmega - od 4 do 256kB pamięci programu - obudowy o pinach - rozszerzony zestaw poleceń (m. in. o polecenia do obsługi powiększonej pamięci programu) - liczne zintegrowane peryferia (przetworniki AC/CA, timery, liczniki itp) XMEGA oznaczenie ATxmega - od 16 do 384kB pamięci programu - obudowy o wyprowadzeniach - rozszerzone możliwości, takie jak obsługa DMA i sprzętowe wsparcie dla kryptografii (używane m. in. przy współpracy z kartami inteligentnymi)

5 Wyposażenie Poszczególne mikrokontrolery z rodziny AVR różnią się między sobą, przede wszystkim ilością pamięci flash, RAM, liczbą portów wejść/wyjść oraz układami dodatkowymi. Przykładowo: ATtiny13 ma 1kB pamięci programu (flash), 64 bajty EEPROM, 64 B RAM + 32 rejestry, 6 wejść/wyjść, 2 kanały PWM, SPI, 4 kanały A/D, oscylator w układzie scalonym, montowany jest w obudowie 8 nóżkowej. ATmega2560 ma 256 kb pamięci programu, 4 kb EEPROMu, 8 kb RAM, 86 wejść/wyjść, 4 liczniki/czasomierze 16 bitowe, 6 - PWM, SPI, 2 - UART, 16 - kanałów A/D.

6 Podstawowe elementy AVR (nie wszystkie są w każdym układzie): Pamięć flash Pamięć EEPROM Pamięć SRAM uniwersalne porty wejścia/wyjścia 8 i 16 bitowe liczniki/czasomierze z możliwością generowania PWM wielokanałowy 10 bitowy przetwornik analogowo-cyfrowy TWI (Two-wire Interface), odpowiednik I²C interfejs szeregowy USART interfejs SPI Watchdog wewnętrzny oscylator ISP (In-System-Programming) JTAG, umożliwia debugowanie programu DebugWire, umożliwia debugowanie programu dla kontrolerów z ograniczoną liczbą pinów.

7 Mikrokontrolery rodziny 8051 Mówi się, że mikrokontroler to funkcjonalny system komputerowy w jednej kości. Taka kość to zazwyczaj to, co zwykło się nazywać (nie do końca precyzyjnie) układem scalonym, bo mikrokontroler wygląda zazwyczaj jak duży czarny scalak o wielu nóżkach. Zwykle jest to standardowa obudowa dwurzędowa DIP-40 (tzn. posiada 40 nóżek, po 20 z każdej strony). Poniżej znajduje się zdjęcie takiego typowego układu.

8 Mikrokontrolery z serii 8051 zostały wyprodukowane przez firmę Intel w latxx wieku. Wbrew temu, co się uważa, układy te są wciąż popularne. Zwłaszcza w Polsce są one często wykorzystywane w licznych urządzeniach, a także jako układy dydaktyczne - ze względu na ich prostą budowę i łatwość programowania ciekawych aplikacji, zajmują się nimi nawet uczniowie szkół średnich o profilu elektronicznym. Są to jedne z najpopularniejszych uc 8-bitowych na świecie. Popularne i tanie kości z wbudowaną pamięcią FLASH z serii 89c51 i 89c52, są produkowane przez firmę Atmel. Mikrokontrolery te posiadają 128/256 bajtów RAMu, 4, 8 lub więcej kb wewnętrznej pamięci ROM (FLASH), cztery dwukierunkowe 8-bitowe porty we/wy, port szeregowy, dwa/trzy timery i system przerwań. Wydaje się, że 128 bajtów - (!) tak, bajtów - RAMu to bardzo mało jak na dzisiejsze czasy, ale proszę mi wierzyć, że dla naszych najbardziej podstawowych potrzeb będzie to wystarczająca ilość miejsca. Cztery porty wystarczają zdecydowanie do podłączenia wielu urządzeń zewnętrznych, np. sterowania wyświetlaczem LCD czy czytnikiem kart pamięci.

9 W takiej plastikowej obudowie znajdują się podstawowe urządzenia, jakimi dysponują komputery. Zazwyczaj, jako minimum znajdziemy w niej rdzeń procesora, pamięć (zarówno RAM, jak i pamięć programu) oraz programowalne urządzenia wejścia/wyjścia. W zwykłym komputerze domowym najważniejszy układ zawiera w sobie procesor. Inne układy zajmują się innymi sprawami, oddzielnie mamy RAM, oddzielnie np. kartę graficzną, oddzielnie kontroler karty sieciowej. W mikrokontrolerze podobne rzeczy znajdują się razem, co pozwala na zmniejszenie kosztów i sprawia, że mieszczą się on w bardzo małych przestrzeniach, np. jednostkach sterujących silnikami samochodów, urządzeniach biurowych, wielkich, ale prostych maszynach, czy zabawkach. Mały rozmiar pozwala też na oszczędność w zasilaniu układy tego typu działają świetnie zasilane z baterii.

10 FUNKCJE NÓŻEK Obudowa 40-nóżkowa pozwala na zasilanie całego układu, przesyłanie danych i sterowanie podstawowymi funkcjami. Zazwyczaj pozwala także na programowanie pamięci wewnętrznej typu EPROM lub FLASH. 40 nóżek to standard, ale są też układy w wersjach uproszczonych, które posiadają mniejszą ilość portów wejścia/wyjścia, co pozwala zmieścić całość w o połowę mniejszej obudowie. ZASILANIE. Każdy mikrokontroler potrzebuje być zasilany z precyzyjnego źródła napięcia. Przeważnie będziemy korzystali z napięcia o wartości 5V, ale zdarzają się też układy i sytuacje, w których używa się mniejszych napięć, np. 3.3V, albo 3V. Najczęściej wykorzystywane są do tego celu dwie nóżki - na jedną podajemy +5V, a drugą zwieramy do masy.

11 ZEGAR I TAKTOWANIE Oprócz zasilania potrzebne jest stabilne źródło impulsów. Mikrokontrolery posiadają albo wewnętrzne zegary, albo specjalne nóżki, do których podłącza się oscylator kwarcowy. Taki oscylator drga z bardzo stabilną częstotliwością, którą dobieramy w zależności od potrzeb. Przeważnie jest to częstotliwość w granicach 1MHz-24MHz. STEROWANIE UKŁADEM Niektóre układy są wyposażone w dodatkowe nóżki, które spełniają własne określone funkcje. Często spotykana jest nóżka RESET, którą np. możemy podłączyć do przycisku. Inne tego typu nóżki mogą służyć wybieraniu jednego z dwóch trybów pracy albo są wykorzystywane przy dostępie do pamięci zewnętrznej.

12 PORTY WEJŚCIA/WYJŚCIA. Aby móc przesyłać dane i kontaktować się z urządzeniami zewnętrznymi, potrzebujemy kilku osobnych "przewodów", którymi możemy te urządzenia podłączyć do naszego mikrokontrolera. Dlatego układy tego typu posiadają pewną ilość linii, po których możemy odczytywać i zapisywać dane. BUDOWA WEWNĘTRZNA Wewnątrz mikrokontrolera wszystko działa wykorzystując komunikację poprzez szynę danych. Taka szyna danych łączy wszystkie urządzenia, które są do niej dołączone: procesor, pamięci, porty i inne. Urządzenie chcąc się skomunikować z innym, robi coś, co moglibyśmy porównać do "wybierania numeru", po czym, gdy otrzyma pozwolenie na kontakt przesyła lub odbiera porcję danych.

13 Główne cechy jednych z najpopularniejszych mikrokontrolerów z rodziny 8051 firmy Atmel Mikrokontrolery AT89C1051, AT89C2051, AT89C4051 Układy te produkowane przez firmę Atmel, należą do najpopularniejszych układów stosowanych w niezbyt wymagających aplikacjach. Ich główne cechy to: - Obudowa 20-pinowa, 15linii we/wy, - Napięcie zasilanie od 2.7V do 6V, - Częstotliwość taktowania od 0 do 24 MHz (możliwość zatrzymania pracy mikrokontrolera), - 2 tryby pracy z redukcją poboru mocy, - 1 kb, 2kB lub 4kB pamięci programu Flash (odpowiednio dla C1051, C2051, C4051), - 64 bajty (C1051) lub 128 bajtów (C2051 i C4051) pamięci danych (RAM), - Wbudowany komparator analogowy, - Wbudowane liczniki/timery: 1 w C1051 lub 2 w C2051 i C4051, - Wbudowany układ transmisji szeregowej (oprócz C1051).

14 Mikrokontroler AT89C51 Układ ten, produkowany przez firmę Atmel, jest niemal identyczny pod względem parametrów z protoplastą Jego główne cechy to: - Obudowa 40-pinowa, 32 linie we/wy - Napięcie zasilania od 4V do 6V - Częstotliwość taktowania od 0 do 24 MHz - 4kB pamięci Flash bajtów pamięci danych(ram) - Możliwośc dołączenia zewnętrznych 64 kb pamięci programu i 64kB pamięci danych. - 2 tryby pracy z redukcją poboru mocy - 2 liczniki/timery - Wbudowany układ transmisji szeregowej

15 Mikrokontroler AT89C52 Kolejny układ firmy Atmel o parametrach identycznych z AT89C51, za wyjątkiem: - 8kB pamięci programu Flash bajtów danych (RAM) - Dodatkowy, trzeci licznik/timer o rozbudowanych możliwościach pracy Mikrokontroler AT89C55 Jest to układ AT89C52 rozbudowany o następujące elementy: - 20kB pamięci programu Flash - Częstotliwość taktowania od 0 do 33MHz - Podwójny rejestr DPTR - Wbudowany układ watchdog i wykrywania włączenia napięcia zasilania.

16 Mikrokontroler ATMega16 Mikrokontroler ATMega16 został stworzony na bazie wysokowydajnej architektury AVR. Jest to procesor o zredukowanym zbiorze rozkazów (RISC), posiada 131 instrukcji, w większości nastawionych na język C. Posiada 16kB pamięci flash programowanej o trwałości do 10k cykli kasuj/zapisz. Dodatkowo jest to mikroprocesor posiadający 1kB pamięci danych (SRAM) oraz 512 bajtów pamięci nie ulotnej (EEPROM). Możemy w nim znaleźć 32 rejestry ogólnego przeznaczenia (robocze) oraz 32 konfigurowalnych linii wejścia/wyjścia. Ponadto ATMega16 posiada trzy timery/liczniki z trybami porównania, dwa szeregowe interfejsy (USART, I2C), analogowy komparator, wewnętrzny programowalny generator RC(1, 2, 4 lub 8MHz), 8kanałowy 10bitowy przetwornik ADC z opcjonalnym trybem wejścia różnicowego wraz z programowalnym wzmocnieniem (tylko w wersji TQFP) oraz 6 trybów oszczędzania energii. W mikrokontrolerze ATMega16 wyróżniamy 21 zewnętrznych/wewnętrznych programowalnych przerwań o ustalonej kolejności obsługi. Układ Power-On Reset zapewnia prawidłowy reset po włączeniu zasilania. Napięcia zasilania oraz dopuszczalna szybkość pracy są następujące : 2,7 5,5 V oraz 0 8 MHz dla ATMega16L, 4,5 5,5 V oraz 0 16 MHz dla ATMega16. Pobór mocy dla 3 W przy częstotliwości równej 1MHz przedstawia się następująco: W stanie aktywnej pracy - 1,1mA, trybie Idle - 0,35mA, trybie Power-down - poniżej 1uA. Dostępny jest w 3 rodzajach obudowy: 40 pin PDIP, 44 pin TQFP, 44 pad MLF.

17 Mikrokontroler ATMega16 w obudowie PDIP40

18 Budowa rdzenia AVR Głównym zadaniem centralnej jednostki liczącej (CPU) jest zapewnienie poprawnego i szybkiego wykonywania kodu. Z tego powodu CPU musi mieć dostęp do pamięci, wykonywać operacje, sterować układami peryferyjnymi i obsługiwać przerwania. AVR zbudowany jest w architekturze harvardzkiej, oznacza to rozdzielenie pamięci i szyn do programu i danych oraz zapewnia maksymalna wydajność. Instrukcje w pamięci programu wykonywane są potokowo co oznacza, że gdy jedna instrukcja jest już wykonywana, druga jest pobierana z pamięci programu. Takie rozwiązanie pozwala na wykonanie całej instrukcji w każdym cyklu zegara. 32 rejestry robocze o jedno cyklowym czasie dostępu zawarte w bloku szybkiego dostępu pozawala aby jednostka arytmetyczno logiczna (ALU) mogła również pracować w jednym cyklu. Oznacza to, że w typowej operacji, dwa argumenty ALU będą wystawione z bloku rejestrów, następnie wykonana będzie operacja, a wynik jest powrotem umieszczony w bloku rejestrów, i to wszystko stanie się w jednym cyklu zegara.

19 Rejestr SREG SREG jest rejestrem statusowym zawierającym informacje o rezultacie ostatnio wykonanej przez ALU operacji arytmetycznej. Dzięki temu, że w zależności od instrukcji może być zmieniana dowolna ilość bitów (nie zawsze cała zawartość) możliwe jest tworzenie bardziej zoptymalizowanego kodu pod względem szybkości i objętości pracując na pojedynczych znacznikach, którymi są flagi. Zawartość rejestru SREG nie jest automatycznie zapamiętywana przy wejściu w kod obsługi przerwania i odzyskiwana po jego wykonaniu. Należy to wykonywać programowo.

20 Rejestr SREG I - Globalne odblokowanie przerwań. Bit ten jest ustawiany aby odblokować przerwania. Jeżeli flaga I jest ustawiona na 0 to nie może wystąpić żadne z przerwań, gdyż są one blokowane. Bit I po wystąpieniu jakiegokolwiek przerwania jest automatycznie kasowany i za pomocą instrukcji RETI ponownie ustawiany aby umożliwić kolejne instrukcje przerwań. T Flaga umożliwiająca przechowanie kopiowanego bitu. Podczas wykonania instrukcji kopiowania BLT lub BST nit T jest używany jako bit źródłowy lub docelowy operacji bitowej.

21 Rejestr SREG H Flaga przeniesienia połowkowego. Flaga ta jest ustawiana w momencie, gdy nastąpi przeniesienie na 4 bit. V Flaga wskazująca przepełnienie uzupełnienia do dwoch. N Flaga wyniku ujemnego. Zostaje ustawiona w przypadku ujemnego wyniku operacji arytmetycznej. S Flaga znaku. Jest on wynikiem operacji V xor N. Z Flaga zera. Jej ustawienie oznajmia, że wynik działania arytmetycznego lub logicznego wyniósł zero. C Flaga przeniesienia. Flaga jest ustawiana w momencie gdy następuje całkowite przeniesienie w wyniku operacji arytmetycznej lub logicznej.

22 Porty wejścia/wyjścia Wszystkie porty w mikrokontrolerów AVR są cyfrowymi portami o zmiennym kierunku przepuszczanych danych (I/O). Dzięki instrukcjom CBI oraz SBI możemy ustawić poszczególny pin na wejściowy lub wyjściowy. Wydajność prądowa pinów w stanie niskim sięga 20mA, dodatkowo istnieje możliwość włączenia rezystora podciągającego do napięcia zasilania. Każdy z portów posiada 3 rejestry konfiguracyjne: rejestr danych PORTx, rejestr kierunkowy DDRx oraz port pinów wejściowych PINx. Rejestr DDRx określa za pomocą bitów DDxn kierunek pracy pinów wpisanie 1 powoduje prace pinu Pxn jako wyjściowy, 0 jako wejściowy. Rejestr danych PORTxn w momencie gdy dany pin ustawiony jest jako wyjście powoduje przepisanie wartości logicznej w odpowiedni stan wyjściowy pinu. Dla jedynki - stan wysoki, dla zera stan niski. W przypadku gdy dany pin jest ustawiony jako wejście, jedynka podana na PORTxn włącza rezystor podciągający(pullup), natomiast zero spowoduje jego wyłączenie. Gdy dany pin jest skonfigurowany jako wyjście rezystor podciągający napięcie jest automatycznie wyłączany. Dodatkowo istnieje możliwość ustawienia pinu PUD w rejestrze SFIOR, co spowoduje włączenie rezystorów podciągających dla wszystkich pinów bez względu na ustawienia bitów rejestru danych i kierunkowego.

23 Konfiguracja pinów I/O

24 Źródła resetu Podczas resetu wszystkie rejestry portów wejścia/wyjścia zostają ustawione na ich wartości początkowe. Jeżeli włączone zostały przerwania to pod adresem 0x0000 powinna znaleźć się instrukcja JMP, która obsłuży procedury resetu. W przeciwnym wypadku, program nigdy nie używa przerwań ten adres 0x0000 może być adresem początkowym programu. Dzięki rejestrowi MCUCSR można sprawdzić jakie źródło spowodowało reset. ATMega16 posiada 5 rożnych źródeł resetu: Power-on restet Watchdog reset Reset zewnętrzny Brown-out reset JTAG AVR reset

25 Power-on reset jest uaktywniany gdy poziom napięcia zasilającego zejdzie poniżej progu zasilania (4,5 lub 2,7 V). Wbudowany Power-on reset generuje wewnętrzny impuls resetu o wymaganej długości co zapewnia poprawne uruchomienie mikrokontrolera przetrzymując stan resetu przez odpowiednią chwile czasu, po podłączeniu zasilania do mikrokontrolera. Reset zewnętrzny jest powodowany przez pojawienie się niskiego poziomu na pinie RESET. Reset mikrokontrolera nastąpi, gdy długość impulsu resetującego będzie nie mniejsza niż 1,5 μs. Reset watchdog zapobiega zawieszaniu się mikrokontrolera powstającego w np. skutek wykonywania niepożądanych nieskończonych pętli programu. Wygenerowanie impulsu resetującego następuje jeżeli włączony licznik watchdog a nie zostanie w pewnym, określonym czasie wyzerowany. Układ watchdog pracuje z częstotliwością 1 MHz. Włączenie i konfiguracje watchdog a zapewnia rejestr WDTCR.

26 Brown-out reset następuje gdy poziom zasilania Vcc spadnie poniżej ustalonego poziomu detektora brown-out. Funkcję tę konfiguruje się za pomocą bitów bezpiecznikowych. Reset JTAG AVR wywoływany jest poprzez wstawienie logicznej jedynki w rejestrze resetu (Reset Register) i utrzymuje się tak długo, jak długo ustawiona jest w nim logiczna jedynka. REJESTR WDTCR

27 Opis poszczególnych bitów rejestru WDTCR WDTOE Bit odblokowania wyłączenia watchdog a. Jest to bit zabezpieczający dodatkowo wyłączenie watchdog a. Jeżeli bit WDE jest ustawiony na 0, wpisanie jedynki na bicie WDTOE spowoduje wyłączenie watchdoga a. WDE Bit włączenia watchdog a. Ustawienie tego bitu na jedynkę włącza układ watchdog a, zero spowoduje możliwość jego wyłączenia. WDP 2:0 Bity preskalera licznika watchdog a. Za pomocą tych bitów możemy ustawić czas jaki upłynie od wyzerowania watchdog a do załączenia impulsu resetującego. Czas można dobrać w zakresie od około 16ms (000) do około 2,2s (111).

28 Liczniki/Timery W układzie mikrokontrolera ATMega16 znajdują się trzy liczniki. Jeden 16 bitowy i dwa 8 bitowe: licznik z PWM oraz licznik z PWM i pracą asynchroniczną. Jako licznik możemy zaliczyć także układ watchdog. Obydwa liczniki 8-bitowe posiadają te same właściwości z jednym wyjątkiem. Zegar z możliwością pracy asynchronicznej posiada możliwość taktowania z zewnętrznego źródła niezależnie od zegara wewnętrznego. Pozostałe cechy oraz możliwości zastosowań posiada zarówno jeden jak i drugi licznik. Wśród nich wyróżniamy: Licznik jedno kanałowy. Automatyczne kasowanie i restart timera w trybie porównania. Generator częstotliwości. Generator przebiegu PWM. Licznik zdarzeń zewnętrznych. 10-bitowy programowalny preskaler. Źródło przerwań (przepełnienie, zrównanie).

29 Pierwszy z opisanych wyżej liczników 8 bitowych został oznaczony jako licznik 0, licznik z możliwością pracy asynchronicznej posiada numer 2. Obydwa te liczniki mogą być taktowane wewnętrznie poprzez układ preskalera lub zewnętrzne źródło, które może być podłączone odpowiednio do pinu T0 lub pinów TOSC1/2. Piny TOSC1/2 są zaprojektowane do podłączenia zewnętrznego źródła zegara o częstotliwości 32KHz bez dodatkowych kondensatorów. Dla obydwu liczników możemy wybrać źródło taktowania oraz rodzaj zbocza, przy którym licznik będzie inkrementowany bądź dekrementowany. Ustawień tych dokonuje blok logiczny wyboru zegara. Licznik 0 oraz licznik 2 posiadają oddzielne preskalery. Zarówno jeden, jak i drugi preskaler może być zresetowany za pomocą odpowiedniego bitu w rejestrze SFIOR. Reset dokonywany jest w celu synchronizacji licznika.

30 Licznik 16 bitowy w ATMega16 jest bardziej zaawansowanym typem licznika. Dostęp do jego 16 bitowych rejestrów odbywa się przez 2 operacje odczytu bądź zapisu 8 bitowej szyny danych. Posiada on również większą gamę właściwości i zastosowań: Niezależne dwie jednostki Output Compare. Jednostka Input Capture z układem redukcji szumów. Automatyczne kasowanie i restart timera w trybie porównywania. Generator częstotliwości. Generator przebiegu PWM. Licznik zdarzeń zewnętrznych. 10-bitowy programowalny preskaler. 4 niezależne źródła przerwań.

31 Działanie licznika jest identyczne do działania liczników 8 bitowych, z wyjątkiem dodatkowych funkcji. Licznik 16 bitowy, tak jak jego 8 bitowi poprzednicy, również może być taktowany wewnętrznie za pomocą preskalera oraz posiada tryb pracy Output Compare jak i Normal. Jedyną różnica w działaniu wymienionych trybów pracy oraz taktowaniu wewnętrznym jest korzystanie z innych pinów lub rejestrów. Dodatkową funkcja jest funkcja Input Compare. Rejestr Input Compare (ICR1) służy miedzy innymi do przechwycenia wartości licznika na skutek zdarzenia zewnętrznego na pinie ICP1 albo wyjściu komparatora analogowego. W celu lepszego działania moduł Input Capture został wyposażony w układ cyfrowej filtracji szumów. Licznik rozpocznie prace dopiero po wyborze źródła jego zegara.

32 Przetwornik ADC Mikrokontroler ATmega16 wyposażony jest w 10-bitowy przetwornik ADC z sukcesywną aproksymacją. ADC podłączony jest do 8 kanałowego multipleksera pozwalając na przyłączenie ośmiu napięć wejściowych do każdego z pinów portu A. Możliwe jest także 16 kombinacji podłączenia napięcia różnicowego. Dwa z różnicowych wejść (ADC1, ADC0 oraz ADC3, ADC2) są wyposażone w programowalny stopień wzmacniający, pozwalając na wzmocnienie 0dB (1x), 20dB (10x) i 46dB (200x) zanim sygnał wejściowy zostanie poddany konwersji. Tryb różnicowy wspierany jest w układach ATMega16 w obudowach innych niż PDIP40. Do zasilania przetwornika został specjalnie wyprowadzony pin AVCC. Napięcie zasilające ADC nie może się różnić więcej niż o ±0,3 od VCC. Dla lepszego zabezpieczenia przed szumami z zewnątrz, możliwe jest zasilanie przetwornika z filtra dolnoprzepustowego LC.

33 Interfejs USART Obecny w mikrokontrolerach szeregowy dwukierunkowy interfejs USART (lub UART) najczęściej służy do komunikacji z komputerem lub innym mikrokontrolerem. Moduły do tego typu transmisji integrowane w mikrokontrolerach, pozwalają często na zaawansowaną konfigurację i wygodną obsługę, a przy tym odciążają CPU. Wybrane istotne cechy modułu USART: Pełny duplex (dzięki niezależnym rejestrom nadawania i odbioru). Praca synchroniczna lub asynchroniczna. Precyzyjny generator szybkości transmisji. Obsługa różnych konfiguracji ramek i kontroli parzystości. Wykrywanie błędów transmisji. Filtrowanie przeciwzakłóceniowe. Trzy niezależne źródła przerwań. Tryb podwójnej szybkości w trybie asynchronicznym. Tryb komunikacji wieloprocesorowej.

34 USART a UART Od układu UART, w którego często wyposażone są inne starsze mikrokontrolery Atmela, np. AT90S9515 różni się między innymi tym, że może pracować w trybie synchronicznym. W większości przypadków zachowana jest zgodność ze starszym UART, jednak dwa ulepszenia mogą zaburzyć kompatybilność. Dodany został drugi bufor odbiorczy, a rejestr przesuwny odbiornika może pełnić rolę trzeciego bufora. Przez to że dwa bufory odbiorcze pracują jako obrotowy FIFO, odczyt UDR wykonuje się tylko raz na każdy nowy odebrany pakiet danych. Bity statusu (FE, DOR) oraz 9 bit danych, muszą być odczytywane przed odczytem UDR, gdyż potem są tracone. Pin XCK używany jest tylko w trybie pracy synchronicznej.

35 Interfejs TWI Interfejs TWI (two wire interface) jest w pełni zgodny z popularnym I2C firmy Philips, a Atmel używa innej nazwy aby nie łamać praw patentowych. Interfejs I2C podobnie jak SPI, został stworzony do komunikacji między układami scalonymi w obrębie jednego urządzenia. Komunikacja odbywa się dwuprzewodowo, linią danych SDA oraz linią zegara SCL, które są mogą być wspólne dla wszystkich układów w systemie. Pomimo jednej linii danych, transmisja może odbywać się dwukierunkowo, jednak ze stosunkowo niewielką transmisją. W większości przypadków spotyka się możliwość pracy przy częstotliwości linii SCL do 100kHz, a rzadziej do 400kHz. Moduł TWI wbudowany w ATmega16 umożliwia pracę w obu tych trybach. Współpraca wielu układów po tych samych przewodach jest możliwa dzięki temu, iż każdemu z urządzeń przypisuje się indywidualny adres. Liczba urządzeń podłączonych jednocześnie jest ograniczona jedynie maksymalną pojemnością linii 400pF oraz 7-bitową przestrzenią adresową dla urządzeń podrzędnych.

36 Instrukcje asemblera W estawieniu instrukcji, w argumentach używane są następujące oznaczenia: Rd R0-R31, rejestr docelowy operacji (także źródłowy), czasem np. 16 d 31, Rr R0-R31, rejestr źródłowy, czasem np. 16 r 31, b stała o wartości 0-7, do oznaczania numeru lub nazwy bitu, np. OCIE0, s stała o wartości 0-7, bit rejestru statusowego SREG, np. V, Z, P stała (0-31/63) określająca adres z przestrzeni adresowej I/O, np. PORTA, K stała (0-31/63) określająca adres z przestrzeni adresowej I/O, np. R16, PORTA, k stała z przedziału wartości zależnego od instrukcji, q stała (0-63) określająca wartość przesunięcia przy adresowaniu pośrednim, X rejestr adresowania pośredniego, X=R27:26, Y rejestr adresowania pośredniego, Y=R29:28, Z rejestr adresowania pośredniego, Z=R31:30.

37 Opis oznaczeń flag rejestru statusowego SREG (przypomnienie): C flaga przeniesienia (carry), Z flaga zera, N flaga wyniku ujemnego, V wskaźnik przepełnienia uzupełnienia do dwóch, S S = N V, do testów znaku, H flaga przeniesienia połówkowego (half carry), T bit transferowy, używany przez instrukcje BLD i BST, I globalna flaga przerwań.

38 Tryby adresowania natychmiastowe: LDI R16, 3 bezpośrednie: LDS R1, 100 pośrednie: LD R1, X pośrednie z postinkrementacją: LD R1, X+ pośrednie z predekrementacją: LD R1, -X pośrednie z przemieszczeniem: LDD R1, Y+2 pośrednie pamięci programu: LPM R1, Z

39 Opis kolumn: Mnemonik składnia instrukcji asemblera, Opis skrócony opis operacji realizowanej przez instrukcję, Operacja logiczny zapis operacji wykonywanej przez instrukcję, Clk liczba taktów zegara systemowego potrzebnych na wykonanie operacji. Pozostałe oznaczenia używane w zestawieniu instrukcji: SP wskaźnik stosu (stack pointer), STACK stos adresów powrotnych i przechowywanych rejestrów. W przypadku używania złożonych instrukcji jak np. mnożenie (MULS, FMULS itd.), zalecane jest skorzystanie z opisu w pomocy programu AVRStudio lub dokumentacji instrukcji mikrokontrolerów AVR

40

41 Instrukcje organizujące rozgałęzienia

42 Instrukcje transferu danych

43 Instrukcje operacji bitowych

44 Przerwania Kod programu rozpoczyna sie od wektora przerwan. Zgłoszenie przerwania powoduje sprzetowe: odłozenie na stos - adresu powrotu (ale nie rejestru stanu!), - zablokowanie przerwań poprzez wyzerowanie bitu I w rejestrze stanu SREG, - wykonanie rozkazu spod odpowiedniego adresu w pamięci programu. Program obsługi przerwania zwykle kończy sie rozkazem RETI, który włącza przerwania.

45 Wektor przerwań

46 Pierwszy program.cseg ; segment kodu.org 0 ; przerwanie o adresie 0 = reset JMP START.ORG 42 ; pierwszy adres za wektorem przerwan START: LDI R16, 0b OUT DDRA, R16 ; nogi PA0..PA3 jako wyjscia LDI R16, 0b OUT PORTA, R16 ; nogi PA0,PA1,PA3 stan wysoki ; noga PA2 stan niski PETLA: RJMP PETLA ; główna pętla programu

47 Programowanie w języku C/C++ Podstawowe instrukcje sterujące Pierwszą podstawową i najprostszą instrukcją jest instrukcją ustawiająca dany port jako wejście lub wyjście. Podanie zera do rejestru portu ustawi go jako wejściowy, podanie jedynki zdefiniuje go jako wyjściowy. Dla przykładu aby zdefiniować wszystkie piny portu B jako wejściowe musimy posłużyć się następującą operacją: DDRB= 0x00; Aby ustawić wszystkie piny portu B jako wyjściowe dokonujemy operacji: DDRB = 0xFF; Kierunkowość pinów danego partu może być ustawiana w dowolny sposób np.: DDRB = 0x3F; W tym przypadku tylko 2 najstarsze bity rejestru będą powodowały ustawienie pinów wejściowych, reszta pinów zostanie zdefiniowana jako wyjścia.

48 Odczyt i zapis danych na pinach jest wykonywany równie prosto jak definiowanie kierunkowości portu. Musimy pamiętać tylko o jednej rzeczy aby zapisać informacje na dany port musi on być zdefiniowany jako wyjściowy, aby odczytać informacje port musi być ustawiony jako wejściowy. Zapisu przykładowej wartości na port B dokonujemy w następujący sposób: PORTB = 0x12; Aby odczytać informacje z portu B wykonujemy operacje: Informacja = PINB; W tym wypadku wartość na porcie B została zapisana do zmiennej Informacja.

49 Instrukcje warunkowe są podstawowymi instrukcjami dla każdego rodzaju programowania. Możemy wyróżnić 3 rożne rodzaje warunków: if, else, else if. Oto przykład: if(warunek1) { instrukcja1; } else if(warunek2) { instrukcja2; } else { instrukcja3; } W tym przypadku jeżeli zostanie spełniony warunek1 zostanie wykonana instrukcja1, jeżeli zostanie spełniony warunek2 zostanie wykonana instrukcja2, natomiast jeśli żaden z powyższych warunków nie będzie spełniony nastąpi wykonanie instrukcji3.

50 Kolejną grupą instrukcji sterujących są pętle. Wyróżniamy 3 rodzaje instrukcji pętli: for, while, do-while. Pętli używa się w celu powtórzenia danej instrukcji o zdefiniowaną przez programistę ilość razy. Poniżej podaje przykładowe fragmentu kodu posiadającego każdy z wyżej wymienionych instrukcji pętli: Pętla for for(int i=0; i<20; i++) { Suma += i; } Pierwsze wyrażenie w nawiasie występującym po słowie for oznacza początkową wartość argumentu i. Drugie wyrażenie jest warunkiem, który póki jest spełniony gwarantuje wykonanie instrukcji Suma +=i. Trzecie wyrażenie jest zwyczajną instrukcją wykonywaną każdorazowo, gdy okaże się, że warunek zapisany w drugiej instrukcji jest spełniony. Zazwyczaj instrukcja ta związana jest z warunkiem by zapewnić skończoną ilość wykonania pętli. W powyższym przykładzie pętla zostanie wykonana 20 razy.

51 int i=0; while(i<20) { Suma += i; i++; } Pętla while Pętla while jest wykonywana tak długo jak długo spełniony jest warunek opisany w nawiasie znajdującym się po słowie while. Wykonanie pętli oznacza wykonanie instrukcji zawartej w nawiasie klamrowym. Po każdorazowym wykonaniu instrukcji następuje sprawdzenie warunku.

52 do { Suma += i; i++; }while(i<10); Pętla do-while Pętla do-while nie rożni się wiele od pętli while. Jedyną różnicą jest to, że najpierw wykonywana jest instrukcja w nawiasach klamrowych, a dopiero potem sprawdzany warunek zawarty w nawiasach zwykłych. Powoduje to przynajmniej jedno wykonanie instrukcji nawet przy nie spełnionym warunku.

53 Operatory arytmetyczne i logiczne W każdego typu programowaniu, a w szczególności programowaniu mikrokontrolerów wielką role odgrywają operatory. Możemy je podzielić na operatory arytmetyczne oraz logiczne. Mikrokontroler ATMega16 jest w stanie wykonywać operacje arytmetyczne takie jak: dodawanie, odejmowanie, mnożenie, dzielenie. Odpowiednio do ich realizacji wykorzystywane są operatory: +, -, *, / oraz operator przypisania =. Przykładowy zapis operacji: Wynik = zmienna1 * zmienna2; Wynik2 = Wynik + zmienna2; Jak widać zapis kodu jest bardzo intuicyjny.

54 Operacje logiczne są drugim rodzajem operacji najczęściej wykonywanych podczas programowania mikrokontrolera. ATMega16 ma możliwość wykonywania operacji: AND, OR, XOR. Do ich realizacji wykorzystywane są odpowiednio operatory: &,, ^. Przykładowy zapis operacji przedstawia się niemalże identycznie jak przy wykonywaniu operacji logicznych np. Wynik_log = zmienna1 ^ zmienna2

55 Dodatkowo operacja AND jest używana do tzw. operacji maskowania. Maskowanie polega na wyzerowaniu niepotrzebnych w dalszych operacjach bitów. Wykonywana jest operacja Wynik_log = Zmienna1 & Liczba_maskujaca. Poszczególne bity ciągu zerojedynkowego Liczba_maskujaca zerują bity zmiennej Zmienna1 o tej samej hierarchii jeżeli ich wartość wynosi 0, a przepisują, gdy ich wartość wyniesie 1. Najprościej to przedstawić na przykładzie, gdzie: Zmienna1 = ; Jeżeli teraz chcemy przenieść informacje zawartą tylko na 3 najstarszych bitach ustawiamy: Liczba_maskujaca = ; Da to nam wynik: Wynik_log = ;

56 Przesunięcie Ostatnim rodzajem operacji jest operacja przesuwania bitów w lewo lub w prawo. Do przesunięcia bitów w lewo służy operator <<, w prawo >>. Przykładowo - Dana = 0xA5 >> 4. W wyniku tej operacji zmienna dana zostanie przesunięta w prawo 4 razy. Lub też z perspektywy arytmetyki można powiedzieć, zostanie podzielona przez 2 do potęgi 4. W zapisie binarnym wyglądać to będzie następująco: Dana = wartość początkowa Dana = jedno przesunięcie w prawo Dana = trzy przesunięcia w prawo Przesuwanie w lewo działa odwrotnie do przesuwania w prawo i analogicznie w rozumieniu arytmetycznym jest mnożeniem przez 2 do potęgi wynoszącej ilość przesunięć.

57 AtMega128

58 To na dzisiaj tyle Dziękuję za uwagę

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

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

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

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

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

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

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

Systemy wbudowane Mikrokontrolery

Systemy wbudowane Mikrokontrolery Systemy wbudowane Mikrokontrolery Budowa i cechy mikrokontrolerów Architektura mikrokontrolerów rodziny AVR 1 Czym jest mikrokontroler? Mikrokontroler jest systemem komputerowym implementowanym w pojedynczym

Bardziej szczegółowo

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430

Wykład 4. Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Wykład 4 Przegląd mikrokontrolerów 16-bit: - PIC24 - dspic - MSP430 Mikrokontrolery PIC Mikrokontrolery PIC24 Mikrokontrolery PIC24 Rodzina 16-bitowych kontrolerów RISC Podział na dwie podrodziny: PIC24F

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

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

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

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

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

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

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot,

Charakterystyka mikrokontrolerów. Przygotowali: Łukasz Glapiński, Mateusz Kocur, Adam Kokot, Charakterystyka mikrokontrolerów Przygotowali: Łukasz Glapiński, 171021 Mateusz Kocur, 171044 Adam Kokot, 171075 Plan prezentacji Co to jest mikrokontroler? Historia Budowa mikrokontrolera Wykorzystywane

Bardziej szczegółowo

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC

Wykład 2. Przegląd mikrokontrolerów 8-bit: -AVR -PIC Wykład 2 Przegląd mikrokontrolerów 8-bit: -AVR -PIC Mikrokontrolery AVR Mikrokontrolery AVR ATTiny Główne cechy Procesory RISC mało instrukcji, duża częstotliwość zegara Procesory 8-bitowe o uproszczonej

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

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

Inż. 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 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ół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

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

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

STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

Bardziej szczegółowo

XMEGA. Warsztaty CHIP Rok akademicki 2014/2015

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

Bardziej szczegółowo

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

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

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

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

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

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

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

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie:

Zaliczenie Termin zaliczenia: Sala IE 415 Termin poprawkowy: > (informacja na stronie: Zaliczenie Termin zaliczenia: 14.06.2007 Sala IE 415 Termin poprawkowy: >18.06.2007 (informacja na stronie: http://neo.dmcs.p.lodz.pl/tm/index.html) 1 Współpraca procesora z urządzeniami peryferyjnymi

Bardziej szczegółowo

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

Szkolenia specjalistyczne

Szkolenia specjalistyczne Szkolenia specjalistyczne AGENDA Programowanie mikrokontrolerów w języku C na przykładzie STM32F103ZE z rdzeniem Cortex-M3 GRYFTEC Embedded Systems ul. Niedziałkowskiego 24 71-410 Szczecin info@gryftec.com

Bardziej szczegółowo

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

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

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

System mikroprocesorowy i peryferia. Dariusz Chaberski

System mikroprocesorowy i peryferia. Dariusz Chaberski System mikroprocesorowy i peryferia Dariusz Chaberski System mikroprocesorowy mikroprocesor pamięć kontroler przerwań układy wejścia wyjścia kontroler DMA 2 Pamięć rodzaje (podział ze względu na sposób

Bardziej szczegółowo

STM32 Butterfly. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107

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

Bardziej szczegółowo

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

MCAR Robot mobilny z procesorem AVR Atmega32

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

Bardziej szczegółowo

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

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

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

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

Techniki mikroprocesorowe i systemy wbudowane

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

Wykład 2. Mikrokontrolery z rdzeniami ARM

Wykład 2. Mikrokontrolery z rdzeniami ARM Wykład 2 Źródło problemu 2 Wstęp Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) jest 32-bitową architekturą (modelem programowym) procesorów typu RISC. Różne wersje procesorów

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

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515

Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515 Laboratorium Techniki Mikroprocesorowej Informatyka studia dzienne Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515 Cel ćwiczenia Celem ćwiczenia jest poznanie możliwości nowoczesnych

Bardziej szczegółowo

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

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535

Opis funkcjonalny i architektura. Modu³ sterownika mikroprocesorowego KM535 Opis funkcjonalny i architektura Modu³ sterownika mikroprocesorowego KM535 Modu³ KM535 jest uniwersalnym systemem mikroprocesorowym do pracy we wszelkiego rodzaju systemach steruj¹cych. Zastosowanie modu³u

Bardziej szczegółowo

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22)

o Instalacja środowiska programistycznego (18) o Blink (18) o Zasilanie (21) o Złącza zasilania (22) o Wejścia analogowe (22) o Złącza cyfrowe (22) O autorze (9) Podziękowania (10) Wstęp (11) Pobieranie przykładów (12) Czego będę potrzebował? (12) Korzystanie z tej książki (12) Rozdział 1. Programowanie Arduino (15) Czym jest Arduino (15) Instalacja

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

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

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33

1. Wprowadzenie Programowanie mikrokontrolerów Sprzęt i oprogramowanie... 33 Spis treści 3 1. Wprowadzenie...11 1.1. Wstęp...12 1.2. Mikrokontrolery rodziny ARM...13 1.3. Architektura rdzenia ARM Cortex-M3...15 1.3.1. Najważniejsze cechy architektury Cortex-M3... 15 1.3.2. Rejestry

Bardziej szczegółowo

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM

LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM Strona 1 z 7 Opracował mgr inż. Jacek Lis (c) ZNE 2004 1.Budowa przetwornika ADC procesora

Bardziej szczegółowo

ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32

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

Bardziej szczegółowo

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW

MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW MOŻLIWOŚCI PROGRAMOWE MIKROPROCESORÓW Projektowanie urządzeń cyfrowych przy użyciu układów TTL polegało na opracowaniu algorytmu i odpowiednim doborze i zestawieniu układów realizujących różnorodne funkcje

Bardziej szczegółowo

Programowanie mikrokontrolerów AVR z rodziny ATmega.

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

Bardziej szczegółowo

Temat: Pamięci. Programowalne struktury logiczne.

Temat: Pamięci. Programowalne struktury logiczne. Temat: Pamięci. Programowalne struktury logiczne. 1. Pamięci są układami służącymi do przechowywania informacji w postaci ciągu słów bitowych. Wykonuje się jako układy o bardzo dużym stopniu scalenia w

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl

Systemy wbudowane. Paweł Pełczyński ppelczynski@swspiz.pl Systemy wbudowane Paweł Pełczyński ppelczynski@swspiz.pl 1 Program przedmiotu Wprowadzenie definicja, zastosowania, projektowanie systemów wbudowanych Mikrokontrolery AVR Programowanie mikrokontrolerów

Bardziej szczegółowo

TRD-MINI COMBO. Uniwersalny moduł czytnika transponderów UNIQUE - wersja OEM. Podstawowe cechy :

TRD-MINI COMBO. Uniwersalny moduł czytnika transponderów UNIQUE - wersja OEM. Podstawowe cechy : TRD-MINI COMBO Uniwersalny moduł czytnika transponderów UNIQUE - wersja OEM Podstawowe cechy : niewielkie rozmiary - 19 x 26 x 12 mm zasilanie od 3V do 6V 12 formatów danych wyjściowych tryb IDLE wyjście

Bardziej szczegółowo

Opis czytnika TRD-FLAT CLASSIC ver. 1.1. Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Opis czytnika TRD-FLAT CLASSIC ver. 1.1. Naścienny czytnik transponderów UNIQUE w płaskiej obudowie TRD-FLAT CLASSIC Naścienny czytnik transponderów UNIQUE w płaskiej obudowie Podstawowe cechy : zasilanie od 3V do 6V 4 formaty danych wyjściowych POWER LED w kolorze żółtym czerwono-zielony READY LED sterowany

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

Programowanie w językach asemblera i C

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

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną

Opis czytnika TRD-80 CLASSIC ver Moduł czytnika transponderów UNIQUE z wbudowaną anteną TRD-80 CLASSIC Moduł czytnika transponderów UNIQUE z wbudowaną anteną Podstawowe cechy : zasilanie od 3V do 6V zintegrowana antena 4 formaty danych wyjściowych wyjście BEEP wyjście PRESENT zasięg odczytu

Bardziej szczegółowo

Instytut Teleinformatyki

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

Bardziej szczegółowo

Wykład Mikroprocesory i kontrolery

Wykład Mikroprocesory i kontrolery Wykład Mikroprocesory i kontrolery Cele wykładu: Poznanie podstaw budowy, zasad działania mikroprocesorów i układów z nimi współpracujących. Podstawowa wiedza potrzebna do dalszego kształcenia się w technice

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

7. Technika mikroprocesorowa test

7. Technika mikroprocesorowa test 7. Technika mikroprocesorowa test 7.1. Wektor przerwań to: a) adres miejsca w pamięci programu, gdzie znajdują się adresy procedur obsługi przerwań lub ich pierwsze instrukcje b) obszar w pamięci programu

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

Mikroprocesor Operacje wejścia / wyjścia Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych

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

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych

IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych IIPW_SML3_680 (Z80) przewodnik do ćwiczeń laboratoryjnych wrzesieo 2010 UWAGA: Moduł jest zasilany napięciem do 3.3V i nie może współpracowad z wyjściami układów zasilanych z wyższych napięd. Do pracy

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

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

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści

Arduino dla początkujących. Kolejny krok Autor: Simon Monk. Spis treści Arduino dla początkujących. Kolejny krok Autor: Simon Monk Spis treści O autorze Podziękowania Wstęp o Pobieranie przykładów o Czego będę potrzebował? o Korzystanie z tej książki Rozdział 1. Programowanie

Bardziej szczegółowo

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08

Technika mikroprocesorowa. W. Daca, Politechnika Szczecińska, Wydział Elektryczny, 2007/08 Mikrokontrolery 8-bitowe Mikrokontrolery 8-bitowe stanowią wciąż najliczniejszą grupę mikrokontrolerów. Istniejące w chwili obecnej na rynku rodziny mikrokontrolerów opracowane zostały w latach 80-tych.

Bardziej szczegółowo

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa

Projekt MARM. Dokumentacja projektu. Łukasz Wolniak. Stacja pogodowa Projekt MARM Dokumentacja projektu Łukasz Wolniak Stacja pogodowa 1. Cel projektu Celem projektu było opracowanie urządzenia do pomiaru temperatury, ciśnienia oraz wilgotności w oparciu o mikrokontroler

Bardziej szczegółowo

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32)

Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32) Wprowadzenie do podstaw programowania AVR (na przykładzie mikrokontrolera ATmega 16 / 32) wersja 0.4 (20 kwietnia 2015) Filip A. Sala W niniejszym, bardzo krótkim opracowaniu, postaram się przedstawić

Bardziej szczegółowo

Konfigurator Modbus. Instrukcja obsługi programu Konfigurator Modbus. wyprodukowano dla

Konfigurator Modbus. Instrukcja obsługi programu Konfigurator Modbus. wyprodukowano dla Wersja 1.1 29.04.2013 wyprodukowano dla 1. Instalacja oprogramowania 1.1. Wymagania systemowe Wspierane systemy operacyjne (zarówno w wersji 32 i 64 bitowej): Windows XP Windows Vista Windows 7 Windows

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

LEKCJA TEMAT: Zasada działania komputera.

LEKCJA TEMAT: Zasada działania komputera. LEKCJA TEMAT: Zasada działania komputera. 1. Ogólna budowa komputera Rys. Ogólna budowa komputera. 2. Komputer składa się z czterech głównych składników: procesor (jednostka centralna, CPU) steruje działaniem

Bardziej szczegółowo

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki

Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 10 (3h) Implementacja interfejsu SPI w strukturze programowalnej Instrukcja pomocnicza do laboratorium z przedmiotu

Bardziej szczegółowo

ZL28ARM. Zestaw uruchomieniowy dla mikrokontrolerów AT91SAM7XC

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

Bardziej szczegółowo

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

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Struktura portów (CISC) Port to grupa (zwykle 8) linii wejścia/wyjścia mikrokontrolera o podobnych cechach i funkcjach Większość linii we/wy może pełnić dwie lub trzy rozmaite funkcje. Struktura portu

Bardziej szczegółowo

E-TRONIX Sterownik Uniwersalny SU 1.2

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

Bardziej szczegółowo

Budowa i zasada działania komputera. dr Artur Bartoszewski

Budowa i zasada działania komputera. dr Artur Bartoszewski Budowa i zasada działania komputera 1 dr Artur Bartoszewski Jednostka arytmetyczno-logiczna 2 Pojęcie systemu mikroprocesorowego Układ cyfrowy: Układy cyfrowe służą do przetwarzania informacji. Do układu

Bardziej szczegółowo

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania

Architektura Systemów Komputerowych. Jednostka ALU Przestrzeń adresowa Tryby adresowania Architektura Systemów Komputerowych Jednostka ALU Przestrzeń adresowa Tryby adresowania 1 Jednostka arytmetyczno- logiczna ALU ALU ang: Arythmetic Logic Unit Argument A Argument B A B Ci Bit przeniesienia

Bardziej szczegółowo

Podstawy Techniki Mikroprocesorowej

Podstawy Techniki Mikroprocesorowej Podstawy Techniki Mikroprocesorowej Architektury mikroprocesorów Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com.

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

Architektura mikrokontrolera MCS51 Architektura mikrokontrolera MCS51 Ryszard J. Barczyński, 2017 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku wewnętrznego Architektura mikrokontrolera

Bardziej szczegółowo

Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011

Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011 Obługa czujników do robota śledzącego linie. Michał Wendland 171628 15 czerwca 2011 1 Spis treści 1 Charakterystyka projektu. 3 2 Schematy układów elektronicznych. 3 2.1 Moduł czujników.................................

Bardziej szczegółowo

Wykład 3. Przegląd mikrokontrolerów 8-bit: STM8

Wykład 3. Przegląd mikrokontrolerów 8-bit: STM8 Wykład 3 Przegląd mikrokontrolerów 8-bit: - 8051 - STM8 Mikrokontrolery 8051 Rodzina 8051 wzięła się od mikrokontrolera Intel 8051 stworzonego w 1980 roku Mikrokontrolery 8051 były przez długi czas najpopularniejszymi

Bardziej szczegółowo

Mikrokontroler ATmega32. Język symboliczny

Mikrokontroler ATmega32. Język symboliczny Mikrokontroler ATmega32 Język symboliczny 1 Język symboliczny (asembler) jest językiem niskiego poziomu - pozwala pisać programy złożone z instrukcji procesora. Kody instrukcji są reprezentowane nazwami

Bardziej szczegółowo

1.2. Architektura rdzenia ARM Cortex-M3...16

1.2. Architektura rdzenia ARM Cortex-M3...16 Od Autora... 10 1. Wprowadzenie... 11 1.1. Wstęp...12 1.1.1. Mikrokontrolery rodziny ARM... 14 1.2. Architektura rdzenia ARM Cortex-M3...16 1.2.1. Najważniejsze cechy architektury Cortex-M3... 16 1.2.2.

Bardziej szczegółowo

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy

Architektura komputera. Cezary Bolek. Uniwersytet Łódzki. Wydział Zarządzania. Katedra Informatyki. System komputerowy Wstęp do informatyki Architektura komputera Cezary Bolek cbolek@ki.uni.lodz.pl Uniwersytet Łódzki Wydział Zarządzania Katedra Informatyki System komputerowy systemowa (System Bus) Pamięć operacyjna ROM,

Bardziej szczegółowo