Kurs programowania mikrokontrolerów PIC(8)
|
|
- Stanisława Bednarska
- 8 lat temu
- Przeglądów:
Transkrypt
1 KURS Kurs programowania mikrokontrolerów PIC(8) Obsługa interfejsu szeregowego I 2 C Interfejs I 2 C został zaprojektowany przez firmę Philips i jest przeznaczony do lokalnej wymiany danych pomiędzy układami. W najczęściej stosowanej konfiguracji do magistrali jest dołączony pojedynczy układ master (sterownik nadrzędny, najczęściej mikrokontroler) i jeden lub kilka układów slave (układów peryferyjnych). W bardziej zaawansowanych aplikacjach można do jednej magistrali dołączać wiele układów master. Komplikuje to jednak wymianę informacji, bo konieczne staje się wprowadzenie arbitrażu, ponieważ kiedy dwa lub więcej układów master próbuje uzyskać dostęp do magistrali w tym samym czasie, to pojawia się kolizja. Układ master kontroluje cały ruch danych na magistrali: inicjuje i kończy transmisję, określa jej kierunek i generuje sygnał zegarowy transmisji na linii SCK. Funkcje układu master spełnia w większości wypadków pełni mikrokontroler. Układy slave to zewnętrzne pamięci, scalone czujniki (na przykład termometry), zegary czasu rzeczywistego RTC, ekspandery linii portów i wiele innych. Układem slave może też być odpowiednio zaprogramowany mikrokontroler. Dodatkowe materiały na CD/FTP: ftp://ep.com.pl, user: 15031, pass: 40nep417 poprzednie części kursu Magistrala I 2 C jest zbudowana dwóch linii: SDA (danych) i SCL (zegarowa).obydwie linie (SDA i SCL) są dwukierunkowe i muszą być dołączone do plusa zasilania przez rezystory zasilające. Gdy dane nie są przesyłane, to wyjścia układów dołączonych do magistrali znajdują się w stanie wysokiej impedancji i dzięki rezystorom zasilającym utrzymuje się na nich poziom wysoki. Te wyjścia są typu otwarty kolektor lub otwarty dren, co umożliwia realizację funkcji iloczynu na drucie (wired AND) niezbędnej do prawidłowego działania procedur potwierdzania odbioru bitów, zgłoszenia się układów i innych związanych z transmisją. Standardowo dane mogą być przesyłane z prędkością do 100 kbit/s lub z podwyższoną prędkością do 400 kbit/s. Istnieją również inne rozwiązania, ale są stosowane najczęściej. Liczba układów dołączonych do wspólnej magistrali jest ograniczona jej pojemnością nie może być większa niż 400 pf i jest sumą pojemności ścieżek linii SDA lub Rysunek 1. Zapisanie danej do układu slave 80 ELEKTRONIKA PRAKTYCZNA 1/2012
2 Kurs programowania mikrokontrolerów PIC Rysunek 2. Odebranie 2 bajtów z układu slave SCL oraz pojemności wejść i wyjść układów dołączonych do linii. Każdy układ peryferyjny slave dołączony do jednej magistrali I 2 C musi mieć nadany unikalny adres uzupełniony o bit R/W (kierunku transmisji danych). W większości wypadków są produkowane i stosowane układy ze standardowym adresem 7-bitowym. Również zaawansowane aplikacje z wieloma masterami nie są zbyt często wykorzystywane w praktyce. Z tych powodów skupimy się na obsłudze adresowania 7-bitowego z jednym układem Master. Bit7 Bit6 Bit5 Bit4 Bit3 Bit2 Bit1 Bit0 SMP CKE D/!A P S R/!W UA BF Bit 7 SMP: 1 zablokowany tryb prędkości slew rate dla trybu standard speed (100 khz) 0 odblokowany tryb slew rate dla trybu high speed (400 khz) Bit 6 CKE tryby pracy magistrali SMB (dla I 2 C nie ma znaczenia) Bit 5 D/!A 1 ostatnio odebrany/wysłany bajt był daną (tylko I 2 C Slave) 0 ostatnio odebrany/wysłany bit był adresem (tylko I 2 C Slave) Bit 4 P 1 ostatnio wykryto bit STOP 0 nie wykryto ostatnio bitu STOP Bit 3 S 1 ostatnio wykryto bit START 0 nie wykryto ostatnio bitu START Bit 2 R/!W 1 trwa transmisja danych (I 2 C Master) 0 transmisja danych zakończona magistrala w trybie idle state (I 2 C Master) Bit 1 UA 1 konieczne wysłanie 2 bajtu adresu dla adresowania 10 bitowego (tryb Slave adresowanie 10-bitowe) 0 nie trzeba wysyłać drugiego bajtu adresu Bit 0 BF odbieranie danych 1 odbiór zakończony SSPBUF jest pełny 0 odbiór danych trwa Wysyłanie danych 1 wysyłanie danych trwa (tylko 8 bitów danych) SSPBUF jest pełny 0 wysyłanie zakończone (tylko 8 bitów danych) SSPBUF jest pusty Rysunek 3. Rejestr SSPSTAT B7 B6 B5 B4 B3 B2 B1 B0 WCOL SSPOV SSPEN CKP SSPM3 SSPM2 SSPM1 SSPM0 Bit 7 WCOL I 2 C Master 1 zapis do SSPBUF kiedy magistrala nie jest w stanie gotowości do wysłania (kolizja na magistrali) Musi być zerowany programowo. 0 nie ma kolizji na magistrali Bit 6 SSPOV 1 Wpisanie do SSPBUF nowo odebranej wartości, kiedy poprzednia nie została odczytana. Musi być zerowany programowo (dla wysyłania danych nie ma znaczenia) 0 nie ma przepełnienia SSPBUF Bit 5 SSPEN 1 odblokowanie interfejsu i połączenie wyprowadzeń SDA i SCL do linii portu 0 zablokowanie interfejsu i zwolnienie linii portu Bit 4 CKP w trybie master nie używane w trybie Slave wymuszanie stanu na linii SCK Bity 3:0 SSPM3, SSPM2, SSPM1, SSPM I 2 C Slave adresowanie 10 bitowe odblokowane przerwania od sekwencji START I STOP 1110 I 2 C Slave adresowanie 7 bitowe odblokowane przerwania od sekwencji START I STOP 1011 I 2 C Master Firmaware controlled 1000 I 2 C Master FCLK=Fosc/(4*SSPADD+1) 0111 I 2 C Slave adresowanie 10 bitowe 0110 I 2 C Slave adresowanie 7 bitowe Rysunek 4. Rejestr SSPCON1 tryb I 2 C ELEKTRONIKA PRAKTYCZNA 1/2012 Przesyłanie danych magistralą I 2 C Jak już wspomniano, transmisją danych przez magistralę I 2 C steruje układ master. Transmisję rozpoczyna sekwencja Start: poziom na linii SDA zmienia się z wysokiego na niski, podczas gdy na linii SCL panuje poziom wysoki. Jest to sekwencja unikalna, ponieważ w trakcie przesyłania danych poziom linii SDA może zmienić się tylko przy niskim poziomie linii zegarowej SCL. Po wykonaniu sekwencji Start magistrala przechodzi w stan zajętości, aż do momentu, kiedy master wygeneruje na magistrali sekwencję Stop kończącą transmisję. Se- kwencja Stop również jest unikalna: poziom linii SDA zmienia się z niskiego na wysoki, gdy na linii SCL występuje poziom wysoki. Po wykonaniu sekwencji Stop magistrala przechodzi w stan spoczynkowy (idle state) i jest gotowa na następne przesłanie danych. 8-bitowe słowo danych (bajt) jest przesyłane w trakcie 8 taktów sygnału na linii zegarowej SCL począwszy od bitu najbardziej do najmniej znaczącego. Dane na linii SDA muszą być stabilne, gdy linia zegarowa SCL ma poziom wysoki, a mogą się zmieniać gdy SCL jest na poziomie niskim. Każdy bajt danych odebranych przez Slave a może być przez niego potwierdzony bitem potwierdzenia przesyłanym w trakcie dziewiątego impulsu zegarowego. W trakcie trwania tego impulsu układ slave wymusza poziom niski linii SDA, co jest traktowane jako potwierdzenie odebrania danych. Jeżeli brak potwierdzenia wystąpił po wysłaniu przez mastera adresu układu slave, może to oznaczać, że adres nie jest prawidłowy, układ slave jest nieobecny lub nie jest gotowy do jego odebrania. Master może wtedy wygenerować sekwencję Stop i zakończyć transfer danych. Sygnał braku potwierdzenia w czasie przesyłania danych (ale nie adresu) może też służyć do zasygnalizowania układowi master, że slave zakończył odbiór danych. Wtedy master generuje sekwencję Stop i transfer danych jest zakończony. Podobnie wygląda potwierdzenie danych odczytywanych z układu slave. Po odczytaniu ostatniego, 8 bitu master generuje dziewiąty impuls zegarowy i na linii danych wystawia bit potwierdzenia (SDA=0) lub braku potwierdzenia (SDA=1). Slave ma możliwość czasowego zablokowania transmisji przez wyzerowanie linii CLK (wymuszenie poziomu niskiego). Taki stan nazywany jest nazywany stanem oczekiwania (wait state) i trwa przez czas potrzebny slave na przetworzenie ostatnio odebranej danej. Master musi sprawdzić czy po dziewiątym impulsie zegarowym sygnał na linii SCL przyjmuje poziom wysoki. Jeżeli nie, to musi zaczekać, aż tak się stanie. Bezpośrednio po sekwencji Start, master wysyła bajt, w którym na 7 najstarszych bitach jest zapisany adres slave, a na najmłodszym bicie jest zapisana informacja o kierunku przesyłania danych (R/W). Kiedy bit R/W jest wyzerowany, to zaadresowany układ slave ma obowiązek odbioru jednego lub więcej bajtów danych przesyłanych po 81
3 KURS bajcie adresowym. Liczba bajtów odbieranych przez slave zależy od jego budowy wewnętrznej. Na rysunku 1 pokazano przesłanie adresu układu slave z bitem R/W=0, a po nim jednego bajtu danych. Po odebraniu adresu slave przesłał bit potwierdzenia ACK=0 sygnalizując, że adres jest poprawny i zgłaszając swoją aktywność. Po przesłaniu bajtu danych slave nie potwierdził jego odbioru (ACK=1). Master w takiej sytuacji może zakończyć transmisję danych, wygenerować sekwencję Stop i zwolnić magistralę. Po zakończeniu transferu master może ponownie wygenerować sekwencję startu i zaadresować inny lub ten sam układ slave. Istnieje też możliwość wygenerowania ponownej sekwencji startu przez układ master i zaadresowania innego układu docelowego bez wcześniejszego generowania sekwencji stopu. Odczytywanie danych z układu slave rozpoczyna się wysłaniem bajtu adresu z ustawionym bitem R/W. Po odebraniu potwierdzenia, master generuje 8 impulsów zegarowych na linii SCK, a slave transmituje w ich takt odczytywane dane. Na rysunku 2 pokazano odczytanie 2 bajtów za pomocą I 2 C. Po odczytaniu pierwszego bajtu master wysyła bit potwierdzenia ACK sygnalizując, że jeszcze będzie odczytywał dane. Po odczycie 2 bajtu master go nie potwierdza i kończy transfer sekwencją Stop. Interfejs I 2 C w PIC18F2320 Mikrokontroler PIC18F2320 ma wbudowany sprzętowy moduł MSSP tj. Master Synchronous Serial Port. MSSP może pracować w trybach: SPI lub I 2 C. Interfejs I 2 C wspiera sprzętowo tryby pracy: master, multi-master (klika układów Master dołączonych do jednej magistrali) i slave. Tu zajmiemy się przykładami programów dla najczęściej spotykanego i najbardziej przydatnego trybu master. Programowanie konfiguracji i sterowanie pracą interfejsu odbywa się przez zapisywanie 3 rejestrów: SSPSTAT, SSPCON1 i SSPCON2. Znaczenie poszczególnych bitów rejestrów pokazano na rysunkach 3, 4 i 5. W trybie pracy jako master moduł MSSP generuje sygnał zegarowy na linii SCL. Źródłem tego sygnału jest blok programowanego generatora prędkości transmisji (Baud Rate Generator Block, rysunek 6). Na wejście 6-bitowego licznika BRG zliczającego w dół jest podawany sygnał zegara o częstotliwości Fosc/4. Wartość podziału częstotliwości jest wpisywana do siedmiu młodszych bitów rejestru SSPADD. Częstotliwość sygnału na linii SCL (CLOKOUT) jest równa B7 B6 B5 B4 B3 B2 B1 B0 GCEN ACKSTAT ACKDT ACKEN RCEB PEN RSEN SEN Bit 7 GCEN odebranie adresu Genearal Call (0000h) tylko tryb I 2 C Slave Bit6 ACKSTAT 1 nie odebrano potwierdzenia ze Slave 0 odebrano potwierdzenie ze Slave Bit 5 ACKDT tryb Master odbiór 1 wysyłanie braku potwierdzenia odebranego bajtu 0 wysyłanie potwierdzenia odebranego bajtu Bit 4 ACKEN tryb Master odbiór 1 Inicjacja sekwencji wysyłania bitu potwierdzenia o wartości z bitu ACKDT 0 sekwencja potwierdzenia zablokowana Bit 3 RCEN 1 odblokowanie odbioru danych I 2 C Master 0 odbiór danych zablokowany Bit 2 PEN tylko tryb I 2 C Master 1 inicjacja sekwencji STOP (zerowana sprzętowo po zakończeniu sekwencji STOP) 0 sekwencja STOP zakończona Bit 1 RSEN tylko tryb Master 1 inicjacja sekwencji powtórzonego startu (RESTART) (zerowana sprzętowo po zakończeniu sekwencji RESTART) 0 sekwencja RESTART zakończona Bit 0 SEN 1 inicjacja sekwencji START (zerowana sprzętowo po zakończeniu sekwencji START) 0 sekwencja START zakończona. Rysunek 5. Rejestr SSPCON2 Do SSPADD trzeba zatem wpisać wartość 19 dziesiętnie. Na rysunku 7 pokazano schemat blokowy modułu MSSP pracującego w trybie master. Każda z sekwencji sterujących pracą magistrali jest wykonywana sprzętowo. Trzeba pamiętać, że nie ma tu mechanizmu kolejkowania. Jest to istotna informacja, bo oznacza to, źe nie można zainicjować następnej Rysunek 6. Generator prędkości transmisji sekwencji dopóki niż zakończy się poprzednia i magistrala nie wejdzie w stan idle state. Nie można na przykład wpisać adresu slave do rejestru SSPBUF, jeżeli nie zakończyła się sekwencja Start. Każde takie działanie powoduje anulowanie sekwencji i wygenerowanie informacji o kolizji na magistrali. Z zakończeniem każdej z sekwencji jest związany mechanizm zgłaszania przerwania (można z niego korzystać lub nie). Takie rozwiązanie umożliwia napisanie obsługi transmisji w tle w bardziej zaawansowanych aplikacjach. W opisywanych przykładach nie bę- Jeżeli np. chcemy uzyskać częstotliwość 100 khz przy F OSC =8 MH, to SSPADD+1 musi być równa: Rysunek 7. Moduł MSSP w trybie I2C Master 82 ELEKTRONIKA PRAKTYCZNA 1/2012
4 Kurs programowania mikrokontrolerów PIC dziemy wykorzystywać mechanizmu przerwań i komentować zachowania się bitu flagi zgłoszenia przerwania MSSPIF. Po włączeniu zasilania moduł MSSP jest domyślnie wyłączony. Przed użyciem trzeba go włączyć ustawiając bit SSPEN i skonfigurować do pracy w trybie I2C Master. Konieczne jest też zaprogramowanie częstotliwości sygnału wyjściowego generatora prędkości transmisji. Na listingu 1 pokazano procedurę OpenI2C. Wpisanie do rejestru SSPCON wartości Listing 1. Procedura inicjalizacji MSSP w trybie I2C Master void OpenI2C(void){ SSPADD=19; //SCL=100kHz SSPCON=8; //MSSP I2C Master TRISC3=1; //SDA i SCL wejściowe TRISC4=1; RCEN=1; //odblokuj odbiór SSPEN=1; //odblokuj MSSP Listing 2. Wysłanie sekwencji START char i2c_start(void){ SEN=1; //inicjowanie sekwencji START if(bclif==1) //błąd kolizji magistrali return(-1); while(sen); //czekaj na koniec sekwencji START return(0); Listing 3. Wysłanie danej na magistralę char i2c_write(unsigned char data){ SSPBUF=data; //zapisanie danej do SSPBUF - start transmisji if (WCOL ){ // sprawdzenie czy nie ma kolizji na magistrali WCOL=0; //programowe zerowanie WCOL return ( -1 ); else { while(rw); //czkaj na wysłanie danej i odebranie bitu ACK return(ackstat); Listing 4. Odbiór bajtu unsigned char i2c_read(unsigned char ack ){ RCEN = 1; //start odbierania jednego bajtu z magistrali while (!BF ); //czekaj na koniec odebrania 8 bitów if(ack==0) ACKDT = 0; //ustawienie bitu potwierdzenia else ACKDT=1; ACKEN = 1; //start sekwencji wysyłania bitu potwierdzenia while(acken); //czekaj na zakończenie sekwencji return ( SSPBUF ); //powrót z odebranym bajtem Listing 5 wysłanie sekwencji STOP void i2c_stop(void){ PEN=1; //inicjowanie sekwencji STOP while(pen); //czekaj na koniec sekwencji STOP Rysunek 8. Wykonanie sekwencji Start ELEKTRONIKA PRAKTYCZNA 1/2012 0x08 włącza tryb pracy master. Do SSPADD jest wpisywane 19, co dla Fclk=8 MHz daje prędkość transmisji 100 kbit/s. Po ustawieniu linii portów SDA i SCL jako wejściowe i odblokowaniu odbioru (ustawienie bitu RCEN), można odblokować interfejs. Sekwencja Start jest inicjowana ustawieniem bitu SEN rejestru SSPCON2. Przed tym magistrala musi być w stanie idle state. Każdy stan sekwencji trwa czas równy okresowi zegara generatora prędkości transmisji TBRG. Po sekwencji Start moduł zeruje bit SEN i ustawia bit zgłoszenia przerwania SSPIF. Jeżeli przerwania nie są odblokowane, to przerwanie nie będzie obsłużone. Żeby zapobiec konfliktowi na magistrali zapisanie do SSPBUF adresu slave jest możliwe dopiero po wyzerowaniu SEN. Procedura sprawdza czy ustawienie SEN nie wywołuje konfliktu na magistrali (jeżeli SEN było ustawione, a magistrala nie była w stanie idle state). Jeżeli zostanie wykryta kolizja, to sekwencja się nie wykona, a funkcja zwróci wartość błędu 1. Prawidłowo wykonana sekwencja Start powoduje zwrócenie przez funkcję 0. Wysłanie bajtu rozpoczyna się po jego wpisaniu do rejestru SSPBUF. Magistrala musi być w stanie idle state (nie jest wykonywana inna sekwencja), bo w przeciwnym przypadku wystąpi kolizja. Zapisanie SSPBUF powoduje ustawienie bitu BF. Bit BF jest zerowany po ósmym impulsie zegarowym na linii SCL, czyli po wysłaniu całego bajtu. Można to wykorzystać do testowania zakończenia transmisji. Jednak master wysyła na magistralę jeszcze dziewiąty impuls zegara, aby odczytać bit potwierdzenia. Trzeba też pamiętać o możliwości wystąpienia stanu oczekiwania wait state wymuszanego przez układ slave. Aby mieć pewność, że po wysłaniu bajtu magistrala przeszła w stan idle state, należy testować bit RW rejestru SSPSTAT. Bit ten jest ustawiany w momencie zapisania SSPBUF i zerowany po zwolnieniu magistrali. Po zapisaniu rejestru SSPBUF są ustawiane bity BF i R/W. Warto też sprawdzić czy nie jest ustawiony bit kolizji WCOL (listing 3). Jego ustawienie spowoduje, ze dane nie zostaną przesłane. Procedura i2c_write testuje bit RW. Wyzerowanie RW oznacza zakończenie przesyłania danych łącznie z odebraniem bitu potwierdzenia (zapisanym w bicie ACKSTAT). Jeżeli procedura zwróci kod błędu 1, to oznacza, że dane nie zostały wysłane. W przeciwnym wypadku jest zwracana wartość bitu potwierdzenia odebranego z układu slave. Zainicjowanie odbioru danych jest możliwe, gdy magistrala jest w stanie idle state. Ustawienie bitu RCEN powoduje, że bit BF jest zerowany. Master wysyła na magistralę 8 impulsów zegarowych, w takt których slave wysyła na magistralę dane. Zakończenie odbierania danych jest sygnalizowane wpisaniem 1 do rejestru BF. Mikrokontroler powinien wtedy odczytać rejestr SSPBUF. Jednak to nie koniec odbioru danych, ponieważ master powinien wysłać do układu slave bit potwierdzenia. Trzeba zainicjować sekwencję potwierdzenia przez ustawienie bitu ACKEN i wyzerowanie (potwierdzenie) lub ustawienie (brak potwierdzenia) ACKDT. Sekwencja potwierdzenia kończy się po sprzętowym wyzerowaniu bitu ACKEN (rysunek 8). Na listingu 4 zamieszczono kompletną procedurę odbioru bajtu i wysłania sekwen- 83
5 KURS cji potwierdzenia. Argumentem procedury jest wartość bitu potwierdzenia, a zwracany jest odczytany bajt. Sekwencja Stop rozpoczyna się od ustawienia bitu PEN. Sekwencja wykona się prawidłowo, na opadającym zboczu dziewiątego impulsu zegara przy przesyłaniu potwierdzenia danej zapisywanej lub odczytywanej za pomocą interfejsu I 2 C (listing 5). W protokole wymiany informacji jest jeszcze sekwencja powtórzonego startu: REPEATED START (RESTART) pokazana na rysunku 9. Jest ona inicjowana przez ustawienie bitu RSEN. Wówczas linia SDA przyjmuje poziom wysoki, a linia SCL pozostaje bez zmian. Po czasie równym okresowi przebiegu sygnały wyjściowego generatora baud rate generator TBRG, linia SCL przyjmuje poziom wysoki, a następnie jest wykonywana standardowa sekwencja Start. Po jej wykonaniu bit RSEN jest zerowany sygnalizując zakończenie RESTART (listing 6). Rysunek 9. Sekwencja potwierdzenia (ACKDT=1) Listing 6. Sekwencja REPEAT START char i2c_rstart(void){ RSEN=1; //incjowanie sekwencji RE START if(bclif==1) //bład kolizji magistrali { BCLIF=0; return(-1); while(rsen); //czekaj na koniec sekwencji RESTART return(0); Pomiar napięcia za pomocą przetwornika MCP3021 Po garści wiedzy teoretycznej, w tym przykładzie programu użytkowego użyjemy modułu MSSP pracującego w trybie master do komunikacji ze scalonym przetwornikiem analogowo-cyfrowym MCP3021 zamontowanym na płytce AVT5275. MCP3021 jest scalonym przetwornikiem A/D o rozdzielczości 10-bitów. Może być zasilany pojedynczym napięciem z zakresu 2,7 5,5 V i pobiera maksymalnie 250 ma. Napięcie mierzone jest podawane na wejście asymetryczne. Interfejs komunikacyjny I 2 C tego przetwornika może pracować z prędkością standardową 100 khz i w trybie Fast z maksymalną prędkością 400 khz. Przetwornik ma architekturę SAR. Jego schemat blokowy pokazano na rysunku 10. Wewnętrzny kondensator jest połączony z wejściem sygnału analogowego AIN i gromadzi ładunek przez czas akwizycji. Po rozpoczęciu konwersji analogowy klucz odłącza kondensator od AIN a jego ładunek jest konwertowany na liczbę 10-bitową. Przetwornik A/D pracuje synchronicznie i jest taktowany przez wbudowany generator, którego częstotliwość determinuje czasy akwizycji i przetwarzania. Typowo, czas akwizycji oznaczony tacq wynosi 1,12 ms, natomiast czas konwersji tconv ma wartość 8,96 ms. Oba czasy nie są niezależne od częstotliwości sygnału zegarowego na linii SCL. Sekwencja przesyłania danych z przetwornika (slave) do mikrokontrolera (master) rozpoczyna się od wysłania bajtu adresu. Oczywiście, adres wysyła mikrokontroler, a odbiera przetwornik. 7-bitowy adres slave musi być uzupełniony najmłodszym bitem R/W. W starszym bajcie 4 najstarsze bity są zerowane. Pomimo, że w bajcie adresu są przewidziane 3 bity adresowe (A2, A1, A0; rysunek 11), to standardowo można kupić Rysunek 10. Sekwencja Stop Rysunek 11. Sekwencja Repeated Start układy z A2=1, A1=0 i A0=1 (rysunek 12). Układy z innymi adresami są dostępne na zamówienie u producenta. W wypadku odczytywania danych z przetwornika bit R/W musi być ustawiony (odczyt danych). Możliwe jest wyzerowanie R/W, ale wówczas z przetwornika nie można odczytać danych, jednak po wysłaniu jego adresu układ odpowiada zerując bit ACK. Można to wykorzystać np. do sygnalizacji obecności przetwornika na magistrali. Po wysłaniu 7 bitów adresu i bitu R/W=1 trzeba odczekać czas równy sumie czasu akwizycji i czasu konwersji tconv+tacq= 10,08 ms. Inicjowanie przetwarzania jest wykonywane przy pierwszym opadającym zboczu przesyłania bitu R/W. Na rysunku 13 jest pokazano sekwencję odczytu danych z przetwornika A/D. W tej procedurze, zamieszczonej na listingu 7, po wysłaniu adresu jest wykonywane opóźnienie 1 ms, aby przetwornik mógł odliczyć czas akwizycji i konwersji. Oczywiście, czas trwania opóźnienia wynoszący 1 ms jest większy od wymaganego (ok. 10 ms), jednak o ile spowalnia to akwizycję danych z przetwornika, to w niczym nie przeszkadza. Brak opóźnienia powoduje, że po wysłaniu następnego bajtu adresu magistrala zgłasza błąd kolizji ustawiany jest bit WCOL i nie dochodzi do odczytu. Testowanie działania przetwornika trzeba zacząć od połączenia linii I2C_SCL z linią RC3 i I2C_SDA z linią RC4 złącze J11). Wejście ADC_IN łączymy z wyprowadzeniem 84 ELEKTRONIKA PRAKTYCZNA 1/2012
6 Kurs programowania mikrokontrolerów PIC Listing 7. Odczytanie wartości pomiaru unsigned int read_adc(void){ unsigned int res; i2c_start(); i2c_write(0x9b); //adres slave delay_ms(1); //opóźnienie res=i2c_read(0); //starszy bajt wyniku res<<=8; res=res i2c_read(1); //młodszy bajt wyniku i2c_stop(); return(res); Rysunek 12. Schemat blokowy MCP3021 Listing 8. Pętla odczytywania i wyświetlania pomiarów unsigned int adc; while(1){ adc=read_adc(); DispHex(adc>>8,1,1); //wyświetlanie 8 starszych bitów DispHex(adc,3,1); //wyświetlanie 8 młodszych bitów Listing 9. Pętla woltomierza while(1){ delay_ms(400); adc=read_adc(); volt=(unsigned long)adc*488; volt=(volt/1000); DispDec(volt,1,2); //odczytanie przetwornika //konwersja //wyświetlanie Rysunek 13. Adresowanie MCP3021 VREG (suwak potencjometru PR2). ADC_IN i VREG sa dostępne na złączu J22. Pętla nieskończona pokazana na listingu 8 odczytuje wartość z przetwornika i wyświetla ją w postaci heksade- cymalnej na wyświetlaczu LCD modułu AVT5275. Aby program spełniał funkcję woltomierza trzeba 10-bitową wartość odczytaną z rejestrów przetwornika poddać konwersji, podobnie jak to było w przykładzie z przetwornikiem A/C wbudowanym w strukturę mikrokontrolera. Napięcie referencyjne MCP3021 jest równe napięciu zasilania. Przy jego wartości wynoszącej 5 V i rozdzielczości 10-bitowej zmiana na najmłodszym bicie odpowiada zmianie napięcia równej 5 V/1024=0, V. Wartość z rejestru przetwornika mnożymy przez 488, a potem dzielimy przez Do wyświetlania napięcia mierzonego wykorzystamy dokładnie taka samą procedurę, jak w wypadku wyświetlania napięcia mierzonego przez wbudowany przetwornik. Fragment programu woltomierza zamieszczono na listingu 9. Tomasz Jabłoński, EP Rysunek 14. Sekwencja odczytywania danych z przetwornika za pomocą I 2 C REKLAMA ELEKTRONIKA PRAKTYCZNA 1/
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
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
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!
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki ĆWICZENIE Nr 10 (3h) Implementacja interfejsu SPI w strukturze programowalnej Instrukcja pomocnicza do laboratorium z przedmiotu
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
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ŝ.
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
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
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
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
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
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
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
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
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
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ł
1. Cel ćwiczenia. Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU.
1. Cel ćwiczenia Celem ćwiczenia jest zestawienie połączenia pomiędzy dwoma sterownikami PLC za pomocą protokołu Modbus RTU. 2. Porty szeregowe w sterowniku VersaMax Micro Obydwa porty szeregowe sterownika
Magistrala SPI. Linie MOSI i MISO sąwspólne dla wszystkich urządzeńna magistrali, linia SS jest prowadzona do każdego Slave oddzielnie.
Magistrala SPI Magistrala SPI składa się z linii: MOSI Master output Slave input MISO Master input Slave Output SCK Clock SS Slave select (CS Chip Select lub CE Chip Enable) Sygnał taktujący transmisję
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ą
Wstęp...9. 1. Architektura... 13
Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości
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
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
Aby w pełni przetestować układ o trzech wejściach IN_0, IN_1 i IN_2 chcemy wygenerować wszystkie możliwe kombinacje sygnałów wejściowych.
Generowanie sygnałów testowych VHDL Wariant współbieżny (bez procesu): sygnał
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,
Sprawozdanie z projektu MARM. Część druga Specyfikacja końcowa. Prowadzący: dr. Mariusz Suchenek. Autor: Dawid Kołcz. Data: r.
Sprawozdanie z projektu MARM Część druga Specyfikacja końcowa Prowadzący: dr. Mariusz Suchenek Autor: Dawid Kołcz Data: 01.02.16r. 1. Temat pracy: Układ diagnozujący układ tworzony jako praca magisterska.
Współpraca procesora z urządzeniami peryferyjnymi
Współpraca procesora z urządzeniami peryferyjnymi 1 Współpraca procesora z urządzeniami peryferyjnymi Interfejsy dostępne w procesorach rodziny ColdFire: Interfejs równoległy, Interfejsy szeregowe: Interfejs
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
Politechnika Białostocka Wydział Elektryczny
Politechnika Białostocka Wydział Elektryczny Katedra Automatyki i Elektroniki Instrukcja do ćwiczeń laboratoryjnych z przedmiotu: SYSTEMY CYFROWE 1 SZEREGOWE PRZETWORNIKI A/C - C/A Ćwiczenie 5 Opracował:
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
Architektura komputerów
Architektura komputerów Tydzień 11 Wejście - wyjście Urządzenia zewnętrzne Wyjściowe monitor drukarka Wejściowe klawiatura, mysz dyski, skanery Komunikacyjne karta sieciowa, modem Urządzenie zewnętrzne
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
Ć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
Obsługa enkodera AS5048 we Flowcode
Fotografia 1. Czujnik AS5048 z magnesem Obsługa enkodera AS5048 we Flowcode Czujniki położenia są szeroko wykorzystywane w systemach automatyki, aparaturze medycznej robotyce itp. Jest to element, który
MIKROPROCESORY architektura i programowanie
Struktura portów (CISC) Port to grupa (zwykle 8) linii wejścia/wyjścia mikrokontrolera o podobnych cechach i funkcjach Większość linii we/wy może pełnić dwie lub trzy rozmaite funkcje. Struktura portu
Systemy wbudowane - Laboratorium Informatyka studia zaoczne inżynierskie
Systemy wbudowane - Laboratorium Informatyka studia zaoczne inżynierskie Ćwiczenie nr 2b: Szeregowy przetwornik AC i CA Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z działaniem i sposobami obsługi
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,
WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA
WIZUALIZACJA DANYCH SENSORYCZNYCH MINISTACJA METEOROLOGICZNA Prowadzący: dr inż. Bogdan Kreczmer Autor: Jakub Malewicz Wrocław, 15 VI 2007 SPIS TREŚCI 1. WSTĘP 3 2. DANE STACJI 3 3. SCHEMAT IDEOWY 4 4.
16. Szeregowy interfejs SPI
16. Szeregowy interfejs SPI Szeregowy interfejs SPI (Serial Peripherial Interface) służy do dwukierunkowej (full-duplex), synchronicznej transmisji danych pomiędzy mikrokontrolerem, a zewnętrznymi układami
ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32
ZL15AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega32 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu
MIKROKONTROLERY - MAGISTRALE SZEREGOWE
Liczba magistral szeregowych jest imponująca RS232, i 2 C, SPI, 1-wire, USB, CAN, FireWire, ethernet... Równie imponująca jest różnorodność protokołow komunikacyjnych. Wiele mikrokontrolerów ma po kilka
Expandery wejść MCP23S17 oraz MCP23017
Expandery wejść MCP23S17 oraz MCP23017 Expander I/O MCP20S17 I2C Piny wyjściowe expanderów MCP23S17 oraz MCP23017 Expander I/O MCP23S17 SPI Podłączenie urządzenia na magistrali SPI z płytą Arduino. Linie
Współpraca procesora ColdFire z urządzeniami peryferyjnymi
Współpraca procesora ColdFire z urządzeniami peryferyjnymi 1 Współpraca procesora z urządzeniami peryferyjnymi Interfejsy dostępne w procesorach rodziny ColdFire: Interfejs równoległy, Interfejsy szeregowe:
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ę
Standard transmisji równoległej LPT Centronics
Standard transmisji równoległej LPT Centronics Rodzaje transmisji szeregowa równoległa Opis LPT łącze LPT jest interfejsem równoległym w komputerach PC. Standard IEEE 1284 został opracowany w 1994 roku
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ę
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ. Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM
LABORATORIUM PROCESORY SYGNAŁOWE W AUTOMATYCE PRZEMYSŁOWEJ Przetwornik ADC procesora sygnałowego F/C240 i DAC C240 EVM Strona 1 z 7 Opracował mgr inż. Jacek Lis (c) ZNE 2004 1.Budowa przetwornika ADC procesora
ZL5PIC. Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887
ZL5PIC Zestaw uruchomieniowy dla mikrokontrolerów PIC16F887 ZL5PIC jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów PIC16F887 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu
Analiza protokołów (4)
Redakcja Elektroniki Praktycznej dziękuje firmie NDN z Warszawy, autoryzowanemu dystrybutorowi i serwisowi firmy Rigol, za udostępnienie oscyloskopu Rigol DS2202 dla potrzeb tego artykułu. Analiza protokołów
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)
Mikroprocesor Operacje wejścia / wyjścia
Definicja Mikroprocesor Operacje wejścia / wyjścia Opracował: Andrzej Nowak Bibliografia: Urządzenia techniki komputerowej, K. Wojtuszkiewicz Operacjami wejścia/wyjścia nazywamy całokształt działań potrzebnych
2010-04-12. Magistrala LIN
Magistrala LIN Protokoły sieciowe stosowane w pojazdach 2010-04-12 Dlaczego LIN? 2010-04-12 Magistrala LIN(Local Interconnect Network) została stworzona w celu zastąpienia magistrali CAN w przypadku, gdy
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
Uniwersalny zestaw uruchomieniowy ZL4PIC
Uniwersalny zestaw uruchomieniowy ZL4PIC Uniwersalny zestaw uruchomieniowy ZL4PIC przeznaczony jest testowania aplikacji realizowanych na bazie mikrokontrolerów PIC. Jest on przystosowany do współpracy
2. PORTY WEJŚCIA/WYJŚCIA (I/O)
2. PORTY WEJŚCIA/WYJŚCIA (I/O) 2.1 WPROWADZENIE Porty I/O mogą pracować w kilku trybach: - przesyłanie cyfrowych danych wejściowych i wyjściowych a także dla wybrane wyprowadzenia: - generacja przerwania
Parametryzacja przetworników analogowocyfrowych
Parametryzacja przetworników analogowocyfrowych wersja: 05.2015 1. Cel ćwiczenia Celem ćwiczenia jest zaprezentowanie istoty działania przetworników analogowo-cyfrowych (ADC analog-to-digital converter),
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
ZL4PIC. Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC
ZL4PIC uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC (v.1.0) ZL4PIC Uniwersalny zestaw uruchomieniowy dla mikrokontrolerów PIC 1 Zestaw jest przeznaczony dla elektroników zajmujących się aplikacjami
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)...
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.................................
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ą
dwójkę liczącą Licznikiem Podział liczników:
1. Dwójka licząca Przerzutnik typu D łatwo jest przekształcić w przerzutnik typu T i zrealizować dzielnik modulo 2 - tzw. dwójkę liczącą. W tym celu wystarczy połączyć wyjście zanegowane Q z wejściem D.
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
Układy czasowo-licznikowe w systemach mikroprocesorowych
Układy czasowo-licznikowe w systemach mikroprocesorowych 1 W każdym systemie mikroprocesorowym znajduje zastosowanie układ czasowy lub układ licznikowy Liczba liczników stosowanych w systemie i ich długość
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
Przetwornik analogowo-cyfrowy
Przetwornik analogowo-cyfrowy Przetwornik analogowo-cyfrowy A/C (ang. A/D analog to digital; lub angielski akronim ADC - od słów: Analog to Digital Converter), to układ służący do zamiany sygnału analogowego
Sprzężenie mikrokontrolera (nie tylko X51) ze światem zewnętrznym lokalne interfejsy szeregowe
Sprzężenie mikrokontrolera (nie tylko X51) ze światem zewnętrznym lokalne interfejsy szeregowe Ryszard J. Barczyński, 2009 2015 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały
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
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.
Opis czytnika TRD-FLAT CLASSIC ver. 1.1. Naścienny czytnik transponderów UNIQUE w płaskiej obudowie
TRD-FLAT CLASSIC Naścienny czytnik transponderów UNIQUE w płaskiej obudowie Podstawowe cechy : zasilanie od 3V do 6V 4 formaty danych wyjściowych POWER LED w kolorze żółtym czerwono-zielony READY LED sterowany
Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe
Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe System mikroprocesorowy 1. Przedstaw schemat blokowy systemu mikroprocesorowego.
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
Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP
Zestaw uruchomieniowy z mikrokontrolerem LPC1114 i wbudowanym programatorem ISP ZL32ARM ZL32ARM z mikrokontrolerem LPC1114 (rdzeń Cotrex-M0) dzięki wbudowanemu programatorowi jest kompletnym zestawem uruchomieniowym.
Moduł licznika położenia LP 2.
Pracownia Elektroniki i Automatyki W.J. Dubiński ul. Krzyszkowicka 16 32-020 WIELICZKA tel./fax (12) 278 29 11 NIP 676-010-37-14 Moduł licznika położenia LP 2. 1. Przeznaczenie. Licznik rewersyjny LP 2
Ultradźwiękowy generator mocy MARP wersja Dokumentacja techniczno-ruchowa
Przedsiębiorstwo Badawczo-Produkcyjne OPTEL Sp. z o.o. ul. Otwarta 10a PL-50-212 Wrocław tel.: +48 (071) 329 68 54 fax.: +48 (071) 329 68 52 e-mail: optel@optel.pl http://www.optel.pl Ultradźwiękowy generator
ZL16AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168
ZL16AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega8/48/88/168 ZL16AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerówavr w obudowie 28-wyprowadzeniowej (ATmega8/48/88/168). Dzięki
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
STM32Butterfly2. Zestaw uruchomieniowy dla mikrokontrolerów STM32F107
Zestaw uruchomieniowy dla mikrokontrolerów STM32F107 STM32Butterfly2 Zestaw STM32Butterfly2 jest platformą sprzętową pozwalającą poznać i przetestować możliwości mikrokontrolerów z rodziny STM32 Connectivity
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.
8 kanałowy przedłużacz analogowy z RS485
P R O J E K T Y 8 kanałowy przedłużacz analogowy z RS485 AVT 439 Przesyłanie sygnału analogowego na większe odległości narażone jest na powstanie dużych zakłóceń, a jeśli ma być przesyłanych kilka sygnałów,
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
Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej
Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza
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.
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ą
MSP430 w przykładach (8)
MSP430 w przykładach (8) Transmisja szeregowa UART, SPI W artykule omówimy obsługę interfejsów komunikacyjnych UART oraz SPI w mikrokontrolerze MSP430f1232. Przy okazji podamy sporą porcję informacji teoretycznych.
Kurs programowania mikrokontrolerów PIC (9)
Kurs programowania mikrokontrolerów KURS PIC Kurs programowania mikrokontrolerów PIC (9) Obsługa układu zegarowego M41T00 Interfejs I 2 C został zaprojektowany przez firmę Philips i jest przeznaczony do
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
Konwerter 1 Wire > SPI opisany P R Ow JVerilogu
Konwerter 1 Wire > SPI opisany P R Ow JVerilogu E K T Y Konwerter 1 Wire > SPI opisany w Verilogu, część 1 AVT 443 Prezentowany konwerter jest przeznaczony szczególnie do współpracy z układami termometrów
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,
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:
ZL15AVR. Zestaw uruchomieniowy dla mikrokontrolerów ATmega32
ZL15AVR Zestaw uruchomieniowy dla mikrokontrolerów ATmega32 ZL15AVR jest uniwersalnym zestawem uruchomieniowym dla mikrokontrolerów ATmega32 (oraz innych w obudowie 40-wyprowadzeniowej). Dzięki wyposażeniu
Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515
Laboratorium Techniki Mikroprocesorowej Informatyka studia dzienne Ćwiczenie 5 Zegar czasu rzeczywistego na mikrokontrolerze AT90S8515 Cel ćwiczenia Celem ćwiczenia jest poznanie możliwości nowoczesnych
W.J WIELICZKA
Możliwość sterowania modelem robota do ośmiu stopni swobody lub innym urządzeniem wymagającym kontroli ruchu przestrzennego. Rozdzielczość pozycjonowania 512 położeń 9 bitów. Sterowanie z komputera przez
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
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.
Mikrokontrolery AVR techniczne aspekty programowania
Andrzej Pawluczuk Mikrokontrolery AVR techniczne aspekty programowania Białystok, 2004 Mikrokontrolery rodziny AVR integrują w swojej strukturze między innymi nieulotną pamięć przeznaczoną na program (pamięć
Zdalny czujnik. Adam Zugaj Wydział Elektroniki, PWr IV rok, AiR (ARR) Wrocław, 12 czerwca 2009
Zdalny czujnik Adam Zugaj Wydział Elektroniki, PWr IV rok, AiR (ARR) Wrocław, 12 czerwca 2009 Dokument został stworzony w ramach kursu Wizualizacja danych sensorycznych, prowadzonego przez dra inż. Bogdana
MAGISTRALE MIKROKONTROLERÓW (BSS) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska
(BSS) Zygmunt Kubiak Instytut Informatyki Politechnika Poznańska Odległości pomiędzy źródłem a odbiorcą informacji mogą być bardzo zróżnicowane, przykładowo zaczynając od pojedynczych milimetrów w przypadku
Programowanie mikrokontrolerów 2.0
Programowanie mikrokontrolerów 2.0 Magistrala I 2 C, układy MEMS Marcin Engel Marcin Peczarski Instytut Informatyki Uniwersytetu Warszawskiego 15 listopada 2016 Magistrala I 2 C Akronim Inter-Intergrated
Instrukcja MM-717 Tarnów 2010
Instrukcja MM-717 Tarnów 2010 Przeznaczenie modułu komunikacyjnego MM-717. Moduł komunikacyjny MM-717 służy do realizacji transmisji z wykorzystaniem GPRS pomiędzy systemami nadrzędnymi (systemami SCADA)
Technika Mikroprocesorowa
Technika Mikroprocesorowa Dariusz Makowski Katedra Mikroelektroniki i Technik Informatycznych tel. 631 2648 dmakow@dmcs.pl http://neo.dmcs.p.lodz.pl/tm 1 System mikroprocesorowy? (1) Magistrala adresowa