Komunikacja w mikrokontrolerach Laboratorium

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

Download "Komunikacja w mikrokontrolerach Laboratorium"

Transkrypt

1 Laboratorium Ćwiczenie 1 Podstawy programowania, stany uśpienia Program ćwiczenia: zapoznanie z regulaminem laboratorium i zasadami zaliczenia, zapoznanie ze sprzętem laboratoryjnym i oprogramowaniem, obsługa portów wejścia/wyjścia mikrokontrolera, obsługa przerwań sprzętowych mikrokontrolera, obsługa stanów uśpienia mikrokontrolera. Zagadnienia do przygotowania: podstawy programowania mikrokontrolerów w języku C, obsługa portów wejścia/wyjścia mikrokontrolera, zjawisko drgań styków przycisków wpływ na pracę mikrokontrolera, sposoby eliminacji, przerwania sprzętowe mikrokontrolera (zewnętrzne oraz licznika T/C1) uruchamianie, obsługa, licznik T/C1 w trybie pracy normalnym obsługa, stany uśpienia mikrokontrolera konfiguracja, aktywacja, wybudzanie. Literatura: [1] Wykład [2] Dokumentacja mikrokontrolera ATmega8535, [3] Mikrokontrolery AVR ATmega w praktyce, R. Baranowski, BTC [4] AVR i ARM7. Programowanie mikrokontrolerów dla każdego, P. Borkowski, Helion [5] Mikrokontrolery AVR Język C. Podstawy programowania, M. Kardaś, Atnel Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski 2015

2 Zawartość instrukcji 1. Podstawy programowania AVR w języku C Licznik T/C Przerwania sprzętowe Stany uśpienia Przykładowe zadania... 6 UWAGA! Do poprawnej obsługi mikrokontrolera niezbędne jest korzystanie z jego dokumentacji. Instrukcja zawiera pewne uproszczenia w stosunku do rzeczywistych możliwości mikrokontrolera oraz języka C. 1. Podstawy programowania AVR w języku C W trakcie zajęć laboratoryjnych programowanie mikrokontrolerów będzie się odbywało przy wykorzystaniu darmowego środowiska programistycznego AVR Studio 4 oraz darmowego kompilatora WinAVR. Ten zestaw umożliwia kompilowanie i asemblację programów napisanych w języku C oraz symulację ich działania w mikrokontrolerze. Trzecią aplikacją wykorzystywaną na zajęciach będzie PonyProg2000, który umożliwia zapisywanie programu w pamięci mikrokontrolera. Wprowadzenie do obsługi wymienionych aplikacji odbędzie się na pierwszych zajęciach. Po utworzeniu nowego projektu AVR GCC w programie AVR Studio 4, należy napisać odpowiedni kod, który będzie sterował pracą mikrokontrolera. Uwaga: proszę sprawdzić, czy w menu Project -> Configuration Options -> Custom Options ustawiono odpowiednie ścieżki dostępu:...\winavr\bin\avr-gcc.exe oraz... \WinAVR\utils\bin\make.exe Do projektu każdorazowo należy dołączyć bibliotekę io.h dostarczoną z programem WinAVR. Zawarto w niej m.in. definicję rejestrów specjalnych oraz instrukcji mikrokontrolera. Funkcja główna programu zawsze musi nazywać się main(). Na listingu 1 przedstawiono uniwersalny szkielet programu. int main(void) List. 1. Uniwersalny szkielet programu. 1 dr inż. Piotr Markowski 2015

3 Zmienne można deklarować jako typy standardowe dla języka C lub typy specjalnie przeznaczone dla mikrokontrolerów (z punktu widzenia mikrokontrolerów wygodniejsze jest stosowanie zmiennych 8 czy 16-bitowych), np: int8_t liczba całkowita 8-bitowa ze znakiem (zakres ), uint8_t liczba całkowita 8-bitowa bez znaku (zakres ), int16_t liczba całkowita 16-bitowa ze znakiem (zakres ), uint16_t liczba całkowita 16-bitowa bez znaku (zakres ). Ustalanie wartości rejestrów sterujących pracą mikrokontrolera wykonuje się np. w następujący sposób: DDRA = 0b ; //przypisanie wartości w kodzie NKB DDRB = 0xaa; //przypisanie wartości w kodzie szesnastkowo-dziesiętnym DDRC = 170; //przypisanie wartości w kodzie dziesiętnym PORTD = (1<<PD2); //ustawienie bitu PD2 na 1 z zachowaniem wartości pozostałych bitów PORTD = ((1<<2) (1<<PD1)); //ustawienie bitu nr 2 (PD2) oraz PD1 (nr 1 ) na 1 z zachowaniem... PORTD &= ~(1<<PD3)&~(1<<PD2); //wyzerowanie bitu nr 2 (PD2) oraz nr 3 (PD3) z zachowaniem... PORTA ^= 0xff; //zanegowanie wszystkich bitów rejestru PORTA (XOR bitów z wartością 1 ) TCNT1 += 1; //zwiększenie stany rejestru o 1; PORTB = TCNT0; //przepisanie zawartości rejestru specjalnego do innego; uint8_t zmienna = OCR0; //przepisanie zawartości rejestru do zmiennej zmienna Należy pamiętać, że nazwy rejestrów specjalnych muszą być wpisywane wielkimi literami. Sprawdzenie aktualnego stanu bitu w rejestrze można wykonać np. w taki sposób: if (PIND & (1<<PD0)) //warunek prawdziwy gdy na bicie PD0 w rejestrze PIND jest 1 if (!(PIND & (1<<PD0))) //warunek prawdziwy gdy na bicie PD0 w rejestrze PIND jest 0 Część programu mającą się wykonywać wielokrotnie można umieścić np. w pętli nieskończonej for() lub while(), jednak w przypadku pętli for() występują problemy przy symulacji w AVR Studio 4. while (1) for (;;) Opóźnienie wykonywania programu można spowodować wywołując funkcję _delay_us() lub _delay_ms(). Pierwsza powoduje opóźnienie w mikrosekundach (czas trwanie podajemy w nawiasie), druga w milisekundach. Aby funkcje działały należy w nagłówku projektu dodać wpisy: #define F_CPU L #include <util/delay.h> // L to przykładowa częstotliwość zegara taktującego nasz mikrokontroler Biblioteka delay.h zawiera definicje przedstawionych funkcji, ale do prawidłowego działania wymaga wcześniejszego zdefiniowania stałej F_CPU. Na listingu 2 przedstawiono kod przy kładowego programu. Załóżmy, że do nóżek wejściowych PD0 oraz PD1 mikrokontrolera podpięto przyciski, łączące nóżki z masą. Do portu A podłączono 8 LED. 2 dr inż. Piotr Markowski 2015

4 1 2 3 #define F_CPU UL #include <util/delay.h> //dołaczenie biblioteki //ustalenie częstotliowści dla delay.h //dołaczenie biblioteki int ustaw(void) DDRD &= ~((1<<PD0) (1<<PD1)); PORTD = (1<<PD0) (1<<PD1); DDRA = 0xff; //PD0 oraz PD1 jako wejścia ('0') //pull-up na PD0 oraz PD1 //cały port A jako wyjścia ('1') int main(void) uint8_t a = 0xaa; //zmienna 'a' - stan początkowy 0b ustaw(); //wywołanie funkcji 'ustaw()' while (1) //pętla nieskończona _delay_ms(500); if (!(PIND & (1<<PD0))) //czy bit PD0 = 0? (czy przycisk wciśnięty?) PORTA ^= a; //wyświetl na porcie A: (PORTA xor a) => migają diody nr. 1,3,5,7 else if (!(PIND & (1<<PD1))) //czy bit PD1 = 0? (czy przycisk wciśnięty?) PORTA ^= ~a; //wyświetl na porcie A: (PORTA xor ~a) => migają diody nr. 0,2,4,6 else PORTA = a; //wyświetl na porcie A: a List. 2. Kod przykładowego programu. W pierwszej kolejności definiowana jest zmienna a i przypisywana jest jej wartość początkowa 0b Następnie wywoływana jest funkcja ustaw(), w której ustawiany jest pull-up dla wejść PD0 oraz PD1, port A definiowany jest jako wyjściowy. W pętli nieskończonej while realizowane jest opóźnienie 500 ms oraz sprawdzany jest aktualny stan bitów PD0 oraz PD1 w rejestrze PIND. Jeżeli nie jest wciśnięty żaden przycisk wykonuje się warunek z linii 18 wyświetlenie na LED wartości zmiennej a. Jeżeli zostanie naciśnięty i przytrzymany przycisk PD0 na LED wyświetli się wartość 0b Pętla while wykona się kolejny raz, zatem po 500 ms stan na LED zmieni się na 0b , itd. Jeżeli przycisk PD0 zostanie zwolniony, a wciśnięty zostanie przycisk PD1 na LED wyświetli się wartość zanegowane a 0b , która po 500 ms zmieni się na 0b , itd. Zatem wciśnięcie jednego z przycisków powoduje miganie LED. W ramach przygotowania do zajęć proszę przetestować działanie programu w symulatorze AVR Studio Licznik T/C1 Dokładne informacje na temat pracy liczników zawiera dokumentacja mikrokontrolera [2] oraz materiały z wykładu [1]. Na zajęciach laboratoryjnych wykorzystywany będzie tryb pracy normalny lub CTC licznika T/C1. Licznik będzie pracował w trybie zliczania impulsów/odliczania czasu (nie w trybie generowania przebiegu prostokątnego). W związku z tym w ustawieniach rejestrów sterujących pracą licznika (TCCR1A, TCCR1B s. 110 [2]) na bitach COM1xx, FOC1x, ICNC1 oraz ICES1 należy wpisać 0. Bity WGM1x należy ustawić adekwatnie do wybranego trybu pracy. W trakcie laboratorium będzie konieczna znajomość funkcji i sposobu użycia rejestru zliczającego TCNT1 oraz rejestrów porównawczych OCR1A i OCR1B, a także rejestru odblokowującego przerwania liczników (TIMSK). Wyczerpujące informację o wymienionych rejestrach można znaleźć w literaturze do laboratorium [1-5]. Zagadnienie przerwań sprzętowych licznika T/C1 zostanie poruszone w punkcie 3. 3 dr inż. Piotr Markowski 2015

5 3. Przerwania sprzętowe Mikrokontroler Atmega8535 stosowany na zajęciach laboratoryjnych posiada 21 przerwań sprzętowych omówionych na stronie 46 dokumentacji [2]. W trakcie zajęć będą wykorzystywane przerwania zewnętrzne INT0, INT1, INT2 oraz przerwania liczników. W celu odblokowania wybranego przerwania należy: 1. ustalić jakie zdarzenie ma wywołać przerwanie (rejestry MCUCR, MCUCSR); 2. wpisać wartość 1 na odpowiednim bicie w odpowiednim rejestrze kontrolnym (GICR, TIMSK) 3. odblokować przerwania globalnie (SREG, flaga I) Krok (1) wykonuje się jedynie dla przerwań zewnętrznych. Zgodnie z tab. 35 oraz 36 na stronie 68 dokumentacji [2] wybieramy sposób aktywacji przerwania zewnętrznego: poziomem niskim na nóżce; dowolnym zboczem (narastającym lub opadającym); zboczem opadającym; zboczem narastającym. Krok (2) to ustawienie bitów w rejestrze GICR dla przerwań zewnętrznych (s. 69 dokumentacji [2]) lub w rejestrze TIMSK dla liczników (s. 85, 115, 133 dokumentacji [2]). Krok (3) wykonujemy wywołując funkcję sei(). Aby obsługiwać przerwania w AVR GCC należy do projektu dołączyć bibliotekę interrupt.h. Zdefiniowano w niej wektory przerwań sprzętowych mikrokontrolerów AVR i przypisano im ustandaryzowane nazwy. W tab. 1 zebrano nazwy wektorów dla przerwań zewnętrznych oraz liczników mikrokontrolera ATmega8535. Pełną listę wektorów można znaleźć np. w internecie (np. avr interrupts.html). Obsługa przerwań sprowadza się do ich skonfigurowania i uruchomienia (jak opisano powyżej) oraz do napisania funkcji obsługującej dla każdego. Funkcja ta musi nosić nazwę: ISR(xxx) przy czym zamiast xxx wpisujemy nazwę wektora z tabeli 1. Tab. 1. Nazwy wybranych wektorów przerwań Wektor Opis INT0_vect przerwanie zewnętrzne INT0 INT1_vect przerwanie zewnętrzne INT1 INT2_vect przerwanie zewnętrzne INT2 TIMER0_OVF_vect przepełnienie licznika T/C0 TIMER0_COMP_vect zrównanie licznika T/C0 (TCNT0 = OCR0) TIMER1_OVF_vect przepełnienie licznika T/C1 TIMER1_COMPA_vect zrównanie licznika T/C1 (TCNT1 = OCR1A) TIMER1_COMPB_vect zrównanie licznika T/C1 (TCNT1 = OCR1B) TIMER2_OVF_vect przepełnienie licznika T/C2 TIMER2_COMP_vect zrównanie licznika T/C2 (TCNT2 = OCR2) Na listingu 3 przedstawiono szkielet programu zawierającego obsługę przerwania od przepełnienia licznika T/C0 oraz przerwania zewnętrznego INT0. 4 dr inż. Piotr Markowski 2015

6 #include <avr/interrupt.h> int main(void) DDRD &= ~(1<<PD2); PORTD = (1<<PD2); MCUCR = (1<<ISC00); GICR = (1<<INT0); TIMSK = (1<<TOIE0); sei(); TCCR0 = (1<<CS00); //PD2 jako wejście //pull-up na PD2 //reakcja INT0 na dowolne zbocze //odblokowanie przerwania INT0 //odblokowanie przerwania od przepełnienia T/C0 //globalne odblokowanie przerwań //uruchomienie licznika T/C0 11 while(1) ISR(INT0_vect) PORTA=0x81; ISR(TIMER0_OVF_vect) PORTA=0x18; //podprogram obsługi INT0 //zrób coś //zrób coś innego List. 3. Kod przykładowego programu. 4. Stany uśpienia Uśpienie mikrokontrolera przede wszystkim umożliwia zmniejszenie ilości energii pobieranej przez system. Jest to możliwie dzięki odcięciu taktowania od części układów peryferyjnych. W rezultacie przestają one pracować, a co za tym idzie, pobierać energię. W pewnych sytuacjach zasadne jest też uśpienie mikrokontrolera, aby zminimalizować szum elektromagnetyczny przez niego wytwarzany (np. konwersja analog.-cyfr. lub cyfr.-analog.). Na procedurę obsługi stanów uśpienia składa się: wybór odpowiedniego stanu uśpienia (np. w Atmega8535 mamy 6 dostępnych opcji); odblokowanie opcji uśpienia mikrokontrolera; uśpienie mikrokontrolera; wybudzenie mikrokontrolera. W tabeli 2 zamieszczono wybrane stany uśpienia mikrokontrolera ATmega8535. Podano także wykaz sygnałów, które mogę układ wybudzić. Należy podkreślić, że tylko ściśle określone zdarzenia są do tego zdolne wybrane przerwania sprzętowe. Przed uśpieniem mikrokontrolera należy sprawdzić, czy aktywowano te przerwanie/przerwania. Inaczej konieczny będzie reset mikrokontrolera. Do wyboru określonego trybu uśpienia, a także do jego aktywowania służą odpowiednio funkcje set_sleep_mode(xxx) (zamiast xxx należy wpisać wektor stanu uśpienia z tabeli 2) oraz sleep_mode() dostępne w bibliotece sleep.h. Na listingu 4 przedstawiono przykładowy kod wprowadzający mikrokontroler w stan uśpienia i wybudzający go przy pomocy przerwania INT0. 5 dr inż. Piotr Markowski 2015

7 Tab. 1. Nazwy wybranych wektorów przerwań Tryb uśpienia Nazwa wektora Sygnał wybudzający Idle SLEEP_MODE_IDLE dowolne przerwanie ADC redukcja szumów Power down SLEEP_MODE_ADC - przerw. zewn. aktywowane poziomem niskim, - rozpoznanie adresu TWI (I2C), - przerwania licznika T/C2, - EEPROM gotowy, - zakończenie konwersji ADC. SLEEP_MODE_PWR_ DOWN - przerw. zewn. aktywowane poziomem niskim, - rozpoznanie adresu TWI (I2C). Power save SLEEP_MODE_PWR_ SAVE - przerw. zewn. aktywowane poziomem niskim, - rozpoznanie adresu TWI (I2C), - przerwania asynchroniczne licznika T/C #include <avr/interrupt.h> #include <avr/sleep.h> //biblioteka trybów uśpienia int main (void) DDRD=0; PORTD=0xFF; MCUCR=0; //przerwanie INT0 aktywowane poziomem niskim GICR =(1<<INT0); set_sleep_mode(sleep_mode_idle); //wybór trybu uśpienia sei(); sleep_mode(); //uśpienie mikrokontrolera while (1) ISR(INT0_vect) List. 4. Kod przykładowego programu. 5. Przykładowe zadania a) napisz program wykonujący różne operacje arytmetyczne (+, -, *, /) oraz logiczne (AND, OR, XOR, <<, ~) na liczbach 8-bitowych oraz wysyłaj wyniki na nóżki portu A; b) napisz program wysyłający różne kombinacje bitowe na port B, w zależności od stanu 4 nóżek wejściowych na porcie D (zakładamy 8 LED podpięte do portu A i 4 przyciski podpięte do portu D); c) przy pomocy licznika T/C0 odlicz 50 impulsów zewnętrznych, doprowadzanych przez wejście T0; d) przy pomocy licznika T/C1 odlicz czas 1 min; e) przy pomocy licznika T/C1 odliczaj czas 1 min; co 60s zwiększaj liczbę wysyłaną na port wyjściowy A (domyślnie 8 LED); wykorzystaj przerwanie od doliczenia do zadanej wartości (OCIE1A lub OCIE1B); f) napisz program obsługujący przerwania zewnętrzne INT0 oraz INT1, wysyłający różne kombinacje bitowe na port B, w zależności od tego, które przerwanie zostało wywołane; g) wprowadź mikrokontroler w stan uśpienia IDLE, następnie wybudź go przy użyciu przerwania zewnętrznego. 6 dr inż. Piotr Markowski 2015

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

Komunikacja w mikrokontrolerach. Podstawy programowania. Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski

Komunikacja w mikrokontrolerach. Podstawy programowania. Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Komunikacja w mikrokontrolerach Podstawy programowania Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na podstawie dokumentacji ATmega8535, www.atmel.com. AVR

Bardziej szczegółowo

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 2 Magistrala UART Program ćwiczenia: konfiguracja transmisji danych między komputerem PC a mikrokontrolerem przy użyciu magistrali UART. Zagadnienia do przygotowania: podstawy programowania

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

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

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

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i Mikrokontrolery System przerwań laboratorium: 11 autorzy: dr hab. Zbisław Tabor, prof. PK mgr inż.

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

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

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

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

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

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR

Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Cwiczenie nr 1 Pierwszy program w języku C na mikrokontroler AVR Zadanie polega na napisaniu pierwszego programu w języku C, jego poprawnej kompilacji i wgraniu na mikrokontroler. W tym celu należy zapoznać

Bardziej szczegółowo

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

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

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

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

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

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

Programowanie mikrokontrolerów AVR

Programowanie mikrokontrolerów AVR Programowanie mikrokontrolerów AVR Czym jest mikrokontroler? Mikrokontroler jest małym komputerem podłączanym do układów elektronicznych. Pamięć RAM/ROM CPU wykonuje program Układy I/O Komunikacje ze światem

Bardziej szczegółowo

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

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

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

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

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

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

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

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

Programowanie mikrokontrolerów - laboratorium

Programowanie mikrokontrolerów - laboratorium Państwowa Wyższa Szkoła Zawodowa w Nowym Sączu Instytut Techniczny Programowanie mikrokontrolerów- laboratorium Nazwisko i imię 1. 2. Data wykonania ćwiczenia: Grupa: Ocena sprawozdania Zaliczenie: Symbol:

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Laboratorium

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

Bardziej szczegółowo

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

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

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

Komunikacja w mikrokontrolerach Laboratorium

Komunikacja w mikrokontrolerach Laboratorium Laboratorium Ćwiczenie 3 Magistrala I 2 C Program ćwiczenia: konfiguracja transmisji danych między mikrokontrolerem a cyfrowym czujnikiem przy użyciu magistrali I 2 C. Zagadnienia do przygotowania: podstawy

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

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

długo. W tym celu w czasie przeczesywania if (key) {

długo. W tym celu w czasie przeczesywania if (key) { Kurs AVR lekcja 3 Rozwiązania zadań z ostatniego odcinka Tradycyjnie odcinek zaczynamy od analizy zadania z poprzedniego numeru. Celem było wygenerowanie dźwięku o wysokości zależnej od wciśniętego przycisku.

Bardziej szczegółowo

Instrukcja do laboratorium Akademii ETI *

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

Bardziej szczegółowo

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

DOKUMENTACJA. dot. Budowy i przebiegu konstrukcji linefollower-a. Data: MCHT2 Jakub Tomczyk Łukasz Pawelec Mateusz Wróbel

DOKUMENTACJA. dot. Budowy i przebiegu konstrukcji linefollower-a. Data: MCHT2 Jakub Tomczyk Łukasz Pawelec Mateusz Wróbel DOKUMENTACJA dot. Budowy i przebiegu konstrukcji linefollower-a Data: 2016-11-25 MCHT2 Jakub Tomczyk Łukasz Pawelec Mateusz Wróbel Spis Treści 1. Opis tematu. 2. Niezbędne obliczenia 3. Schemat ideowy

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

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Przerwania laboratorium: 04 autor: mgr inż. Michał Lankosz dr hab. Zbisław Tabor,

Bardziej szczegółowo

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM

ĆWICZENIE 5. TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM ĆWICZENIE 5 TEMAT: OBSŁUGA PORTU SZEREGOWEGO W PAKIECIE KEILuVISON WYSYŁANIE PORTEM SZEREGOWYM Wiadomości wstępne: Port szeregowy może pracować w czterech trybach. Tryby różnią się między sobą liczbą bitów

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

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

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

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

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna

ad a) Konfiguracja licznika T1 Niech nasz program składa się z dwóch fragmentów kodu: inicjacja licznika T1 pętla główna Technika Mikroprocesorowa Laboratorium 4 Obsługa liczników i przerwań Cel ćwiczenia: Celem ćwiczenia jest nabycie umiejętności obsługi układów czasowo-licznikowych oraz obsługi przerwań. Nabyte umiejętności

Bardziej szczegółowo

STEROWANIE DWUSTANOWE. Przykład 1 MIESZALNIK

STEROWANIE DWUSTANOWE. Przykład 1 MIESZALNIK STEROWANIE DWUSTANOWE Sterowanie dwustanowe najczęściej sprowadza się do wykonania pewnej sekwencji operacji, przy czym przejście od jednej operacji do drugiej następuje po spełnieniu określonych warunków,

Bardziej szczegółowo

Instytut Teleinformatyki

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

Bardziej szczegółowo

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

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

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych

Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Funkcje standardowej biblioteki wejść-wyjść do wyświetlania i pobierania danych Przykłady wykorzystanie funkcji printf i scanf do wyświetlania danych na wyświetlaczu LCD oraz komunikacji sterownika mikroprocesorowego

Bardziej szczegółowo

Zestaw Edukacyjny Atmega-8 (AJAWe-0711) Porty wejścia-wyjścia.

Zestaw Edukacyjny Atmega-8 (AJAWe-0711) Porty wejścia-wyjścia. Zestaw Edukacyjny Atmega-8 (AJAWe-0711) LEKCJA 4 Porty wejścia-wyjścia W poprzedniej lekcji napisaliśmy pierwszy program, który zapalił nam jedną diodę led Teraz omówimy szczegółowo działanie niniejszego

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

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

Immobilizer samochodowy otwierający dostęp poprzez kod czteroznakowy.

Immobilizer samochodowy otwierający dostęp poprzez kod czteroznakowy. Uniwersytet Warszawski Wydział Fizyki sierpień 2015 Projekt Zaliczeniowy przedmiotu Programowanie Mikrokontrolerów Immobilizer samochodowy otwierający dostęp poprzez kod czteroznakowy. Autor: Marcin Cybulski

Bardziej szczegółowo

Schemat blokowy architektury AVR

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

Bardziej szczegółowo

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

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory

Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Instrukcja do ćwiczeń nr 4 typy i rodzaje zmiennych w języku C dla AVR, oraz ich deklarowanie, oraz podstawowe operatory Poniżej pozwoliłem sobie za cytować za wikipedią definicję zmiennej w informatyce.

Bardziej szczegółowo

Sterowanie multipleksowe 4-cyfrowego wyświetlacza siedmiosegmentowego w oparciu o system przerwao mikrokontrolera ATmega16 w języku Asembler

Sterowanie multipleksowe 4-cyfrowego wyświetlacza siedmiosegmentowego w oparciu o system przerwao mikrokontrolera ATmega16 w języku Asembler Sterowanie multipleksowe 4-cyfrowego wyświetlacza siedmiosegmentowego w oparciu o system przerwao mikrokontrolera ATmega16 w języku Asembler Robert Budzioski Wrocław, 11. maja 2009 Spis treści 1. Sterowanie

Bardziej szczegółowo

Politechnika Śląska w Gliwicach

Politechnika Śląska w Gliwicach Politechnika Śląska w Gliwicach Wydział Automatyki, Elektroniki i Informatyki LABORATORIUM PRZEDMIOTU SYSTEMY MIKROPROCESOROWE ĆWICZENIE 1 Układy wejścia i wyjścia mikrokontrolera ATXMega128A1 1 1 Cel

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

Sterowanie dwustanowe - algorytmy synchroniczne

Sterowanie dwustanowe - algorytmy synchroniczne Systemy wbudowane z reguły są systemami czasu rzeczywistego W programowaniu systemów czasu rzeczywistego korzysta się albo z systemów operacyjnych czasu rzeczywistego albo ze specjalnych algorytmów działania

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

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

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

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

Zewnętrzne układy peryferyjne cz. 1 Wykład 12

Zewnętrzne układy peryferyjne cz. 1 Wykład 12 Zewnętrzne układy peryferyjne cz. 1 Wykład 12 Wyświetlacz LCD zgodny z HD44780 Wyświetlacz LCD zgodny z HD44780 2 HD44780 Standardowy sterownik alfanumerycznych wyświetlaczy LCD opracowany przez firmę

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

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Instytut Teleinformatyki

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

Laboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie

Laboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie Laboratorium Systemów wbudowanych Wyższa Szkoła Zarządzania i Bankowości, Informatyka studia inżynierskie Ćwiczenie nr l Podstawy programowania mikrokontrolerów rodziny AVR8 opracował dr inż. Wojciech

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

ŚRODOWISKO PROTOTYPOWANIA SP AVR

ŚRODOWISKO PROTOTYPOWANIA SP AVR PWSZ SW W1 ŚRODOWISKO PROTOTYPOWANIA SP AVR Mikrokontroler ATmega32. Płytka ewaluacyjna EVBavr. Studio Programowania. Przyciski i LEDy. Przerwanie zegarowe. Symulator PB_sym. W skład środowiska SP AVR

Bardziej szczegółowo

Podstawy programowania skrót z wykładów:

Podstawy programowania skrót z wykładów: Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace

Bardziej szczegółowo

1 Podstawy c++ w pigułce.

1 Podstawy c++ w pigułce. 1 Podstawy c++ w pigułce. 1.1 Struktura dokumentu. Kod programu c++ jest zwykłym tekstem napisanym w dowolnym edytorze. Plikowi takiemu nadaje się zwykle rozszerzenie.cpp i kompiluje za pomocą kompilatora,

Bardziej szczegółowo

Kurs Podstawowy S7. Spis treści. Dzień 1

Kurs Podstawowy S7. Spis treści. Dzień 1 Spis treści Dzień 1 I System SIMATIC S7 - wprowadzenie (wersja 1401) I-3 Rodzina sterowników programowalnych SIMATIC S7 firmy SIEMENS I-4 Dostępne moduły i ich funkcje I-5 Jednostki centralne I-6 Podstawowe

Bardziej szczegółowo

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h>

/* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include <aduc834.h> Szablon programu: /* dołączenie pliku nagłówkowego zawierającego deklaracje symboli dla wykorzystywanego mikrokontrolera */ #include /* opcjonalne: deklaracja typów o rozmiarze jednego i dwóch

Bardziej szczegółowo

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja

start Program mikroprocesorowego miernika mocy generowanej $crystal = deklaracja ----------------------------start---------------------------- Program mikroprocesorowego miernika mocy generowanej $crystal = 8000000 deklaracja częstotliwości kwarcu taktującego uc $regfile "m8def.dat"

Bardziej szczegółowo

1. Tworzenie nowego projektu.

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

Bardziej szczegółowo

Projekt na Systemy Wbudowane

Projekt na Systemy Wbudowane Projekt na Systemy Wbudowane Opis zestawu: Projekt opierał się będzie o płytkę testową atmega8 kupiona w firmie nestor-electronic. Do płytki dołączony został moduł odbiornika DCF77: Płytka zawiera zegar

Bardziej szczegółowo

Programowanie w języku Python. Grażyna Koba

Programowanie w języku Python. Grażyna Koba Programowanie w języku Python Grażyna Koba Kilka definicji Program komputerowy to ciąg instrukcji języka programowania, realizujący dany algorytm. Język programowania to zbiór określonych instrukcji i

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

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

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface Mikroprocesory i Mikrosterowniki Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface Wydział Elektroniki Mikrosystemów i Fotoniki dr inż. Piotr Markowski Na prawach rękopisu. Na

Bardziej szczegółowo

SYSTEMY CZASU RZECZYWISTEGO (SCR)

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

Bardziej szczegółowo

Ćwiczenie 7 Matryca RGB

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

Bardziej szczegółowo

Mikroprocesory i Mikrosterowniki Laboratorium

Mikroprocesory i Mikrosterowniki Laboratorium Laboratorium Ćwiczenie 2 Przetwornik analogowo/cyfrowy (ADC) Program ćwiczenia: obsługa przerwań, obsługa konwertera A/C. Zagadnienia do przygotowania: jak do ćwiczenia 1, rejestry i obsługa konwertera

Bardziej szczegółowo

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach

Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach Marcin Stępniak Architektura systemów komputerowych Laboratorium 13 Symulator SMS32 Operacje na bitach 1. Informacje Matematyk o nazwisku Bool wymyślił gałąź matematyki do przetwarzania wartości prawda

Bardziej szczegółowo

Stanowisko laboratoryjne dla mikrokontrolera Atmega16 firmy Atmel

Stanowisko laboratoryjne dla mikrokontrolera Atmega16 firmy Atmel Katedra Metrologii i Optoelektroniki Wydział Elektroniki, Telekomunikacji i Informatyki Politechnika Gdańska LABORATORIUM MIKROKONTROLERY I MIKROSYSTEMY Stanowisko laboratoryjne dla mikrokontrolera Atmega16

Bardziej szczegółowo

Sterowniki programowalne

Sterowniki programowalne Wykład w ramach przedmiotu Sterowniki programowalne Sterowniki programowalne GE Fanuc serii 90-30 Zasady działania systemu (część II) Na podstawie dokumentacji GE Fanuc przygotował dr inż. Jarosław Tarnawski

Bardziej szczegółowo

Opis efektów kształcenia dla modułu zajęć

Opis efektów kształcenia dla modułu zajęć Nazwa modułu: Programowanie mikrokontroleroẃ i mikroprocesoroẃ Rok akademicki: 2017/2018 Kod: EIT-1-408-s Punkty ECTS: 4 Wydział: Elektrotechniki, Automatyki, Informatyki i Inżynierii Biomedycznej Kierunek:

Bardziej szczegółowo

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci

Laboratorium 1: Wprowadzenie do środowiska programowego. oraz podstawowe operacje na rejestrach i komórkach pamięci Laboratorium 1: Wprowadzenie do środowiska programowego oraz podstawowe operacje na rejestrach i komórkach pamięci Zapoznanie się ze środowiskiem programowym: poznanie funkcji asemblera, poznanie funkcji

Bardziej szczegółowo