Bygga upp ett komplett AVR och spela Mastermind! (5 / 9 steg)
Steg 5: Konfigurera säkringar på AVR
Trots den avgörande betydelsen av frikoppling, är installationen mycket enkel och okomplicerad. Här är hur vi ska göra det. Vi kommer att sätta två kondensatorer mellan reglerade strömkällan och en spänning clamp diod. Tillsammans med det kommer vi att lägga till en LED med tillhörande motståndet som en strömindikatorn. Du kommer att ske i cirka 30 sekunder.
Gör din frikoppling krets
Bifoga din blanka, helt nya Reglerad strömkälla till din skärbräda. Jag ansluter via makt överst montering inlägg. Kolla in spänningsregulator i aktion. Du din frikoppling kondensatorer som nära din Vcc som möjligt, så jag flyttade min ATmega328P över några hål, tillsammans med kablar, och tog min frikoppling krets upp från längst ner till vänster. Köra positiva till vänster, negativ till höger och placera en 47uF elektrolytisk kondensator från positiva till marken, följt av en 0.1uF tantal kondensator, också från positiva till marken. Efter det, placera en 1N4002 diod att klämma, konstaterar riktning (det är polariserad). Slutligen, placera en "makten på" LED med det nödvändiga 1K ohms motstånd och som är frikoppling kretsen. Kolla in bilderna.
Köra en tråd från frikoppling kretsen till stift 7 Vcc av AVR positiva slut och du är klar! Du har en ganska komplett, huvudnummer rik AVR utvecklingsmiljö.
Så vad sägs om christen vi vår helt nya AVR genom att konfigurera den?
Konfigurera din nya AVR
Den primära sak behöver vi konfigurera är säkring inställningarna för att ange att AVR att vi vill använda en extern crystal. Med på detta, ska vi konfigurera några inställningar på samma tid som anger klockfrekvens, starttid och brown-out upptäckt.
Anslut din programmerare till rubriken ISP. Jag använder en USBTiny från Adafruit industrier. Notera hur den ansluter. Se till att man parar honkontakten i huvudet i rätt riktning.
Brand upp avrdude och utfärda följande kommando:
avrdude - c usbtiny -p atmega328p -F -t
Du ska bli hälsad med en snabb som visas nedan. Klicka på [i] i det övre vänstra hörnet av bilden och välj den ursprungliga storleken om du hittar bilden svår att läsa.
Nästa utfärda kommandot "del" att få enhetsinformation, följt av följande kommando:
Läs lfuse
Detta läser de lägre säkring inställningar, som vi är intresserade av, eftersom det innehåller klockinställningarna. Kom ihåg att 400-some sida datablad jag länkade tidigare? I den hittar du inställningarna för lägre säkringen i tabell 27-9. Åtta bitar i det är:
[CKDIV8 | CKOUT | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0]
Fuse inställningar är säreget, som 1 unprogrammed och en 0 anger programmerad. CKDIV8 kommer programmerade från fabriken och delar upp klockan 8. Den inre RC-oscillatorn är programmerat som standard på 8MHz och med CKDIV8 programmerade, som sätter klockfrekvens på 1MHz. Vi kommer att ändra på detta.
Hela lägre säkring registret är en byte och vad vi ska göra är inställd:
- CKDIV 1
- CKOUT oförändrad
- SUT1 0
- SUT2 1
- CKSEL3 0
- CKSEL2 1
- CKSEL1 1
- CKSEL0 1
Lägre säkringen kommer programmerade från fabriken med en inställning av 0x62. För att göra våra ändringar måste vi konvertera hex till binär, sedan tillbaka till hex för att göra vår förändring. 0x62 i binär är 0110 0010. Baserat på de förändringar som jag nämnde ovan, vi vill ha registret innehåller 1101 0111 som är 0xD7 i hex. Här är hur det ser ut:
[CKDIV8 | CKOUT | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0] 0x62 0 1 1 0 0 0 1 00xD7 1 1 0 1 0 1 1 1
Fire avrdude tillbaka upp och utfärda: avrdude - c usbtiny -p atmega328p -F -t
På snabb skriva på maskin
skriva lfuse 0 0xD7
Det bör ge dig ett meddelande om att skriva säkringen. Utfärda "Läs lfuse" för att läsa säkringen och kontrollera att det skrev 0xD7. När du är klar skriver du "quit" för att lämna.
Din AVR är nu programmerad att köra på en blixtsnabb 20MHz med en snabb starttid och brown-out upptäckt aktiverad. Du uppmuntras att läsa avsnittet om lägre säkring inställningar om någon som är förvirrande.
Vid denna punkt, kan du programmera din AVR till era hjärtan innehåll. Du kan koppla in lysdioder och blinka dem, läsa DIP-switchar, drivmotorer, skriv till LCD, Läs yttre minnen och mycket mer. Men du har inte något sätt att fånga produktionen i stor skala. Det är nästa arbetsplanen.