AVR fuse grunderna: kör en avr med en extern klocka (6 / 6 steg)

Steg 6: Summering.


Föregående steg kan se förvirrande och i ordning men detta steg kommer att ge en tydlig bild av hela processen.

Så vad vi faktiskt vill göra?
Vi har en mikrokontroller (här Atmega 8). Det körs på standardfrekvensen för den levererades med. Vi vill köra det på 16Mhz externa kristall.
Så vad gör exakt? Endast se och ändra fuse bitvärden. Vi får inte heller glömma att 1 betyder unprogrammed och 0: programmerad.

Chipet sitter nu, med dess standardkonfiguration fuse byte.

Först och främst måste vi bestämma, hur man kör mikrokontroller? För enkelhetens skull kan ta att vi bara har tre alternativ-external crystal, externa resonator eller intern oscillator.

Vi fick reda på att kristall oscillator är en tillförlitlig tid hålla SOURCEoch vi inte har något emot att spendera lite för två 22pf kondensatorer. Vårt val är nu klart, vill vi köra avr chip med en extern kristall.

Men där att få alternativ för att göra valet av externa kristalloscillator?

Alternativen är tillgängliga på CKSEL3 till CKSEL0 i den låga fuse byten.
Vi tittade upp tabellen i den microcontroller datablad och fick reda på att det finns ett alternativ kallat keramiska resonator eller crytal oscillator. Vi verkligen vill, så vi notera ned bit värdena av CKSEL3-CKSEL0 associerade med den.

Hmm, men det finns en rad värden för det, 1111-1010. Som en särskilt ta? Och hur du anger frekvensen för kristalloscillator? Uppenbarligen finns det många frekvenser för kristaller, vill vi köra det endast på 16Mhz.

För detta tittar vi upp på en annan tabell, som innehåller frekvensen och den rekommenderade mängden kondensatorer för att användas med dem.
I den här tabellen ser vi att 16Mhz är större att 1 Mhz så vi väljer det alternativet. Bitvärdet som associerades med CKOPT för vårt val är 0 och tillsammans med det, vi valde 111 för värden på CKSEL3-CKSEL1.

Nu är vi säkra på att vi kör det avr chipet med en extern crytal 16 MHz.

Vi läsa bara en instructable om fuse bits och det talade om några starta upp tid saker som crytal behöver värma upp och börja ge relaible signaler.

Hur hittar vi det?
Vi finner det igen i en tabell som finns i samma instructable. Den här tabellen innehåller nu CKSEL0 och SUT1 och SUT0 värde. Vi väljer alternativet att starta upp tid 65 millisekunder och därmed våra motsvarande bitvärden är CKSEL0 -1 SUT1 - 1, SUT0 - 1.

Vi således slutfört att välja uppsättning låg fuse byte.

Från början inställningen hög fuse byte var-

7) RSTDISBL-1
6) WDTON - 1
5) SPIEN-0
4) CKOPT -1
3) EESAVE -1
2) BOOTSZ1-0
1) BOOTSZ0-0
0) BOOTRST -1

Nu måste vi ändra dem till-

7) RSTDISBL -1
6) WDTON -1
5) SPIEN-0
4) CKOPT-0
3) EESAVE -1
2) BOOTSZ1-0
1) BOOTSZ0-0
0) BOOTRST -1
Det är 11001001 i binär eller C9 hexadecimalt. Vi bara ändrar CKOPT från 1 till 0, lämnar alla andra orörda.

Nu för den låga fuse byten, inledningsvis var-

7) BODLEVEL -1
6) BODEN -1
5) SUT1 -1
4) SUT0-0
3) CKSEL3-0
2) CKSEL2-0
1) CKSEL1-0
0) CKSEL0 -1

Vi ändrar den till-

7) BODLEVEL -1
6) BODEN -1
5) SUT1 -1
4) SUT0 -1
3) CKSEL3 -1
2) CKSEL2 -1
1) CKSEL1 -1
0) CKSEL0 -1

Det är 11111111 i binär eller FF i hexadecimal form.
Nu eftersom vi gjort gör evrything, behöver vi bara att bränna dessa nya inställningar i mikrokontroller.
Med avrdude-syntax, det bör vara-

avrdude - c usbasp -p m8 - U lfuse:w:0b11111111:m - U hfuse:w:0b11001001:m

Men det är bättre att skriva detta i hexadecimal, lik-

avrdude - c usbasp -p m8 - U lfuse:w:0xff:m - U hfuse:w:0xC9:m

Standardvärdena för Atmega8 inre 1Mhz oscillator var-

avrdude -p atmega8 - c usbasp - U lfuse:w:0xE1:m - U hfuse:w:0xD9:m

Slutligen slutar det totala förfarandet här. Även om det inte fullständigt förklara om säkringar och hur du programmerar dem, ger detta definitivt en ungefärlig uppfattning för nybörjare på vad säkringar och hur de ska hanteras.

Happy DIY-ning :)

Se Steg
Relaterade Ämnen

Med 8Pin ATTINY programmering skölden med en extern klocka

Instructables författare extraordinaire Randofo skapade en stor programmering sköld för att använda din Arduino för att programmera 8 pin ATTINY processorer. Han var även generösa nog att ge 50 kopior av ut till människor som skrivit instructables an...

Programming AVR med Arduino som ISP utan bootloader och externa crystal

Hej, jag är riktronics , och detta är min första instructable. Här förklarade jag hur till bränna program i din AVR microcontroller med en Arduino. Av detta behöver du inte köpa dyra AVR programmerare om du redan har en Arduino. Och jag antar att du...

Styra Denon AVR med Arduino + Ethernet shield

Med detta projekt har jag bygger en enkel kontrollpanel för min Denon AVR (AVR-X4100W).De flesta av Denon A / V-mottagare är nätverket redo, så att du kan styra dem inom en web interphasen eller en app. Det finns inga officiella dokumentation för HTT...

Med Minimus AVR med Arduino IDE

The Minimus AVR är en USB-ansluten mikrokontroller, som använder ATMEL 90USB192 mikrokontroller. Dess en billig åter programmerbara mikrokontroller med 21 digital input/output stift.De har använts av människor som mod spelkonsoler konsoler, för att l...

Driva din Arduino/AVR med ett Hand-Cranked batteri

om du någonsin velat driva din Arduino eller AVR från ett batteri för utveckling testning (batterierna har olika makt leverans kvaliteter än, säg, transformerad AC eller ens en reglerad vägg vårta i DC) testning men var trötta för att gå igenom batte...

USBASP Bootloading en ATMega328p med en inre klocka 8mhZ

vad är det vi ska göra är programmet en ATMega328P utan en extern kristall av använda USBASP programmerare och Arduino IDE.Varför skulle vi vilja det? Den använder mindre komponenter och får upp närmare att veta hur att programmera med något som WINA...

Bärbar sol spårning solpanel med A Windup klocka enhet

jag har bara konstruerade och byggde en hemmagjord solar tracker än kan enkelt ställa in att exakt anpassa till höjden av solen (eftersom det ändras dagligen, med årstiderna), och också troget följa solen, från soluppgång till solnedgång. Panelen spå...

Lära barn att tala om tid med en Strawbees klocka

Mycket enkelt 5 minuters projekt! Gör en klocka med händer som vänder sig till hjälpa ditt barn att lära sig att tala om tid. Ännu bättre, ditt barn kan göra och dekorera klockan med minimal vuxen hjälp.Steg 1: Samla ditt materialDu behöver:5 strån3...

16-nyckel knappsatsen avkodning med en AVR MCU

detta instructable visar dig hur gränssnittet en 16-nyckel knappsats till din AVR microcontroller och läsa nyckeln när en tangent är nedtryckt. Jag ska presentera knappsatsen först, sedan 74HC922 16-nyckel dekodern IC som pin-saving mekanism, sedan s...

Hur du använder Dragon Rider 500 med din AVR Dragon

detta instructable är en snabbkurs i hur man använder några av funktionerna av Dragon Rider 500 från Ecros Technologies. Tänk att det finns en mycket detaljerad Användarhandbok tillgänglig på webbplatsen Ecros.Dragon Rider är ett gränssnittskort för...

Hur du kommer igång med Eclipse och AVR

programmering AVRs är kul men ibland utvecklingsmiljöer tillverkare göra kod underhåll en syssla. Om du letar efter en gratis, cross-plattform, hög kvalitet programvara för programmering AVRs Eclipse är ett bra val.Flytta till en integrerad utvecklin...

Mitt svar på WS2811 med en AVR sak

första off - vill sägaBra om du Alan Burlison.Detta är inte menat att uppsamlare du på något sätt. Din kod gjorde det det måste göra. Stor framgång. Min första reaktion i en forum kommentar var faktiskt riktat mot folk som när det gäller icke-arbetan...

AVR/Arduino RFID-läsare med UART kod i C

RFID är vurm, överallt - från inventeringssystem badge ID-system. Om du någonsin varit på ett varuhus och gick genom dessa metall-detektor-ser saker på ingång/utgång points, då du har sett RFID.Det finns flera ställen att hitta bra information om hur...

AVR dubbla RGB Matrix föraren

En vän till mig hade en bra idé för ett fantastiskt projekt. Han ville skapa ett par av servo riggar som skulle efterlikna rörelsen av händerna med ett språng förslag. På toppen av servon skulle sitta några lasrar så han kunde skapa någon form av las...

AVR akustiska spektrumanalysator

AVR akustiska spektrumanalysator, baserat på Atmega8 AVR microcontroller, operationsförstärkare och några andra komponenter. Använda HD44780 kompatibel LCD eller VFD, ansluta ljudsignalen och njuta av effekten :) Du kan bygga på detta till din förstä...

En avancerad metod för Arduino & AVR programmering

Detta instructable är ett måste läsa för alla som är bekanta med core AVR chips och Arduino.Tja, mer konkret, när jag läste den instructable kommer du att kunna:1) vet väl skillnaden mellan AVR och Arduino.2) programmering Arduino med WinAVR & använd...

Universal programmerare för AVR: s och S51 plus ZIF socket!

Detta programmerare har utformats av företaget och har producerats minst 2500PCS av detta och det är ganska testad och standarder och nu vi inte tillverka denna version mer, här är en länk produkt (ledsen bara Farsi var tillgänglig)Universal AVR prog...

Bygga upp ett komplett AVR och spela Mastermind!

Spelet Mastermind har funnits länge, och jag minns att få en styrelse version med färgade pinnar när jag var liten. Jag älskar detta spel, eftersom det är lösbara genom ren logik. En spelare (eller en dator/mikrokontroller) väljer en sekvens av färge...

AVRSH: Ett kommando tolken skal för Arduino/AVR.

Någonsin velat "logga in" till din AVR microcontroller? Någonsin trodde det skulle vara häftigt att "katt" ett register att se dess innehåll? Har du alltid velat ha ett sätt att driva upp och stänga enskilda perifera sub system din AVR...