ATmega16 i ATmega32
Trochę gotowców dla różnych ustawień
- Kwarc 8 do 16 MHz, wyłączony JTAGEN, wolno narastające napięcie zasilania.
- Kwarc od 3 do 8MHz, wyłączony JTAGEN, wolno narastające napięcie zasilania.
- Kwarc zegarkowy 32,768kHz, wyłączony JTAGEN, wolno narastające napięcie zasilania.
- Wewnętrzny generator 1MHz, wyłączony JTAGEN
- Wewnętrzny generator 2MHz, wyłączony JTAGEN
- Wewnętrzny generator 4MHz, wyłączony JTAGEN
- Wewnętrzny generator 8MHz, wyłączony JTAGEN
Fabryczne ustawienia „Fuse Low Byte” w ATmega16 to :
11100001 – dwójkowo
E1 – szesnastkowo
- BODLEVEL – Wybór progu napięcia przy którym działa BOD
- BODEN – włączenie „Brown out detector”
- SUT1 – drugi bit wyboru czasu uruchomienia mikrokontrolera
- SUT0 – pierwszy bit wyboru czasu uruchomienia mikrokontrolera – fabrycznie włączony
- BODEN – włączenie „Brown out detector”
- Bity CKSEL0….CKSEL3 służą do wyboru źródła sygnału zegarowego kontrolera
Fabryczne ustawienia „Fuse High Byte” w ATmega16 to :
10011001 – dwójkowo
99 – szesnastkowo
- OCDEN – Zezwolenie na debugowanie programu w kontrolerze.
- JTAGEN – Włączenie interfejsu JTAG (PORTC). Fabrycznie włączony przez co część portu C (PC2, PC3, PC4 i PC5) jest zarezerwowana dla tego interfejsu.
- SPIEN – Zezwolenie na programowanie szeregowe. Fabrycznie włączone. Wyłączenie tego bitu blokuje możliwość programowania szeregowego.
- CKOPT – Przełącznik opcji generatora
- EESAVE – Zachowywanie zawartości EEPROM przy zapisie do pamięci mikrokontrolera.
- BOOTSZ1 – Wielkość pamięci przeznaczona dla kodu „Boot Loader’a”
- BOOTSZ0 – Wielkość pamięci przeznaczona dla kodu „Boot Loader’a”
- BOOTRST – jeśli zaprogramowany (0), to restart rozpocznie się od „Boot Loader’a”
Wartość CKSEL3..0 |
ATmega16/32 Źródło sygnału zegarowego |
SUT1..0 dla BOD |
SUT1..0 dla FRP |
SUT1..0 dla SRP |
Uwagi |
0000 | Zewnętrzny generator OSTROŻNIE ! | 00 | 01 | 10 | |
0001 | Wewnętrzny generator na 1MHz | 00 | 01 | 10 | CKOPT=1 |
0010 | Wewnętrzny generator na 2MHz | 00 | 01 | 10 | CKOPT=1 |
0011 | Wewnętrzny generator na 4MHz | 00 | 01 | 10 | CKOPT=1 |
0100 | Wewnętrzny generator na 8MHz | 00 | 01 | 10 | CKOPT=1 |
0101 | Zewnętrzny generator RC poniżej 0,9MHz | 00 | 01 | 10 | |
0110 | Zewnętrzny generator RC 0,9 do 3MHz | 00 | 01 | 10 | |
0111 | Zewnętrzny generator RC 3 do 8MHz | 00 | 01 | 10 | |
1000 | Zewnętrzny generator RC 8 do 12MHz | 00 | 01 | 10 | |
1001 | Kwarc zegarkowy 32,768kHz | 00 | 00 | 01 | ****CKOPT=0 |
1010 | Rezonator cer. 0,9 do 3MHz | 10 | 11 | 01 | |
1011 | Kwarc 0,9 do 3MHz | 01 | 10 | 11 | |
1100 | Rezonator cer. 3 do 8MHz | 10 | 11 | 01 | |
1101 | Kwarc 3 do 8MHz | 01 | 10 | 11 | |
1110 | Rezonator cer. 8MHz i więcej | 10 | 11 | 01 | CKOPT=0 |
1111 | Kwarc 8MHz i więcej | 01 | 10 | 11 | CKOPT=0 |
Uwagi do tabeli:
* BOD – włączony „Brown-Out Detector”
** FRP – szybko narastające napięcie zasilania
***SRP – wolno narastające napięcie zasilania
****CKOPT – w tym przypadku CKOPT powoduje dołączenie wewnętrznych kondensatorów do kwarcu. Zewnętrzne kondensatory są niepotrzebne.
Trochę gotowców dla różnych ustawień
Kolorem fioletowym zanaczyłem bity zmienione w stosunku do ustawień fabrycznych.
Kwarc 8 do 16 MHz, wyłączony JTAGEN, wolno narastające napięcie zasilania.
hfuse; JTAGEN wyłączony, zwiększona amplituda drgań (CKOPT=0) | ||||||||
Szesnastkowo (0x) | C | 9 | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
Opis bitu | OCDEN | JTAGEN | SPIEN | CKOPT | EESAVE | BOOTSZ1 | BOOTSZ0 | BOOTRST |
lfuse; 8-16MHz, „Slow Rising Power” (SUT1..0=11) | ||||||||
Szesnastkowo (0x) | F | F | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Opis bitu | BODLEVEL | BODEN | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0 |
Kwarc od 3 do 8MHz, wyłączony JTAGEN, wolno narastające napięcie zasilania.
hfuse; JTAGEN wyłączony, (CKOPT=1) | ||||||||
Szesnastkowo (0x) | D | 9 | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
Opis bitu | OCDEN | JTAGEN | SPIEN | CKOPT | EESAVE | BOOTSZ1 | BOOTSZ0 | BOOTRST |
lfuse; 3-8MHz, „Slow Rising Power” (SUT1..0=01) | ||||||||
Szesnastkowo (0x) | F | F | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 |
Opis bitu | BODLEVEL | BODEN | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0 |
Kwarc zegarkowy 32,768kHz, wyłączony JTAGEN, wolno narastające napięcie zasilania.
hfuse; JTAGEN wyłączony; włączone wewnętrzne kondensatory (CKOPT=0) | ||||||||
Szesnastkowo (0x) | C | 9 | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
Opis bitu | OCDEN | JTAGEN | SPIEN | CKOPT | EESAVE | BOOTSZ1 | BOOTSZ0 | BOOTRST |
lfuse; 32,768kHz, „Slow Rising Power” (SUT1..0=01) | ||||||||
Szesnastkowo (0x) | D | 9 | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
Opis bitu | BODLEVEL | BODEN | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0 |
Wewnętrzny generator 1MHz, wyłączony JTAGEN
hfuse; JTAGEN wyłączony | ||||||||
Szesnastkowo (0x) | D | 9 | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 0 | 1 | 1 | 0 | 0 | 1 |
Opis bitu | OCDEN | JTAGEN | SPIEN | CKOPT | EESAVE | BOOTSZ1 | BOOTSZ0 | BOOTRST |
lfuse; Generator wewnętrzny 1MHz; „Slow Rising Power” (SUT1..0=10) | ||||||||
Szesnastkowo (0x) | E | 1 | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 1 | 0 | 0 | 0 | 0 | 1 |
Opis bitu | BODLEVEL | BODEN | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0 |
Wewnętrzny generator 2MHz, wyłączony JTAGEN
Tabelka „hfuse’ jak dla „Wewnętrzny generator 1MHz, wyłączony JTAGEN”
lfuse; Generator wewnętrzny 1MHz; „Slow Rising Power” (SUT1..0=10) | ||||||||
Szesnastkowo (0x) | E | 2 | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 0 |
Opis bitu | BODLEVEL | BODEN | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0 |
Wewnętrzny generator 4MHz, wyłączony JTAGEN
Tabelka „hfuse’ jak dla „Wewnętrzny generator 1MHz, wyłączony JTAGEN”
lfuse; Generator wewnętrzny 1MHz; „Slow Rising Power” (SUT1..0=10) | ||||||||
Szesnastkowo (0x) | E | 3 | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 1 | 0 | 0 | 0 | 1 | 1 |
Opis bitu | BODLEVEL | BODEN | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0 |
Wewnętrzny generator 8MHz, wyłączony JTAGEN
Tabelka „hfuse’ jak dla „Wewnętrzny generator 1MHz, wyłączony JTAGEN”
lfuse; Generator wewnętrzny 1MHz; „Slow Rising Power” (SUT1..0=10) | ||||||||
Szesnastkowo (0x) | E | 4 | ||||||
Zapis w stylu PonyProg’a |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Wartość bitu | 1 | 1 | 1 | 0 | 0 | 1 | 0 | 0 |
Opis bitu | BODLEVEL | BODEN | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0 |