Sprawozdanie koocowe Systemy wbudowane. Projekt własny - na układzie Atmega32: Kompas

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

Download "Sprawozdanie koocowe Systemy wbudowane. Projekt własny - na układzie Atmega32: Kompas"

Transkrypt

1 Artur Majewski lider Ewa Szewczyk Michał Orzełek (grupa laboratoryjna czwartek 12.45) Sprawozdanie koocowe Systemy wbudowane Projekt własny - na układzie Atmega32: Kompas Wykorzystane urządzenia peryferyjne: - kompas CMPS03 - wyświetlacz LCD HD przyciski - diody - połączenie z komputerem (USB USART) Wykorzystane funkcjonalności MCU: - porty IO (do diod i przycisków) - UART (komunikacja z komputerem) - timer - przerwania - I 2 C

2 1. Zakres obowiązków poszczególnych członków grupy Funkcjonalności zrealizowane w ramach I checkpointu (odczyt z kompasu i komunikacja z PC) zostały zaimplementowane głównie przez kierownika grupy. Kod obsługi magistrali TWI pisał kierownik grupy razem z Michałem Orzełkiem. Funkcjonalności na II checkpoint (LCD i diody) były zadaniem Michała. Funkcjonalności na III checkpoint obsługa przycisków (wybór pożądanego azymutu) oraz logika aplikacji (wyświetlenie na LCD i przy użyciu diod odchylenia od wybranego kierunku), zostały zrealizowane przez Ewę Szewczyk (przy czym obsługa przycisków była wstępnie przedyskutowana przez wszystkich członków grupy). Odpowiadające poszczególnym funkcjonalnościom części sprawozdania zostały napisane przez odpowiednich członków grupy. 2. Opis działania programu instrukcja użytkownika (i prezentacja działania na zrzutach ekranu oraz opis działania sprzętu) 2.1. I checkpoint Zrealizowany układ odczytuje przez I 2 C dane z kompasu elektronicznego (azymut w postaci jednego bajta typu unsigned char, de facto liczby od 0 do 255, gdzie 0 to północ geograficzna) i przesyła je w postaci stringa (char*), zawierającego liczbę do komputera PC przez port USB(przy użyciu FT232: 9600 bps, 8 bitów danych, bity parzystości: None, bity stopu: 1). Czujnik kompasu jest skalibrowany dla szerokości magnetycznej Polski). Dane przesyłane są co 50 ms. Orientacja kompasu: kompas jest skierowany na północ (przesyła 0), jeśli piny połączeniowe są skierowane w dół, a odpowiadająca im strona urządzenia wskazuje południe. Przykładowy zrzut ekranu, prezentujący działanie (z punktu widzenia komputera PC

3 2.2 II checkpoint W ramach II checkpointu, zrealizowany układ obsługuje: wyświetlacz LCD (układ HD44780) oraz zestaw ośmiu diod. Głównym celem wyświetlacza jest przedstawienie wcześniej odczytanych przez kompas danych w postaci liczb z przedziału 0-255, mając do dyspozycji dwa wiersze po szesnaście znaków każdy. W naszym przypadku, gdy uzyskana wartośd wynosi 0, wyznacza przy tym geograficzną północ. Zaś wartośd 128 określa kierunek południowy. Funkcjonalnośd diod również polega na określeniu kierunku w jakim w danym momencie ustawiony jest kompas. Odbywa się to według przyjętego przez nas schematu: - Gdy urządzenie skierowane jest na północ zapalamy diody: Zapalone 2 środkowe diody - Jeśli przechylone trochę (do 1/8 kąta pełnego) w stronę wschodu: - Jeśli przechylone od 1/8 do 2/8 kąta pełnego: - Jeśli przechylone od 2/8 do 3/8 kąta pełnego: - Jeśli przechylone od 3/8-4/8 kąta pełnego:

4 ale nie dla kąta półpełnego, czyli 180 stopni - Jeśli skierowane na południe dla kąta półpełnego Przechylanie urządzenia na zachód (licząc od północy), odpowiednio: 2.3 Wersja koocowa W ostatecznej wersji dodano obsługę przycisków. Pierwszy przycisk umożliwia przełączenie się pomiędzy trybem wyboru azymutu, na jaki urządzenie ma nas kierowad (tak, jak w poprzednim podpunkcie), a trybem wyświetlania azymutu względem północy (zmiana dotyczy zarówno LCD, jak i diod; dane wysyłane przez USB pozostają takie same). Wybieramy azymut od 0 do przy pomocy przycisków nr 2 i 3 (pierwszy zmniejsza wartośd o 10, lub ustawia 350, jeśli uprzednio wynosiła 0; drugi zwiększa o 10 lub ustawia 0, jeśli było 350). Stany przycisków są sprawdzane cyklicznie, więc po 100 ms dla pierwszego przycisku lub 50 dla pozostałych następuje reakcja). Po wyborze, na LCD pojawia się kąt, o jaki należy przekręcid urządzenie (od 0 do 180) i strzałeczka, określająca kierunek obrotu, np.: Azymut do > Diody w trybie wyboru azymutu działają analogicznie do II checkpointu, wskazując jednak wybrany kierunek (niekoniecznie północ).

5 3. Opis działania programu (od strony programisty) 3.1 Odczyt z kompasu przez TWI Teoria I 2 C (od IIC Inter Integrated Circuit, czyli Pomiędzy układami scalonymi jest szeregową, dwukierunkową magistralą, zaprojektowaną w celu przesyłania danych między układami elektronicznymi. W przypadku produktów Atmela, interfejs I2C określany jest (ze względów licencyjnych) jako TWI (Two Wire Interface). Standard I2C zakładał istnienie jednego urządzenia typu master, tj. takiego, które może inicjowad transmisję, jednak dzięki istnieniu mechanizmu detekcji kolizji, możliwa jest praca w trybie multi-master. Ilośd urządzeo slave (zaadresowanych przez mastera) jest natomiast ograniczona 7-bitową przestrzenią adresową, co oznacza, iż może ich byd maksymalnie 128. TWI (przyjmijmy termin Atmela ze względu na użycie układu ATmega) wykorzystuje do transmisji dwie dwukierunkowe linie, SDA (Serial DAta line) i SCL (Serial CLock Line), obie muszą byd stale podciągnięte do źródła zasilania przez rezystor podciągający. Transmisja jest inicjowana i przerywana przez urządzenie master (poprzez wydawanie przez niego warunków START i STOP na magistralę). Pomiędzy tymi warunkami, magistrala jest uznawana za zajętą. Wyjątkiem jest nadanie nowej sekwencji START pomiędzy START a STOP oznacza to, iż master zaczyna nową transmisję bez zwalniania linii. Adres układu na magistrali TWI ma 9 bitów. Poza wspomnianymi siedmioma, określającymi adres, jeden bit określa zapis / odczyt (1 odczyt), i jeden jest bitem potwierdzenia (ACK). Sekwencja adresująca zawiera adres slave a i bit odczytu (1) / zapisu (0). Adres slave jest dowolny, poza (do wszystkich slave). Dane przesyłane przez TWI mają również 9 bitów, 8 danych i jeden potwierdzenia. Za przesyłanie bitu potwierdzenia (0), odpowiedzialny jest slave. Działanie magistrali wiąże się z kilkoma rejestrami: - TWDR (Data Register), zawierający wysyłane lub odebrane dane. - TWAR (Adress Register) powinien zawierad adres slave, gdy układ pracuje w trybie slave - TWSR (State Register) bity 1 i 0 określają wartości prescalera bitrate, bity 3..7 odzwierciedlają stan układu TWI i magistrali - TWCR (Control Register) Algorytm transmisji (odbioru) danych przez TWI jest następujący:

6 1) TWI wysyła sekwencję startową odbywa się to poprzez ustawienie odpowiedniej wartości w TWCR (ustawienie bitów TWSTA, TWINT, TWEN). 2) Aplikacja powinna sprawdzid w TWSR, czy sekwencję wysłano poprawnie 3) Ładujemy daną do wysłania (lub adres danej do odebrania) do TWDR i ustawiamy TWCR. Zerujemy TWINT, żeby zacząd transmisję. 4) Sprawdzamy, czy adres został wysłany poprawnie poprzez wartośd TWSR Implementacja W naszym programie korzystamy z gotowych funkcji (komentarze własne): void TWI_Start(void) //sekwencja startowa TWCR = (1<<TWINT) (1<<TWSTA) (1<<TWEN); while (!(TWCR & (1<<TWINT))); a następnie TWI_Write(0xC0); // adres (implementacja funkcji jest następująca: char TWI_Write(char data) //wysyła /data/ przez TWI TWDR = data; //dana do wysłania / adres TWCR = (1<<TWINT) (1<<TWEN); //sekwencja startowa while (!(TWCR & (1<<TWINT))); //sprawdzamy czy TWINT==0, czy można odbierać if((twsr == ADRW_ACK) (TWSR == DATA_ACK)) //sprawdzamy, czy wysłanie ok przez TWSR return 0; else return 1; Ponieważ odczyt danych spod konkretnego adresu odbywa się tak, że master najpierw wysyła adres sprzętowy uzupełniony zerem, później adres komórki pamięci, a później

7 po ponownym wygenerowaniu sygnału START ponownie adres, tym razem jedynką; odczyt danych z naszego urządzenia (kompasu CMPS03) wygląda tak: TWI_Write(0xC0); // adres urzadzenia - ostatni bit WRITE TWI_Write(0x01); //z TWI_Start(); TWI_Write(0xC1); ctrlregister = TWI_Read(NACK); Na koniec generujemy sygnał STOP funkcją TWI_Stop() o następującej treści: TWCR = (1<<TWINT) (1<<TWEN) (1<<TWSTO); 3.2. Wysyłanie odczytu przez USART Teoria USART - uniwersalny synchroniczny i ansynchroniczny odbiornik i nadajnik, jest urządzeniem szeregowym do transmisji danych. USART składa się z trzech modułów: generatora zegara, nadajnika i odbiornika Generator zegara może pracowad w czterech trybach: - zwykły asynchroniczny - asynchroniczny podwójnej prędkości - Master synchroniczny - Slave synchroniczny Rejestr UBRR (Baud Rate Register) przechowuje wartośd dla licznika, odliczającego w dół. Zawsze, gdy licznik wyniesie 0, generowany jest zegar. Chcąc obliczyd potrzebny do uzyskania danego baud rate przy określonej częstotliwości taktowania mikrokontrolera, korzystamy ze wzoru: BAUD = fck / (16(UBRR+1)) W ramach inicjalizacji USART należy określid szybkośd transferu, poprzez zapisanie jej do pary rejestrów UBRRH i UBRRL (rejestrów szybkości transmisji). Następnie w rejestrze statusu i kontroli UCSRC określamy parametry ramki (ilośd bitów danych, parzystości, stopu). Transmisja (nadawanie) USART jest włączana poprzez ustawienie bitu TXEN w rejestrze UCSRB. Zwykłe operacje na portach są wtedy "nadpisane" przez USART.

8 Proste nadawanie jest operacją nieskomplikowaną: Sprawdzamy, czy flaga UDRE w rejestrze UCSRA (określająca, czy rejestr danych jest pusty) jest ustawiona. Jeśli tak, możemy zapisad wysyłaną daną w rejestrze UDR Implementacja W naszym programie najpierw inicjalizujemy transmisję (gotowa funkcja USART_Init(int baud)): UBRRH = (unsigned char)(baud>>8); //szybkość transferu UBRRL = (unsigned char)baud; //c.d. UCSRB = (1<<RXEN) (1<<TXEN);//odbiór i nadawanie (my tylko nadajemy) UCSRC = (1<<URSEL) (3<<UCSZ0); //parametry ramki URSEL: 1 bit parzystości i 8 (<<3) bitów w ramce a następnie wysyłamy dane w postaci ciągów charów, gotową funkcją: USART_PutString(char* s) while(*s) USART_PutChar(*s++); przy czym (również funkcja dostarczona przez producenta): void USART_PutChar(unsigned char data) while (!(UCSRA & (1 << UDRE))); //czeka aż flaga UDRE==1 UDR = data; //wysyła dane przez wpisanie do UDR 3.3 Wyświetlacz LCD Teoria Obecnie, ze względu na swoją niską cenę, alfanumeryczne wyświetlacze LCD są bardzo często stosowane w układach zbudowanych w oparciu o mikrokontrolery. Wśród scalonych sterowników wyświetlaczy LCD od wielu lat najpopularniejszym rozwiązaniem jest układ HD Interfejs i funkcjonalnośd tego układu stanowią nieformalny standard w dziedzinie alfanumerycznych modułów wyświetlających. Układ doczekał się kompatybilnych implementacji praktycznie u wszystkich wiodących producentów. Dane odczytywane z lub zapisywane do wyświetlacza przekazywane są przez magistralę DataBus (wyprowadzenia DB7 DB0). Sterowanie odbywa się na zasadzie wysyłania odpowiednich komend oraz zapisu danych do wewnętrznej pamięci wyświetlacza. Komendy i dane są rozróżniane na podstawie stanu linii RS (0 - komendy; 1 - dane). Kierunek transmisji jest określany stanem linii R/W. Sterownik HD44780 posiada dwa rodzaje pamięci : pamięd generatora znaków (CGROM) oraz pamięd danych (DD RAM). Pamięd generatora znaków

9 zawiera graficzną postad znaków wyświetlanych na wyświetlaczu (można porównad do czcionki). Oprócz znaków zdefiniowanych na stałe przez producenta sterownika do dyspozycji użytkownika pozostaje 8-znakowa pamięd RAM (CGRAM), w której można zdefiniowad własne znaki (np. polskie znaki diakrytyczne). Pamięd danych DD RAM ma pojemnośd 80 bajtów (jeden sterownik HD44780 może obsłużyd maksymalnie 80 znaków, czyli np. 2 linie po 40 znaków, lub 4 linie po 20 znaków). Poniższa tabela ukazuje zbiór rozkazów jakie oferuje sterownik kontrolera: Implementacja Opis rozkazów (z zaznaczeniem ich implementacji w naszym kodzie): Display clear (RS=0, RW=0, magistrala DB= ) wypełnienie wyświetlacza spacjami, przejście w tryb zapisu danych od pozycji w gornym, lewym rogu wyświetlacza, wyłączenie trybu przesuwania okna maksymalny czas wykonywania operacji 1,52ms, U nas gotowa funkcja: void LCD_Clear(void) LCD_WriteCommand(HD44780_CLEAR); //0x01 _delay_ms(2);, gdzie void LCD_WriteCommand(unsigned char commandtowrite) LCD_RS_PORT &= ~LCD_RS; _LCD_Write(commandToWrite);, natomiast:

10 void _LCD_Write(unsigned char datatowrite) LCD_E_PORT = LCD_E; _LCD_OutNibble(dataToWrite >> 4); LCD_E_PORT &= ~LCD_E; LCD_E_PORT = LCD_E; _LCD_OutNibble(dataToWrite); LCD_E_PORT &= ~LCD_E; _delay_us(50); Display/Cursor home (RS=0, RW=0, magistrala DB= X gdzie X- nieistotne) - przejście w tryb zapisu danych od pozycji w górnym, lewym rogu wyświetlacza maksymalny czas wykonywania operacji 1,52ms, U nas: j.w. (LCD_WriteCommand) tym razem z wartością 0x02. Entry mode (RS=0, RW=0, magistrala DB= I/D S) określa zachowanie się kursora podczas wprowadzania danych, bit I/D decyduje o kierunku przemieszczania się kursora po wprowadzeniu każdej danej, natomiast S umożliwia włączenie/wyłączenie przesuwania się kursora maksymalny czas wykonywania operacji 37μs, Display ON/OFF (RS=0, RW=0, magistrala DB= D C B) odpowiada za sterowanie wyświetlaniem znakow, bit D włącza/wyłącza wyświetlacz, bit C odpowiada za wyświetlanie kursora a B czy ma byd on statyczny czy migający maksymalny czas wykonywania operacji 37μs, Display/Cursor shift (RS=0, RW=0, magistrala DB= S/C R/L X X) odpowiada za przesuwanie wprowadzone tekstu, bit R/L decyduje o kierunku, natomiast S/C, czy ma byd przesuwany kursor czy całe okno - maksymalny czas wykonywania operacji 37μs, Function set (RS=0, RW=0, magistrala DB= DL N F X X) opisuje podstawowe parametry pracy wyświetlacza, bit DL decyduje o trybie pracy magistrali, N o ilości wyświetlanych linii, natomiast F pozwala na wybór rodzaju matrycy znakowej - maksymalny czas wykonywania operacji 37μs,

11 CG RAM set (RS=0, RW=0, magistrala DB= 0 1 ADRES) ustala adres komórki i określa, że kolejna operacja odczytu/zapisu będzie dotyczyła pamięci CG - maksymalny czas wykonywania operacji 37μs, DD RAM set (RS=0, RW=0, magistrala DB= 1 ADRES) ustala adres komorki i określa, że kolejna operacja odczytu/zapisu będzie dotyczyła pamięci DD - maksymalny czas wykonywania operacji 37μs, U nas w LCD_GoTo(): LCD_WriteCommand(HD44780_DDRAM_SET (x + (0x40 * y))); Przy czym HD44780_DDRAM_SET = 0x80 oraz: void LCD_WriteCommand(unsigned char commandtowrite) LCD_RS_PORT &= ~LCD_RS; _LCD_Write(commandToWrite); Busy flag/address counter read (RS=0, RW=1, magistrala DB= BF ADRES) odczytuje bieżący adres pamięci oraz zwraca bit zajętości BF- maksymalny czas wykonywania operacji 0s, Data write (RS=1, RW=0, magistrala DB= zapisywana dana) zapis danej do wcześniej wybranej I zaadresowanej pamięci, (u nas: patrz niżej) Data read (RS=1, RW=1, magistrala DB= odczytywana dana) odczyt danej z wcześniej wybranej I zaadresowanej pamięci, Podstawowe funkcje, które tyczą się obsługi wyświetlacza dostarczone są przez producenta. Na przykład: LCD_Initialize(), LCD_GoTo() albo LCD_Clear(). Wypisanie na ekran wyświetlacza danych z kompasu wygląda następująco: LCD_GoTo(0,0); LCD_WriteText("Azymut: "); LCD_GoTo(0,1); LCD_WriteText(itoa(res/10,writeTAB2,10)) Gdzie LCD_GoTo(0,0) ustawia kursor na lewym górnym rogu. Funkcja LCD_WriteText( xxx ) wyświetli na ekranie tekst xxx. W naszym przypadku jest to wartośd odczytana z kompasu w postaci dziesiętnej. Biblioteczna definicja funkcji: void LCD_WriteText(char * text) while(*text) LCD_WriteData(*text++);

12 W pętli poruszając się po wskaźniku char a wywoływane jest LCD_WriteData: void LCD_WriteData(unsigned char datatowrite) LCD_RS_PORT = LCD_RS; _LCD_Write(dataToWrite); Przy czym procedura wyświetlenia znaku na ekranie wygląda następująco: Wyświetlenie znaku na LCD wymaga dwukrotnego przesłania danych do sterownika: 1) ustalenia adresu DDRAM na n, gdzie n jest pozycją znaku na wyświetlaczu (rozkaz: RS=0, RW=0, D7=1, D6-D0 = ) U nas w LCD_GoTo: LCD_WriteCommand(HD44780_DDRAM_SET (x + (0x40 * y))); Przy czym HD44780_DDRAM_SET = 0x80 oraz: void LCD_WriteCommand(unsigned char commandtowrite) LCD_RS_PORT &= ~LCD_RS; _LCD_Write(commandToWrite); 2) zapisania stosownej danej (ośmiobitowego kodu znaku) do DDRAM (rozkaz: RS=1, RW=0, D7=1, D6-D0 = /dana/) U nas w LCD_WriteData(): LCD_RS_PORT = LCD_RS; _LCD_Write(dataToWrite); gdzie _LCD_Write(): LCD_E_PORT = LCD_E;//PORTA,(1 << PA6) _LCD_OutNibble(dataToWrite >> 4); LCD_E_PORT &= ~LCD_E; LCD_E_PORT = LCD_E;

13 gdzie _LCD_OutNibble(): void _LCD_OutNibble(unsigned char nibbletowrite) if(nibbletowrite & 0x01) LCD_DB4_PORT = LCD_DB4; else LCD_DB4_PORT &= ~LCD_DB4; if(nibbletowrite & 0x02) LCD_DB5_PORT = LCD_DB5; if(nibbletowrite & 0x04) LCD_DB6_PORT = LCD_DB6; else LCD_DB6_PORT &= ~LCD_DB6; (...) 3.4 Licznik Obsługa wyświetlacza odbywa się w ramach obsługi przerwania pochodzącego od układu porównującego licznika (licznika - timera). ISR(TIMER0_COMP_vect) //timer 0 - compare match //obsługa LCD i diod W funkcji main pozostaje zainicjalizowad timer 0 i uruchomid obsługę przerwao. To ostatnie odbywa się po prostu poprzez wywołanie funkcji: sei(); natomiast inicjalizacja timera wygląda tak: // inicjalizacja timera (licznika) T0 (8bitowego): void TimerInit(void)

14 TCCR0=0b ; //ustawienie licznika przez rejestr kontrolny // tryb CTC, prescaler: /256. OCR0=249;//0b ; //wartosc do ktorej porownujemy //(licznik jest //zerowany, gdy zliczy do 249 //wg wzoru: /(2* 256* (249+1)) //= 16 mln / 128*4*250 = 1 mln / 8*4*250 = / 250 / 4 = / 125 / 8=125 Hz TIMSK=TIMSK 0b ; //zezwolenie na przerwania od układu //porównującego licznika Licznik może byd taktowany wewnętrznie, poprzez prescaler (jak u nas) lub źródło zewnętrznego zegara dołączonego do wejścia T0. Wynik porównania rejestru komparatora (OCR0) jest stale porównywany z zawartością licznika i może byd użyty do wytworzenia przerwania. Istnieją 4 tryby pracy licznika. W normalnym np. licznik zawsze zlicza w górę i jest zerowany po zliczeniu do 0xFF. W trybie CTC, z którego korzystamy, używany jest rejestr OCR0. Licznik w tym trybie jest zerowany, gdy zliczy do wartości z owego rejestru i w ten sposób określamy jego rozdzielczośd. Częstotliwośd przebiegu jest określana wzorem: (n=0) U nas /(2* 256* (249+1)) = 125 Hz. Tak więc w naszym przypadku częstotliwośd wywoływania przerwania od przepełnienia timera wynosi 125 Hz. 3.5 Diody i algorytm wyznaczania odchylenia do wybranego azymutu (logika aplikacji) Schemat wyświetlania się diod został zaprezentowany wyżej. W celu zapalenia np. dwóch środkowych diodek należy na port do którego owe diody są podłączone (w naszym przypadku jest to port B) wysład wartośd Zero oznacza włączenie diody, jedynka zaś jej wyłączenie. Aby wysład dane na port zamienia się wartośd binarną na dziesiętna. Dla powyższego przykładu będzie to wyglądało: (bin) = 24(dec) ~24 = , gdzie ~ jest operatorem negacji bitowej. W sytuacji, gdy chcemy zapalid dwie lampki po lewo od środka można również przeliczad na wartośd binarna, bądź wysład wartośd taką jak poprzednio (zanegowane 24), tylko

15 przesuniętą w lewo o 1, przy pomocy operatora przesunięcia bitowego w lewo <<. Wysyłane jest więc po prostu ~(24<<1). Implementacja tego jest następująca: (kod z II checkpointu, w wersji koocowej uległ pewnym uzupełnieniom opisane poniżej) if(ctrlregister==0) // jeśli wskazanie == północ PORTB=~(24);//CP 2: diodki, zanegowane if(ctrlregister>=1 && ctrlregister<32) //>= niż północ, ale < niż(256/8) PORTB=~(24>>1); //zanegowane if(ctrlregister>=32 && ctrlregister<64)//>= niż 256/8, ale mniej niż 2*(256/8) PORTB=~(24>>2); //zanegowane if(ctrlregister>=64 && ctrlregister<96) // i tak dalej PORTB=~(24>>3); if(ctrlregister>=96 && ctrlregister<127) PORTB=~(24>>4); if(ctrlregister>=127 && ctrlregister<=129) //południe PORTB=~(129); // zanegowane if(ctrlregister>129 && ctrlregister<=160)//> niż (256/8)*4, <= (256/8)*5 PORTB=~(24<<4); // if(ctrlregister>160 && ctrlregister<=192) PORTB=~(24<<3); if(ctrlregister>192 && ctrlregister<=224) PORTB=~(24<<2); if(ctrlregister>224 && ctrlregister<=255) PORTB=~(24<<1); W koocowej wersji programu, obliczamy odchylenie od wybranego kąta (ustawionego azymutu: if(wynik<2 wynik>-2) //ok 0 PORTB=~24; if(wynik>=2 && wynik<45) PORTB=~(24>>1); if(wynik>=45 && wynik<90) PORTB=~(24>>2); if(wynik>=90 && wynik<135) PORTB=~(24>>3); if(wynik>=135) PORTB=~(24>>4); if(wynik>=179 wynik<=-179) PORTB=~129; if(wynik<=-2 && wynik>-45) PORTB=~(24<<1); if(wynik<=-45 && wynik>-90)

16 PORTB=~(24<<2); if(wynik<=-90 && wynik>-135) PORTB=~(24<<3); if(wynik<=-135) PORTB=~(24<<4); Przy czym wartośd zmiennej wynik (a więc docelowy kierunek) obliczamy następująco: Początkowo sprawdzamy, w której połowie znajduje się azymut, czy w przedziale od 0 do 180 czy od 180 do 360. Następnie przy pomocy pięciu instrukcji if sprawdzamy, w którym przedziale znajduje się odczyt. Za pomocą obliczonych wartości dowiadujemy się o jaki kąt należy obrócid kompas aby wyznaczad kierunek azymutu. Algorytm jest bardzo prosty. Jeśli otrzymamy wynik poniżej zera to oznacza, że kompas powinien zostad obrócony w lewo. Jeśli wynik jest dodatni, analogicznie w prawo. Wartośd to różnica pomiędzy kątami, lub suma różnic pomiędzy kątami a kątem pełnym (np. dla azymutu 5 stopni i odczytu 355 stopni 5+5=10 stopni w lewo). int odczyt = (int)((float)ctrlregister*360.0/255.0); //odczytany azymut int azymut = (int)(ustawiony_azymut*10); //ustawiony (int) //wynik zmienia się w zależności od położenia wybranego kierunku i odczytu //zmienna będzie zawierać odchylenie od -180 do 180 if(azymut>=0 && azymut<180 && odczyt>azymut && odczyt<azymut+180) //azymut od północy przez wschód wynik = (odczyt-azymut); //do południa, odczyt w przeciwległej połowie "róży wiatrów" (... ) if(wynik>0) //wynik > 0 -> na LCD stosowna strzałka i wartość LCD_WriteText("<-"); LCD_WriteText(itoa((int)(wynik),writeTAB3,10)); else if(wynik<0) // <0 - analogicznie, wartość * - 1, bo interesuje nas moduł LCD_WriteText(" "); //wyrównanie na LCD LCD_WriteText(itoa((int)(-wynik),writeTAB3,10)); //* -1 LCD_WriteText("->"); else // wynik==0, nie ma strzałki LCD_WriteText(" "); //wyrównanie LCD_WriteText(itoa((int)(-wynik),writeTAB3,10));

17 3.6 Przyciski W koocowej wersji programu, dodano obsługę przycisków. Realizowana ona jest tak, że w pętli cyklicznie sprawdzamy, czy przycisk jest wciśnięty. if(!(pind&key)) //KEY ==1, pierwszy przycisk Oczywiście stosowne piny portu D zostały przedtem ustawione jako wejściowe: DDRD &= ~KEY; PORTD = KEY; DDRD &= ~KEY2; PORTD = KEY2; DDRD &= ~KEY3; PORTD = KEY3; Po wykryciu zmiany stanu przycisku odczekujemy 50 ms w celu zniwelowania drgao zestyków i kontroli nad wynikiem (tzn. żeby stan ustawianej flagi / wartości nie zmieniał się zbyt często) if (!(PIND&KEY) ) for(int i=0;i<5;i++) _delay_ms(10); if(!(pind&key)) if(tryb==0) tryb=1; ( ) 4. Analiza skutków awarii Zrealizowany układ kompas realizuje cztery zasadnicze funkcjonalności: odczyt danych z czujnika CMPS03, wysyłanie tych danych przez USB do komputera PC, wskazywanie północy bądź wybranego kierunku przy pomocy linijki diod i wyświetlacza LCD typu 2x16, oraz wskazywanie wybranego przy pomocy przycisków azymutu (też przy pomocy linijki diod i LCD). Za główną funkcjonalnośd należy uznad odczyt z czujnika danych i udostępnienie ich za pośrednictwem co najmniej jednego urządzenia wyjścia. Przyjmijmy, że przez awarię urządzenia we/wy rozumiemy uszkodzenie samego urządzenia (np. wyświetlacza LCD) lub połączenia (np. rozłączenie przewodu) pomiędzy tym urządzeniem a mikrokontrolerem. Awaria czujnika kompasu, lub awaria wszystkich urządzeo wyjściowych jednocześnie (USB, diody LED, LCD) jest awarią krytyczną w pierwszym przypadku system po prostu nie będzie spełniał swojej funkcji (czyli wskazywania kierunku), w drugim nie będzie możliwości poinformowania użytkownika o wyniku. Awarią krytyczną byłoby także takie uszkodzenie kabla lub gniazda USB, które uniemożliwiałoby zasilanie układu.

18 Uszkodzenie mikrokontrolera jest w ogólności awarią krytyczną (chyba że dotyczy np. tylko któregoś z portów obsługujących komunikację z urządzeniami wyjścia lub przyciskami). Awaria jednego lub dwóch z urządzeo wyjścia (USB wyłączając żyły zasilające, diody, LCD) ogranicza funkcjonalnośd układu, nie jest jednak awarią krytyczną czujnik wciąż może informowad o kierunku, w jakim jest skierowany za pośrednictwem pozostałych, działających urządzeo. Awaria wszystkich jednocześnie jest krytyczna działanie kompasu traci sens, jeśli użytkownik w żaden sposób nie jest informowany o odczycie. Uszkodzenie przycisków lub uszkodzenie, uniemożliwiające korzystanie z nich nie uniemożliwia poprawnego działania systemu. Określenie odchylenia od wybranego azymutu staje się mniej wygodne, ale wciąż jest możliwe. Podsumowanie skutków awarii elementów systemu: Element Mikrokontroler Kompas (czujnik CMPS03) Kabel USB - zasilanie Wyświetlacz LCD Diody (lub dioda) USB poza przewodami zasilającymi Przyciski Skutki Krytyczne Krytyczne Krytyczne Średnie Średnie Średnie Niegroźne Przy czym skutki krytyczne oznaczają, że system przestanie działad lub będzie działad, ale w sposób nieprawidłowy (np. LCD się świeci, ale nie ma odczytu z kompasu), średnie oznaczają, że uszkodzenie ma skutki krytyczne tylko, jeśli uszkodzone zostaną wszystkie elementy z tej grupy (w przeciwnym razie awarię traktujemy jako niegroźną), niegroźne funkcjonalnośd systemu zostanie ograniczona, ale awaria nie uniemożliwi mu działania w sposób całkowity. Potencjalne metody autodiagnozy awarii układu (i informowania o awarii): - uszkodzenie czujnika Jeśli czujnik ulegnie uszkodzeniu, to najprawdopodobniej przestanie przekazywad odczyt na magistralę I2C. Brak odczytu powinien więc powodowad wyświetlenie komunikatu na LCD, wysłanie komunikatu przez UART, oraz sygnalizację diodami np. poprzez naprzemienne zapalanie i gaśnięcie wszystkich (informacja byłaby jednoznaczna, ponieważ zapalenie oznaczałaby, że diody nie są uszkodzone, a jednocześnie w przypadku prawidłowej pracy układu, zgaśnięcie wszystkich diod nie jest możliwe). Można również założyd, że czujnik jest uszkodzony, jeśli odczytywane dane nie zmieniają się przez wybrany okres czasu, a warunki pracy urządzenia są takie, że powinny np. w wodnych środkach transportu. Należy zwrócid uwagę, iż urządzenie zawiera rejestry interfejsu I2C, umożliwiające przeprowadzenie testów wewnętrznych: Register Function 0 Software Revision Number, Rev14 or higher - for earlier Revisions click here

19 1 Compass Bearing as a byte, i.e for a full circle Compass Bearing as a word, i.e for a full circle, representing ,3 degrees. 4,5 Internal Test - Sensor1 processed difference signal - 16 bit signed word 6,7 Internal Test - Sensor2 processed difference signal - 16 bit signed word 8,9 Internal Test - Sensor1 raw data - 16 bit signed word 10,11 Internal Test - Sensor2 raw data - 16 bit signed word Unlock code1 - Unlock codes are required for I2C address change or restoring 12 factory calibration 13 Unlock code2 14 Unlock code3 15 Command Register - See text. Tabela z dokumentacji (w załączniku), na czerwono zaznaczono interesujące nas funkcje diagnostyczne. Jak widad, odczyt z rejestrów o adresach 0xC8 0xCB, to nieprzetworzone dane z sensorów. Umożliwiają one sprawdzenie, czy urządzenie nie działa niepoprawnie np. z powodu błędnej kalibracji. - uszkodzenie przycisków Możliwe jest także zdiagnozowanie niektórych uszkodzeo przycisków jeśli odczyt z któregoś pinu będzie przez bardzo długi okres czasu (zależnie od zastosowao, np. 1 minutę) wskazywał, że przycisk jest wciśnięty, należałoby wyświetlid na LCD (i wysład przez USB) informację o potencjalnym błędzie mogło nastąpid np. zwarcie. - diagnoza diod i LCD Uszkodzenie diod można łatwo wykryd (właściwie zasygnalizowad) przez np. zapalenie i zgaszenie ich (przez np. 1 s) na początku programu użytkownik, po uruchomieniu urządzenia zobaczy, że któraś dioda się nie pali. Jeśli chodzi o LCD, to HD44780 częściowo diagnozuje się sam jeśli kontroler wyświetlacza nie zostanie poprawnie zainicjowany, zapali się rząd prostokątów. Możemy także odczytad zawartośd pamięci CGRAM i/lub DDRAM i sprawdzid, czy nie są one uszkodzone (w przypadku pamięci DDRAM, oczywiście po jej zapisaniu). Informację o uszkodzeniu można, jak wyżej, przekazad poprzez diody (np. dwukrotne zapalenie i zgaszenie) lub USB. - uszkodzenie mikrokontrolera Możliwe jest zdiagnozowanie portów wejściowych i I2C (opisano wyżej), poza tym uszkodzenie mikrokontrolera lub np. odłączenie się go od reszty układu - spowoduje, że cały system przestanie działad (jest krytyczne).

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780

Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 Dane techniczne : Wyświetlacz alfanumeryczny LCD zbudowany na sterowniku HD44780 a) wielkość bufora znaków (DD RAM): 80 znaków (80 bajtów) b) możliwość sterowania (czyli podawania kodów znaków) za pomocą

Bardziej szczegółowo

Programowanie Mikrokontrolerów

Programowanie Mikrokontrolerów Programowanie Mikrokontrolerów Wyświetlacz alfanumeryczny oparty na sterowniku Hitachi HD44780. mgr inż. Paweł Poryzała Zakład Elektroniki Medycznej Alfanumeryczny wyświetlacz LCD Wyświetlacz LCD zagadnienia:

Bardziej szczegółowo

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

GND(VSS) i VCC - masa i zasilanie. V0 - regulacja kontrastu

GND(VSS) i VCC - masa i zasilanie. V0 - regulacja kontrastu Programowanie wyświetlacza LCD według: http://radziu.dxp.pl Wyświetlacz graficzny 2 x 16 ma 2 wiersze, 16 znaków w wierszu, każdy znak jest wyświetlany w matrycy 5 x 8 pikseli. (2*8 wierszy * 5*16 kolumn

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

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface

Komunikacja w mikrokontrolerach. Magistrala szeregowa I2C / TWI Inter-Integrated Circuit Two Wire Interface Komunikacja w mikrokontrolerach 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 podstawie

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

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

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART ATmega Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera

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

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

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

Zespół Szkół Technicznych. Badanie wyświetlaczy LCD

Zespół Szkół Technicznych. Badanie wyświetlaczy LCD Zespół Szkół Technicznych Badanie wyświetlaczy LCD WYŚWIETLACZE LCD CZĘSC TEORETYCZNA ZALETY: ) mały pobór mocy, 2) ekonomiczność pod względem zużycia energii (pobór prądu przy 5V mniejszy niż 2mA), 3)

Bardziej szczegółowo

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Systemy Czasu Rzeczywistego Zastosowanie interfejsów SPI i I2C do komunikacji laboratorium: 02 autor: mgr inż. Paweł

Bardziej szczegółowo

Politechnika Wrocławska

Politechnika Wrocławska Politechnika Wrocławska Instytut Cybernetyki Technicznej Wizualizacja Danych Sensorycznych Projekt Kompas Elektroniczny Prowadzący: dr inż. Bogdan Kreczmer Wykonali: Tomasz Salamon Paweł Chojnowski Wrocław,

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

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

Opis procedur asemblera AVR

Opis procedur asemblera AVR Piotr Kalus PWSZ Racibórz 10.05.2008 r. Opis procedur asemblera AVR init_lcd Plik: lcd4pro.hvr Procedura inicjuje pracę alfanumerycznego wyświetlacza LCD za sterownikiem HD44780. Wyświetlacz działa w trybie

Bardziej szczegółowo

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD.

4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. 13 4 Transmisja szeregowa na przykładzie komunikacji dwukierunkowej z komputerem PC, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy,

Bardziej szczegółowo

Programowanie mikrokontrolerów. 15 stycznia 2008

Programowanie mikrokontrolerów. 15 stycznia 2008 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 15 stycznia 2008 RS232 Jeden z najstarszych interfejsów szeregowych Pierwotne przeznaczenie to łączenie terminali znakowych z komputerem, często

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

Programowanie mikrokontrolerów

Programowanie mikrokontrolerów Programowanie mikrokontrolerów Magistrala I 2 C Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 6 stycznia 2012 Magistrala I 2 C Jest akronimem Inter-Intergrated Circuit.

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

4 Transmisja szeregowa, obsługa wyświetlacza LCD.

4 Transmisja szeregowa, obsługa wyświetlacza LCD. 1 4 Transmisja szeregowa, obsługa wyświetlacza LCD. Zagadnienia do przygotowania: - budowa i działanie interfejsu szeregowego UART, - tryby pracy, - ramka transmisyjna, - przeznaczenie buforów obsługi

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

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4

Mikroprocesory i mikrosterowniki Wydział Elektroniki Mikrosystemów i Fotoniki Politechniki Wrocławskiej Ćwiczenie nr 4 1 Ćwiczenie nr 4 Program ćwiczenia: Interfejs szeregowy SPI obsługa sterownika ośmiopozycyjnego, 7-segmentowego wyświetlacza LED Interfejs szeregowy USART, komunikacja mikrokontrolera z komputerem PC.

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

Ć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

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN

MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN MODBUS RTU wersja M1.14 protokół komunikacyjny do wyświetlaczy SEM 04.2010 Str. 1/5 MODBUS RTU wersja M1.14 protokół komunikacyjny wyświetlaczy LDN W wyświetlaczach LDN protokół MODBUS RTU wykorzystywany

Bardziej szczegółowo

Alfanumeryczny wyświetlacz LCD

Alfanumeryczny wyświetlacz LCD Tomasz Charoński Mateusz Lango Architektura Systemów Komputerowych Wprowadzenie Inteligentne wyświetlacze alfanumeryczne LCD są elementem coraz częściej spotykanym w sprzęcie powszechnego użytku: od urządzeń

Bardziej szczegółowo

Układ transmisji szeregowej AVR

Układ transmisji szeregowej AVR Układ transmisji szeregowej AVR Transmisja szeregowa/równoległa porównanie: w transmisji szeregowej dane wysyłane są bit po bicie, mniej przewodów niż w transmisji równoległej (dwa przewody elektryczne

Bardziej szczegółowo

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR

Podstawy systemów mikroprocesorowych. Interfejs USART. Interfejsy szeregowe w mikrokontrolerach AVR Podstawy systemów mikroprocesorowych Wykład nr 4 Interfejsy szeregowe dr Piotr Fronczak http://www.if.pw.edu.pl/~agatka/psm.html Komputery przesyłają dane na dwa sposoby: równolegle: Kilka bitów danych

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

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

PRUS. projekt dokumentacja końcowa

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

Bardziej szczegółowo

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

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

Laboratorium mikroinformatyki. Szeregowe magistrale synchroniczne.

Laboratorium mikroinformatyki. Szeregowe magistrale synchroniczne. Laboratorium mikroinformatyki. Szeregowe magistrale synchroniczne. Transmisja szeregowa charakteryzująca się niewielką ilością linii transmisyjnych może okazać się użyteczna nawet w wypadku zastosowania

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

Gdzie przyjęto, że: IR7...IR4 to starsze bity przesyłanej danej lub rozkazu, IR3...IR0 to młodsze bity przesyłanej danej lub rozkazu.

Gdzie przyjęto, że: IR7...IR4 to starsze bity przesyłanej danej lub rozkazu, IR3...IR0 to młodsze bity przesyłanej danej lub rozkazu. Temat: Obsługa wyświetlacza LCD systemie STRC51. Ćwiczenie 5. (sd) 1.Wyświetlacz LCD. 1.1.Zasada pracy wyświetlaczy LCD i kody sterujące. Standardem na rynku wyświetlaczy LCD alfanumerycznych, są moduły

Bardziej szczegółowo

LABORATORIUM ENERGOOSZCZĘDNEGO BUDYNKU

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

Bardziej szczegółowo

Instrukcja integracji urządzenia na magistrali Modbus RTU. wersja 1.1

Instrukcja integracji urządzenia na magistrali Modbus RTU. wersja 1.1 Instrukcja integracji urządzenia na magistrali Modbus RTU wersja 1.1 1. Wyprowadzenia Rysunek 1: Widok wyprowadzeń urządzenia. Listwa zaciskowa J3 - linia B RS 485 linia A RS 485 masa RS 485 Tabela 1.

Bardziej szczegółowo

4. Karta modułu Slave

4. Karta modułu Slave sygnały na magistralę. Można wyróżnić trzy typy układów scalonych takie jak bramki o otwartym kolektorze wyjściowym, bramki trójstanowe i bramki o przeciwsobnym wzmacniaczu wyjściowym. Obciążalność prądową

Bardziej szczegółowo

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu.

Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Wizualizacja stanu czujników robota mobilnego. Sprawozdanie z wykonania projektu. Maciek Słomka 4 czerwca 2006 1 Celprojektu. Celem projektu było zbudowanie modułu umożliwiającego wizualizację stanu czujników

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

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

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

interfejs szeregowy wyświetlaczy do systemów PLC

interfejs szeregowy wyświetlaczy do systemów PLC LDN SBCD interfejs szeregowy wyświetlaczy do systemów PLC SEM 08.2003 Str. 1/5 SBCD interfejs szeregowy wyświetlaczy do systemów PLC INSTRUKCJA OBSŁUGI Charakterystyka Interfejs SBCD w wyświetlaczach cyfrowych

Bardziej szczegółowo

Obsługa modułu wyświetlacza LCD

Obsługa modułu wyświetlacza LCD Kurs programowania mikrokontrolerów PIC (4) Obsługa modułu wyświetlacza LCD Dodatkowe materiały na CD/FTP Niestety, jeszcze nie doczekaliśmy się urządzeń, które komunikują się z nami w ludzki sposób, tzn.

Bardziej szczegółowo

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI

PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI Bartosz Wawrzynek I rok Koło Naukowe Techniki Cyfrowej dr inż. Wojciech Mysiński opiekun naukowy PROJECT OF FM TUNER WITH GESTURE CONTROL PROJEKT TUNERA FM STEROWANEGO GESTAMI Keywords: gesture control,

Bardziej szczegółowo

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter

Uniwersalny asynchroniczny. UART Universal Asynchronous Receier- Transmiter UART Universal Asynchronous Receier- Transmiter Cel projektu: Zbudowanie układu transmisji znaków z komputera na wyświetlacz zamontowany na płycie Spartan-3AN, poprzez łacze RS i program TeraTerm. Laboratorium

Bardziej szczegółowo

Poradnik programowania procesorów AVR na przykładzie ATMEGA8

Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Poradnik programowania procesorów AVR na przykładzie ATMEGA8 Wersja 1.0 Tomasz Pachołek 2017-13-03 Opracowanie zawiera opis podstawowych procedur, funkcji, operatorów w języku C dla mikrokontrolerów AVR

Bardziej szczegółowo

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści

Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści Podstawowe urządzenia peryferyjne mikrokontrolera ATmega8 Spis treści 1. Konfiguracja pinów2 2. ISP..2 3. I/O Ports..3 4. External Interrupts..4 5. Analog Comparator5 6. Analog-to-Digital Converter.6 7.

Bardziej szczegółowo

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

Terminal WSP dla sygnalizatorów wibracyjnych

Terminal WSP dla sygnalizatorów wibracyjnych 44-100 Gliwice, ul. Portowa 21 NIP 631-020-75-37 e-mail: nivomer@poczta.onet.pl www: www.nivomer.pl fax./tel. (032) 234-50-06 0601-40-31-21 Terminal WSP dla sygnalizatorów wibracyjnych Spis treści: 1.

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

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

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska

Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Interfejsy można podzielić na synchroniczne (oddzielna linia zegara), np. I 2 C, SPI oraz asynchroniczne, np. CAN W rozwiązaniach synchronicznych

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

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

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART

MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART MOBOT-RCR v2 miniaturowe moduły radiowe Bezprzewodowa transmisja UART Własności MOBOT-RCR v2a: - pasmo komunikacji: ISM 433MHz lub 868MHz - zasięg 50m 300m * - zasilanie: z USB, - interfejs wyjściowy:

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

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi

Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń. Instrukcja do ćwiczenia nr 10. Transmisja szeregowa sieciami energetycznymi Pracownia Transmisji Danych, Instytut Fizyki UMK, Toruń Instrukcja do ćwiczenia nr 10 Transmisja szeregowa sieciami energetycznymi I. Cel ćwiczenia poznanie praktycznego wykorzystania standardu RS232C

Bardziej szczegółowo

INSTRUKCJA instalacji interfejsu USB-RS422/485

INSTRUKCJA instalacji interfejsu USB-RS422/485 INSTRUKCJA instalacji interfejsu USB-RS422/485 Interfejs USB-RS422/485 jest urządzeniem pozwalającym na podłączenie poprzez port USB komputera (w wersji USB 1,2 lub 2.0) do urządzeń wyposażonych w złącze

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

Listing_ $crystal = deklaracja

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

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

Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1

Start Bity Bit Stop 1 Bit 0 1 2 3 4 5 6 7 Par. 1 2. Rys. 1 Temat: Obsługa portu komunikacji szeregowej RS232 w systemie STRC51. Ćwiczenie 2. (sd) 1.Wprowadzenie do komunikacji szeregowej RS232 Systemy bazujące na procesorach C51 mogą komunikować się za pomocą

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

Przemysłowy odtwarzacz plików MP3

Przemysłowy odtwarzacz plików MP3 Przemysłowy odtwarzacz plików MP3 WWW.DIGINN.EU Spis treści 1. Opis odtwarzacza MP3... 3 2. Wyprowadzenia odtwarzacza... 4 2.1 Wymiary płytki... 6 4. Tryby pracy... 8 5. Podłączanie MP3 Playera... 9 6.

Bardziej szczegółowo

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych.

1. Poznanie właściwości i zasady działania rejestrów przesuwnych. 2. Poznanie właściwości i zasady działania liczników pierścieniowych. Ćwiczenie 9 Rejestry przesuwne i liczniki pierścieniowe. Cel. Poznanie właściwości i zasady działania rejestrów przesuwnych.. Poznanie właściwości i zasady działania liczników pierścieniowych. Wprowadzenie.

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

TECHNIKA MIKROPROCESOROWA

TECHNIKA MIKROPROCESOROWA LABORATORIUM TECHNIKA MIKROPROCESOROWA Port transmisji szeregowej USART MCS'51 Opracował: Tomasz Miłosławski 1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się ze sposobami komunikacji mikrokontrolera

Bardziej szczegółowo

MultiTool instrukcja użytkownika 2010 SFAR

MultiTool instrukcja użytkownika 2010 SFAR MultiTool instrukcja użytkownika 2010 SFAR Tytuł dokumentu: MultiTool instrukcja użytkownika Wersja dokumentu: V1.0 Data: 21.06.2010 Wersja urządzenia którego dotyczy dokumentacja: MultiTool ver. 1.00

Bardziej szczegółowo

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń.

Uczeń/Uczennica po zestawieniu połączeń zgłasza nauczycielowi gotowość do sprawdzenia układu i wszystkich połączeń. Nazwa implementacji: Termometr cyfrowy - pomiar temperatury z wizualizacją pomiaru na wyświetlaczu LCD Autor: Krzysztof Bytow Opis implementacji: Wizualizacja działania elementu zestawu modułu-interfejsu

Bardziej szczegółowo

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt

Architektura komputera. Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Architektura komputera Architektura von Neumanna: Dane i rozkazy przechowywane są w tej samej pamięci umożliwiającej zapis i odczyt Zawartośd tej pamięci jest adresowana przez wskazanie miejsca, bez względu

Bardziej szczegółowo

MSW8-LPM. wersja 0.1 (wersja robocza) Dokumentacja użytkownika

MSW8-LPM. wersja 0.1 (wersja robocza) Dokumentacja użytkownika MSW8-LPM wersja 0.1 (wersja robocza) Dokumentacja użytkownika Podstawy Komunikacja z multiprzyciskiem MSW8-LPM dostępna jest za pomocą transmisji szeregowej EIA-485 (wcześniej RS-485) przy wykorzystaniu

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

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz

WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu. Jakub Stanisz WIZUALIZACJA DANYCH SENSORYCZNYCH Sprawozdanie z wykonanego projektu Jakub Stanisz 19 czerwca 2008 1 Wstęp Celem mojego projektu było stworzenie dalmierza, opierającego się na czujniku PSD. Zadaniem dalmierza

Bardziej szczegółowo

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS

Sterownik procesorowy S-2 Komunikacja RS485 MODBUS Sterownik procesorowy S-2 Komunikacja RS485 MODBUS Sterownik centrali wentylacyjnej PRO-VENT S2 umożliwia komunikację z innymi urządzeniami poprzez interfejs szeregowy RS485. Zapis i odczyt danych realizowany

Bardziej szczegółowo

2. Format danych i zaimplementowane funkcje MODBUS

2. Format danych i zaimplementowane funkcje MODBUS SIC184 Protokół MODBUS-RTU (v1.10) Spis treści 1. Informacje wstępne... 1 2. Format danych i zaimplementowane funkcje MODBUS... 1 3. Opis rejestrów i funkcji... 2 3.1 Odczyt stanu wejść/wyjść... 2 3.2

Bardziej szczegółowo

Instrukcja do oprogramowania ENAP DEC-1

Instrukcja do oprogramowania ENAP DEC-1 Instrukcja do oprogramowania ENAP DEC-1 Do urządzenia DEC-1 dołączone jest oprogramowanie umożliwiające konfigurację urządzenia, rejestrację zdarzeń oraz wizualizację pracy urządzenia oraz poszczególnych

Bardziej szczegółowo

Sterownik PLC ELPM-8DI8DO z aplikacją ELPM-8DI8DOasRoleta wersja v

Sterownik PLC ELPM-8DI8DO z aplikacją ELPM-8DI8DOasRoleta wersja v Sterownik PLC ELPM-8DI8DO z aplikacją ELPM-8DI8DOasRoleta wersja v1.1 2018 09 09 www.el-piast.com 1 1. Opis ogólny ELPM-8DI8DOasRoleta-PL-V1 Moduły ELPM- są to sterowniki swobodnie programowalne PLC (bez

Bardziej szczegółowo

INSTRUKCJA PANEL STERUJĄCY MT-5

INSTRUKCJA PANEL STERUJĄCY MT-5 INSTRUKCJA PANEL STERUJĄCY MT-5 Panel sterujący MT-5 miernik cyfrowy z wyświetlaczem LCD. Wskazuje informacje systemu, oznaczenia wykrytych błędów i aktualne parametry pracy. Duże i czytelne symbole i

Bardziej szczegółowo

TV LCD LED Samsung seria UE**Fxxxx

TV LCD LED Samsung seria UE**Fxxxx TV LCD LED Samsung seria UE**Fxxxx Algorytmy diagnozowania telewizora w przypadku zakłóceń wyświetlania obrazu. Zrozumienie przebiegu sygnałów (ścieżek sygnałowych) jest niezbędne do skutecznego rozwiązywania

Bardziej szczegółowo

Moduł Ethernetowy. instrukcja obsługi. Spis treści

Moduł Ethernetowy. instrukcja obsługi. Spis treści Moduł Ethernetowy instrukcja obsługi Spis treści 1. Podstawowe informacje...2 2. Konfiguracja modułu...4 3. Podłączenie do sieci RS-485 i LAN/WAN...9 4. Przywracanie ustawień fabrycznych...11 www.el-piast.com

Bardziej szczegółowo

Opis czytnika TRD-FLAT 2LN ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie

Opis czytnika TRD-FLAT 2LN ver Naścienny czytnik transponderów UNIQUE w płaskiej obudowie TRD-FLAT 2LN Naścienny czytnik transponderów UNIQUE w płaskiej obudowie Podstawowe cechy : zasilanie od 9V do 12V połączenie z kontrolerem tylko dwoma przewodami POWER w kolorze żółtym czerwono-zielony

Bardziej szczegółowo

SZYMAŃSKI ŁÓDŹ Ul. Wiskicka 22 Tel./fax. (042) Tel./fax. (042) Kom

SZYMAŃSKI ŁÓDŹ Ul. Wiskicka 22 Tel./fax. (042) Tel./fax. (042) Kom SZYMAŃSKI 93-623 ŁÓDŹ Ul. Wiskicka 22 Tel./fax. (042) 645 92 66 Tel./fax. (042) 250 50 52 Kom. 0 604 938 830 INSTRUKCJA WSAŹNIKA POŁOŻEŃ PRZEŁĄCZNIKA ZACZEPÓW TYPU WNZT 25a Opracował: Edward Szymański

Bardziej szczegółowo

1 Moduł Modbus ASCII/RTU

1 Moduł Modbus ASCII/RTU 1 Moduł Modbus ASCII/RTU Moduł Modbus ASCII/RTU daje użytkownikowi Systemu Vision możliwość komunikacji z urządzeniami za pomocą protokołu Modbus. Moduł jest konfigurowalny w taki sposób, aby umożliwiał

Bardziej szczegółowo

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego

Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych. Instrukcja do ćwiczenia laboratoryjnego Interfejsy komunikacyjne pomiary sygnałów losowych i pseudolosowych Instrukcja do ćwiczenia laboratoryjnego opracował: Łukasz Buczek 05.2015 rev. 05.2018 1 1. Cel ćwiczenia Doskonalenie umiejętności obsługi

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

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

INSTRUKCJA instalacji interfejsu USB-RS422/485

INSTRUKCJA instalacji interfejsu USB-RS422/485 INSTRUKCJA instalacji interfejsu USB-RS422/485 Interfejs USB-RS422/485 jest urządzeniem pozwalającym na podłączenie poprzez port USB komputera (w wersji USB 1,2 lub 2.0) do urządzeń wyposażonych w złącze

Bardziej szczegółowo

TECHNIKA MIKROPROCESOROWA II

TECHNIKA MIKROPROCESOROWA II Akademia Górniczo-Hutnicza im. Stanisława Staszica w Krakowie Wydział IEiT Katedra Elektroniki TECHNIKA MIKROPROCESOROWA II LAB 6 Moduł UART - współpraca z komputerem poprzez BlueTooth Mariusz Sokołowski

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

Kod produktu: MP01105

Kod produktu: MP01105 MODUŁ INTERFEJSU KONTROLNO-POMIAROWEGO DLA MODUŁÓW Urządzenie stanowi bardzo łatwy do zastosowania gotowy interfejs kontrolno-pomiarowy do podłączenia modułów takich jak czujniki temperatury, moduły przekaźnikowe,

Bardziej szczegółowo

Wyjście do drukarki Centronix

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

Bardziej szczegółowo

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji.

Rozdział ten zawiera informacje na temat zarządzania Modułem Modbus TCP oraz jego konfiguracji. 1 Moduł Modbus TCP Moduł Modbus TCP daje użytkownikowi Systemu Vision możliwość zapisu oraz odczytu rejestrów urządzeń, które obsługują protokół Modbus TCP. Zapewnia on odwzorowanie rejestrów urządzeń

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