Serwis Edukacyjny w I-LO w Tarnowie Materiały dla uczniów liceum |
Wyjście Spis treści Wstecz Dalej Autor artykułu: mgr Jerzy Wałaszek |
©2024 mgr Jerzy Wałaszek |
https://www.microchip.com/about-us/legal-information/copyright-usage-guidelines
Zegar mikroprocesora jest kierowany do elementów systemu związanych z działaniem rdzenia AVR. Przykładami takich modułów są: zestaw rejestrów ogólnego przeznaczenia, rejestr stanu i pamięć danych przechowująca wskaźnik stosu. Zatrzymanie zegara mikroprocesora uniemożliwia rdzeniowi wykonywanie operacji ogólnych oraz obliczeń.
Zegar we/wy używany jest przez większość modułów we/wy, jak timery/liczniki, SPI i USART. Jest on również używany przez moduł przerwań zewnętrznych, lecz zwróć uwagę, iż niektóre przerwania zewnętrzne są wykrywane przez obwody asynchroniczne, co pozwala wykrywać te przerwania nawet przy zatrzymanym zegarze we/wy. Również zauważ, iż rozpoznawanie adresu w module TWI jest wykonywane asynchronicznie, gdy zegar clkI/O został zatrzymany, co umożliwia odbiór adresów TWI we wszystkich trybach uśpienia.
Zegar FLASH steruje działaniem interfejsu pamięci FLASH. Zegar FLASH jest zwykle aktywny równocześnie z zegarem mikroprocesora.
Zegar asynchronicznego timera pozwala asynchronicznemu timerowi/licznikowi odbierać taktowanie bezpośrednio z zewnętrznego zegara kwarcowego 32kHz. Dedykowana domena zegarowa umożliwia używanie tego timera/licznika w charakterze licznika zegarowego czasu rzeczywistego, nawet gdy mikrokontroler znajduje się w trybie uśpienia.
Przetwornik Analogowo/Cyfrowy wyposażony został w dedykowany zegar. Pozwala to zatrzymać zegar mikroprocesora i zegar we/wy w celu zmniejszenia szumów generowanych przez obwody cyfrowe. Daje to dokładniejsze wyniki przetwarzania analogowo/cyfrowego.
Opcja zegarowa układu | CKSEL3...0 |
Oscylator kwarcowy niskiej mocy | 1111 - 1000 |
Oscylator kwarcowy pełnej mocy | 0111 - 0110 |
Oscylator kwarcowy niskiej częstotliwości | 0101 - 0100 |
Wewnętrzny oscylator RC 128 kHz | 0011 |
Kalibrowany wewnętrzny oscylator RC | 0010 |
Zegar zewnętrzny | 0000 |
Zarezerwowane | 0001 |
Uwaga: | 1. | Dla wszystkich bitów bezpiecznikowych "1" oznacza bit niezaprogramowany, a "0" oznacza bit zaprogramowany |
Układ mikrokontrolera jest sprzedawany z wewnętrznym oscylatorem RC
ustawionym na częstotliwość 8,0 MHz z zaprogramowanym bitem bezpiecznikowym
CKDIV8, co daje w wyniku zegar systemowy 1 MHz. Czas uruchamiania jest ustawiony
na maksymalny.
Każde źródło zegarowe potrzebuje dostatecznego napięcia zasilającego VCC, aby rozpocząć oscylacje, oraz minimalnej liczby okresów oscylacji, zanim będzie można je uznać za stabilne.
Aby zapewnić wystarczające VCC, mikrokontroler wytwarza wewnętrzny reset z czasowym opóźnieniem (tTOUT) po ustąpieniu wszystkich pozostałych źródeł resetu. Rozdział ”Sterowanie systemem i reset” opisuje warunki startowe przy wewnętrznym resecie. Opóźnienie (tTOUT) jest odmierzane w czasie przy pomocy oscylatora licznika zegarowego (ang. Watchdog Oscillator), a liczba taktów opóźnienia jest ustawiana przez bity bezpiecznikowe SUTx i CKSELx. Wybieralne opóźnienia pokazuje poniższa tabelka. Częstotliwość oscylatora licznika zegarowego zależy od napięcia, co przedstawiono w rozdziałach o charakterystykach typowych.
Typowe opóźnienie (VCC = 5V) | Typowe opóźnienie (VCC = 3V) | Liczba taktów |
0ms | 0ms | 0 |
4.1ms | 4.3ms | 512 |
65ms | 69ms | 8K (8.192) |
Głównym celem tego opóźnienia jest utrzymanie układu AVR w stanie resetu, aż będzie zasilany minimalnym napięciem VCC. W trakcie opóźnienia nie jest monitorowane rzeczywiste napięcie zasilające i będzie potrzebne wybranie opóźnienia dłuższego od czasu wzrostu VCC do użytecznego poziomu. Jeśli nie jest to możliwe, należy użyć wewnętrznego lub zewnętrznego obwodu detekcji spadku napięcia zasilania (ang. Brown-Out Detection circuit, BOD). Obwód BOD zapewni wystarczający poziom VCC przed wyjściem z resetu, a wtedy opóźnienie czasowe można wyłączyć. Nie zaleca się wyłączania opóźnienia bez zastosowania obwodu BOD.
Oscylator musi wykonać minimalną liczbę oscylacji, zanim zegar będzie można uważać za stabilny. Wewnętrzny licznik szeregowy monitoruje zegar wyjściowy oscylatora i utrzymuje wewnętrzny reset aktywny przez zadaną liczbę taktów zegarowych. Po ich upływie reset jest opuszczany i układ mikrokontrolera rozpoczyna wykonywanie swojego programu. Zalecany czas startu oscylatora zależy od typu zegara i zawiera się w zakresie od 6 taktów dla zegara zewnętrznego do 32768 taktów dla kwarcu niskiej częstotliwości.
Sekwencja startowa dla zegara zawiera zarówno opóźnienie czasowe jak i czas uruchamiania, gdy układ rozpoczyna pracę z resetu. Gdy układ startuje z trybu oszczędzania energii (ang. Power-save mode) lub z trybu wyłączenia zasilania (ang. Power-down mode), zakłada się, iż VCC ma wystarczający poziom i tylko czas uruchamiania jest uwzględniony.
Końcówki XTAL1 i XTAL2 są odpowiednio wejściem i wyjściem odwracającego wzmacniacza, który można skonfigurować jako wewnątrzukładowy oscylator, jak na poniższym rysunku.
Można użyć albo kryształu kwarcu, albo rezonatora ceramicznego.
Ten oscylator jest oscylatorem niskiej mocy ze zmniejszoną amplitudą napięcia na wyjściu XTAL2. Pobiera on najniższy prąd, lecz nie jest w stanie wysterować innych wejść zegarowych i może być bardziej podatny na zakłócenia w zaszumianym środowisku. W takich przypadkach przeczytaj następny podrozdział. Kondensatory C1 i C2 powinny posiadać równe pojemności zarówno dla kwarców jak i dla rezonatorów. Optymalna pojemność kondensatorów zależy od użytego kwarcu lub rezonatora, ilości pasożytniczych pojemności oraz zakłóceń elektromagnetycznych środowiska. Kilka wstępnych wskazówek wyboru kondensatorów dla kryształów kwarcu podaje poniższa tabelka. Dla rezonatorów ceramicznych należy stosować wartości podawane przez producenta.
Oscylator niskiej mocy może pracować w trzech różnych trybach, z których każdy zoptymalizowano dla określonego zakresu częstotliwości. Tryb pracy wybierany jest bitami bezpiecznikowymi CKSEL3...1, jak pokazano w tabelce:
Zakres częstotliwości [MHz] |
Zalecany zakres pojemności C1 i C2 [pF] |
CKSEL3...1(1) |
0,4 ... 0,9 | – | 100(2) |
0.9 ... 3,0 | 12 ... 22 | 101 |
3,0 ... 8,0 | 12 ... 22 | 110 |
8,0 ... 16,0(4) | 12 ... 22 | 111 |
Bit bezpiecznikowy CKSEL0 wraz z bitami bezpiecznikowymi SUT1...0 wybiera czasy uruchamiania, jak pokazuje poniższa tabelka:
Źródło oscylatora / Warunki zasilania | Czas uruchamiania po trybie wyłączenia i oszczędzania energii | Dodatkowe opóźnienie od resetu (VCC = 5V) | CKSEL0 | SUT1...0 |
Rezonator ceramiczny, szybko narastające zasilanie | 258 CK | 14CK + 4,1ms(1) | 0 | 00 |
Rezonator ceramiczny, wolno narastające zasilanie | 258 CK | 14CK + 65ms(1) | 0 | 01 |
Rezonator ceramiczny, włączone BOD | 1K CK | 14CK(2) | 0 | 10 |
Rezonator ceramiczny, szybko narastające zasilanie | 1K CK | 14CK + 4,1ms(2) | 0 | 11 |
Rezonator ceramiczny, wolno narastające zasilanie | 1K CK | 14CK + 65ms(2) | 1 | 00 |
Kryształ kwarcu, włączone BOD | 16K CK | 14CK | 1 | 01 |
Kryształ kwarcu, szybko narastające zasilanie | 16K CK | 14CK + 4,1ms | 1 | 10 |
Kryształ kwarcu, wolno narastające zasilanie | 16K CK | 14CK + 65ms | 1 | 11 |
Końcówki XTAL1 i XTAL2 są odpowiednio wejściem i wyjściem odwracającego wzmacniacza, który można skonfigurować jako wewnątrzukładowy oscylator, jak na poniższym rysunku.
Można użyć albo kryształu kwarcu, albo rezonatora ceramicznego.
Ten oscylator kwarcowy jest oscylatorem o pełnej mocy dającym pełnozakresowy sygnał na wyjściu XTAL2. Przydaje się on przy wysterowywaniu innych wejść zegarowych oraz w zakłóconym środowisku. Pobór prądu jeż wyższy niż przy "Oscylatorze kwarcowym o niskiej mocy". Zauważ iż oscylator ten może pracować jedynie w zakresie napięć zasilających od 2,7V do 5,5V.
Kondensatory C1 i C2 powinny posiadać równe pojemności zarówno dla kwarców jak i dla rezonatorów. Optymalna pojemność kondensatorów zależy od użytego kwarcu lub rezonatora, ilości pasożytniczych pojemności oraz zakłóceń elektromagnetycznych środowiska. Kilka wstępnych wskazówek wyboru kondensatorów dla kryształów kwarcu podaje poniższa tabelka. Dla rezonatorów ceramicznych należy stosować wartości podawane przez producenta.
Zakres częstotliwości(1) [MHz] |
Zalecany zakres pojemności C1 i C2 [pF] |
CKSEL3...1 |
0,4 ... 16 | 12 ... 22 | 011 |
Czasy startu oscylatora pełnej mocy podaje poniższa tabelka:
Źródło oscylatora / Warunki zasilania | Czas uruchamiania po trybie wyłączenia i oszczędzania energii | Dodatkowe opóźnienie od resetu (VCC = 5V) | CKSEL0 | SUT1...0 |
Rezonator ceramiczny, szybko narastające zasilanie | 258 CK | 14CK + 4,1ms(1) | 0 | 00 |
Rezonator ceramiczny, wolno narastające zasilanie | 258 CK | 14CK + 65ms(1) | 0 | 01 |
Rezonator ceramiczny, włączone BOD | 1K CK | 14CK(2) | 0 | 10 |
Rezonator ceramiczny, szybko narastające zasilanie | 1K CK | 14CK + 4,1ms(2) | 0 | 11 |
Rezonator ceramiczny, wolno narastające zasilanie | 1K CK | 14CK + 65ms(2) | 1 | 00 |
Kryształ kwarcu, włączone BOD | 16K CK | 14CK | 1 | 01 |
Kryształ kwarcu, szybko narastające zasilanie | 16K CK | 14CK + 4,1ms | 1 | 10 |
Kryształ kwarcu, wolno narastające zasilanie | 16K CK | 14CK + 65ms | 1 | 11 |
Mikrokontroler może wykorzystać jako źródło zegarowe kwarc zegarkowy 32,768 kHz, który należy podłączyć wg poniższego rysunku:
Oscylator kwarcowy niskiej częstotliwości został zoptymalizowany do pracy z zegarkowym kwarcem 32,768kHz. Przy wyborze kryształów kwarcu należy brać pod uwagę ich zastępczą oporność szeregową (ang. Equivalent Series Resistance, ESR). Jest ona określana przez producenta. Oscylator mikrokontrolera ATmega640/1280/1281/2560/2561 jest zoptymalizowany dla bardzo niskiego poboru energii, dlatego przy doborze kryształów zobacz do poniższej tabelki, gdzie podano zalecenia dla maksymalnej wartości ESR kryształów 6,5pF, 9,0pF i 12,5pF.
CL kryształu (pF) | Maksymalne ESR (kΩ) |
6,5 | 75 |
9,0 | 65 |
12,5 | 30 |
Oscylator kwarcowy niskiej częstotliwości posiada wewnętrzną pojemność obciążenia na każdej z końcówek TOSC, co pokazuje poniższa tabelka.
Mikrokontroler | Oscylator 32kHz | Pojemność (XTAL1/TOSC1) | Pojemność (XTAL2/TOSC2) |
ATmega640/1280/1281/2560/2561 | systemowy | 18pF | 8pF |
timera | 6pF | 6pF |
Pojemność (Ce+Ci) potrzebną na każdej końcówce XTAL/TOSC można obliczyć przy pomocy wzoru:
gdzie: – Ce – jest pojemnością zewnętrznego kondensatora C1/C2 – Ci – jest pojemnością końcówki wg tabelki powyżej – CL – jest pojemnością obciążenia kryształu 32,768kHz określaną przez producenta – CS – jest całkowitą pojemnością pasożytniczą dla jednej końcówki TOSC |
Kryształy określające pojemność obciążenia (CL) wyższą od podanej powyżej wymagają dołączenia zewnętrznych kondensatorów wg poniższego rysunku:
Wartości wymaganych pojemności znajdziesz w danych producenta kryształu kwarcu.
Oscylator kwarcowy niskiej częstotliwości musi być wybrany przez ustawienie bitów bezpiecznikowych CKSEL na “0110” lub “0111”. Czasy uruchamiania są określane przez bity bezpiecznikowe SUT i CKSEL0, jak podano w poniższej tabelce.
Warunki zasilania | Czas startu po trybach wyłączenia zasilania i oszczędzania energii | Dodatkowe opóźnienie z resetu (VCC = 5V) |
CKSEL0 | SUT1:0 |
Włączony moduł BOD | 1K CK | 14CK(1) | 0 | 00 |
Szybko narastające VCC | 1K CK | 14CK + 4,1ms(1) | 0 | 01 |
Wolno narastające VCC | 1K CK | 14CK + 65ms(1) | 0 | 10 |
Zarezerwowane | 0 | 11 | ||
Włączony moduł BOD | 32K CK | 14CK | 1 | 00 |
Szybko narastające VCC | 32K CK | 14CK + 4,1ms | 1 | 01 |
Wolno narastające VCC | 32K CK | 14CK + 65ms | 1 | 10 |
Zarezerwowane | 1 | 11 |
Uwaga: | 1. | Tej opcji należy użyć, jeśli stabilność częstotliwości przy starcie nie jest istotna dla aplikacji. |
Zegar ten można wybrać na zegar systemowy przez zaprogramowanie bitów bezpiecznikowych CKSEL, co pokazuje poniższa tabelka.
Tryby pracy kalibrowanego, wewnętrznego oscylatora RC
Zakres częstotliwości(2) MHz | CKSEL3...0 |
7,3 – 8,1 | 0010(1) |
Jeśli zostanie wybrany, to będzie pracował bez zewnętrznych elementów. Podczas resetu mikrokontroler umieszcza w rejestrze OSCAL zaprogramowaną wartość kalibracyjną, co automatycznie kalibruje oscylator RC. Przez programową zmianę zawartości rejestru OSCAL możliwe jest otrzymanie większej dokładności kalibracji niż przy użyciu kalibracji fabrycznej.
Gdy oscylator ten jest używany jako zegar układu, oscylator licznika zegarowego wciąż będzie używany dla tego licznika oraz dla czasów opóźnień w trakcie resetu. Po wyborze oscylatora RC czasy uruchamiania będą określane przez bity bezpiecznikowe SUT wg poniższej tabelki.
Warunki zasilania | Czas uruchamiania z trybu wyłączenia i oszczędzania | Dodatkowe opóźnienie z resetu (VCC = 5V) |
SUT1...0 |
Włączony BOD | 6 CK | 14 CK | 00 |
Szybko narastające VCC | 6 CK | 14 CK + 4,1ms | 01 |
Wolno narastające VCC | 6 CK | 14CK 65ms(1) | 10 |
Zarezerwowane | 11 |
Uwaga: | 1. | Mikrokontroler jest sprzedawany z ustawioną tą opcją. |
Częstotliwość znamionowa(1) | CKSEL3...0 |
128kHz | 0011 |
Uwaga: | 1. | Oscylator 1238kHz jest źródłem zegarowym o bardzo małej mocy i nie był projektowany z myślą o dużej dokładności. |
Gdy to źródło zegarowe zostanie wybrane, czasy startu będą określane przez bity bezpiecznikowe SUT wg poniższej tabelki.
Warunki zasilania | Czas uruchamiania z trybu wyłączenia i oszczędzania | Dodatkowe opóźnienie z resetu (VCC = 5V) | SUT1...0 |
Włączony BOD | 6 CK | 14 CK | 00 |
Szybko narastające VCC | 6 CK | 14 CK + 4ms | 01 |
Wolno narastające VCC | 6 CK | 14CK 64ms | 10 |
Zarezerwowane | 11 |
Aby taktować mikrokontroler zewnętrznym źródłem zegarowym, końcówka XTAL1 powinna być sterowana zgodnie z poniższym rysunkiem. Bity bezpiecznikowe CKSEL należy w tym przypadku zaprogramować na wartość "0000".
Częstotliwość zegara oscylatora kwarcowego
Częstotliwość | CKSEL3...0 |
0 – 16 MHz | 0000 |
Gdy to źródło zegarowe zostanie wybrane, czasy startu będą określane przez bity bezpiecznikowe SUT wg poniższej tabelki.
Warunki zasilania | Czas uruchamiania z trybu wyłączenia i oszczędzania | Dodatkowe opóźnienie z resetu (VCC = 5V) | SUT1...0 |
Włączony BOD | 6 CK | 14 CK | 00 |
Szybko narastające VCC | 6 CK | 14 CK + 4ms | 01 |
Wolno narastające VCC | 6 CK | 14CK 64ms | 10 |
Zarezerwowane | 11 |
Przy zastosowaniu zegara zewnętrznego wymagane jest unikanie nagłych zmian w jego częstotliwości w celu zapewnienia stabilnej pracy mikrokontrolera. Zmiana częstotliwości większa niż 2% w sąsiednich taktach zegara może prowadzić do nieprzewidywalnych zachowań mikrokontrolera. Jeśli taka zmiana jest konieczna, zapewnij utrzymanie mikrokontrolera w stanie resetu podczas zmian.
Zwróć uwagę, iż preskaler zegara systemowego może zostać użyty do zaimplementowania zmian częstotliwości zegara wewnętrznego podczas pracy mikrokontrolera przy jednoczesnym zapewnieniu jej stabilności. Szczegóły znajdziesz w podrozdziale "Preskaler zegara systemowego".
Mikrokontroler może wyprowadzać zegar systemowy na końcówkę CLKO. Aby włączyć tę funkcją, należy zaprogramować bit bezpiecznikowy CKOUT. Ten tryb jest użyteczny, gdy zegar mikrokontrolera jest wykorzystywany do sterowania innych układów w danym systemie. Zegar ten będzie również wyprowadzany podczas resetu, a normalna praca końcówki we/wy zostanie przechwycona po zaprogramowaniu bitu bezpiecznikowego CKOUT. Gdy na wyjściu CLKO wyprowadzany jest zegar, można wybrać dowolne źródło zegarowe, łącznie z wewnętrznym oscylatorem RC. Jeśli używany jest preskaler zegara systemowego, to na wyjściu CLKO będzie wyprowadzany podzielony zegar systemowy.
Źródło zegara zewnętrznego na końcówce TOSC1 można używać, jeśli bit EXCLK w rejestrze ASSR zostanie zapisany logiczną jedynką. Szczegóły znajdziesz w podrozdziale "Asynchroniczna praca timera/licznika 2".
Przy przełączaniu ustawień preskalera, zapewnia on, iż systemie zegarowym nie pojawią się żadne zakłócenia. Zapewnia on również, iż częstotliwość pośrednia nie będzie większa ani od częstotliwości odpowiadającej poprzedniemu ustawieniu preskalera, ani od częstotliwości odpowiadającej nowemu ustawieniu.
Licznik szeregowy implementujący preskaler pracuje z częstotliwością
niepodzielonego zegara, która może być wyższa od częstotliwości zegarowej
mikroprocesora. Stąd nie jest możliwe określenie stanu preskalera – nawet,
gdyby udało się go odczytać, a dokładny czas przełączania z jednego podziału
zegara na inny nie może zostać dokładnie przewidziany. Od czasu zapisu wartości CLKPS do aktywacji nowej częstotliwości zegara występuje opóźnienie od
Aby zapobiec niezamierzonym zmianom częstotliwości zegarowej, należy postępować wg specjalnej procedury, aby zmienić bity CLKPS:
Przy zmienianiu ustawień preskalera przerwania muszą być wyłączone, aby zapewnić, iż procedura zapisu nie będzie zakłócana.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
(0x66) | CAL7 | CAL6 | CAL5 | CAL4 | CAL3 | CAL2 | CAL1 | CAL0 | OSCCAL |
Zapis/Odczyt | Z/O | Z/O | Z/O | Z/O | Z/O | Z/O | Z/O | Z/O | |
Wartość początkowa | Wartość kalibracyjna specyficzna dla danego układu |
Rejestr OSCCAL wykorzystywany jest do strojenia wewnętrznego oscylatora kalibrowanego RC w celu usunięcia odchyłek produkcyjnych z częstotliwości oscylatora. Zaprogramowana wcześniej wartość jest automatycznie wpisywana do tego rejestru podczas resetu układu, dając częstotliwość skalibrowaną fabrycznie. Oprogramowanie aplikacji może zapisać ten rejestr inną wartością, aby zmienić częstotliwość oscylatora. Zauważ, iż ten oscylator używany jest do odmierzania czasu przy zapisywaniu do pamięci EEPROM i FLASH, zatem czasy zapisu zmienią się odpowiednio. Jeśli w aplikacji wykonywany jest zapis do EEPROM lub FLASH, nie kalibruj powyżej 8,8 MHz. W przeciwnym razie zapis EEPROM/FLASH może się nie powieść.
Bit CAL7 określa zakres działania dla oscylatora. Ustawienie go na 0 da
najniższy zakres częstotliwości, ustawienie na 1 da najwyższy. Te dwa zakresy
nakładają się, innymi słowy ustawienie
Bity CAL6...0 są używane do regulacji częstotliwości w wybranym zakresie. Ustawienie 0x00 daje najniższą częstotliwość, a ustawienie 0x7F daje najwyższą częstotliwość w wybranym zakresie.
Bit | 7 | 6 | 5 | 4 | 3 | 2 | 1 | 0 | |
(0x61) | CLKPCE | – | – | – | CLKPS3 | CLKPS2 | CLKPS1 | CLKPS0 | CLKPR |
Zapis/Odczyt | Z/O | O | O | O | Z/O | Z/O | Z/O | Z/O | |
Wartość początkowa | 0 | 0 | 0 | 0 | Zobacz do opisu bitów |
Bit CLKPCE należy zapisać logiczną jedynką, aby uaktywnić zmianę bitów CLKPS. Bit CLKPCE zostanie uaktualniony tylko wtedy, gdy pozostałe bity w rejestrze CLKPR są jednocześnie zapisywane zerami. Bit CLKPCE jest zerowany sprzętowo po czterech taktach zegarowych od momentu zapisu lub po zapisie bitów CLKPS. Ponowne zapisanie bitu CLKPCE w tym przedziale czasu ani nie wydłuża tego czasu, ani nie zeruje bitu CLKPCE.
Te bity definiują współczynnik podziału pomiędzy wybranym źródłem zegarowym a wewnętrznym zegarem systemowym. Można je zapisać w trakcie pracy programu w celu zmiany częstotliwości zegarowej, aby dopasować ją do wymagań aplikacji. Gdy dzielnik dzieli główną częstotliwość zegara mikrokontrolera, prędkość wszystkich synchronicznych modułów peryferyjnych jest redukowana przy używaniu współczynnika podziału. Współczynniki te podaje poniższa tabelka.
CLKPS3 | CLKPS2 | CLKPS1 | CLKPS0 | Współczynnik podziału zegara |
0 | 0 | 0 | 0 | 1 |
0 | 0 | 0 | 1 | 2 |
0 | 0 | 1 | 0 | 4 |
0 | 0 | 1 | 1 | 8 |
0 | 1 | 0 | 0 | 16 |
0 | 1 | 0 | 1 | 32 |
0 | 1 | 1 | 0 | 64 |
0 | 1 | 1 | 1 | 128 |
1 | 0 | 0 | 0 | 256 |
1 | 0 | 0 | 1 | Zarezerwowane |
1 | 0 | 1 | 0 | Zarezerwowane |
1 | 0 | 1 | 1 | Zarezerwowane |
1 | 1 | 0 | 0 | Zarezerwowane |
1 | 1 | 0 | 1 | Zarezerwowane |
1 | 1 | 1 | 0 | Zarezerwowane |
1 | 1 | 1 | 1 | Zarezerwowane |
Bit bezpiecznikowy CKDIV8 określa wartość początkową bitów CLKPS. Jeśli bit CKDIV8 jest niezaprogramowany ("1"), bity CLKPS zostaną zresetowane na "0000". Jeśli bit CKDIV8 jest zaprogramowany, bity CLKPS są resetowane na “0011”, co ustawia współczynnik podziału na 8 przy uruchamianiu mikrokontrolera. Opcję tą powinno się używać, jeśli wybrane źródło zegarowe posiada częstotliwość wyższą od maksymalnej dla danego mikrokontrolera przy aktualnych warunkach pracy. Zauważ, iż dowolna wartość może być wpisana do bitów CLKPS bez względu na ustawienie bitu bezpiecznikowego CKDIV8. Oprogramowanie aplikacji musi zapewnić odpowiedni współczynnik podziału, jeśli wybrane źródło zegarowe posiada częstotliwość od maksymalnej częstotliwości układu mikrokontrolera w bieżących warunkach pracy. Mikrokontroler jest sprzedawany z zaprogramowanym bitem bezpiecznikowym CKDIV8.
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:
Serwis wykorzystuje pliki cookies. Jeśli nie chcesz ich otrzymywać, zablokuj je w swojej przeglądarce.
Informacje dodatkowe.