Det finns en handledning till kortet på hemsidan. AVR STK500.



Relevanta dokument
AVRStudio på tre minuter. Micke Josefsson, 2005

General Purpose registers ALU I T H S V N Z C SREG. Antag att vi behöver skriva in talet 25 till register R18

TSIU50 Mikrodatorprojekt. LAB1 AVR-introduktion och logikanalysator

Flödesschema som visar hur man använder Quartus II.

Programräknaren visar alltid på nästa instruktion som skall utföras. Så fort en instruktion har hämtats så visar programräknaren på nästa instruktion.

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile.

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for AVR

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte

Datorteknik 1 (AVR 1)

Beijer Electronics AB 2000, MA00336A,

Instruktioner för uppdatering av enheter med ISP

Kontrollskrivning Mikrodatorteknik CDT S2-704

Isolda Purchase - EDI

NetBeans 5.5. Avsikt. Projektfönster

Styrteknik: Binära tal, talsystem och koder D3:1

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok.

Inledande programmering med C# (1DV402) Ditt första C#-program med Visual Studio

AVR 5. Styrning av trafikljus. Digitala system 15 p

Övning 4 EITF25 & EITF Protokoll. October 29, 2016

Installation av F13 Bråvalla

AVR Studio 4 Och AVRFLASH

2.1 Installation of driver using Internet Installation of driver from disk... 3

NetBeans 7. Avsikt. Projektfönster

1. Compute the following matrix: (2 p) 2. Compute the determinant of the following matrix: (2 p)

Styrteknik : Funktioner och funktionsblock

[HUR DU ANVÄNDER PAPP] Papp är det program som vi nyttjar för att lotta turneringar och se resultat.

Laboration 1 Introduktion till Visual Basic 6.0

Föreläsning 4 IS1300 Inbyggda system

A-del motsvarande KS1

Quick Start Guide Snabbguide

Besvara de elektroniska frågorna (se kurshemsidan). Läs kapitel i kursbok

Exempelsamling Assemblerprogrammering

Får endast utföras av behörig personal. May only be carried out by authorized electrician

Support Manual HoistLocatel Electronic Locks

Paneler - VCPXX.2. Programmeringsmanual för VCP-paneler. Revision 2

Digitalteknik och Datorarkitektur 5hp

Så här skriver du ditt första program i C++

Code-Lite tutorial ( /RoJ)

Preschool Kindergarten

LEU240 Mikrodatorsystem

Labb i Datorsystemteknik och programvaruteknik Programmering av kalkylator i Visual Basic

Översättningsminnen laboration

Laboration 2 i Datorteknik- Assemblerprogrammering II

Foto: Rona Proudfoot (some rights reserved) Datorarkitektur 1. Datapath & Control. December

Eclipse. Avsikt. Nu ska ett fönster liknande figuren till höger synas.

Övning: Skapa en ny regel

Programexempel 1 AND-funktionen

FÖRBERED UNDERLAG FÖR BEDÖMNING SÅ HÄR

Annonsformat desktop. Startsida / områdesstartsidor. Artikel/nyhets-sidor. 1. Toppbanner, format 1050x180 pxl. Format 1060x180 px + 250x240 pxl.

SKAPA DET FÖRSTA PROJEKTET I mikrobasic PRO for PIC

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Komma igång med Adobe Presenter ver.7

Tentamen PC-teknik 5 p

Administratörsrättigheter i Windows krävs för att genomföra installationen.

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

8 < x 1 + x 2 x 3 = 1, x 1 +2x 2 + x 4 = 0, x 1 +2x 3 + x 4 = 2. x 1 2x 12 1A är inverterbar, och bestäm i så fall dess invers.

Verktyg och Utvecklingsmiljö. Föreläsning 2 Eclipse


Elektroteknik MF1016 föreläsning 9 MF1017 föreläsning 7 Mikrodatorteknik

The Intelligent Timer

Hur man lägger upp och redigerar dokument i Typo3.

Visualisering med Rhino/Vray/Photoshop av modell som skapats i Revit. AADA15 Revit Workshop 2017 LTH Ludvig Hofsten

Föreläsning 3. Programmering, C och programmeringsmiljö

Nemo96 HD och Nemo96 HD+ firmware uppdatering

CPU. Carry/Borrow IX. Programräknare

SVENSK STANDARD SS-ISO 8734


Så här installerar du Friluftskartan pro på din dator

Föreläsning 1: Intro till kursen och programmering

Bankernas kontonummer Bank Account Numbers in Swedish Banks

Every visitor coming to the this website can subscribe for the newsletter by entering respective address and desired city.

Simulering med ModelSim En kort introduktion

PARALLELL OCH SEKVENTIELL DATABEHANDLING. Innehåll

BILAGA 5 Fi2Utrymmen Bilaga till CAD-kravspecifikation med förvaltningsinformation Version 1.0

Schenker Privpak AB Telefon VAT Nr. SE Schenker ABs ansvarsbestämmelser, identiska med Box 905 Faxnr Säte: Borås

1. Log on to the system using the user ide and password ide. 2. Copy the file /etc/ca-certificates.conf to the home directory of the user.

Laboration 1. "kompilera"-ikonen "exekvera"-ikonen

Workplan Food. Spring term 2016 Year 7. Name:

Datasäkerhet och integritet

BDM12 Användarbeskrivning. Introduktion

Lunds Universitet LTH Ingenjörshögskolan IDa1, IEa1 Helsingborg. Laboration nr 4 i digitala system ht-15. Ett sekvensnät. grupp. namn.

Swedbank Mobile Loadtesting. LoadRunner Mobile App protocol

Bankernas kontonummer Bank Account Numbers in Swedish Banks

4 grundregler. Minneshantering. Problemet. Windows minkrav

Introduktion till syntesverktyget Altera Max+PlusII

LabelLogic. Bruksanvisning. Innehåll. Label Choices. Data Library. Print Centre. Design Centre

Kom igång. Readyonet Lathund för enkelt admin. Logga in Skriv in adressen till din webbsida följt av /login. Exempel:

Ansvarig lärare: Olof Andersson, Telefon (besöker skrivsalen)

DIGITALA PROJEKT Väderstation

Tentamen i TDP004 Objektorienterad Programmering Praktisk del

Programmera i teknik - kreativa projekt med Arduino

Simulering med ModelSim En kort introduktion

Användarhantering Windows 7 I denna laboration kommer vi att skapa nya användare och grupper och titta på hur man hantera dessa.

Digital Personvåg MANUAL H

Investeringsbedömning

F Secure Booster är ett verktyg för att snabba upp och städa upp i din pc eller

Det finns en hemsida. Adressen är

Övning 1: Skapa virtuell maskin för utveckling.

Transkript:

Laboration 1 (ver 1) Uppgifter: AVR Studio 4.lnk Bli bekant med utvecklingskortet, och AVR studio. Skriva in program för binärräknare. Simulera detta samt ladda ner det till kortet. Förse ovanstående program med en fördröjningsloop. Simulera och provköra. Skriva ett program som läser in från en port. Det inlästa värdet skall sedan presenteras på lysdioderna på en annan port. Hur skall det inlästa värdet kunna multipliseras med 2, 4 eller 8 på ett enkelt sätt. Skriv ett program för detta. Det finns en handledning till kortet på hemsidan. AVR STK500. Kortet matas med DC 10 15 V. Polariteten är valfri. Kortet kopplas till datorn via en 9 polig kabel. Seriekabeln kopplas till det uttag som sitter mitt på kortets kortsida. ( RS232 CTRL ). Skapa en katalog på D: där Du temporärt sparar Din laboration. Denna katalog skall Du kopiera till Din hemkatalog när laborationen är klar. Det verkar som att man inte kan skriva in källkoden då man arbetar mot en server. Öppna AVR Studio 4 och skapa ett nytt projekt. Location: Välj en katalog på D: Project Name: Valfri text, Inutial File Blir samma som Project Name med tillägget.asm När Du är klar så kommer Du till AVR Studio. Du får tre fönster: Workspace Output och ett fönster där Du skriver in Din kod. Välj den kod som finns för binärräknaren på föreläsning 2. F2-2005 Håll reda på de tre fälten, Label Mnemonic Operand ; semikolon före kommentar. När Du sparat koden är det dags att bygga. I huvudmenyn: Project Build F7 Om koden är korrekt bildas ett antal nya filer. Information finns i fönstret Output Sista meddelandet är : Assembley complete with no errors. Finns fel i assemblerfilen så kommer detta att anges i Fönstret Output En röd prick för varje fel. Dubbelklicka på raden, så visas var felet finns i assemblerkoden. Rätta felen och gör om.

Testa programmet Huvudmenyn: Debug Start Debugging Nytt fönster: Select device and debug platform Välj AVR Simulator, resp ATMega16 I kodfönstet finns nu en gul pil som pekar på första instruktionen. Fönster Output kan Du stänga tills vidare. Step over I Workspace finns nu information om vad som händer då programmet körs. Det som är intressant är Den port som används i programmet. PORTB. Vidare hur statusregistret ändras. SREG hittar Du under CPU. Register R16 används också av programmet. Använd Step over ( F10) för att stega genom programmet. I Workspace finner Du hur processorn arbetar. Huvudmenyn View Här hittar Du ett antal fönster som kan öppnas. Memory och Disassembler. Använd även dessa för att följa hur processorn arbetar.

Ladda ner programmet till utvecklingskortet. Öppna output-fönstret. Detta görs under View Här får Du en del information Huvudmenyn Tools STK500/AVRISP/JTAGICE STK500/AVRISP/JTAGICE Nu får Du detta fönster: Programmet skall laddas ner till Flash-minnet. Vid Input HEX File letar Du reda på Din hex-fil. Knappen med tre punkter till höger är en bläddringsknapp. När Du har rätt fil klickar Du på Program, och hexfilen laddas ner till kortet. Provkör. Tillfoga nu en fördröjningsloop till programmet. Testa Ditt program i Debug. Det tar lite tid att stega genom en räknare från 0 till FF ( 0 till 255 ). För att hitta intressanta värden, markerar Du registerinnehållet, för att sedan ändra detta till ett valfritt värde. Med hjälp av disassembler finner man hur kompilatorn har översatt källkoden till maskinkod. Jämför innehållet i disassembler med innehållet i den hexfil som skapats. Formatet som används är Intels hex format. Det finns också ett annat format för att skriva hex-filer. Motorolas S-record Format. Nedanstående text kan ge en uppfattning hur det hela fungerar.

bytes; Intel s Hex Format A hex file [Int88] consists of a series of lines (records) in a file. Each record is made up of six fields: 1 Mark 1 a simple colon, : 2 Length 2 number of bytes in the data field 3 Offset 4 the address (2 byte) at which data should be programmed 4 Type 2 record type (00, 01, or 02) 5 Data 0-2_ 0 to _ this contains the opcodes 6 Checksum 2 sum of bytes in fields 2-5 plus checksum are zero Note that since this is an ASCII encoding, each byte (in hexadecimal) requires two characters. For example, a byte with value 255 would be written as FF. The format can be used for 8-, 16- and 32-bit microprocessors. It distinguishes between several different record types, not all of which are available for all architectures: Type Description Architecture 00 data record 8-, 16-, 32-bit 01 end of file record 8-, 16-, 32-bit 02 extended segment address record 16-, 32-bit 03 start segment address record 16-, 32-bit 04 extended linear address record 32-bit 05 start linear address record 32-bit Consider the following example (taken from an ATmega16 assembly program): :100000000CC00F9300E000000000000000000A9503 :10001000D1F70F910A95A9F708950FE50DBF04E0F8 :100020000EBF00E005BB0FEF04BB11E015BB00E005 :0E003000E8DFE7DFE6DF8894111FF0F3F7CF7B :00000001FF The first line has data length 0x10 = 16 bytes, programming should start at address 0x0000, and the type of the record is 00 (data). After that follow 16 bytes of data, starting with 0x0C. The ATmega16 has a 16-bit opcode and is a little-endian machine, so the first opcode is 0xC00C (0x0C at byte address 0x0000, 0xC0 at byte address 0x0001), which translates to an rjmp to address 0x0C. In this case the start of the main program. The last byte in the record, 0x03, is the checksum, which you get by summing up the bytes from 0x0C until 0x95 (that makes 0x02FD) and computing the two s complement of the lowest byte (-0xFD = 0x03). The following three records are also data records. The last line is the end-of-file record.

Tips för sista uppgiften. En port är utport om motsvarande DDR- register innehåller ettor. Den fungerar som inport om DDR-registret innehåller nollor. I progammet för binärräknaren har vi använt: OUT PORTB, temp Detta för att läsa ut innehållet i temp till PORTB. För att läsa in från PORTD till register temp används kommandot: IN temp, PIND Ytterligare en uppgift Skapa ett rinnande ljus. Två lysdioder skall vara tända bredvid varandra och rinna åt höger.