AVR fuse grunderna: kör en avr med en extern klocka (5 / 6 steg)
Steg 5: Programmimg klockan säkring på egen hand!
Vi vet nu att vi måste ändra CKOPT (bitars nummer 4) från hög fuse byte och ändra värdena för CKSEL0, CKSEL1, CKSEL2, CKSEL3 och SUT0, SUT1 från låga fuse byte eftersom dessa är de bitarna som kontrollerar klockinställningarna. Eftersom vi endast konfigurerar klockinställningarna, kommer andra fuse inställningar att lämnas som det är. Om andra fuse bitvärden ändras ens av misstag, kan få igenmurat mikrokontroller.
Kalkylbladet innehåller alternativ för den låga fuse bitar CKSEL3, CKSEL2, CKSEL1 och CKSEL0. Detta hjälper oss att välja vilken klocka källa måste vi använda för våra mikrokontroller. Jag har gjort detta google blad från databladet för Atmega8, hålla vänligen det öppet tillsammans med handledning
Länken för det är här-
https://docs.Google.com/Spreadsheets/d/11IjfDRkWHNW0dj0FEKCDzZMcXTvDuv1Q4jMPNpIYck0/Edit?USP=docslist_api
Så eftersom jag kör mikrokontroller med en extern kristall, kommer jag att använda värdena CKSEL3-CKSEL0 som motsvarar det alternativet. Men vi ser att värdena ligga mellan intervallet 1111-1010. För att välja det exakta värdet, måste vi titta på en annan tabell som innehåller de värden som frekvens som vi vill ha för mikrokontroller. Här är en tabell som innehåller CKOPT värde och CKSEL3-1 värden enligt frekvensen. Här är länk-https://docs.google.com/spreadsheets/d/11rt148hgXhwvduZ4aEDTvDKYT3pGxDHP5RUNvuYWNPc/edit?usp=docslist_api
Här väljer jag den programmerade CKOPT value(0). Programmerad CKOPT värde används för hög frekvens verksamhet. Jag väljer också CKSEL3-1 värden som 111.
Nu behöver vi alternativ som vi kan välja mellan värdena CKSEL0 och SUT1 och SUT0. Här är länk-https://docs.google.com/spreadsheets/d/1028hW05QgAiBQzUzOMjDfJ1VCY8tcOMtgQAsnH5xOWw/edit?usp=docslist_api
Om du tittar upp tabellen, hittar du en lista med alternativ för starta upp tid och deras motsvarande stycke värde. Jag väljer kristalloscillator med 65 millisekund start fördröjning eftersom jag använder en cryatal oscillator här. Så enligt tabellen i CKSEL0 blir värdet 1, SUT1 värde kommer att vara 1, och SUT0 värde kommer att vara 1.
Eftersom vi använder kristalloscillator och starta upp tid som motsvarar crytal oscillatorn, blivit våra CKSEL3-CKSEL0 värden 1111.
Detta avslutar våra välja alternativ.