Mikrokontrolery PIC.

Slides:



Advertisements
Podobne prezentacje
Watchdog Paweł Trojanowski
Advertisements

Taktowanie mikroprocesorów Jednostka sterująca mikroprocesora jest układem sekwencyjnym synchronicznym, czyli wymagającym sygnału taktującego (zegarowego).
Zerowanie mikroprocesorów Cel: wprowadzenie mikroprocesora w określony stan początkowy Zwykle realizowany poprzez: inicjalizację licznika rozkazów (PC)
Przetworniki C / A budowa Marek Portalski.
Liczniki.
Rejestry, liczniki i sumatory.
Architektura szynowa systemu mikroprocesorowego szyna danych szyna sterująca szyna adresowa µP szyna danych szyna adresowa D7,..., D1, D0 A15,..., A1,
Wykład 4 Przetwornik Analogowo-Cyfrowy
Magistrale.
Systemy operacyjne Copyright, 2000 © Jerzy R. Nawrocki Wprowadzenie do informatyki.
Wykład nr 2: Struktura systemu komputerowego a system operacyjny
Magistrala & mostki PN/PD
Temat nr 10: System przerwań
I T P W ZPT PRUS 2007 Krzysztof Jasiński 1 PRUS - Projektowanie Programowalnych Układów Scalonych Krzysztof Jasiński
I T P W ZPT 2009 PRUSn_W2 Krzysztof Jasiński 1 PRUS - Projektowanie Programowalnych Układów Scalonych Krzysztof Jasiński
Wykład 1 z programowania mikrokontrolerów
Architektura komputerów
1-Wire® Standard 1-Wire®, zwany też czasami siecią MicroLAN, oznacza technologię zaprojektowaną i rozwijaną przez firmę Dallas Semiconductor polegającą.
UKŁADY SZEREGOWO-RÓWNOLEGŁE
Mikroprocesory i mikrokontrolery
Procesory jednoukładowe
Układy wejścia-wyjścia
ogólne pojęcia struktury
Programowalny układ we-wy szeregowego 8251
Automatyka Wykład 3 Modele matematyczne (opis matematyczny) liniowych jednowymiarowych (o jednym wejściu i jednym wyjściu) obiektów, elementów i układów.
Architektura komputerów
Urządzenia zewnętrzne
przykładowy 8-bitowy mikroprocesor uniwersalny CISC
Przerzutniki.
Technika Mikroprocesorowa 1
Technika Mikroprocesorowa 1
Układy kombinacyjne cz.2
Mikrokontrolery PIC.
MCS51 - wykład 2.
MCS51 - wykład 5.
Mikroprocesor Z80 przerwania.
Programowalny układ we/wy równoległego.. Wyprowadzenia układu.
MCS51 - wykład 6.
Architektura komputerów
Synteza układów sekwencyjnych z (wbudowanymi) pamięciami ROM
Mikrokontrolery PIC.
MCS51 - wykład 4.
Licznik dwójkowy i dziesiętny Licznik dwójkowy i dziesiętny
Rodzina AVR wykład 4.
Magistrale szeregowe.
Sekwencyjne bloki funkcjonalne
Podstawy działania wybranych usług sieciowych
Analiza wpływu regulatora na jakość regulacji (1)
Przerwanie ang. interrupt.
Problematyka wykładu Podział rejestrów i liczników
  Prof.. dr hab.. Janusz A. Dobrowolski Instytut Systemów Elektronicznych, Politechnika Warszawska.
12. Input Capture – Wejście przechwytywania
Komunikacja mikrokontrolerów ze światem zewnętrznym
Prezentacja Multimedialna
Pudełko Urządzenia Techniki Komputerowej
Obliczalność czyli co da się policzyć i jak Model obliczeń sieci liczące dr Kamila Barylska.
BUDOWA I ZASADA DZIAŁANIA
Przerzutniki Przerzutniki.
Przerzutniki bistabilne
Struktura wewnętrzna mikrokontrolera zamkniętego
ATXMEGA128A4U 128 kB pamięci Flash Zasilanie 1.6V-3.6V Maksymalne taktowanie 32 MHz 34 Programowalne WE-WY System zdarzeń (Event System) 4 kanały DMA.
Układy i systemy mikroprocesorowe
Przerwania timera i przerwania zewnętrzne
PWM, obsługa wyświetlacza graficznego
POLITECHNIKA POZNAŃSKA WBMiZ Zakład Urządzeń Mechatronicznych STEROWNIKI URZĄDZEŃ MECHATRONICZNYCH
TEMAT: Zapoznanie się z funkcja LICZNIKA w sterowniku Twido
POLITECHNIKA POZNAŃSKA
Interfejsy synchroniczne
Mikrokontrolery System przerwań
TEMAT: Zapoznanie się z funkcja LICZNIKA w sterowniku Twido
Zapis prezentacji:

Mikrokontrolery PIC

Rodzina PIC MID Range - inne peryferia Wykład 3 2/42 Rodzina PIC MID Range - inne peryferia

PIC - MidRange - Peryferia 3/42 Porty równoległe: PORTA, PORTB, PORTC, PORTD, PORTE, PORTF, PORTG, GPIO; sterowane są rejestrami TRISxx; ich linie mają zwykle funkcje alternatywne;

PIC - MidRange - Peryferia 4/42 Port równoległy PSP (Parallel Slave Port) 8-bitowy port dostępny do odczytu i zapisu z zewnątrz; jako alternatywna funkcja PORTD i PORTE; bufory portów pracują w standardzie TTL; zewnętrzny (nadrzędny) procesor steruje odczytem i zapisem poprzez sygnały strobu /RD i /WR oraz sygnał wyboru /CS; sterowanie pracą PSP poprzez rejestr sterujący TRISE; w rej. sterującym są bity sygnalizujące pełny bufor wejściowy (IBF) lub wyjściowy (OBF), zamazanie poprzedniego bajtu wejściowego (IBOV); może zgłaszać przerwania;

PIC - MidRange - Peryferia 5/42 struktura PSP

PIC - MidRange - Peryferia 6/42 Timer/licznik 1 16-bitowy licznik widziany jako para rejestrów TMR1H i TRM1L; zlicza w górę; posiada własny preskaler (:1, :2, :4, :8); posiada własny oscylator kwarcowy (kwarc zewn.); może pracować w 3 trybach: - synchronicznym czasowym (licznik cykli maszynowych); - synchronicznym licznikowym (licznik impulsów zewnętrznych); - asynchronicznym licznikowym. przepełnienie (0FFFFh0000h) powoduje ustawienie flagi TMR1IF i może być przyczyną przerwania (jeśli bit TMR1IE=1); dodatkowy rejestr sterujący T1CON w SFR.

PIC - MidRange - Peryferia 7/42

PIC - MidRange - Peryferia 8/42 Rejestr sterujący T1CON: TMR1ON - bit włączający timer/licznik 1 gdy =1 TMR1CS - wybór źródła zliczanych impulsów (gdy =0 - główny generator taktu) T1SYNC - włączenie synchronizacji zliczanych impulsów (tylko dla imp. zewn.) T1OSCEN - włączenie (gdy =1) lokalnego generatora impulsów T1CKPS1, T1CKPS0 - sterowanie preskalerem: 00 - :1 01 - :2 10 - :4 11 - :8 flaga przepełnienia - przerwania TMR1IF jest zlokalizowana w rejestrze PIR1 flaga zezwolenia na przerwania TMR1IE jest zlokalizowana w rejestrze PIE1

PIC - MidRange - Peryferia 9/42 Przykład zastosowania TMR1: dzięki własnemu oscylatorowi TMR1 działa także podczas stanu SLEEP i może zgłaszać przerwania zegarowe do obsługi wyświetlaczy i klawiatur.

PIC - MidRange - Peryferia 10/42 Timer/licznik 2 8-bitowy licznik widziany jako rejestr TMR2; posiada 8b rejestr wzorca PR2, z którym porównywany jest stan TMR2; zlicza w górę od 00h do wartości z PR2, zrównanie się wartości powoduje zerowanie licznika i ponowne zliczanie; posiada własny preskaler (:1, :4, :16); posiada własny postskaler (:1, :2, ... , :16); zlicza impulsy z głównego generatora taktu (fOSC); przepełnienie w postskalerze powoduje ustawienie flagi TMR2IF i może być przyczyną przerwania (jeśli bit TMR2IE=1); może służyć jako generator taktu dla portu szeregowego SSP; dodatkowy rejestr sterujący T2CON w SFR; wpis do rejestrów TMR2 lub T2CON zeruje preskaler i postskaler; w trybie SLEEP TMR2 nie pracuje.

PIC - MidRange - Peryferia 11/42

PIC - MidRange - Peryferia 12/42 Rejestr sterujący T2CON: TMR2ON - bit włączający timer/licznik 2 gdy =1 T2CKPS1, T2CKPS0 - sterowanie preskalerem: 00 - :1 01 - :4 1x - :16 TOUTPS3,TOUTPS2,TOUTPS1,TOUTPS0 - sterowanie postskalerem: 0000 - :1 0100 - :5 1000 - :9 1100 - :13 0001 - :2 0101 - :6 1001 - :10 1101 - :14 0010 - :3 0110 - :7 1010 - :11 1110 - :15 0011 - :4 0111 - :8 1011 - :12 1111 - :16 flaga przepełnienia - przerwania TMR2IF jest zlokalizowana w rejestrze PIR1 flaga zezwolenia na przerwania TMR1IE jest zlokalizowana w rejestrze PIE1

PIC - MidRange - Peryferia 13/42 Moduł CCP (Capture/Compare/PWM) mikrokontroler może zawierać więcej niż jeden taki układ; współpracuje z 16b TMR1 luhb 8b TMR2; posiada 16b rejestr zatrzaskująco/porównujący widziany jako rejestry CCPRnH i CCPRnL; posiada własny preskaler (:1, :4, :16); dodatkowy rejestr sterujący CCPnCON w SFR; w trybie SLEEP nie pracuje.

PIC - MidRange - Peryferia 14/42 Praca w trybie zatrzaskiwania: zapamiętuje bieżący stan TMR1 pod wpływem zbocza na pinie CCPn (dowolnego, narastającego: co 4-tego lub co 16-tego); zatrzaśnięcie wartości ustawia flagę CCPnIF w rejestrze PIRx i może być przyczyną przerwania (jeśli bit CCPnIE w rejestrze PIEx);

PIC - MidRange - Peryferia 15/42 Praca w trybie porównywania: porównuje bieżący stan TMR1 z wartością pamiętaną w CCPRnH i CCPRnL; zrównanie się wartości ustawia flagę CCPnIF w rejestrze PIRx i może być przyczyną przerwania (jeśli bit CCPnIE w rejestrze PIEx); zrównanie się wartości może zmieniać stan wyjścia CCPn i generować sygnał trygera zerującego licznik TMR1 albo inicjującego konwersję A/C.

PIC - MidRange - Peryferia 16/42 Praca w trybie PWM: współpracuje z TMR2; okres przebiegu wyznacza wartość rejestru PR2; 10-bitowy współczynnik wypełnienia wpisuje się do CCPRnL i bitów DCnM1 DCnM0 (najmłodszych); 8b TMR2 poszerza się o 2 młodsze bity z preskalera lub generatora taktu koniec okresu zliczania TMR2 powoduje przepisanie CCPRnL do CCPRnH

PIC - MidRange - Peryferia 17/42 Rejestr sterujący CCPnCON: DCnM1, DCnM2 - 9 i 8 bit współczynnika wypełnienia dla PWM CCPnM3, CCPnM2, CCPnM1, CCPnM0 - wybór trybu pracy: 0000 - moduł wyłączony i wyzerowany; 0100 - zatrzaskiwanie na każdym zboczu opadającym 0101 - zatrzaskiwanie na każdym zboczu narastającym 0110 - zatrzaskiwanie na co 4-tym zboczu narastającym 0111 - zatrzaskiwanie na co 16-tym zboczu narastającym 1000 - zrównanie się wartości TMR2 i CCPRn ustawia flagę CCPnIF i wyjście CCPn=1 1001 - zrównanie się wartości TMR2 i CCPRn ustawia flagę CCPnIF i wyjście CCPn=0 1011 - zrównanie się wartości TMR2 i CCPRn ustawia flagi CCPnIF oraz SE, wyjście CCPn bez zmian.

PIC - MidRange - Peryferia 18/42 Uniwersalny port szeregowy USART może pracować w trybie asynchronicznym w pełnym dupleksie; transmisja znaków 8- i 9-bitowych z 1b startu i 1b stopu; odbiornik jest podwójnie buforowany; może pracować w trybie synchronicznym półdupleksowym jako master lub slave (wtedy RX = we/wy danych, TX = we/wy zegara); posiada własny generator taktujący sterowany wartością z rej. SPBRG; nadajnik ma rej. danych TXREG i rej. sterujący TXSTA; odbiornik ma rej. danych RCREG i rej. sterujący RCSTA; może zgłaszać przerwanie flagami RCIF, TXIF.

PIC - MidRange - Peryferia 19/42 Praca w trybie asynchronicznym - nadawanie

PIC - MidRange - Peryferia 20/42 Rejestr sterujący nadajnika TXSTA: CSRC - wybór źródła zegara taktującego dla transmisji synchronicznej (1 - master); TX9 - gdy =1 włącza transmisję 9-bitową; TXEN - włączenie nadawania; SYNC - gdy =1 włącza tryb synchroniczny; BRGH - wybór szybkości transmisji (gdy =1 transmisja szybka); TRMT - stan rejestru przesuwającego TSR (=1 gdy pusty); TX9D - 9 bit danych do wysłania;

PIC - MidRange - Peryferia 21/42 Praca w trybie asynchronicznym - odbiór

PIC - MidRange - Peryferia 22/42 Rejestr sterujący nadajnika RCSTA: SPEN - włączenie (gdy =1) modułu USART; RX9 - wybór ramki 8 (=0) lub 9 (=1) bitów; SREN - dla trybu synchronicznego: ustawiony - włącza odbiór jednej ramki; CREN - gdy =1 włącza ciągły odbiór danych; ADDEN - gdy =1 włącza wykrywanie adresu i odblokowuje przerwania gdy dziewiąty bit ramki =1; FERR - gdy =1 sygnalizuje błąd odbioru ramki OERR - gdy =1 sygnalizuje przekroczenie czasu przy odbiorze; RX9D - 9 bit odebranych danych;

PIC - MidRange - Peryferia 23/42 Interfejs szeregowy SSP transmisja danych 8-bitowych; może pracować jako SPI w trybie master lub slave; może pracować jako I2C; obsługiwany jest przy pomocy 3 rejestrów sterujących: SSPCON, SSPCON2 i SSPSTAT, rejestru adresu SSPADD oraz rejestru danych SSPBUF;

PIC - MidRange - Peryferia 24/42 Praca w trybie SPI: realizuje 4 tryby pracy SPI; dostępne jest wejście /SS (slave select) przy pracy w trybie slave; po zakończeniu transmisji bajtu może zgłaszać przerwanie flagą SPIF; tryb master podczas SLEEP nie działa; odebranie znaku w trybie slave powoduje wyjście ze SLEEP.

PIC - MidRange - Peryferia 25/42 praca w trybie master

PIC - MidRange - Peryferia 26/42 Praca w trybie I2C: pracuje przy 100kHz i 400kHz; realizuje wszystkie mechanizmy pracy układu slave; dopuszcza 7- i 10-bitowe adresowanie; może zgłaszać przerwania przy bitach START i STOP; w trybie master rejestr SSPADD służy do programowania szybkości transmisji;

PIC - MidRange - Peryferia 27/42 Port BSSP - Basic Synchronous Serial Port może pracować jako SPI; może pracować jako I2C w trybie slave (tryb master wymaga wsparcia programowego); wykorzystuje rejestry: SSPSTAT, SSPCON, SSPBUF; może zgłaszać przerwanie flagą SSPIF w rej. PIR, jeżeli bit zezwolenia SSPIE w rej. PIE jest ustawiony.

PIC - MidRange - Peryferia 28/42 Port MSSP - Master Synchronous Serial Port może pracować jako SPI; może pracować jako I2C w trybie master oraz slave; w trybie slave akceptuje także wywołanie typu komunikat; wykorzystuje rejestry: SSPSTAT, SSPCON1, SSPCON2, SSPBUF; może zgłaszać przerwanie flagą SSPIF w rej. PIR, jeżeli bit zezwolenia SSPIE w rej. PIE jest ustawiony.

PIC - MidRange - Peryferia 29/42 Programowalne źródło napięcia odniesienia zwykle przeznaczone do współpracy z komparatorem; nie działa w trybie SLEEP; sterowane rejestrem VRCON; włączane/wyłączane bitem VREN; może być wewnętrznie dołączone do komparatora lub do końcówki zewn.; wartość napięcia VREF określają bity VRR i VR3..VR0: przy VRR=1 VREF = (VR3..VR0):24*VDD przy VRR=0 VREF = VDD:4 + (VR3..VR0):32*VDD

PIC - MidRange - Peryferia 30/42 Vref:

PIC - MidRange - Peryferia 31/42 Komparatory zestaw dwóch komparatorów, których wejścia są dołączone do końcówek zewn.; sterowane rejestrem CMCON; mogą pracować niezależnie lub być ze sobą połączone; mogą zgłaszać przerwania; w trybie SLEEP nie działają;

PIC - MidRange - Peryferia 32/42 8-bitowe przetworniki A/C kompensacyjne; 8/4 multipleksowanych kanałów wejściowych; wykorzystuje rejestry: ADRES, ADCON0, ADCON1; możliwy jest wybór częstotliwości taktowania przetwornika: fOSC:2 fOSC:8 fOSC:32 albo z wbudowanego RC posiada bit włączający zasilanie; może zgłaszać przerwanie;

PIC - MidRange - Peryferia 33/42

PIC - MidRange - Peryferia 34/42 10-bitowy kompensacyjny przetwornik A/C 8 multipleksowanych kanałów wejściowych; wykorzystuje rejestry: ADRESH, ADRESL, ADCON0, ADCON1; możliwy jest wybór częstotliwości taktowania przetwornika: fOSC:2 fOSC:8 fOSC:32 albo z wbudowanego RC może zgłaszać przerwanie; może pracować w trybie SLEEP;

PIC - MidRange - Peryferia 35/42

PIC - MidRange - Peryferia 36/42 16-bitowy przetwornik A/C z przetwarzaniem U/t 16 multipleksowanych kanałów wejściowych; wykorzystuje rejestry: ADCAPH, ADCAPL, ADTMRH, ADTMRL, ADCON0, ADCON1, SLPCON; posiada precyzyjne źródło napięcia odniesienia i czujnik temperatury; może zgłaszać przerwanie; może pracować w trybie SLEEP;

PIC - MidRange - Peryferia 37/42

PIC - MidRange - Peryferia 38/42 Pamięć EEPROM od 64 do 256 bajtów zależnie od typu; czas zapisu maks. 10ms (zależy od temperatury i napięcia zasilania)

PIC - MidRange - Peryferia 39/42 Moduł obsługi LCD obsługuje wyświetlacz o 4 wspólnych elektrodach i do 32 segmentach; obsługiwany poprzez 3 rejestry sterujące: LCDCON, LCDSE i LCDPS i do 16 rejestrów danych LCDnn; może funkcjonować w trybie SLEEP;

PIC - MidRange - Peryferia 40/42 struktura modułu obsługi LCD

PIC - MidRange - Przerwania 41/42 System przerwań MidRange: przy większej liczbie wbudowanych peryferii występują rejestry: PIR (PIR1, PIR2) - rejestr zgłoszenia przerwań; PIE (PIE1, PIE2) - rejestr indywidualnego maskowania przerwań; wspólny wektor obsługi - od adresu 004h; maskowalny - indywidualne flagi maskowania + flaga globalna GIE; zablokowany po RESET; powrót z procedury obsługi rozkazem RETFIE, ustawiającym także GIE=1; przerwania mogą „budzić” mikrokontroler z trybu SLEEP; przerwania mają swe flagi sygnalizacyjne. Jeżeli podczas rozkazu kasującego bit GIE pojawi sie przerwanie, to bit ten może pozostać ustawiony. Aby mieć pewność jego wyzerowania zaleca się sekwencję rozkazów: LOOP BCF INTCON,GIE ;wylacz GIE BTFSC INTCON,GIE ;czy GIE=0 GOTO LOOP ;skok jesli nie ; tu przechodzi gdy OK

PIC - MidRange - Przerwania 42/42