Lär dig mer om mikrokontroller (9 / 18 steg)
Steg 9: Starta programmering.
Nu när vi har komponenterna trådbunden upp, kommer att vi arbeta på programmet. Se till att du inte har något batteri eller annan strömkälla, ansluten till breadoard, detta kommer att göra ditt försöksledaren System få sin ström från ISP kontakten. Anslut USB-programmeraren USB-uttaget på datorn och kabel slutet till 10-polig hane huvudet på din Tiny2313 skärbräda.
Starta BASCOM-AVR genom att dubbelklicka på dess ikon. Skriv följande i redigeringsfönstret (det största vita fönstret i BASCOM-AVR):
"Titel:
"Författare: Art Granzeier, Granzeier Consulting
"Datum:
"Beskrivning:
"Avsnittet Konfigurering
$regfile = "ATtiny2313a.dat" ' ange mikro
$crystal = 1000000' frekvens för inre RC klocka
$hwstack = 32' standard - användning 32 för hårdvara stack
$swstack = 10' standard - användning 10 för SW stack
$framesize = 40' standard - användning 40 för ram utrymme
"Huvudprogrammet
Slutet
Använda ditt namn, i stället för mig, i raden författare, naturligtvis.
(Detta är i Template.bas-filen bifogas nedan. Du kan kopiera och klistra in innehållet från Template.bas i fönstret programmering av BASCOM.)
Detta kallas en mall; Det är helt enkelt ett skelett, som vi kan bygga våra riktiga program. Vi börjar varje nytt program med den här mallen, och då vi behöver inte oroa sig för den grundläggande "hushållningen". Spara mallen genom att klicka på filen och klicka på Spara som. I den dialogrutan Spara som, ge det namnet "mall". Från nu på, när du vill skapa ett nytt program för Tiny2313 försöksledaren systemet, börjar du genom att ladda mallen och sedan ändra namnet. Om du någonsin, av misstag, ta bort eller skriva över din mall, kan du återskapa den, bara genom att följa stegen ovan igen.
En dator, som Tiny2313A kommer normalt, utföra en program börjar längst upp och arbeta sin väg ner genom programmet. Detta kallas "uppifrån och ner" programmet utförande. Det är egentligen ganska lätt, det är precis som när du följa någons skriftligt riktningar; du börjar på toppen, och arbeta dig igenom anvisningarna, precis som normala behandlingen.
Låt oss ta en närmare titt på vad som händer här. Märker att de första fyra linjer alla börjar med apostrofen (enda offert, eller "), detta säger BASCOM kompilatorn att allt på denna linje är en kommentar, och att ignorera det. Kommentarer läggs till program så att du, programmerare, kan berätta vad programmet gör. I början ger vi bara identifierande information om programmet. I själva verket, kallas detta avsnittet identifiering av program.
I nästa avsnitt, som börjar med en annan kommentar linje, innehåller vad som kallas direktiv. Dessa rader, som börjar med ett dollartecken ($), riktar BASCOM kompilatorn hur man ställer sig. Som kommentaren visar linjen, detta är början av konfigurationsavsnittet. Dessa första fem raderna är verkligen utanför ramen för denna introduktion, men om man ser på de rader som du just angett, kan du redan berätta lite om dessa direktiv. Det första direktivet innehåller form av namnet på mikrokontroller på datorn Tiny2313 försöksledaren. Eftersom BASCOM kan konvertera din grundläggande program för många olika mikrokontroller i Atmel's AVR familj, behöver den veta exakt vilket chip till målet; Det här kommandot styr BASCOM konvertera ditt program till ATtiny2313. För nu, kan du bara hålla direktiven linjerna i konfigurationsavsnittet som de är över.
Den sista raden i vår mall är slutet uttalande. Varje program måste avslutas med ett slutet uttryck att hindra programmet från att starta över av inbyggda återställs.
Nu när vi har denna ram, mall, uppsättning, vi kan gå vidare med skriva våra egna program – och med ramen klar, det blir ett ganska enkelt jobb. Med mallen (som visas ovan-kom ihåg, använda ditt namn som författare, inte min) i skärmen redigering, starta ett nytt program genom att klicka på Arkiv-menyn och sedan klicka på Spara som... posten. När dialogrutan Spara som visas ge programmet ett namn genom att skriva LED Test 01 i fältet filnamn och klicka sedan på knappen Spara längst ned i dialogrutan. Märka, högst upp i fönstret BASCOM-i den blå namnlisten, att BASCOM visar namnet på ditt nya program. Du är nu redo att börja ange ditt nya program.
Börja genom att uppdatera avsnittet identifiering av programmet så här:
"Titel: LED Test 01
"Författare: Art Granzeier, Granzeier Consulting (igen, använda ditt namn)
"Datum: 13 okt 13 (använda dagens datum)
"Beskrivning: slå en LED på
Nästa, gå till längst ned i konfigurationsavsnittet (precis nedanför $framesize direktivet) och tillägga den följande lina:
Config PortB = utgång
Och efter Main Program kommentarraden, lägga till raden:
ställa in
PortB.0 ' Aktivera LED
Så, hela programmet bör se ut så här:
"Titel: LED Test
"Författare: Art Granzeier, Granzeier Consulting (igen, använda ditt namn)
"Datum: 13 okt 13 (återigen, Använd dagens datum)
"Beskrivning: slå en LED på
"Avsnittet Konfigurering
$regfile = "ATtiny2313a.dat" ' ange mikro
$crystal = 1000000' frekvens för inre RC klocka
$hwstack = 32' standard - användning 32 för hårdvara stack
$swstack = 10' standard - användning 10 för SW stack
$framesize = 40' standard - användning 40 för ram utrymme
Config PortB = utgång
"Huvudprogrammet
ställa PortB.0 "vända LED på
Slutet
Innan vi hämtar detta i Tiny2313, låt oss ta en närmare titt på dessa linjer. Avsnittet identifiering är precis som vi diskuterade. Det är bara en serie av kommentarer till dig, att du vet vad programmet är tänkt för att göra. Början av konfigurationen avsnitt, åtminstone de direktiv uttalandena, är samma som vi beskrivit tidigare. Det enda som är nytt i konfigurationsavsnittet är en sats som är nytt för oss. Den linjen (Config PortB = utgång) berättar den registeransvarige att inrätta Port B som en utdataport. Port stift kan anges till antingen läsa spänningsnivån på stift (0V eller 5V,) kallas input, eller för att placera en spänning (0V eller 5V) på stiftet, detta kallas utdata. För detta program vill vi ha PIN-koden vara en utgång; så vi hamnen till utgång. Vi kan ha kontroll över enskilda stift av en hamn, men det här exemplet är det lättare att bara ställa in hela hamnen till utgång.
Slutligen får vi kött av frågan. Den senaste raden av detta program (som PortB.0) är faktiskt den del som gör arbete. Det inställda uttalandet talar den registeransvarige en pin hög eller, som det till plus 5 volt. Återstoden av detta uttalande berättar Tiny2313 controller som pin ställa till hög, PortB.0. Ta en titt på diagrammet av den Tiny2313 chipet; Observera att pin nummer 12 på chip är märkt som PB0. Den P-delen av den berättar att det är en Port – som är en serie av pins, som alla kan ställa in till antingen känsla en spänning (0V eller 5V) och reagerar på det. (pin kallas indata när den gör detta) eller det kan mata en spänning (0V eller 5V) som kan styra belysning, reläer , motorer eller andra saker (pin kallas då en utgång.) Som kommentaren på den linjen, nämner, kommer detta ljus LED på det klämmer fast. Port B är en av de fyra portarna på Tiny2313.
Nu har vi skrivit vårt program, måste vi omvandla den till maskinkod, och sedan skicka programmet till registeransvarige (eller ladda ner den.) Minns från tidigare, att omvandla ett program från en människoliknande språk, till exempel grundläggande, till en maskin-språk kallas sammanställningen. För att kompilera programmet, ska du klicka på Program-menyn och klicka på kompilera. Detta startar kompilator som kommer att konvertera programmet till något som "2313 chipet kan förstå och maskin programmet lagras i BASCOMS buffert område, redo att skicka till Tiny2313 chip.
Nu när din maskin språkprogram har lagrats i bufferten, måste du skicka bufferten till mikrokontroller chip. Klicka på Program-menyn igen och klicka på Skicka till chip, längst ned på menyn. Detta öppnar ett nytt fönster för programmerare. Du kan se bufferten i huvudfönstret i fönstret programmerare. För att skicka bufferten till mikrokontroller, klicka på menyn Chip och klicka sedan på nere. Ditt program kommer att skickas till Tiny2313 och sedan fönstret programmerare kommer att försvinna.
Ta en titt på din Tiny2313 försöksledaren systemet. Observera att rätt-mest LED lyser nu. Grattis är i ordning. Det går fint, va?