Mikrokontroler 80C51/52

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

Download "Mikrokontroler 80C51/52"

Transkrypt

1 Rys. 1. Schemat konwertera interfejsu UART na RS-232 Mikrokontroler 80C51/52 6. Port szeregowy Port szeregowy jest przeznaczony do komunikacji z urządzeniami zewnętrznymi. Dane są przesyłane poczynając od najmniej znaczącego bitu, synchronicznie lub asynchronicznie. W trybie synchronicznym port może tylko nadawać lub przyjmować dane, w trybie asynchronicznym może równocześnie przyjmować i nadawać dane (full duplex). Dostęp do portu odbywa się przez dwa rejestry SBUF mieszczące się pod adresem 99H w przestrzeni SFR. Zatem odczyt z rejestru SBUF może dawać inną wartość, niż tam wpisano. Port szeregowy może pracować w czterech trybach. Tryby różnią się między sobą liczbą bitów w przesyłanych danych i źródłem sygnałów taktujących odbiornik i nadajnik. Tryb pracy portu oraz inne aspekty jego pracy są wybierane przez odpowiednie ustawienie znaczników w rejestrze SCON mieszczącego się pod adresem 98H w przestrzeni SFR. Znaczniki tego rejestru mogą być ustawiane pojedynczo. Rejestr SCON zawiera następujące znaczniki: SCON SM0 SM1 SM2 REN TB8 RB8 TI RI adres 98H Znaczenie poszczególnych znaczników jest następujące: SM0, SM1 - wybór trybu pracy SM0 SM1 tryb rodzaj transmisji częst. taktująca rejestr przesuwny (8 bitów) fosc/ UART (8 bitów) zmienna UART (9 bitów) fosc/64 lub fosc/ UART (9 bitów) zmienna

2 SM2 - maskowanie odbioru znaku tryb 0 powinno być SM2 = 0 tryb 1 przy SM2 = 1 znacznik przerwania RI nie jest uaktywniany przy braku bitu stopu w odbieranym słowie tryb 2 i 3 przy SM2 = 1 znacznik przerwania RI nie jest uaktywniany jeżyli 9-ty bit odbieranego słowa jest równy 0; w tych trybach znacznik ten jest wykorzystywany przy komunikacji wieloprocesorowej REN - znacznik uaktywnienia odbiornika 0 odbiór zablokowany 1 odbiór dozwolony TB8 - znacznik używany w transmisji dziewięciobitowej tryb 0 i 1 nie używany tryb 2 i 3 dziewiąty bit w nadawanym słowie RB8 - znacznik używany w transmisji dziewięciobitowej tryb 0 nie używany tryb 1 gdy SM2, do RB8 jest wpisywany bit stopu odbieranego słowa tryb 2 i 3 do RB8 jest wpisywany dziewiąty bit odbieranego słowa TI - znacznik przerwania nadajnika. Ustawiany w stan 1 przez mikrokontroler tylnym zboczem 9-mego bitu wysyłanego słowa w trybie 0 lub przednim zboczem bitu stopu w pozostałych trybach. Może być zerowany tylko programowo. RI - znacznik przerwania odbiornika. Ustawiany w stan 1 przez mikrokontroler tylnym zboczem 9-mego bitu przyjmowanego słowa w trybie 0 lub w połowie bitu stopu w pozostałych trybach z wyjątkiem gdy w trybach 2 i 3 bit SM2 = 1, a dziewiąty bit odbieranego słowa jest równy 0 Rys. Format danych interfejsu UART

3 6.1 Tryby pracy portu szeregowego Tryb 0 W trybie 0 nadawanie i odbieranie słowa, w układzie rejestru przesuwnego, odbywa się przez końcówkę P3.0, a przez końcówkę P3.1 jest wysyłany sygnał taktujący, rysunek 7-1. Przesyłana dana jest 8-bitowa. Częstotliwość taktująca jest stała i wynosi fosc/12. Proces wysyłania danych rozpoczyna się w momencie wpisania do rejestru SBUF wysyłanej danej. Rejestr ten jest rejestrem przesuwnym, jego zawartość jest przesuwana w prawo o jeden bit w fazie S6P2 każdego cyklu maszynowego. Na wolne miejsca po przesuniętych bitach wpisywane są zera. Odbiór danych może odbywać się pod warunkiem ustawienia REN w stan 1 i wyzerowaniu znacznika RI. Stan wejścia RxD jest testowany w kolejnych cyklach maszynowych, a wynik testowania jest wpisywany do rejestru przesuwnego i przesuwany w lewo. Po skompletowaniu danej zawartość rejestru przesuwnego przepisywana jest do rejestru SBUF i następuje ustawienie znacznika RI w stan 1, co jest sygnałem zgłoszenia przerwania. Przyjęcie tego przerwania (gdy nie jest ono zamaskowane) nie powoduje automatycznego wyzerowania znacznika RI, a zatem jego stan można później badać programowo Tryby 1,2,3 W trybach 1, 2 i 3 port szeregowy pełni funkcję niezależnego nadajnika (linia P3.1 = TxD) i odbiornika (linia P3.0 = RxD) asynchronicznej transmisji szeregowej. Tryby różnią się między sobą długością przesyłanych słów oraz sposobem określenia szybkości transmisji. Słowo przesyłane składa się z bitu startu (zawsze 0), ośmiu bitów danych w trybie 1 albo dziewięciu w trybie 2 i 3 oraz bitu stopu (zawsze 1). Słowo danych do wysłania jest pobierane z rejestru wyjściowego SBUF, odebrane słowo jest wpisywane do rejestru wejściowego SBUF. W trybach 2 i 3 ostatni D8 (MSB) bit danych jest pobierany do wysłania z pozycji TB8 (słowo SCON, adres 98H), a ten odbierany jest wpisywany na pozycję RB8 (słowo SCON). Jeżeli w słowie SCON jest SM2 = 0, to wartość bitu D8 nie jest istotna dla działania układów transmisji szeregowej - można go wykorzystać programowo jako np. bit parzystości. Jeżeli natomiast jest SM2 = 1, to w porcie szeregowym jest maskowane odebranie znaku, w którym D8 = 0. Mechanizm ten jest wykorzystany w protokole transmisji dla systemu wieloprocesorowego. Drugim elementem wpływającym na różnice między trybami 1, 2 i 3 jest źródło sygnału taktującego, określającego szybkość transmisji. W trybie 2 układ transmisji jest taktowany wewnętrznym sygnałem zegarowym o częstotliwości fosc/2, doprowadzonym bezpośrednio lub poprzez dzielnik przez 2 - w zależności od zawartości znacznika SMOD, tzn. PCON.7. W trybach 1 i 3 sygnałem taktującym układ transmisji jest sygnał przepełnienia licznika T1 z układu czasowo-licznikowego. Jest on doprowadzany bezpośrednio lub poprzez dzielnik przez 2 - zgodnie z zawartością znacznika SMOD. We wszystkich trzech trybach właściwy sygnał zegarowy, określający rytm pracy nadajnika (TxD) i odbiornika (RxD) powstaje po podzieleniu przez 16 odpowiedniego, opisanego powyżej, sygnału taktującego. Zatem dla trybu 2 częstotliwość taktująca wynosi fosc/32 lub fosc/64, dla trybów 1 i 3 zależy od nastawy i trybu pracy licznika T1. Wysłanie znaku jest inicjowane programowo, przez wykonanie dowolnego rozkazu zapisującego dane do rejestru SBUF. Po zakończeniu transmisji ustawiany jest znacznik TI rejestru SCON, adres 98H.

4 Odbieranie znaku jest inicjowane sprzętowo, po wykryciu zmiany 1 na 0 na linii P3.0 (RxD). Odbywa się to tylko wtedy, kiedy jest ustawiony znacznik REN w rejestrze SCON. Aby odebrany znaku znalazł się w rejestrze SBUF ( i ew. dziewiąty bit w znaczniku RB8 - SCON.2 w trybach 2 i 3) muszą zachodzić dwa warunki: 1. RI (SCON.0) = 0 2. SM2 (SCON.5) = 0 lub SM2 = 1 i odebrany bit D8 = 1 Jeśli warunki te są spełnione, ustawiany jest znacznik RI; jeśli zaś jeden z powyższych warunków nie zachodzi, to odebrany znak jest tracony. Rys. 10. Licznik T2 jako generator sygnału taktującego UART mk 80C51/52 W trybie 1 i 3, przy użyciu licznika w trybie 2 (8-bitowy licznik z autoładowaniem), prędkość transmisji jest określona zależnością: f tr 2 = 32 SMOD * 12* f osc [ 256 ( TH1) ] gdzie (TH1) - liczba wpisana do rejestru TH1 (adres 8DH). Licznik 1 może również taktować port szeregowy pracując w pozostałych trybach, z sygnałem zewnętrznym lub wewnętrznym. W takim przypadku do ponownego załadowania licznika należy wykorzystać przerwanie wywołane przepełnieniem licznika a czas obsługi przerwania musi być uwzględniony przy obliczaniu częstotliwości przepełnienia licznika. Korzystając z licznika T2 prędkość wyraża się następującym wzorem: f osc f tr = 32 *[65536 ( RCAP2H, RCAP2L)] gdzie: (RCAP2H, RCAP2L) - liczba wpisana do 16-bitowego rejestru licznika T2.

5 5. Licznik T2 Układ posiada dwa rejestry TH2 i TL2 stanowiące 16-bitowy licznik (odpowiednio adresy CDH i CCH) oraz dwa rejestry zatrzaskujące RCAP2H i RCAP2L (CBH i CAH). Rejestr T2CON mieści się pod adresem C8H w SFR i zawiera znaczniki: T2CON TF2 EXEF2 RCLK TCLK EXEN2 TR2 C/T2 CP/RL2 adres C8H TF2 - znacznik przepełnienia licznika 2. Ustawiany na 1 gdy nastąpi przepełnienie licznika. Nie dotyczy to sytuacji gdy RCLK = 1,lub CLK = 1. Znacznik ten musi zarezerwowany programowo. EXF2 -znacznik ustawiony na 1 opadającym zboczem na wejściu T2EX(P1.1) gdy znacznik EXEN2 = 1.Jest to informacja, że nastąpiło autoładowanie licznika lub przepisanie stanu licznika do bufora pod wpływem zewnętrznego sygnału. Przy uaktywnionym przerwaniu od licznika 2 następuje zgłoszenie przerwania. Znacznik ten musi być zerowany programowo. RCLK - znacznik przełączania generatora taktującego odbiornik portu szeregowego pracującego w trybie 1 lub 3. Gdy RCLK = 1 odbiornik portu szeregowego jest taktowany sygnałem wyjściowym licznika2, a gdy RCLK =0- sygnałem wyjściowym licznika 1. TCLK znacznik przełączania generatora taktującego nadajnik portu szeregowego pracującego w trybie 1 lub 3.Zasada przełączania jest taka jak dla znacznika RCLK. EXEN2-znacznik bramkujący zewnętrzne wejście sterujące T2EX (P1.1). Gdy EXEN2 = 1ilicznik nie pracuje Jako generator dla portu szeregowego, to opadające zbocze na wejściu T2EX, w zależności od trybu pracy licznika, może powodować autoładowanie lub przepisanie zawartości licznika do bufora. TR2 -znacznik uruchamiania licznika. Gdy TR2 = 1 to licznik pracuje. C/T2-znacznik przełączania wejścia licznika. Gdy C/T2 = 0, to licznik pracuje jako czasomierz z sygnałem odniesienia o częstotliwości fosc/12 otrzymywanym z zegara wewnętrznego.gdy C/T2 = 1 do wejścia licznika jest doprowadzony sygnał z wejściat2 (P1.0). CP/RL2 -znacznik przełączania trybu pracy. Gdy CP/RL2 = 1 praca z zatrzaskiem. Do bufora jest przepisywana zawartość licznika gdy stan wejścia T2EX zmienia się z wysokiego na niski i znacznik EXEN2 = 1. Gdy CP/RL2 = 0 licznik pracuje z autoładowaniem, które odbywa się albo gdy następuje przeładowanie licznika, albo pod wpływem opadającego zbocza na wejściu T2EX (przy EXEN2 = 1). Znacznik ten jest ignorowany gdy licznik pracuje jako generator taktujący port szeregowy (RCLK = 1 lub/i TCLK =1 ). RCLK + TCLK CP/RL2 TP2 TRYB PRACY Licznik 16-to bitowy z autoładowaniem Licznik 16-to bitowy z zatrzaskiem 1 X 1 Generator taktujący port szeregowy X X 0 Zatrzymanie licznika Rejestr T2MOD mieści się pod adresem C9H w SFR i zawiera znaczniki: T2MOD T2OE DCEN adres C9H T2OE - znacznik uaktywniający wyjście licznika T2.

6 DCEN jeżeli jest ustawiony umożliwia na zmianę kierunku zliczania góra/dół w zależnosci od stanu linii T2EX ( 1 / 0 ). 6.2 Przygotowanie portu szeregowego do pracy Uruchomienie portu szeregowego, który ma pracować ze standardową prędkością bodową, wymaga ustawienia trybu pracy licznika - licznik z autoładowaniem, zaprogramowania licznika na określony stopień podziału, ustawienia trybu pracy portu szeregowego, a przy odbiorze danych należy ustawić znacznik REN. Po każdorazowym nadaniu i odbiorze bajtu danych należy wyzerować odpowiedni znacznik TI lub RI. Należy również podjąć decyzję, czy kontrola końca transmisji pojedynczego bajtu będzie się odbywać poprzez przerwanie, czy poprzez programowe testowanie znacznika TI przy nadawaniu lub RI przy odbiorze. Mikrokontroler AT90S UART UART : nadawanie Transmisja jest inicjowana przez wpis danej do rejestru danej UART : UDR. Dana jest transferowana z UDR do rejestru przesuwnego gdy : 1) Nowa dana została wpisana do UDR po tym jak wysłany został ostatni bit danej poprzedniej. Rejestr przesuwny jest ładowany natychmiast. 2) Nowa dana została wpisana do UDR zanim zakończono wysyłanie poprzedniej. Rejestr przesuwny jest ładowany dopiero po wysłaniu bitu stopu danej poprzedniej. Przesłanie danej z UDR do rejestru przesuwnego powoduje ustawienie flagi UDRE w rejestrze statusowym UART. Flaga ta sygnalizuje gotowość przyjęcia następnej danej do nadawania. Zaraz po załadowaniu rejestru przesuwnego czyszczony jest jego LSB (bit startu) a bit 9 ( lub 10 ) jest ustawiany ( bit stopu ). W przypadku wysyłania danej 9 bitowej ( patrz bit CHR9 w rejestrze sterującym UCR ), dziewiąty bit danej jest przepisywany na 9-ty bit rejestru przesuwnego. Z prędkością ustawianą zawartością rejestru UBRR następuje przesyłanie bitów, rozpoczynając bitem startu, następnie LSB, kończąc na bicie stopu. Bity są wystawiane na pin TxD. Po wysłaniu bitu stopu, następuje przesłanie nowej danej z UDR do rejestru przesuwnego ( o ile nowa dana została tam wpisana w czasie transmisji ). Podczas przesłania ustawiana jest flaga UDRE. W przypadku braku nowej danej, UDRE pozostaje ustawiona aż do momentu wpisania danej do UDR. Jeśli nie ma już danych do przesłania, a bit stopu pozostaje na TxD przez czas potrzebny na przesłanie 1 bitu, ustawiana jest flaga TxC w USR. Bit TXEN w rejestrze UCR włącza tryb nadawania UART. Jeśli jest wyczyszczony, pin PD1 może być użyty jako pin ogólnego przeznaczenia. Jeśli jest ustawiony, pin PD1 będzie ustawiony jako wyjście i to niezależnie od stanu rejestru kierunku danych portu D ( patrz DDRD).

7 Rys Schemat blokowy układu nadajnika UART w mk AT90S8515 UART : odbiór Układ odbioru próbkuje sygnał wejściowy ( RxD ) z częstotliwością 16 * BAUD. Gdy linia jest w stanie spoczynkowym, pojedyncza próbka o stanie 0 jest interpretowana jako zbocze opadające bitu startu i rozpoczyna się procedura sprawdzająca. Testuje ona, czy rzeczywiście stan 0 na linii jest bitem startu czy też zakłóceniem, i w tym drugim przypadku ignoruje zbocze. Jeśli bit startu jest stwierdzony poprawnie ( 3 próbki z rzędu to 0 ), następuje odczyt kolejnych bitów danej, rozpoczynając od LSB. Każdy bit próbkowany jest 3 razy i jako prawdziwa wartość interpretowana jest ta, która pojawia się w przynajmniej 2 próbkach. Pozwala to na eliminację zakłóceń. Kiedy do odbiornika trafia bit stopu, także on przechodzi procedurę sprawdzenia poprawności i jeśli z 3 próbek 2 lub 3 są zerami, ustawiana jest flaga FE ( błąd ramki ). Przed odczytaniem UDR należy więc zawsze sprawdzić stan flagi FE. Niezależnie od ewentualnego błędu ramki, dana jest przesyłana do UDR ( rejestru danej ) i ustawiana jest flaga RxC. W rzeczywistości UDR nie jest jednym rejestrem, lecz dwoma oddzielnymi dla wysyłania i odbioru. W przypadku zapisu do UDR dana jest wpisywana do rejestru wysłania, a w przypadku odczytu podstawiana jest zawartość rejestru odbioru. Jeśli

8 ustawiony jest tryb odbioru danej 9 bitowej ( patrz bit CHR9 w UCR ), bit RXB8 w rejestrze UCR jest ładowany wartością dziewiątego bitu danej odebranej. Jeśli po odebraniu danej stwierdzi się brak pobrania z rejestru UDR danej poprzedniej, ustawiana jest flaga kolizji OR w UCR. Oznacza ona, że ostatnio odbierana dana nie mogła zostać przesłana do UDR i została utracona. Flaga OR jest czyszczona przy odczycie prawidłowej danej z UDR. Przed odczytem UDR należy więc zawsze sprawdzić flagę OR. Kiedy bit RXEN w rejestrze UCR jest wyczyszczony, odbiornik jest wyłączony. Pin PD0 może być użyty dowolnie. Gdy RXEN = 1 pod pin PD0 podłączone jest wejście odbiornika, co oznacza, że staje się on pinem wejściowym, niezależnie od ustawień w rejestrze kierunku pinów DDRD. Kiedy ustawiony jest nit CHR9 w rejestrze UCR, dane odbierane i nadawane mają długość 9 bitów plus bit startu i stopu. Dziewiąty bit danej do nadania należy wpisać pod bit TXB8 w UCR, a odebrany dziewiąty bit danej znajduje się w RXB8 w UCR. Wpis bitu do TXB8 oczywiście musi nastąpić wcześniej niż wpis reszty danej do UDR, co rozpoczyna transmisję. Rys Schemat blokowy układu odbiornika UART w mk AT90S8515 Sterowanie UART em Sterowanie układem UART realizuje się poprzez rejestry : Danej : UDR ( dana odbierana lub nadawana ) Statusowy : USR ( flagi błędów, zakończenie transmisji, etc. ) Sterowania : UCR ( włączenie przerwań, włączenie / wyłączenie UART )

9 Prędkości : UBRR ( BAUD = fck / ( 16 ( UBRR+1 ) ) ) UDR rejestr danej UART Adres: $0C ( $2C ) Dostęp: R/W Wartość początkowa: $00 UDR nie jest jednym rejestrem, lecz dwoma oddzielnymi dla wysyłania i odbioru. W przypadku zapisu do UDR dana jest wpisywana do rejestru wysłania, a w przypadku odczytu podstawiana jest zawartość rejestru odbioru. USR rejestr statusowy UART Adres: $0B ( $2B ) Bit RXC TXC UDRE FE OR Dostęp R R/W R R R R R R Wartość początkowa : RXC Odbiór zakończony. Gdy flaga jest ustawiona, odebrana dana została przesłana do rejestru UDR. Flaga ta jest ustawiana niezależnie od błędów transmisji. W przypadku włączenia przerwania ( RXCIE w UCR), ustawienie RXC oznacza wywołanie obsługi przerwania zakończenia odbioru. RXC czyszczona jest przez odczyt UDR. Obsługa przerwanie zakończonego odbioru musi odczytać UDR i wyczyścić RXC. 6 : TXC Nadawanie zakończone. Zakończono nadawanie bitu stopu, a w rejestrze UDR nie ma nowej danej. Flaga ta jest użyteczna w trybie half-duplex, kiedy urządzenie po nadaniu danych musi zwolnić linię i ustawić się w tryb odbioru. Jeśli ustawiona jest flaga TXCIE w UCR, wykona się obsługa przerwania zakończonego nadawania. TXC czyści się wtedy automatycznie. W przypadku wyłączonego przerwania TXC można wyczyścić poprzez wpisanie logicznej 1. 5 : UDRE Rejestr danej pusty. Flaga ta ustawia się przy przesłaniu danej z UDR do rejestru przesuwnego celem nadania i oznacza, że do UDR można wpisać kolejną daną. 4 : FE Błąd ramki. Ustawia się gdy zamiast bitu stopu stwierdza się 0. Czyści się automatycznie po prawidłowym odbiorze bitu stopu. 3 : OR Błąd kolizji. Ustawia się, gdy nie można przesłać odebranej danej do rejestru UDR, ponieważ nie odczytano z tego rejestru danej poprzedniej. Zeruje się przy prawidłowym przepisaniu danej do UDR : zarezerowane. UCR rejestr sterowania UART

10 Adres: $0A ( $2A ) Bit RXCIE TXCIE UDRIE RXEN TXEN CHR9 RXB8 TXB8 Dostęp R/W R/W R/W R/W R/W R/W R W Wartość początkowa : RXCIE Włączenie przerwania zakończonego odbioru. Gdy flaga jest ustawiona, ustawienie flagi RXC w USR powoduje wywołanie obsługi przerwania ( oczywiście przy odblokowanej globalnej masce przerwań ). 6 : TXCIE Włączenie przerwania zakończonego nadawania. Gdy flaga jest ustawiona, ustawienie flagi TXC w USR powoduje wywołanie obsługi przerwania ( oczywiście przy odblokowanej globalnej masce przerwań ). 5 : UDRIE Włączenie przerwania rejestr danej pusty. Gdy flaga jest ustawiona, ustawienie flagi UDRE w USR powoduje wywołanie obsługi przerwania ( oczywiście przy odblokowanej globalnej masce przerwań ). 4 : RXEN Bit ten włącza tryb odbioru ( gdy RXEN= 1 ). Gdy RXEN= 0 flagi TXC, OR i FE nie mogą mieć wartości 1. Jeśli flagi te są ustawione, wyłączenie RXEN nie powoduje ich czyszczenia. 3 : TXEN Bit ten włącza tryb nadawania (gdy TXEN= 1 ). Wyłączenie tego bitu w czasie transmisji ma efekt dopiero po zakończeniu nadawania zarówno aktualnej danej jak i ewentualnie następnej już wpisanej do UDR. 2 : CHR9 Włączenie trybu transmisji danej 9 bitowej. Patrz opis bitów RXB8 i TXB8. Dziewiąty bit może być użyty jako dodatkowy bit stopu lub do kontroli parzystości. 1 : RXB8 Dziewiąty bit odebranej danej. Czyta się go, jeśli bit CHR9 jest ustawiony. 0 : TXB8 Dziewiąty bit danej do nadania. Należy go modyfikować, jeśli dana przesłana ma być 9 bitowa ( czyli gdy CHR9= 1 ). Generator taktujący UART Generator taktujący transmisję jest dzielnikiem częstotliwości, który generuje zegar o częstotliwości zgodnie z równaniem: BAUD = fck / ( 16 ( UBRR+1 ) ) gdzie UBRR jest zawartością rejestru prędkości UART. fck jest częstotliwością oscylatora Przykładowe prędkości transmisji dla różnych częstotliwości zegara przedstawiono w tabeli. Na następnej stronie. Przy każdej kombinacji podano procentowy błąd rzeczywistej prędkości transmisji w stosunku do standardowej. Zaleca się stosować takie prędkości transmisji, aby ten błąd był mniejszy niż 1 % ( mniej błędów transmisji ). UBRR rejestr prędkości transmisji UART

11 Adres: $09 ( $29 ) Dostęp: R/W Wartość początkowa: $00 Jest to rejestr determinujący prędkość transmisji UART wg równania podanego na poprzedniej stronie. Tabela 4. Przykładowe prędkości transmisji UART dla różnych częstotliwości oscylatora Bodów fosc = % fosc = % fosc = % fosc = % Mhz błąd Mhz błąd 4 Mhz błąd Mhz błąd 2400 UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR=6 1.6 UBRR=7 0.0 UBRR=8 3.7 UBRR= UBRR=4 6.3 UBRR=5 0.0 UBRR=6 7.5 UBRR= UBRR= UBRR=3 0.0 UBRR=3 7.8 UBRR= UBRR= UBRR=2 0.0 UBRR=2 7.8 UBRR= UBRR= UBRR=1 0.0 UBRR=1 7.8 UBRR= Bodów fosc = Mhz % błąd fosc = 8 Mhz % błąd fosc = Mhz % błąd fosc = Mhz 2400 UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR= UBRR=7 0.0 UBRR=8 3.7 UBRR=9 0.0 UBRR= UBRR=5 0.0 UBRR=6 7.5 UBRR=7 6.7 UBRR= UBRR=3 0.0 UBRR=3 7.8 UBRR=4 0.0 UBRR=5 0.0 % błąd Mikrokontroler PIC16F873/6 7. Uniwersalny synchroniczny-asynchroniczny odbiornik nadajnik (USART) Moduł uniwersalnego asynchronicznego - synchronicznego nadajnika odbiornika (USART) jest jednym z dwóch szeregowych nadajników I/O. (USART jest także znany jako interfejs komunikacji szeregowej lub SCI). USART może być konfigurowany jako w pełni dwukierunkowy interfejs asynchroniczny, który może komunikować się z urządzeniami peryferyjnymi, takimi jak terminale CRT i komputery osobiste. Może on być również konfigurowany jako jednokierunkowy synchroniczny interfejs służący do współpracy z urządzeniami peryferyjnymi takimi jak: przetworniki A/D i / D/A, szeregowe pamięci EEPROM, itd. Układ USART może pracować w następujących trybach: Asynchronicznym (dwukierunkowym). Synchronicznym master (jednokierunkowym). Synchronicznym slave (jednokierunkowym).

12 Bit SPEN (RCSTA<7>) i bity TRISC <7:6> muszą być ustawione na 1 w celu skonfigurowania pinów RC6/TX/CK i RC7/RX/DT jako wyjścia i wejścia układu USART. Rejestr TXSTA (Adres 98h) R/W-0 R/W-0 R/W -0 R/W -0 R/W -0 U-0 R/W -0 R-1 CSRC TX9 TXEN SYNC - GRGH TRMT TX9D bit 7 Bit 0 CSRC : bit wyboru źródła sygnału zegara: Tryb Asynchroniczny: bez znaczenia. Tryb Synchroniczny: 1 = Tryb Master (Zegar generowany wewnętrznie z BRG), 0 = Tryb Slave (Zegar z źródła zewnętrznego). TX9 : bit włączenia transmisji 9 bitowej: 1 = transmisja 9 bitowa, 0 = transmisja 8 bitowa. TXEN bit włączający transmisję: 1 = transmisja możliwa, 0 = transmisja niemożliwa. Uwaga : SREN/CREN jest nadrzędny w stosunku do TXEN w trybie SYNC. SYNC : bit wyboru trybu USART, 1 = tryb synchroniczny, 0 = tryb asynchroniczny. BRGH : bit wyboru szybkiej prędkości bodowej: Tryb Asynchroniczny: 1 = duża prędkość, 0 = niska prędkość. Tryb Synchroniczny: Nieużywany w tym trybie TRMT : bit statusu rejestru przesuwającego w nadawaniu: 1 = TSR pusty, 0 = TSR pełny. TX9D : 9 ty bit danych transmitowanych - może być bitem parzystości. Rejestr RCSTA (Adres 18h) R/W-0 R/W-0 R/W -0 R/W -0 R/W -0 U-0 R-0 R-x SPEN RX9 SREN CREN ADDEN FERR OERR RX9D bit 7 Bit 0 SPEN : bit uaktywniania portu szeregowego 1 = port szeregowy aktywny (konfiguruje piny RC7/RX/DT i RC6/TX/CK jako piny portu szeregowego), 0 = port szeregowy nieaktywny. RX9 : bit włączenia odbioru 9 bitowego: 1 = odbiór 9 bitowa, 0 = odbiór 8 bitowa. SREN bit włączający jednokrotny odbiór:

13 Tryb Asynchroniczny: bez znaczenia. Tryb Synchroniczny Master: 1= włącza jednokrotny odbiór, 0= wyłącza jednokrotny odbiór. Bit jest zerowany po zakończeniu odbioru. Tryb Synchroniczny Slave: bez znaczenia. CREN : bit aktywowania odbioru ciągłego: Tryb Asynchroniczny: 1= włącza ciągły odbiór, 0= wyłącza ciągły odbiór. Tryb Synchroniczny: 1=ciągły odbiór dopóki bit CREN nie jest wyzerowany (CREN jest nadrzędny w stosunku do SREN), 0=wyłącza ciągły odbiór. ADDEN : bit aktywowania wykrywania adresu: Tryb Asynchroniczny 9 bitowy (RX9 = 1 ) 1 = uaktywnia wykrywanie adresu, uaktywnia przerwanie i opróżnia bufor odczytu, kiedy RSR<8> jest ustawiony, 0 = dezaktywuje wykrywanie adresu, wszystkie bajty są odczytywane i dziewiąty bit może być wykorzystany jako bit parzystości. FERR : bit błędu ramki: 1=błąd ramki (może być zmieniony przez odczyt rejestru RCREG i odbiór następnego znaczącego bajtu), 0=brak błędu ramki. OERR : bit błędu przepełnienia 1 = błąd przepełnienia (kasowanie poprzez wyzerowanie bitu CREN), 0 = brak błędu przepełnienia RX9D : 9 ty bit danych odebranych (może być bitem parzystości) Generator szybkości transmisji BRG układu USART Układ BRG wspomaga oba tryby pracy interfejsu USART synchroniczny i asynchroniczny. Jest to dedykowany 8-bitowy generator szybkości transmisji. Rejestr SPBRG kontroluje okres swobodnej pracy 8-bitowego zegara. W trybie asynchronicznym bit BRGH (TXTA<2>) kontroluje również szybkość transmisji. W trybie synchronicznym bit BRGH jest ignorowany. Poniższa tabela pokazuje wzory potrzebne do obliczenia szybkości transmisji dla różnych trybów USART. Mając podaną żądaną szybkość transmisji i Fosc, najbliższa wartość całkowita dla rejestru SPBRG może być obliczona przy użyciu wzorów z poniższej tabeli. Korzystne może być użycie wysokiej szybkości transmisji (BRGH=1) nawet dla wolniejszych zegarów transmisji. Dzieje się tak dlatego, gdyż równanie Fosc/(16(X+1)) może w niektórych przypadkach zredukować błąd transmisji. Wpisanie nowej wartości do rejestru SPBRG powoduje zresetowanie timera BRG. SYNC BGRH=0(mała prędkość) BRGH=1 (duża prędkość) 0 (Asynchroniczny) szybkość transmisji =Fosc/(64(x+1)) Szybkość transmisji= Fosc/(16(x+1)) 1 (Synchroniczny) szybkość transmisji=fosc/(4(x+1)) nie oblicza się

14 Rejestry związane z generatorem BRG układu USART Adres Nazwa Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Stany po: POR, BOR Stany po pozostałych RESET-ach 98h TXSTA CSRC TX9 TXEN SYNC - BRGH TRMT TX9D h RCSTA SPEN RX9 SREN CREN ADDE N FERR OERR RX9D x x 99h SPBRG ADFM REJESTR GENERATORA SZYBKOŚCI TRANSMISJI Tryb asynchroniczny USART W tym trybie, interfejs USART używa standardowego formatu bez powrotu do zera (NRZ) (jeden bit START, 8 lub 9 bitów danych i jeden bit STOP). Najbardziej popularnym formatem danych jest format 8 bitowy (8N1). Transmisja danych zaczyna się od bitu LSB. Nadajnik i odbiornik USART są funkcjonalnie niezależne, ale używają tego samego formatu danych i tej samej szybkości transmisji. Generator szybkości transmisji wywołuje zegar x16 albo x64 szybkości przesunięcia transmisji bitów, zależnie od bitu BRGH (TEXSTA <2>). Parzystość nie jest wspomagana sprzętowo, ale może być implementowana programowo (i zapisana jako 9 bit danych). Tryb asynchroniczny jest zatrzymany podczas trybu SLEEP mikrokontrolera. Tryb asynchroniczny jest wybierany przez wyczyszczenie bitu SYNC (TEXTA<4>). W tym trybie układ USART składa się z elementów: generatora szybkości transmisji, układu próbkującego, nadajnika asynchronicznego, odbiornika asynchronicznego Nadajnik transmisji asynchronicznej USART Schemat blokowy nadajnika USART pokazany jest na rys. 24. Sercem nadajnika jest rejestr przesuwny nadajnika (TSR). Rejestr przesuwny otrzymuje dane z bufora transmisji TXREG (można do niego zapisać i odczytać zawartość). Do rejestru TXREG dane są wprowadzane przez program użytkownika. Rys. 24. Schemat blokowy nadajnika USART dla transmisji asynchronicznej

15 Rejestr TSR jest ładowany nowymi danymi z rejestru TXREG pod warunkiem, że bit STOP jest ustawiony (zakończone nadawanie). Kiedy rejestr TXREG nada dane do rejestru TSR to rejestr TXREG jest wówczas pusty i flaga TXIF (PIR<4>) jest ustawiana. Przerwanie może być aktywne / nie aktywne przez ustawienie / wyzerowanie bitu TXIE (PIE<4>). Flaga bitu TXIF będzie ustawiona nie zważając na stan bitu TXIE i nie może być wyzerowana programowo. Bit ten będzie zresetowany dopiero wtedy, kiedy nowe dane będą załadowane do rejestru TXREG. Podczas gdy flaga TXIF wskazuje na status rejestru TXREG inny bit TRMT (TXSTA <1>) pokazuje status rejestru TSR. Bit statusu TRMT jest tylko do odczytu i jest ustawiany, gdy rejestr TSR jest pusty. Żadne przerwania nie jest związane z tym bitem więc użytkownik musi przeglądać ten bit aby określić czy rejestr TSR jest pusty. Rejestr TSR nie jest mapowany w pamięci danych więc nie jest dostępny dla użytkownika. Flaga TXIF jest ustawiona kiedy bit TXEN jest ustawiony. Flaga TXIF jest zerowana przez załadowanie danej do rejestru TXREG. Układ USART jest włączany (uaktywniony) przez ustawienie bitu TXEN (TXSTA<5>). Transmisja rozpoczyna się gdy do rejestru TXREG wprowadzimy daną. Oczywiście generator BRG musi generować sygnał zegarowy o właściwej częstotliwości. Normalnie gdy zaczyna się transmisja rejestr TSR jest pusty. W tym momencie transfer do rejestru TXREG spowoduje natychmiastowy transfer do rejestru TSR i opróżnienie rejestru TXREG. Zerując bit TXEN podczas transmisji spowodujemy przerwanie transmisji i zresetowanie układu nadajnika. W rezultacie pin RC6/TX/CK przejdzie w stan wysokiej impedancji. Jeśli zostanie wybrana transmisja 9 bitowa, bit transmisji TX9 (TXSTA<6>) powinien być ustawiony, dziewiąty bit powinien być zapisany do TX9D (TXSTA<0>). Dziewiąty bit musi być zapisany przed zapisem ośmiu bitów danych do rejestru TXREG. Taka sytuacja ma miejsce, ponieważ dane zapisane do rejestru TXREG mogą spowodować natychmiastowe przeniesienie danych do rejestru TSR (jeśli TSR jest pusty). W takim przypadku nieprawidłowy dziewiąty bit może być zapisany do rejestru TSR. Aby ustawić transmisję asynchroniczną należy wykonać następujące kroki : Uaktywnić rejestr SPBRG wpisując odpowiednią wartość szybkości transmisji. Uaktywnić asynchroniczny port szeregowy przez wyzerowanie bitu SYNC i ustawienie bitu SPEN. Jeśli przerwania będą wykorzystane należy ustawić bit TXIE. Jeśli wykorzystana będzie transmisja 9 bitowa należy ustawić bit TX9. Uaktywnić transmisję przez ustawienie bitu TXEN, który ustawi bit TXIF. Jeśli została wybrana transmisja 9 bitowa bit dziewiąty powinien być załadowany do bitu TX9D. Załadować dane do rejestru TXREG (początek transmisji ). Jeśli przerwania są używane upewnić się, że GIE i PEIE (bity 7 i 6 ) rejestru INTCON są ustawione.

16 Rejestry związane z nadajnikiem asynchronicznym układu USART Adres Nazwa Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0Bh,8Bh, 10Bh, 18Bh INTCO N Stany po: POR, BOR Stany po pozostałych RESET-ach GIE PEIE T0IE INTE RBIE T0IF INTF R0IF x u 0Ch PIR1 PSPIF 1 ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF h RCSTA SPEN RX9 SREN CREN - FERR OERR RX9D x x 19h TXREG REJESTR UKŁADU TRANSMIJI USART Ch PIE1 PSPIE 1 ADIE RCIE TXIE SSPIE CCP1IF TMR2IE TMR1IE h TXSTA CSRC TX9 TXEN SYNC - BRGH TRMT TX9D h SPBRG REJESTR GENERATORA BRG Odbiornik transmisji asynchronicznej USART Schemat blokowy odbiornika jest pokazany na rys. 25. Dane są czytane na pinie RC7/RX/DT i są przesyłane do bloku odbioru danych (Data Recovery).Blok odbioru danych jest szybkim rejestrem przesuwnym (prędkość generatora BRG x16), podczas gdy główny rejestr odbiornika szeregowego pracuje z częstotliwością Fosc. Gdy wybrany jest tryb asynchroniczny, odbiór jest możliwy jeżeli ustawimy bit CERN (RCSTA<4>). Najważniejszą częścią odbiornika jest szeregowy rejestr przesuwny RSR. Po wykryciu bitu STOP, odebrana dana w rejestrze RSR jest przesyłana do rejestru RCREG (jeżeli jest on pusty). Po zakończeniu przesyłania zostaje ustawiona flaga RCIF (PIR1<5>). Przerwanie może być odblokowane /zablokowane poprzez ustawienie /wyzerowanie bitu RCIE w rejestrze PIE1<5>. Flaga RCIF jest bitem tylko do odczytu i może być wyzerowana tylko przez kontroler. Zostaje ona wyzerowana gdy zostanie odczytany rejestr RCREG (jest on pusty). Rejestr RCREG jest podwójnie buforowany (dwustopniowy FIFO). Jest możliwy odbiór i przesłanie dwóch bajtów danych do RCREG FIFO i zapoczątkowanie przesuwania trzeciego bajtu do rejestru RSR. Po wykryciu bitu STOP w trakcie wysyłania trzeciego bajta, jeżeli rejestr RCREG jest ciągle pełny to jest ustawiany bit przepełnienia OERR (RCSTA<1>). Dane w RSR zostaną utracone. Aby odzyskać dwa bajty znajdujące się w FIFO należy dwukrotnie odczytać rejestr RCREG. Bit przepełnienia OERR musi być wyzerowany programowo. Robi się to poprzez wyzerowanie i ustawienie bitu CREN. Gdy bit OERR jest ustawiony, przesyłanie z rejestru RSR do RCREG jest wstrzymane, a kolejne dane nie są odbierane. Dlatego niezbędne jest wyzerowanie bitu błędu OERR. Bit błędu ramki FERR (RCSTA<2>) zostaje ustawiony, gdy bit STOP nie zostaje wykryty (stan wysoki). Bit FERR i 9-ty odebrany bit są buforowane tak jak odbierana dana. Odczyt RCREG załaduje bity RX9D i FERR nowymi wartościami, dlatego konieczny jest odczyt RCSTA zanim odczytany zostanie rejestr RCREG, aby nie stracić informacji o starych wartościach bitów RX9D i FERR.

17 Rys. 25. Schemat blokowy odbiornika USART w trybie asynchronicznym Należy wykonać następujące kroki przy programowaniu odbioru asynchronicznego: Ustawić w rejestrze SPBRG zadana szybkość transmisji. Jeżeli zadana jest duża szybkość transmisji, należy ustawić bit BRGH. Uaktywnić asynchroniczny port szeregowy, zerując bit SYNC i ustawiając SPEN. Jeśli przerwania będą wykorzystane należy ustawić bit RCIE. Jeśli wykorzystana będzie transmisja 9 bitowa należy ustawić bit RX9. Uaktywnić transmisję przez ustawienie bitu CREN. Flaga RCIF zostanie ustawiona gdy dane zostaną odebrane i zostanie wygenerowane przerwanie jeżeli bit RCIE jest ustawiony. Należy odczytać rejestr RCSTA aby uzyskać dziewiąty bit (jeżeli ustawiony) oraz określić czy nie wystąpił błąd podczas transmisji. Odczytać 8-bitów danych z rejestru RCREG. W przypadku wystąpienia błędu, wyczyścić bit CREN. Jeśli używane są przerwania, należy upewnić się, że bity GIE i PIE (bity7 i 6 ) w rejestrze INTCON są ustawione. Rejestry związane z odbiornikiem asynchronicznym układu USART Adres Nazwa Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 0Bh,8Bh, 10Bh, 18Bh INTCON GIE PEIE T0IE INTE RBIE Stany po: POR, BOR Stany po pozostałych RESET-ach T0IF INTF R0IF x u 0Ch PIR1 PSPIF 1 ADIF RCIF TXIF SSPIF CCP1IF TMR2IF TMR1IF h RCSTA SPEN RX9 SREN CREN - FERR OERR RX9D x x 1Ah RCREG REJESTR UKŁADU TRANSMIJI USART Ch PIE1 PSPIE 1 ADIE RCIE TXIE SSPIE CCP1IF TMR2IE TMR1IE h TXSTA CSRC TX9 TXEN SYNC - BRGH TRMT TX9D h SPBRG REJESTR GENERATORA BRG

18 Fragment programu obsługi UART dla 8051 STMODE equ B T1MODE equ B BAUDH equ 243 BAUDL equ 243 ;8 bit UART without multiprocessor communication ;feature, enable serial reception ;8-bit auto-reload timer ;2400 baud rate at 12MHz quartz, and ;SMOD=0 ORG 000h START: sjmp BEGIN ORG 003h sjmp OBSINT0 ORG 023h sjmp STINT ;przerwanie od INT0 ;przerwanie portu szeregowego ORG 100h BEGIN: mov SP,#30h mov TMOD,#T1MODE ;tryb licznika 1 mov SCON,#STMODE ;tryb portu szeregowego mov TH1,#BAUDH mov TL1,#BAUDL ;szybkość transmisji setb TR1 ;wystartuj licznik T1 clr TI clr RI setb ES setb EX0 setb EA ; odblokowanie przerwania od UART ;odblokowanie przerwania od INT0 ;uaktywnienie przerwań sjmp $ ; Obsluga portu szeregowego STINT: clr EA jb TI, STWR STRD: mov DATABUFF,SBUF clr RI jmp STEND STWR: clr TI STEND: setb EA ;czy przerwanie z nadajnika ;pobierz odebrana dana ;kasuj znacznik

19 ; Obsluga przerwania INT0 OBSINT0: clr EA mov,sbuf, DATABUFF setb EA ;wyślij daną Fragment programu obsługi UART dla 8052 WLoT2 EQU 0BFH ;65471 tj. predkosc transmisji szeregowej 9600bd WHiT2 EQU 0FFH ;przy fosc=20mhz ORG 0023H AJMP OBSRS ; DO OBSLUGI PORTU SZEREGOWEGO START: MOV T2CON,#30H MOV SCON,#50H MOV TL2,#WLoT2 MOV TH2,#WHiT2 MOV RCAP2L,#WLoT2 MOV RCAP2H,#WHiT2 SETB TR2 ;T2 TAKTUJE PORT SZEREGOWY, T2 STOP ;TRYB 1, UKLAD UAKTYWNIONY ;START T2 TAKTUJACEGO PORT SZEREGOWY AJMP $ ; - obs. przerwania od portu szeregowego OBSRS: JBC RI,OMIN54A SJMP RSEND1 OMIN54A: PUSH ACC MOV A,LICZBAJT CJNE A,#00H,OMIN53 MOV ROZKAZ,SBUF MOV A,ROZKAZ ANL A,#03H ;WPROWADZ LICZBE BAJTOW DANYCH ;ODCZYTANIE PRZESLANEGO ROZKAZU ;SPRAWDZENIE CZY ROZKAZ WYMAGA ;DANYCH JNZ OMIN54 ACALL PARSER ;GDY NIE TO DEKODOWANIE ROZKAZU SJMP RSEND OMIN54: MOV LICZBAJT,A ;USTAW LICZNIK DANYCH DO ODEBRANIA

20 SJMP RSEND OMIN53: MOV A,LICZBAJT CJNE A,#03H,OMIN55 MOV DANA3,SBUF DEC LICZBAJT SJMP RSEND OMIN55: MOV A,LICZBAJT CJNE A,#02H,OMIN56 MOV DANA2,SBUF DEC LICZBAJT SJMP RSEND OMIN56: MOV A,LICZBAJT CJNE A,#01,RSEND MOV DANA1,SBUF DEC LICZBAJT ANL ROZKAZ,#0FCH ACALL PARSER RSEND: POP ACC RSEND1: CLR TI CLR RI RETI ;OBSLUGA DLA 3 DANYCH ;OBSLUGA DLA 2 DANYCH ;OBSLUGA DLA 1 DANEJ ;ZEROWANIE DWOCH NAJMLODSZYCH ;BITOW ;DEKODOWANIE ROZKAZU ;ZERUJ FLAGI PRZERWAN Program obsługi UART dla AT90S8515 include "8515def.inc".def temp =r16.org 0x00 rjmp START ;reset zewnętrzny, przy włączeniu i Watchdoga rjmp OBSINT0 ;żądanie przerwania zewnętrznego 0 ;żądanie przerwania zewnętrznego 1 ;licznik1: zdarzenie zatrzaśnięcia ;licznik1: zdarzenie porównania A ;licznik1: zdarzenie porównania B ;licznik1: zdarzenie przekroczenia zakresu ;licznik0: zdarzenie przekroczenia zakresu ;transfer zakończony (SPI) rjmp ODCZYT ;Rx zakończony (UART) ;rejestr danej pusty (UART) ;Tx zakończony (UART) ;przerwanie komparatora analogowego

21 START: ldi temp, high(ramend) out SPH,temp ldi temp, low(ramend) out SPL,temp ldi temp,0x80 out ACSR,temp ldi temp,0x00 out DDRA,temp out PORTA,temp ldi temp,0xff out DDRC,temp out PORTC,temp ldi temp,0x04 out PORTD,temp ldi temp,0x14 out DDRD,temp ldi temp,25 out UBRR,temp ldi temp,0x98 out UCR,temp ldi temp,0x02 out MCUCR,temp ldi temp,0x40 out GIMSK,temp sei LOOP: rjmp LOOP OBSINT0: in temp, PINA SKOK: sbis USR,UDRE rjmp SKOK out UDR,temp ODCZYT: in temp,udr out PORTC,temp.exit ;inicjalizacja stosu ;wyłączenie zasilania komparatora ;inicjalizacja portu A, port wejściowy ;inicjalizacja portu C, port wyjściowy ;inicjalizacja portu D, PD4 wyjście i PD2 (INT0) ;wyjście z "1" ;prędkość 9600 przy oscylatorze 4MHz ;konfiguracja UART ;przerwanie INT0 zboczem opadającym ;odblokowane przerwanie INT0 ;odblokowanie przerwań ;obsługa przerwania INT0, wysłanie bajta do ;komputera PC ;czy rejestr UDR jest pusty ;obsługa przerwania po odbiorze bajta z komputera

22 Fragment programu obsługi UART dla PIC16F873/6 LIST P=16F873 INCLUDE "P16F873.INC" org 0x00 GOTO START org 0x04 BTFSC INTCON,INTF GOTO OBSINT BTFSC PIR1,RCIF GOTO OBSRS ;skok do początku kodu programu ;skok do obsługi przerwania INT ;skok do obsługi przerwania odbioru RS-232 START BCF STATUS,RP1 BSF STATUS,RP0 ;wybor Banku 1 MOVLW 0x97 MOVWF TRISC MOVLW 0x0D0 MOVWF INTCON MOVLW 0x20 MOVWF PIE1 ;RCIE=1 reszta 0 ;TX, SDO i SCL - wyjścia, ;RX, SDA, CCP1, CCP2 i T1CKI - wejścia ;GIE=1, odblokowane INT i PEIE=1 MOVLW 0x26 MOVWF TXSTA MOVLW 51 MOVWF SPBRG ;nadajnik włączony, transmisja 8-bitowa ;prędkość transmisji 9600 bodów przy f=8mhz BCF STATUS,RP0 ;wybor Banku 0 MOVLW 0x90 MOVWF RCSTA GOTO $ OBSINT BCF INTCON,INTF BTFSS TXSTA,TRMT GOTO $-1 MOVWF TXREG ;odbiornik włączony, transmisja 8-bitowa ;oczekiwanie na przerwanie INT ;wyzerowanie flagi przerwania, ;wykonywane na początku obsługi każdego ;przerwania!!! ;czekaj na pusty bufor nadajnika ;wysłanie danej w ej. W przez RS-232 RETFIE

23 OBSRS BCF PIR1,RCIF ;wyzerowanie flagi przerwania odbiornika UART MOVF RCSTA,W ;odczyt odebranej danej (do rej. W) RETFIE END

24

MIKROPROCESORY architektura i programowanie

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

Bardziej szczegółowo

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

Instytut Teleinformatyki

Instytut Teleinformatyki Instytut Teleinformatyki Wydział Fizyki, Matematyki i Informatyki Politechnika Krakowska Mikroprocesory i mikrokontrolery Obsługa portu szeregowego laboratorium: 05 autor: mgr inż. Michal Lankosz dr hab.

Bardziej szczegółowo

MIKROPROCESORY architektura i programowanie

MIKROPROCESORY architektura i programowanie Systematyczny przegląd. (CISC) SFR umieszczane są w wewnętrznej pamięci danych (80H 0FFH). Adresowanie wyłącznie bezpośrednie. Rejestry o adresach podzielnych przez 8 są też dostępne bitowo. Adres n-tego

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

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

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

Ć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

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

Architektura mikrokontrolera MCS51

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

Bardziej szczegółowo

Architektura mikrokontrolera MCS51

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

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

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

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

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury

Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Technika Mikroprocesorowa Laboratorium 5 Obsługa klawiatury Cel ćwiczenia: Głównym celem ćwiczenia jest nauczenie się obsługi klawiatury. Klawiatura jest jednym z urządzeń wejściowych i prawie zawsze występuje

Bardziej szczegółowo

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

Przerwania w architekturze mikrokontrolera X51

Przerwania w architekturze mikrokontrolera X51 Przerwania w architekturze mikrokontrolera X51 (przykład przerwanie zegarowe) Ryszard J. Barczyński, 2009 Politechnika Gdańska, Wydział FTiMS, Katedra Fizyki Ciała Stałego Materiały dydaktyczne do użytku

Bardziej szczegółowo

Wbudowane systemy mikroprocesorowe. Interfejs RS-485. Blok peryferyjny USART

Wbudowane systemy mikroprocesorowe. Interfejs RS-485. Blok peryferyjny USART Wbudowane systemy mikroprocesorowe Ćwiczenie laboratoryjne Interfejs RS-485. Blok peryferyjny USART Tematy ćwiczenia interfejs RS-485, blok peryferyjny USART Plan a) Podłączyć terminal do sieci RS-485

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

Ćwiczenie 6 Komunikacja z komputerem (łącze RS232)

Ćwiczenie 6 Komunikacja z komputerem (łącze RS232) IMiO PW, LPTM, Ćwiczenie 6, Komunikacja z komputerem -1- Ćwiczenie 6 Komunikacja z komputerem (łącze RS232) IMiO PW, LPTM, Ćwiczenie 6, Komunikacja z komputerem -2-1. Cel ćwiczenia Celem ćwiczenia jest

Bardziej szczegółowo

Instytut Teleinformatyki

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

Bardziej szczegółowo

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

Ćwiczenie 2 Transmisja a szeregowa µc 8051(8052) - PC

Ćwiczenie 2 Transmisja a szeregowa µc 8051(8052) - PC Laboratorium Techniki Mikroprocesorowej Informatyka studia dzienne Ćwiczenie 2 Transmisja a szeregowa µc 8051(8052) - PC Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z budową i programowaniem implementacji

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

Technika mikroprocesorowa I Wykład 4

Technika mikroprocesorowa I Wykład 4 Technika mikroprocesorowa I Wykład 4 Układ czasowo licznikowy 8253 INTEL [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf] Wyprowadzenia układu [Źródło: https://www.vtubooks.com/free_downloads/8253_54-1.pdf]

Bardziej szczegółowo

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW

Obszar rejestrów specjalnych. Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW Laboratorium Podstaw Techniki Mikroprocesorowej Instytut Mikroelektroniki i Optoelektroniki PW MIKROKONTROLER 85 - wiadomości podstawowe. Schemat blokowy mikrokontrolera 85 Obszar rejestrów specjalnych

Bardziej szczegółowo

Zerowanie mikroprocesora

Zerowanie mikroprocesora Zerowanie mikroprocesora Zerowanie (RESET) procesora jest potrzebne dla ustalenia początkowych warunków pracy po włączeniu zasilania: adres początku programu stan systemu przerwań zawartość niektórych

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

Wstęp...9. 1. Architektura... 13

Wstęp...9. 1. Architektura... 13 Spis treści 3 Wstęp...9 1. Architektura... 13 1.1. Schemat blokowy...14 1.2. Pamięć programu...15 1.3. Cykl maszynowy...16 1.4. Licznik rozkazów...17 1.5. Stos...18 1.6. Modyfikowanie i odtwarzanie zawartości

Bardziej szczegółowo

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa

Systemy wbudowane. Wprowadzenie. Wprowadzenie. Mikrokontroler 8051 Budowa Systemy wbudowane Mikrokontroler 8051 Budowa dr inż. Maciej Piechowiak Wprowadzenie rdzeń CPU z jednostką artymetyczno-logiczną (ALU) do obliczeń na liczbach 8-bitowych, uniwersalne dwukierunkowe porty

Bardziej szczegółowo

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051.

Ćw. 5. Obsługa portu szeregowego UART w mikrokontrolerach 8051. Ćw 5 Obsługa portu szeregowego UART w mikrokontrolerach 8051 Opracowanie: mgr inż Michał Lankosz 1 Wprowadzenie Celem ćwiczenia jest poznanie działania układu transmisji szeregowej UART 2 Niezbędne wiadomości

Bardziej szczegółowo

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

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

Bardziej szczegółowo

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

CYKL ROZKAZOWY = 1 lub 2(4) cykle maszynowe

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

Bardziej szczegółowo

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

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

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

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

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

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe

Mikrokontroler ATmega32. System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe Mikrokontroler ATmega32 System przerwań Porty wejścia-wyjścia Układy czasowo-licznikowe 1 Przerwanie Przerwanie jest inicjowane przez urządzenie zewnętrzne względem mikroprocesora, zgłaszające potrzebę

Bardziej szczegółowo

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

Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052)

Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052) Laboratorium Techniki Mikroprocesorowej Informatyka studia dzienne Ćwiczenie 9 Częstościomierz oparty na µc 8051(8052) Cel ćwiczenia Celem ćwiczenia jest zapoznanie się z możliwościami zastosowania mikrokontrolerów

Bardziej szczegółowo

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51

Ćwiczenie 30. Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51 Ćwiczenie 30 Techniki mikroprocesorowe Programowanie w języku Asembler mikrokontrolerów rodziny '51 Cel ćwiczenia Poznanie architektury oraz zasad programowania mikrokontrolerów rodziny 51, aby zapewnić

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Systemy wbudowane. Układy czasowo-licznikowe Obsługa przerwań Zasilanie, zegar i zerowanie Tryb uśpienia

Systemy wbudowane. Układy czasowo-licznikowe Obsługa przerwań Zasilanie, zegar i zerowanie Tryb uśpienia Systemy wbudowane Układy czasowo-licznikowe Obsługa przerwań Zasilanie, zegar i zerowanie Tryb uśpienia Ogólnie o timerach Układy czasowo-licznikowe służą do precyzyjnego odmierzania czasu i/lub zliczania

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

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

Instytut Teleinformatyki

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

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

architektura komputerów w 1 1

architektura komputerów w 1 1 8051 Port P2 Port P3 Transm. szeregowa Timery T0, T1 Układ przerwań Rejestr DPTR Licznik rozkazów Pamięć programu Port P0 Port P1 PSW ALU Rejestr B SFR akumulator 8051 STRUKTURA architektura komputerów

Bardziej szczegółowo

PRZETWORNIK ADC w mikrokontrolerach Atmega16-32

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

Bardziej szczegółowo

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

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

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

Bardziej szczegółowo

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

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED

Ćwiczenie 2. Siedmiosegmentowy wyświetlacz LED Ćwiczenie 2 Siedmiosegmentowy wyświetlacz LED 2-1. Cel ćwiczenia Celem ćwiczenia jest zapoznanie się studentów ze sposobem obsługi wielopozycyjnego 7-segmentowego wyświetlacza LED multipleksowanego programowo

Bardziej szczegółowo

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

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

Bardziej szczegółowo

MSP430 w przykładach (8)

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.

Bardziej szczegółowo

Przetworniki analogowo-cyfrowe (A/C)

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

Bardziej szczegółowo

Pracownia elektryczno-elektroniczna klasa IV

Pracownia elektryczno-elektroniczna klasa IV Ćwiczenie nr 5 Cel ćwiczenia: Ćwiczenie ma na celu zaznajomienie z metodami odliczania czasu z wykorzystaniem układów czasowo - licznikowych oraz poznanie zasad zgłaszania przerwań i sposobów ich wykorzystywania

Bardziej szczegółowo

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

Układy czasowo-licznikowe w systemach mikroprocesorowych

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

Bardziej szczegółowo

Kod produktu: MP-BTM222-5V

Kod produktu: MP-BTM222-5V Moduł interfejsu Bluetooth na bazie BTM-222, sterowany komendami AT, poziom napięć TTL 5V Urządzenie zbudowano w oparciu o moduł transmisyjny Bluetooth typu BTM-222 firmy Rayson, umożliwiający zasięg bezprzewodowy

Bardziej szczegółowo

Kod produktu: MP01611

Kod produktu: MP01611 CZYTNIK RFID ZE ZINTEGROWANĄ ANTENĄ, WYJŚCIE RS232 (TTL) Moduł stanowi tani i prosty w zastosowaniu czytnik RFID dla transponderów UNIQUE 125kHz, umożliwiający szybkie konstruowanie urządzeń do bezstykowej

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

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1.

Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1. Dodatek D 1. Przetwornik analogowo-cyfrowy 1.1. Schemat blokowy Uproszczony schemat blokowy konwertera analogowo-cyfrowego przedstawiony został na rys.1. Rys. 1. Schemat blokowy przetwornika A/C Przetwornik

Bardziej szczegółowo

Pomoc dla użytkowników systemu asix 6. www.asix.com.pl. Strategia buforowa

Pomoc dla użytkowników systemu asix 6. www.asix.com.pl. Strategia buforowa Pomoc dla użytkowników systemu asix 6 www.asix.com.pl Strategia buforowa Dok. Nr PLP6024 Wersja: 29-01-2010 ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące w tekście

Bardziej szczegółowo

SYSTEM PRZERWAŃ ATmega 32

SYSTEM PRZERWAŃ ATmega 32 Zachodniopomorski Uniwersytet Technologiczny WYDZIAŁ ELEKTRYCZNY Katedra Inżynierii Systemów, Sygnałów i Elektroniki LABORATORIUM TECHNIKA MIKROPROCESOROWA SYSTEM PRZERWAŃ ATmega 32 Opracował: mgr inż.

Bardziej szczegółowo

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

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

asix5 Podręcznik użytkownika Strategia buforowa

asix5 Podręcznik użytkownika Strategia buforowa asix5 Podręcznik użytkownika Podręcznik użytkownika Dok. Nr PLP5024 Wersja: 29-07-2007 Podręcznik użytkownika asix5 ASKOM i asix to zastrzeżone znaki firmy ASKOM Sp. z o. o., Gliwice. Inne występujące

Bardziej szczegółowo

Opis układów wykorzystanych w aplikacji

Opis układów wykorzystanych w aplikacji Opis układów wykorzystanych w aplikacji Układ 74LS164 jest rejestrem przesuwnym służącym do zamiany informacji szeregowej na równoległą. Układ, którego symbol logiczny pokazuje rysunek 1, posiada dwa wejścia

Bardziej szczegółowo

Ćwiczenie 7 Matryca RGB

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

Bardziej szczegółowo

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

Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232.

Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232. Odbiór i dekodowanie znaków ASCII za pomocą makiety cyfrowej. Znaki wysyłane przez komputer za pośrednictwem łącza RS-232. Opracowanie: Andrzej Grodzki Do wysyłania znaków ASCII zastosujemy dostępny w

Bardziej szczegółowo

Programowanie mikrokontrolerów. 5 grudnia 2007

Programowanie mikrokontrolerów. 5 grudnia 2007 Programowanie mikrokontrolerów Marcin Engel Marcin Peczarski 5 grudnia 2007 Przerwania Umożliwiają asynchroniczną obsługę różnych zdarzeń, np.: zmiana stanu wejścia, zakończenie przetwarzania analogowo-cyfrowego,

Bardziej szczegółowo

Mikroprocesor Operacje wejścia / wyjścia

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

Bardziej szczegółowo

Mikrokontroler Intel 8051. dr inż. Wiesław Madej

Mikrokontroler Intel 8051. dr inż. Wiesław Madej Mikrokontroler Intel 8051 dr inż. Wiesław Madej Mikrokontroler Intel 8051 Wprowadzony na rynek w 1980 roku Następca rodziny 8048 Intel zakooczył produkcję w marcu 2006 Obecnie produkowany przez różne firmy

Bardziej szczegółowo

Czujnik zbliżeniowy indukcyjny

Czujnik zbliżeniowy indukcyjny Czujnik zbliżeniowy indukcyjny Wizualizacja Danych Sensorycznych Projekt Łukasz Adamczuk (133047) 1. Wstęp. Czujniki indukcyjne zbliżeniowe są elementami automatyki reagującymi na wprowadzenie metalu w

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

Architektura komputerów

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

Bardziej szczegółowo

SML3 październik

SML3 październik SML3 październik 2005 16 06x_EIA232_4 Opis ogólny Moduł zawiera transceiver EIA232 typu MAX242, MAX232 lub podobny, umożliwiający użycie linii RxD, TxD, RTS i CTS interfejsu EIA232 poprzez złącze typu

Bardziej szczegółowo

dwójkę liczącą Licznikiem Podział liczników:

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.

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

Opis mikrokontrolera AT89C2051

Opis mikrokontrolera AT89C2051 Opis mikrokontrolera AT89C2051 Cechy mikrokontrolera AT89C2051: kompatybilny z układami rodziny MCS-51, 2kB wewnętrznej pamięci typu Flash-EPROM, zegar: 0Hz do 24MHz, 8-bitowa jednostka centralna, 128B

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

LICZNIKI PODZIAŁ I PARAMETRY

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

Bardziej szczegółowo

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

Programowany układ czasowy APSC

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

Bardziej szczegółowo

Część I - Sterownik przerwań 8259A i zegar/licznik 8253

Część I - Sterownik przerwań 8259A i zegar/licznik 8253 Programowanie na poziome sprzętu opracowanie pytań Część I - Sterownik przerwań 8259A i zegar/licznik 8253 Autor opracowania: Marcin Skiba cines91@gmail.com 1. Jakie są dwie podstawowe metody obsługi urządzeń

Bardziej szczegółowo

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 Zagadnienia zaliczeniowe z przedmiotu Układy i systemy mikroprocesorowe elektronika i telekomunikacja, stacjonarne zawodowe System mikroprocesorowy 1. Przedstaw schemat blokowy systemu mikroprocesorowego.

Bardziej szczegółowo

Praktyka Techniki Mikroprocesorowej. Mikrokontroler ADuC834

Praktyka Techniki Mikroprocesorowej. Mikrokontroler ADuC834 Praktyka Techniki Mikroprocesorowej Elżbieta Ślubowska Mikrokontroler ADuC834 Materiały pomocnicze do II części zajęć laboratoryjnych. Warszawa 2006 1.Spis treści 1. SPIS TREŚCI...2 2. OPIS STANOWISKA....4

Bardziej szczegółowo

Badanie modułów wewnętrznych mikrokontrolera 311[07].Z4.02

Badanie modułów wewnętrznych mikrokontrolera 311[07].Z4.02 MINISTERSTWO EDUKACJI NARODOWEJ Danuta Pawełczyk Badanie modułów wewnętrznych mikrokontrolera 311[07].Z4.02 Poradnik dla ucznia Wydawca Instytut Technologii Eksploatacji Państwowy Instytut Badawczy Radom

Bardziej szczegółowo

Metody obsługi zdarzeń

Metody obsługi zdarzeń SWB - Przerwania, polling, timery - wykład 10 asz 1 Metody obsługi zdarzeń Przerwanie (ang. Interrupt) - zmiana sterowania, niezależnie od aktualnie wykonywanego programu, spowodowana pojawieniem się sygnału

Bardziej szczegółowo

Licznik rewersyjny MD100 rev. 2.48

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

Bardziej szczegółowo

SmartDRIVE protokół transmisji szeregowej RS-485

SmartDRIVE protokół transmisji szeregowej RS-485 SmartDRIVE protokół transmisji szeregowej RS-485 Dokumentacja przygotowana przez firmę Gryftec w oparciu o oryginalną dokumentację dostarczoną przez firmę Westline GRYFTEC 1 / 12 1. Przegląd Kontrolery

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej

Organizacja pamięci VRAM monitora znakowego. 1. Tryb pracy automatycznej Struktura stanowiska laboratoryjnego Na rysunku 1.1 pokazano strukturę stanowiska laboratoryjnego Z80 z interfejsem częstościomierza- czasomierz PFL 21/22. Rys.1.1. Struktura stanowiska. Interfejs częstościomierza

Bardziej szczegółowo

Kod produktu: MP01611-ZK

Kod produktu: MP01611-ZK ZAMEK BEZSTYKOWY RFID ZE ZINTEGROWANĄ ANTENĄ, WYJŚCIE RS232 (TTL) Moduł stanowi gotowy do zastosowania bezstykowy zamek pracujący w technologii RFID dla transponderów UNIQUE 125kHz, zastępujący z powodzeniem

Bardziej szczegółowo