Stap 5: Configureer zekeringen op de AVR
Ondanks het cruciale belang van ontkoppeling, is de installatie zeer eenvoudig en ongecompliceerd. Hier is hoe we gaan om het te doen. We gonna zetten twee condensatoren tussen de gereglementeerde energiebron en een spanning klem diode. Samen met dat, we gonna een LED met bijbehorende weerstand als een power-indicator toevoegen. Je zult worden gedaan in ongeveer 30 seconden.
Maak uw ontkoppeling circuit
Bevestig uw glanzende, gloednieuwe gereglementeerde energiebron aan uw breadboard. Ik verbinding maken via een macht boven montage van berichten. Bekijk de spanningsregelaar in actie. U wilt uw ontkoppeling condensatoren zoals dicht bij uw Vcc mogelijk, zo ben ik verhuisd van mijn ATmega328P over een paar gaten, samen met de draden, en mijn ontkoppeling circuit opgevoed vanaf de linkerbenedenhoek. Positieve uitgevoerd aan de linkerkant, negatief over het recht en plaats een elektrolytische condensator van 47uF van positief aan de grond, gevolgd door een 0.1uF tantaal condensator, ook van positief op grond. Plaats daarna een 1N4002 diode aan klem, vaststellend van de richting (het wordt gepolariseerd). Tot slot, het plaatsen van een "inschakelen" LED met het vereiste 1K Ohm weerstand en dat is de ontkoppeling circuit. Check de foto's.
Uitvoeren van een draad vanaf de positieve einde van de ontkoppeling circuit met pin 7 Vcc van de AVR en je bent klaar! Hebt u een vrij volledige, functie rijke AVR ontwikkelomgeving.
Dus hoe zit we onze gloednieuwe AVR Christ door configureren?
Configureren van uw nieuwe AVR
De primaire ding dat we moeten configureren zijn de fuse-instellingen om aan te geven aan de AVR dat we wilt gebruiken van een externe kristal. Daarmee zullen we een paar instellingen configureren tegelijkertijd de waarmee kloksnelheid, starttijd, en detectie van de brown-out.
Uw programmeur verbinden met de ISP-header. Ik gebruik een USBTiny van Adafruit industrieën. Let op de wijze waarop dat het verbindt. Zorg ervoor dat u de vrouwelijke connector aan de header in de juiste stand metgezel.
Vuur opwaarts avrdude en het volgende commando:
avrdude -c usbtiny -p atmega328p -F -t
U moet worden begroet met een prompt zoals hieronder getoond. Klik op de [i] in de linker bovenhoek van de afbeelding en selecteer de oorspronkelijke grootte als u de afbeelding moeilijk te lezen.
Naast het "deel" commando om sommige apparaatgegevens, gevolgd door de volgende opdracht:
read lfuse
Dit leest de lagere fuse-instellingen, die we kochten, zoals het bevat klokinstellingen. Onthoud die ik heb gekoppeld eerder in de gegevensbladweergave 400-some pagina? Daarin vindt u de instellingen voor de lagere zekering in tabel 27-9. De acht bits in het zijn:
[ CKDIV8 | CKOUT | SUT1 | SUT0 | CKSEL3 | CKSEL2 | CKSEL1 | CKSEL0 ]
Fuse instellingen zijn eigenaardige, als een 1 betekent unprogrammed en een 0 geeft aan dat geprogrammeerd. CKDIV8 geprogrammeerde komt uit de fabriek en de klok worden gedeeld door 8. De interne RC-oscillator is geprogrammeerd standaard op 8MHz en met CKDIV8 geprogrammeerd, waarin de kloksnelheid op 1MHz. We gaan om dat te veranderen.
Het hele lagere fuse-register is één byte en wat we gaan doen is ingesteld:
- CKDIV 1
- CKOUT ongewijzigd
- SUT1 0
- SUT2 1
- CKSEL3 0
- CKSEL2 1
- CKSEL1 1
- CKSEL0 1
De lagere zekering komt geprogrammeerde uit de fabriek met een instelling van 0x62. Om onze wijzigingen moeten we naar de hex converteren naar een binair getal, vervolgens terug naar hex om onze verandering te brengen. 0x62 in binaire is 0110 0010. Op basis van de wijzigingen die ik hierboven heb genoemd, willen wij dat register bevatten 1101 0111 die 0xD7 in hex. Hier is hoe dat eruit ziet:
[ 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
Brand avrdude back-up en de afgifte van: avrdude - c usbtiny -p atmega328p -F -t
Typ bij de prompt
write lfuse 0 0xD7
Het moet geven u een bericht over het schrijven van de zekering. Uitgifte 'lfuse lezen' om te lezen van de zekering en verifiëren dat het 0xD7 schreef. Eenmaal voltooid, typ "quit" om te verlaten.
Uw AVR is nu geprogrammeerd om te draaien op een brandende 20MHz met een snelle opstarttijd en een brown-out detectie ingeschakeld. Je aangemoedigd om te lezen van de sectie op lagere fuse instellingen als om het even welk van dat is verwarrend.
Op dit punt bent u kundig program uw AVR aan uw harteninhoud. U kunt aansluiten van LED's en knipperen ze, lees DIP-schakelaars, motoren rijden, schrijven naar LCD's, lees externe herinneringen, en meer. Maar je hoeft niet een manier om te vangen output op een grote schaal. Dat is de volgende regeling van de werkzaamheden.