|
||
|
|
|
|
AVR-programmering Detta är liten guide för att komma igång med programmering av en mikrokontroller. Som ett enkelt nybörjarprojekt visas nedan ett simpelt rinnande ljus med 6 lysdioder i programspråken assembler och C. Det finns en mängd olika mikrokontrollers och programmerare på marknaden. Detta projekt använder en liten mikrokontroller som heter Atmega88 från tillverkaren Atmel som ingår i deras AVR-serie. Fördelen med AVR är att de är mycket enkla att programmera, billiga, snabba och att det finns en utvecklingsmiljö med gratis assembler och framförallt C-kompilator. Atmega88 har tillräckligt med minne och finesser för alla nybörjarprojekt och kostar bara ca 30kr! Det finns många olika programmerare att välja mellan och även många att bygga själv. Eftersom programmerarna från Atmel är ganska billiga är rådet att skaffa en sådan då de har USB-anslutning och med säkerhet stödjer kommande versioner av utvecklingsmiljön. I exemplet nedan används AVR Dragon som är en programmerare som fungerar med de flesta AVR-kretsar och dessutom kan användas som debugger för kretsar med mindre minne än 32kB. Notera att Dragon levereras helt utan kablage. Vad behövs, hårdvara: Programmerare Atmel "AVRISP mkII" eller "AVR Dragon" Mikrokontroller Atmel AVR "Atmega88" Labbplatta, strömförsörjning, 8 dioder, 9 motstånd, ISP-kontakt, kopplingskabel Leverantörer: Lawicel SWCAB ELFA med flera. Mjukvara: AVR Studio 4 (gratis) WinAVR C-kompilator (gratis)
Miniguide: Steg 1: Installera AVR Studio och servicepack för AVR-studio. Glöm inte att klicka i USB-drivrutiner under installationens gång. Hämta hem och installera WinAVR C-kompilator. Koppla in programmeraren och kolla att drivrutinerna installeras. Steg 2: Hämta hem och packa upp dessa filer och dubbelklicka på *.aps filen så öppnas projektet i AVR-studio. Steg 3: Koppla ihop allt på en labbplatta som bilden nedan visar. Till vänster en spänningsstab 7805 som ger 5 volt stabil spänning. Glöm inte 100nF avkopplingskondensatorer mellan 5 volt och jord! I mitten sitter mikrokontrollern Atmega88. Sex stycken små lysdioder tillsammans med sex motstånd på 1 kΩ anslutna på PORTC demonstrerar det rinnande ljuset. Mellan 5 volt och reset sitter ett motstånd på 10 kΩ för att hålla reset hög. Ingen kristall behövs då mikrokontrollern har inbyggd oscillator. Till höger programmeraren och debuggern AVR Dragon.
Steg 4: Den hemmagjorda programmeringskontakten är kopplad enligt bild nedan. För att se vilka ben som är vad på mikrokontrollern se datablad.
Steg 5: Kompilera koden. Notera hur mycket större hexfilen blir i C jämfört med assembler (182 bytes vs 62 bytes). Steg 6: Klicka på AVR-knappen i AVR-studio för att ansluta till din programmerare. Välj Fuses och klicka i Boot Flash = 1024, Brown out disabled, Int RC Osc. 8Mhz 65ms. Se bild nedan. Fungerar det inte prova att ställa ner ISP-frekvensen under fliken Board. Steg 7: Välj sedan rätt hexfil, Atmega88_x_exempel.hex, under fliken Program, Flash och klicka på Program så ska hexfilen laddas ner till mikrokontrollern och lysdioderna börja blinka. Lycka till!
Bra AVR-länkar: Mikrodatorteknik-material från högskolan i Trollhättan Beginner's introduction to AVR assembler language Tutorial for learning assembly language for the AVR-Single-Chip-Processors AT90Sxxxx Bygg din egen programmerare: yaap PonyProg AVRDUDE
|
Webbplatsen uppdaterades lördag 21 april 2007