Serwis Edukacyjny
w I-LO w Tarnowie
obrazek

Materiały dla uczniów liceum

  Wyjście       Spis treści       Wstecz       Dalej  

obrazek

Autor artykułu: mgr Jerzy Wałaszek
Konsultacje: Wojciech Grodowski, mgr inż. Janusz Wałaszek

©2024 mgr Jerzy Wałaszek
I LO w Tarnowie

obrazek

Mikrokontrolery

Rodzina podstawowa PIC

PIC10F200/202/204/206

Specjalne funkcje mikroprocesora

obrazek

Educational and Non-Profit Use of Copyrighted Material:

If you use Microchip copyrighted material solely for educational (non-profit) purposes falling under the “fair use” exception of the U.S. Copyright Act of 1976 then you do not need Microchip’s written permission. For example, Microchip’s permission is not required when using copyrighted material in: (1) an academic report, thesis, or dissertation; (2) classroom handouts or textbook; or (3) a presentation or article that is solely educational in nature (e.g., technical article published in a magazine).

https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines

SPIS TREŚCI
Podrozdziały

obrazek

Opis

Cechą wyróżniającą mikrokontrolery z innych procesorów są specjalne obwody, które zajmują się potrzebami aplikacji. Mikrokontrolery PIC10F200/202/204/206 posiadają wiele takich cech ukierunkowanych na maksymalizację niezawodności systemu, minimalizację kosztów poprzez eliminację zewnętrznych komponentów, udostępnienie trybów pracy oszczędzających energię oraz oferujących ochronę kodu. Te cechy są następujące:

Mikrokontrolery PIC10F200/202/204/206 posiadają timer licznika zegarowego (ang. Watchdog Timer), który można wyłączyć tylko poprzez bit konfiguracyjny WDTE. Timer ten jest taktowany swoim własnym oscylatorem RC dla zwiększonej niezawodności. Jeśli używany jest wewnętrzny oscylator RC (tryb INTRC), to występuje opóźnienie 18 ms tylko przy włączeniu zasilania na końcówce VDD. Mając ten timer w mikrokontrolerze, większość aplikacji nie wymaga zewnętrznych obwodów resetu.

Tryb uśpienia został zaprojektowany w celu oferowania trybu wyłączenia o bardzo niskim poborze prądu. Użytkownik może wybudzić swój mikrokontroler z uśpienia poprzez zmianę poziomu logicznego na końcówkach wejściowych, poprzez wybudzenie zmianą w komparatorze lub poprzez zakończenie okresu zliczania w timerze licznika zegarowego.


Na początek:  podrozdziału   strony 

Bity konfiguracyjne

Słowa konfiguracyjne w mikrokontrolerach PIC10F200/202/204/206 składają się z 12 bitów. Bity konfiguracyjne w pamięci FLASH można zaprogramować w celu wyboru różnych konfiguracji mikrokontrolera. Jeden bit włącza timer licznika zegarowego, jeden włącza reset na końcówce MCLR i jeden służy do zabezpieczania kodu (zobacz poniżej).
Słowo konfiguracyjne mikrokontrolerów PIC10F200/202/204/206(1)(2)
bit nr 11 10 9 8 7 6 5 4 3 2 1 0
Nazwa MCLRE CP WDTE
Własności R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1 R/P-1
Legenda:   R = bit odczytywalny; P = bit programowalny; -n = wartość przy nowym mikrokontrolerze; 1 = bit ustawiony; 0 = bit wyzerowany
bity 11...5 Niezaimplementowane, dają odczyt 0

bit MCLRE: Wybór funkcji końcówki GP3/MCLR
1 = końcówka GP3/MCLR działa jako MCLR
0 = Końcówka GP3/MCLR działa jako cyfrowe we/wy, MCLR wewnętrznie podłączone do VDD

bit 3 CP: bit zabezpieczania kodu
1 = Zabezpieczenie kodu wyłączone
0 = Zabezpieczenie kodu włączone

bit 2 WDTE: bit włączania timera licznika zegarowego
1 = WDT włączony
0 = WDT wyłączony

bity 1...0 Zarezerwowane: dają odczyt ‘0’
Uwagi: 1. Zobacz do "Dodatek: programowanie PIC10F2xx", gdzie opisano zasady programowania bitów konfiguracyjnych oraz sposoby dostępu do nich w trakcie programowania. Słowo konfiguracyjne nie jest dostępne dla użytkownika z poziomu programu.
  2. Tryb INTRC jest jedynym trybem oscylatora oferowanym przez mikrokontrolery PIC10F200/202/204/206.

Na początek:  podrozdziału   strony 

Konfiguracje oscylatora

Typy oscylatorów

Układy PIC10F200/202/204/206 są oferowane tylko z trybem oscylatora wewnętrznego.

Wewnętrzny oscylator 4 MHz

Wewnętrzny oscylator dostarcza zegara systemowego o częstotliwości znamionowej 4 MHz (zobacz do rozdziału "Parametry elektryczne", gdzie opisany jest wpływ napięcia zasilania oraz temperatury na pracę mikrokontrolera). Dodatkowo instrukcja kalibracyjna jest zaprogramowana w ostatnim słowie pamięci. Komórka ta jest zawsze zabezpieczona przed przekodowaniem bez względu na ustawienia zabezpieczeń kodu. W komórce znajduje się instrukcja MOVLW xx, gdzie xx jest wartością kalibracyjną i która zostaje wykonana jako wektor Resetu. Spowoduje to załadowanie rejestru W wartością kalibracyjną podczas resetu, a następnie licznik programu PC przewinie się do programu użytkownika pod adresem 0x000. W tym miejscu użytkownik ma opcję zapisu tej wartości do rejestru OSCCAL (05h) lub zignorowania jej. Rejestr OSCAL po zapisie do niego tej wartości kalibracyjnej dostroi wewnętrzny oscylator do częstotliwości 4 MHz w celu usunięcia odchyłek produkcyjnych od znamionowej częstotliwości oscylatora.

Uwaga:   Wymazanie mikrokontrolera wymaże również zaprogramowaną wcześniej wewnętrzną wartość kalibracyjną. Wartość kalibracyjną należy odczytać przed wymazaniem układu, aby można ją było później zaprogramować ponownie.

Na początek:  podrozdziału   strony 

Reset

Mikrokontroler rozróżnia pomiędzy różnymi rodzajami resetu:

Niektóre rejestry nie są w żaden sposób resetowane, ich stan jest nieznany przy POR i niezmieniony przy wszystkich innych resetach. Większość pozostałych rejestrów zostaje ustawiona na "stan poresetowy" (ang. Reset state) przy resecie POR, MCLR , WDT lub wybudzeniu przy zmianie stanu końcówki w czasie normalnej pracy. Nie są one zmieniane w czasie uśpienia przez reset od WDT lub od MCLR, ponieważ resety te są traktowane jako wznowienie normalnej pracy. Wyjątkiem są bity TO, PD, GPWUF i CWUF. Zostają one wyzerowane lub ustawione w różnych sytuacjach resetu. Bity te są używane w programie do określenia natury resetu. W poniższych tabelkach przedstawiono pełny opis stanu poresetowego wszystkich rejestrów.

Warunki resetu dla rejestrów mikrokontrolerów PIC10F200/202/204/206
Rejestr Adres POR Pozostałe resety
W qqqq qqqu(1) qqqq qqqu(1)
INDF 00h xxxx xxxx uuuu uuuu
TMR0 01h xxxx xxxx uuuu uuuu
PCL 02h 1111 1111 1111 1111
STATUS 03h 00-1 1xxx q00q quuu(2)
STATUS(3) 03h 00-1 1xxx qq0q quuu(2)
FSR 04h 111x xxxx 111u uuuu
OSCCAL 05h 1111 1110 uuuu uuuu
GPIO 06h ---- xxxx ---- uuuu
CMCON(3) 07h 1111 1111 uuuu uuuu
OPTION 1111 1111 1111 1111
TRISGPIO ---- 1111 ---- 1111
Legenda:   u = niezmieniony, x = nieznany, – = bit niezaimplementowany, daje odczyt '0', q = zależny od warunku.
Uwagi: 1. Bity W[7:1] zawierają wartości kalibracyjne oscylatora z powodu instrukcji MOVLW XX na szczycie pamięci..
  2. Specyficzne warunki resetu opisuje tabelka poniżej
  3. Tylko PIC10F204/206
Warunki resetu dla rejestrów specjalnych
  STATUS (03h) PCL (02h)
POR 00-1 1xxx 1111 1111
MCLR podczas pracy 000u uuuu 1111 1111
MCLR podczas uśpienia 0001 0uuu 1111 1111
Reset od WDT podczas pracy 0000 uuuu 1111 1111
Reset od WDT podczas uśpienia 0000 0uuu 1111 1111
Wybudzenie z uśpienia przy zmianie stanu końcówki 1001 0uuu 1111 1111
Wybudzenie z uśpienia przy zmianie na wyjściu komparatora 0101 0uuu 1111 1111
Legenda:   u = niezmieniony, x = nieznany, – = bit niezaimplementowany, daje odczyt '0'.

Włączanie MCLR

Gdy bit konfiguracyjny MCLRE jest niezaprogramowany (pozostawiony w stanie '1'), to zostaje włączona zewnętrzna funkcja MCLR. Po zaprogramowaniu funkcja MCLR zostaje połączona z wewnętrznym napięciem VDD, a końcówka staje się końcówką we/wy, zobacz na poniższy rysunek.


Na początek:  podrozdziału   strony 

Reset przy włączaniu zasilania (Power-On Reset, POR)

    

    

    

Mikrokontrolery PIC10F200/202/204/206 zawierają wbudowany obwód resetowania przy włączaniu zasilania (ang. Power-on Reset, POR), który resetuje układ przy uruchomieniu. Obwód ten utrzymuje mikrokontroler w stanie resetu, aż napięcie zasilania VDD osiągnie wystarczająco wysoki poziom do poprawnej pracy. Aby skorzystać z wewnętrznego POR, zaprogramuj końcówkę GP3/MCLR/VPP pin jako MCLR i podłącz ją poprzez opornik do VDD, lub zaprogramuj tę końcówkę jako GP3. Wewnętrzny, słaby opornik podciągający jest zaimplementowany przez tranzystor. Eliminuje to potrzebę stosowania zewnętrznych elementów RC, które są zwykle potrzebne do stworzenia obwodu POR. Maksymalny czas narastania VDD jest określony w rozdziale "Parametry elektryczne".

Gdy układ mikrokontrolera wychodzi ze stanu resetu, rozpoczyna normalną pracę. Wtedy warunki robocze (napięcie zasilające, częstotliwość oscylatora zegarowego, temperatura...) muszą spełniać określone wymagania, aby zapewnić poprawne działanie układu. Jeśli warunki te nie są spełnione, to układ musi być utrzymywany w stanie resetu aż do ich spełnienia.

Uproszczony schemat wbudowanego w układ obwodu Power-on Reset jest pokazany na poniższym rysunku.

Obwód POR oraz obwód timera resetu układu (ang. Device Reset Timer, DRT, zobacz do następnego podrozdziału) są ze sobą blisko powiązane. Przy włączeniu zasilania przerzutnik zatrzaskowy zostaje ustawiony, a DRT jest resetowany. Timer DRT rozpoczyna zliczanie, gdy tylko wykryje stan wysoki na MCLR. Po okresie zliczania, wynoszącym typowo 18 ms, timer zresetuje przerzutnik zatrzaskowy Resetu i w ten sposób zakończy wewnętrzny sygnał resetu układu.

Poniższy rysunek przedstawia przykład, gdzie sygnał MCLR jest utrzymywany w stanie niskim.

Sekwencja włączania zasilania przy MCLR w stanie niskim


Napięcie zasilające VDD ma czas na wzrost i ustabilizowanie się, przed zmianą stanu MCLR z niskiego na wysoki. Układ faktycznie wyjdzie z Resetu po upływie TDRT ms od przejścia MCLR w stan wysoki.

Na poniższym rysunku wykorzystywana jest wbudowana funkcja Power-on Reset (MCLR i VDD są połączone ze sobą lub końcówka ta jest zaprogramowana jako GP3).

Sekwencja włączania zasilania przy MCLR połączonym  z VDD: szybki czas narastania VDD

Napięcie zasilania VDD jest stabilne zanim timer uruchamiania zakończy zliczanie i nie ma problemu z otrzymaniem właściwego resetu. Jednakże kolejny rysunek przedstawia sytuację problemową, w której zasilanie VDD rośnie zbyt wolno.

Sekwencja włączania zasilania przy MCLR połączonym  z VDD: wolny czas narastania VDD

Uwaga:   Gdy napięcie zasilania VDD rośnie wolno, to okres TDRT zakończy się na długo przed osiągnięciem przez VDD swojej ostatecznej wartości. W tym przykładzie układ zresetuje się prawidłowo tylko, gdy V1 ≥ VDD min.

Czas pomiędzy chwilą, w której DRT wykryje wysoki stan MCLR, a faktycznym osiągnięciem przez MCLR i VDD ich pełnej wartości jest zbyt długi. W takiej sytuacji, gdy timer uruchamiania zakończy swój okres zliczania a VDD nie osiągnie wartości VDD(min), układ może nie funkcjonować prawidłowo. W takich przypadkach zalecamy użycie zewnętrznych obwodów RC w celu osiągnięcia dłuższych czasów POR.


Na początek:  podrozdziału   strony 

Timer resetu układu (ang. Device Reset Timer, DRT)

W mikrokontrolerach PIC10F200/202/204/206 timer DRT jest uruchamiany przy każdym włączeniu zasilania. DTR pracuje na wewnętrznym oscylatorze. Procesor jest utrzymywany w stanie resetu tak długo, jak DTR jest aktywny. Opóźnienie DTR pozwala napięciu zasilającemu wzrosnąć ponad wartość minimalną VDD oraz ustabilizować się oscylatorowi. DTR wbudowany w układ utrzymuje stan resetu przez ok 18 ms po osiągnięciu przez MCLR wysokiego poziomu logicznego (VIH MCLR). W większości przypadków nie ma potrzeby zaprogramowania końcówki GP3/MCLR/VPP jako MCLR ani używania zewnętrznego obwodu RC podłączonego do wejścia MCLR. Pozwala to na oszczędności w zastosowaniach czułych na koszty lub ograniczonych przestrzennie jak również na używanie końcówki GP3/MCLR/VPP jako wejścia ogólnego przeznaczenia.

Opóźnienia czasu resetu różnią się pomiędzy układami z powodu VDD, temperatury i odchyłek produkcyjnych. Szczegóły znajdziesz w rozdziale "Wykresy i tabele".

Źródłami resetu są POR, MCLR, zakończenie okresu zliczania WDT oraz wybudzenie z uśpienia przy zmianie poziomu logicznego końcówki.

Okres DTR
Oscylator Reset POR Następne resety
INTOSC 18 ms (typowo) 10 µs (typowo)

Na początek:  podrozdziału   strony 

Timer licznika zegarowego (ang. Watchdog Timer, WDT)

Timer licznika zegarowego (ang. Watchdog Timer, WDT) jest niezależnie pracującym w mikrokontrolerze oscylatorem RC, który nie wymaga zewnętrznych elementów i jest oddzielony od wewnętrznego oscylatora 4 MHz. Oznacza to przykładowo, iż WDT będzie pracował nawet po zatrzymania zegara głównego procesora przez wykonanie instrukcji SLEEP. Podczas normalnej pracy lub w czasie uśpienia Reset od WDT lub Reset od wybudzenia wygenerują Reset mikrokontrolera.

Reset od timera licznika zegarowego wyzeruje bit TO  (STATUS[4]).

Moduł WDT można całkowicie wyłączyć przez zaprogramowanie na '0' bitu konfiguracyjnego WDTE (zobacz do podrozdziału "Bity konfiguracyjne"). Zobacz również do Dodatku: "Programowanie PIC10F200/202/204/206", aby dowiedzieć się, jak uzyskać dostęp do słowa konfiguracyjnego.

Okres zliczania WDT

WDT posiada znamionowy okres zliczania równy 18 ms (bez preskalera). Jeśli jest potrzebny dłuższy okres zliczania, to do WDT można przypisać preskaler ze współczynnikiem podziału do 1:128 (pod kontrolą oprogramowania) przez wpis do rejestru OPTION. W ten sposób można zrealizować okres zliczania maksymalnie do 2,3 sekundy. Okresy te zmieniają się z temperaturą, VDD oraz zmianami tolerancji w trakcie produkcji. W najgorszych warunkach (VDD = min., temperatura = max., maksymalny podział w preskalerze WDT) może upłynąć kilka sekund zanim nastąpi koniec okresu zliczania WDT.

Zagadnienia programowania WDT

Instrukcja CLRWDT zeruje WDT oraz preskaler, jeśli został przydzielony do WDT, co zapobiega zakończeniu okresu zliczania i wygenerowaniu resetu mikrokontrolera. Instrukcja SLEEP również resetuje WDT wraz z preskalerem, jeśli został przydzielony. Daje to maksymalny czas uśpienia przed wybudzeniem z powodu resetu wywołanego przez WDT.

Schemat blokowy timera licznika zegarowego

Rejestry współpracujące z timerem licznika zegarowego
Adres Nazwa Bit 7 Bit 6 Bit 5 Bit 4 Bit 3 Bit 2 Bit 1 Bit 0 Wartość przy
resecie przy
włączeniu
Wartość przy
pozostałych
resetach
N/A OPTION GPWU GPPU T0CS T0SE PSA PS2 PS1 PS0 1111 1111 1111 1111
Legenda   Zacieniowane bity nie są używane przez timer WDT

Na początek:  podrozdziału   strony 

Bity stanu TO, PD, GPWUF, CWUF

Bity TO, PD, GPWUF i CWUF w rejestrze stanu STATUS można testować w celu określenia źródła powstania resetu: włączenie zasilania, końcówka MCLR, timer licznika zegarowego (WDT), wybudzenie przy zmianie wyjścia komparatora lub wybudzenie przy zmianie stanu końcówki. Poniższa tabela pokazuje stan tych bitów po resecie.

CWUF GPWUF TO PD Powód resetu
0 0 0 0 Wybudzenie z uśpienia przez WDT.
0 0 0 u Zakończenie zliczania WDT (bez uśpienia).
0 0 1 0 Wybudzenie z uśpienia końcówką MCLR.
0 0 1 1 Włączenie zasilania.
0 0 u u Końcówka MCLR nie w czasie uśpienia.
0 1 1 0 Wybudzenie z uśpienia przy zmianie stanu końcówki.
1 0 1 0 Wybudzenie z uśpienia przy zmianie stanu wyjścia komparatora.
Legenda:   u = niezmieniony, x = nieznany, – = bit niezaimplementowany, daje odczyt '0', q = zależny od warunku.
Uwagi:   Bity TO, PD, GPWUF i CWUF zachowują swój stan (u) aż do wystąpienia resetu. Ujemny impuls na wejściu MCLR nie zmienia ich stanu.

Na początek:  podrozdziału   strony 

Reset przy spadku napięcia zasilania

Reset przy spadku napięcia (ang. Brown-out Reset) wystąpi, gdy napięcie zasilające mikrokontroler (VDD) spadnie poniżej wartości minimalnej, lecz nie do zera, a następnie powróci do poprzedniej wartości. W takim przypadku mikrokontroler należy zresetować.

Do resetowania mikrokontrolerów PIC10F200/202/204/206 przy spadku napięcia zasilania można zbudować zewnętrzne obwody zabezpieczające pokazane na poniższych rysunkach.

Obwód nr 1

Uwagi: 1. Ten obwód aktywuje Reset, gdy VDD spadnie poniżej Vz +0,7V (gdzie Vz = napięcie Zenera).
  2. Końcówka musi pracować jako MCLR.

Obwód nr 2

Uwagi: 1. Ten obwód jest tańszy, lecz mniej dokładny. Tranzystor Q1 wyłącza się, gdy VDD jest poniżej poziomu:
  2. Końcówka musi pracować jako MCLR.

Obwód nr 3

Uwaga: Ten obwód wykorzystuje układ MCP809, który ma 7 nastaw w celu przystosowania do systemów zasilanych napięciem od 3V do 5V.


Na początek:  podrozdziału   strony 

Tryb wyłączenia zasilania

Mikrokontroler może zostać uśpiony, a później wybudzony z uśpienia.

SLEEP

Tryb wyłączenia zasilania (ang. Power-down mode) jest uruchamiany przez wykonanie instrukcji SLEEP. Jeśli jest aktywny timer licznika zegarowego, to zostaje on wyzerowany, lecz ciągle pracuje, zostaje ustawiony bit TO (STATUS[4]), bit PD (STATUS[3]) jest zerowany i wyłączany jest driver oscylatora. Porty we/wy zachowują stan, który posiadały przed wykonaniem instrukcji SLEEP (stan wysoki, niski lub stan wysokiej impedancji).

Uwaga: Reset wygenerowany przez timer licznika zegarowego WDT nie wymusza stanu niskiego na końcówce MCLR.

Wybudzenie z uśpienia

Mikrokontroler może wybudzić się ze stanu uśpienia, gdy wystąpi jedno z poniższych zdarzeń:

  1. Zewnętrzny reset na końcówce GP3/MCLR/VPP, jeśli została skonfigurowana jako MCLR.
  2. Reset od zakończenia okresu zliczania przez timer licznika zegarowego, jeśli WDT jest włączony.
  3. Zmiana na końcówce wejściowej GP0, GP1 lub GP3, jeśli włączono wybudzanie przy zmianie stanu końcówki.
  4. Zmiana stanu wyjścia komparatora, gdy włączone jest wybudzanie od komparatora.

Te zdarzenia powodują reset mikrokontrolera. Bity TO, PD, GPWUF i CWUF można wykorzystać do znalezienia przyczyny resetu. Bit TO jest zerowany, jeśli timer licznika zegarowego doliczył do końca swojego okresu i spowodował wybudzenie. Bit PD, ustawiany przy włączeniu zasilania, jest zerowany po wywołaniu instrukcji SLEEP. Bit GPWUF oznacza zmianę stanu podczas uśpienia na końcówkach GP0, GP1 lub GP3 (od ostatniej operacji na porcie GP). Bit CWUF oznacza zmianę stanu podczas uśpienia wyjścia komparatora.

Ostrzeżenie: Tuż przed wejściem w uśpienie, odczytaj końcówki wejściowe. W czasie uśpienia wybudzenie następuje, gdy wartości na końcówkach zmieniają się od stanu ich ostatniego odczytu. Jeśli wystąpi wybudzenie przy zmianie stanu końcówek, a końcówki te nie zostaną odczytane przed ponownym wejściem w stan uśpienia, to wybudzenie będzie natychmiastowe, nawet jeśli żadna końcówka nie zmieni stanu w czasie uśpienia.
Uwaga: Timer licznika zegarowego zawsze jest zerowany, gdy mikrokontroler wybudza się ze stanu uśpienia bez względu na źródło wybudzenia.

Na początek:  podrozdziału   strony 

Weryfikacja programu/zabezpieczanie kodu

Jeśli nie został zaprogramowany bit ochrony kodu (ang. code protection bit), to wbudowaną w mikrokontroler pamięć programu można odczytywać do celów weryfikacji.

Pierwsze 64 komórki oraz ostatnią komórkę (wektor resetu) zawsze można odczytać, bez względu na stan bitu ochrony kodu.


Na początek:  podrozdziału   strony 

Komórki ID

Cztery komórki pamięci zostały zaprojektowane jako komórki identyfikacyjne (ang. ID = identification), gdzie użytkownik może umieszczać sumę kontrolną lub inne kody identyfikacji. Podczas normalnego wykonywania programu komórki te nie są dostępne, lecz można je odczytywać i zapisywać podczas programowania/weryfikacji pamięci.

Używaj tylko dolnych czterech bitów tych komórek ID, a 8 górnych bitów zawsze programuj jako zera.


Na początek:  podrozdziału   strony 

Programowanie szeregowe ISP

Mikrokontrolery PIC10F200/202/204/206 mogą być programowane szeregowo w docelowym układzie aplikacyjnym (ang. ISP = Incircuit Serial Programming). Dokonuje się tego po prostu za pomocą dwóch linii na zegar i dane oraz trzech dalszych linii na zasilanie, masę i napięcie programujące. Pozwala to naszym (tzn. firmy Microchip) klientom wytwarzać urządzenia z niezaprogramowanymi mikrokontrolerami i programować je bezpośrednio przed wysłaniem do klienta docelowego produktu. Pozwala to również na programowanie najnowszej wersji oprogramowania lub na tworzenie oprogramowania dedykowanego.

Mikrokontroler przechodzi w tryb programowania/weryfikacji przez ustawienie niskiego poziomu na końcówkach GP1 i GP0, podczas gdy napięcie na końcówce MCLR rośnie z VIL do VIHH (zobacz do specyfikacji programowania). GP1 staje się linią zegara programowania, a GP0 linią danych programowania. W tym trybie obie linie GP1 i GP0 posiadają wejścia Schmitta. Po resecie do mikrokontrolera przesyłany jest 6-bitowy rozkaz. Zależnie od tego rozkazu (Load = ładowanie, Read = odczyt) zostają następnie przesłane 16-bitowe dane do lub z mikrokontrolera. Szczegóły znajdziesz w dodatku. Typowe połączenie przy programowaniu szeregowym w układzie pokazuje poniższy rysunek.


Na początek:  podrozdziału   strony 

Zespół Przedmiotowy
Chemii-Fizyki-Informatyki

w I Liceum Ogólnokształcącym
im. Kazimierza Brodzińskiego
w Tarnowie
ul. Piłsudskiego 4
©2024 mgr Jerzy Wałaszek

Materiały tylko do użytku dydaktycznego. Ich kopiowanie i powielanie jest dozwolone
pod warunkiem podania źródła oraz niepobierania za to pieniędzy.

Pytania proszę przesyłać na adres email: i-lo@eduinf.waw.pl

Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.

Informacje dodatkowe.