Datorteknik TSIU02 Kursinformation

Relevanta dokument
Kursplanering för Mikrodatorteknik 4p/5p

Digital- och datorteknik

Datorteknik TSIU02 Lab 2 Morsesändare v0.7

Kursinformation Grundkurs i programmering med Python

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

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Grundläggande datorteknik

Föreläsning 2. Operativsystem och programmering

Digitala system EDI610 Elektro- och informationsteknik

Datorsystemteknik DAV A14 Föreläsning 1

Enchipsdatorer med tillämpningar LABORATION 7, ROBOT

Datorteknik Övningsuppgifter

Laboration nr2 med enchipsdatorn PIC-16F877

Resultat av kursvärdering

Datorkonstruktion. Programkurs 8 hp Computer Hardware and Architecture TSEA83 Gäller från: Fastställd av. Fastställandedatum

Objektorienterad Programmering (TDDC77)

Programmering, grundkurs

Välkomna till DIT012 IPGO

Datorsystemteknik DAV A14 Föreläsning 1

TDIU01 (725G67) - Programmering i C++, grundkurs

LABORATION. Datorteknik Y

Laboration Datorteknik TSIU02/TSEA28 3. Digitalur

Laboration Datorteknik D 3. Digitalur

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: Tid: 14:00-18:00.

TETRIS. LTH, Campus Helsingborg EITA15 Digitala System

Kursrapport Dynamiska webbapplikationer 1

Introduktion till E-block och Flowcode

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1

Programutveckling med Java 7.5 p, ht 2007 (D0019N) STUDIEHANDLEDNING - ALLMÄN INFORMATION

Individuell inlämningsuppgift del 1: Kognitiv design.

Innehåll. 1 Inledning 3

Individuell inlämningsuppgift del 1: Kognitiv design.

Grundkurs i programmering - intro

Snake. Digitala Projekt (EITF11) Fredrik Jansson, I-12 Lunds Tekniska Högskola,

HF0010. Introduktionskurs i datateknik 1,5 hp

Individuell inlämningsuppgift TEK210

Mall för att skapa och revidera kursplan

LABORATION. Datorteknik Y

Vår väg till Godkänt, och sedan vidare...

2010/2011. Syftet med kursen är att vara en introduktion till konstruktion och programmering av små inbyggda system.

Laboration Datorteknik TSIU02 2. I/O-programmering

Maskinorienterad programmering

Introduktionsföreläsning

Digital- och datorteknik

Välkomna till DIT012 IPGO. Tyvärr en bug i Google Docs: Sidnummer stämmer inte alltid. Alla anteckningar börjar på sidan 1.

Systemkonstruktion SERIEKOMMUNIKATION

Digitala projekt rapport

Tentamen. Datorteknik Y, TSEA28

Föreläsning 1: Introduktion till kursen

Föreläsning 1: Introduktion till kursen

Industriella styrsystem, TSIU04. Föreläsning 1

Introduktionsmöte Innehåll

Föreläsning 1 Programmeringsteknik och C DD1316. Mikael Djurfeldt

Studiehandbok 1FE196 Introduktion till ekonomistyrning, 7,5

Laboration i digitalteknik Introduktion till digitalteknik

Introduktion till informatik - människa, teknik, organisation

LEU240 Mikrodatorsystem

Introduktion till programmering och Python Grundkurs i programmering med Python

Verksamhetsförlagd utbildning II,

Objektorienterad Programmering (TDDC77)

Programmeringsteknik I

TDDC77 Objektorienterad Programmering

En Von Neumann-arkitektur ( Von Neumann-principen i föreläsning 1) innebär:

Kurs-PM HI2011, Programutveckling i funktionella och objektorienterande spra k, P3 VT17

MATLAB-modulen Programmering i MATLAB. Höstterminen hp. Vad är MATLAB

Datorteknik TSIU02 Lab 4 Spel v0.3

Datateknik GR (A), Introduktion till programmering i C++, 7,5 hp

Skäl för revideringarna är att kursplanerna tydligare ska spegla kursernas innehåll och mål.

Grundläggande programmering med matematikdidaktisk inriktning för lärare som undervisar i gy eller komvux gy nivå, 7,5 hp

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen

Outline. Objektorienterad Programmering (TDDC77) Kursinfo. Outline. Hemsida. Organization. Ahmed Rezine Examination. Webreg.

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

Mål. Datorteknik. Repetition av avbrott. Innehåll. Mätning och styrning. Datorer för mätning och styrning. timer. Datorsystem A/D. Analog insignal D/A

Datorsystem Laboration 2: Minnesmappade bussar

Temperaturmätare med lagringsfunktion DIGITALA PROJEKT EITF11 GRUPP 14, ERIK ENFORS, LUDWIG ROSENDAL, CARL MIKAEL WIDMAN

Jonas Detterfelt Siv Söderlund Johan Högdahl Michael Josefsson Tomas Svensson. Föreläsningar Lektioner Laborationer Projekt

Tentamen. Datorteknik Y, TSEA28

Lösningar till tentamen i EIT070 Datorteknik

Maskinorienterad Programmering LP3-2017/2018

CE_O3. Nios II. Inför lab nios2time

Laboration Datorteknik TSIU02/TSEA28 3. Digitalur

EDAA01 Programmeringsteknik - fördjupningskurs

Kursen ingår som en obligatorisk kurs på juristprogrammets grundnivå och upptar programmets fjärde termin.

[Introduktion till programmering ]

Digitalt lärande och programmering i klassrummet

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

Bedömning, betygsättning och VFU - 15 hp

Kursen är en obligatorisk kurs inom Kandidatprogrammet för service management och ges tredje terminen.

Programmera ett dörrlarm. Se video

Enchipsdatorer med tillämpningar LABORATION 6, ROBOT

Labyrintspelet EDI021 Grupp 5

Kursinformation Tets 37 HT -2013

Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH.

Loopar och ljud 3 av 7. Lektionen handlar om att lära sig programmera loopar och använda ljudeffekter med verktyget Scratch. Loopar och ljud 3 av 7

Föreläsning 1 Programmeringsteknik och C DD1316. Kurswebbsidan. Mål

Loopar och ljud 3 av 7. Lektionen handlar om att lära sig programmera loopar och använda ljudeffekter med verktyget Scratch. Loopar och ljud 3 av 7

Tentamen. Datorteknik Y, TSEA28

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

Digitalteknik M. Programkurs 4 hp Switching Circuits and Logical Design TMEL53 Gäller från: 2017 VT. Fastställd av. Fastställandedatum

Transkript:

Datorteknik TSIU02 Kursinformation Michael Josefsson 24 maj 2018

1.1 Allmänt Kursen handlar om praktisk datorteknik på en grundläggande nivå. Programmerar man på en ännu lägre nivå är man processorkonstruktör! Här behandlas assemblerprogrammering, datorarkitektur och binär aritmetik. För att kunna tillgodogöra dig kursen krävs ett aktivt deltagande i föreläsningar, lektioner och framförallt laborationer. Det förutsätts att du har vissa kunskaper ur grundläggande digitalteknik, speciellt talsystem. Laborationerna utförs samtliga på processorn ATmega16 med kringkomponenter. Har du erfarenhet av assemblerprogrammering på någon annan processor underlättar det, men kursen förutsätter ingen vana av processorer. En stor del av kursen utgörs av fyra examinerande laborationer i grupp om två studenter. Dessa är fyra timmar långa. En femte examinerande laboration (LAX) utförs avslutningsvis individuellt på ett 90-minuterspass. Samtliga laborationer kan utföras som ett miniprojekt. Till skillnad från traditionella laborationer finns här få instruktioner av typen gör si, gör så..., mät här och så vidare. För att kunna göra laborationen måste laborationshandledningen läsas noggrant. Är det några oklarheter kan du ställa frågor på den labförberedande lektionen. Speciellt viktigt är det att komma förberedd till laborationstillfällena. Med förberedd menas här att du som student har med dig komplett programkod som är simulerad och testad så långt du kan komma. Observera: Det går inte att få godkänt på laboration enbart genom att närvara på den. Ett aktivt deltagande och genomarbetade lösningsförslag är nödvändiga. Labassistenten kan komma att diskutera dina lösningsförslag med dig och din grupp. Labassistenten har mandat att avvisa sådana studenter och grupper som inte är tillräckligt förberedda. Laborationerna belyser viktiga begrepp i datorsystem på processornivå. Det kan handla om att läsa in yttre signaler (digitala som analoga), ansluta displayer m.m. Flera av dessa knep kommer att vara direkt tillämpbara i senare kurser, till exempel Mikrodatorprojekt som är valbar för vissa. Till kursen finns föreläsningsunderlag, laborationer och övningsuppgifter att ladda ner. Kursen består av 10 föreläsningar, 4 lektioner och en laborationsserie för tillsammans 4 hp. På kursen förekommer enbart betygen Godkänd eller Underkänd. 2

1.2 Undervisning 1.2 Undervisning Undervisningen bedrivs i form av föreläsningar och lektioner samt laborationer. Det finns ett häfte med övningsuppgifter främst avsedda för eget arbete och simuleringar. 1.3 Föreläsningar Det nedladdningsbara föreläsningsunderlaget (se Kurslitteratur) innehåller det jag nämner på föreläsningarna med undantag för de bilder som ingår i det kompletta underlaget. Bilderna antas studenten själv rita in med föreläsningarna som underlag. Detta, måhända något ovanliga, pedagogiska knep befrämjar ett aktivt studentcentrerat lärande och har genom åren visat sig mycket effektivt och uppskattat. Föreläsningsunderlaget är nödvändig för kursen. 1.3.1 Föreläsningar Ungefärligt upplägg. Mindre variationer kan uppstå. Föreläsningarna styrs av det separata föreläsningsunderlaget. F1. Introduktion Föreläsningsunderlag, datormodell, programmerarmodell ATmega16. Instruktioner tar sin början. F2. Instruktioner Vi fortsätter med instruktioner så långt vi hinner. För att förankra instruktionerna skrivs flera korta programsnuttar och kodexempel. F3. Binär artimetik Föreläsningen förutsätter att binära tal fram till negativa tal redan är inhämtade genom tidigare kurser (digitalteknik rimligen). Repetera dock teckenlösa binära tal i föreläsningsunderlaget, deras positionsvikter osv. Vi kommer presentera negativa tal enligt tvåkomplementrepresentationen och hur de fungerar med carry och spill. F4. Strukturerad programmering För all programmering i allmänhet men assemblerprogrammering i synnerhet måste programmet vara skrivet på ett begripligt sätt. I denna kurs används strukturerad programmering enligt JSP för att nå detta mål. Metoden går ut på att bryta ner uppgiften i hanterbara delar. Till detta används strukturdiagram. Resten av tiden fortsätter med mer programmering av mikrokontrollern. Dokumentet JSP.pdf utgör grunden för föreläsningen. F5. Programflöde och I/O Föreläsningen beskriver hoppinstruktioner, skip och hur man konfigurerar I/O-portarna för skrivning och läsning. Om det hinns med börjar vi också med subrutiner och presenterar returstacken. 3

F6. Stacken Minnesområdet stacken är centralt för både programflöde och variabler. Här används den i samband med subrutiner och lokala variabler. Vidare går vi igenom mikrokontrollerns resterande adresseringsmoder med några programexempel. Frågestund inför lab1. F7. Preprocessorn Preprocessordirektiv och MACRO. F8. Mer om stacken Mer stackhantering. Tabeller i FLASH-minnet. F9. Avbrott och AD Avbrott och analog-digital-omvanling. F10. Parameteröverföring Här ser vi hur parameteröverföring till rutiner skall utföras. Syftet är att påverka övriga programmet så lite som möjligt. Dessa metoder använder kompilatorer för högnivåspråk (till exempel C/C++). 1.4 Lektioner Lektionerna är labförberedande. Lektionsassistenten beskriver laborationen, därefter enskilt arbete med frågestund. Du kan inte vänta dig få ut något av lektionerna om du inte är förberedd. Det går inte att lära sig laborationen genom att gå på lektionen men det ger dig möjlighet att ställa frågor om delar av laborationen som du tycker är speciellt komplicerade. Lektion Laboration Lektionsinnehåll bland annat... 1 Lab1 IR ir-signalen, modulering, oscilloskop 2 Lab2 Morse subrutiner, ljud, tabelluppslagning 3 Lab3 Digitalur avbrottsrutiner, tidbas, multiplexning 4 Lab4 Ett spel programstruktur, AD-omvandling 1.5 Laborationer Laborationerna är obligatoriska. Laborationerna skall genomföras i grupper med 2 elever per grupp. Nödvändiga förberedelseuppgifter skall vara utförda inför laborationstillfället. Laborationstiden används för att genomföra laborationen och räcker inte till för att även förbereda den. OBS! Av pedagogiska skäl måste du ha med dig laborationen utskriven på papper till laborationstillfället. Laboration 1. IR-länk Här ska du programmera mikrokontrollern så att den korrekt avkodar en seriellt överförd infraröd signal. Sändaren finns redan inbyggd i ett hexadecimalt tangentbord. Du skall programmera mottagaren. 4

1.6 Kurslitteratur Laboration 2. Morse Här ska du konstruera ett program som signalerar telegrafi enligt den internationella morsekoden. Texten som skall sändas skrivs in i datorns minne och resultatet skall höras i en högtalare. Laboration 3. Digitalur Ett digitalur ska konstrueras. Tiden ska visas på en multiplexad fyrasiffrors sjusegmentsdisplay. Sekundpulserna och displayens uppdateringsfrekvens kommer från yttre tidbas och ska påföras programmet via avbrott. Laboration 4. Ett spel I spelet ska du med en joystick styra en sökarblipp till att träffa ett slumpvis utskastat mål på en liten spelplan. Avbrott, så väl som A/D-omvandlare, används. Displayen är naturligtvis multiplexad. All tidigare kunskap kommer att behöva användas för att lösa uppgiften. 1.6 Kurslitteratur Kurslitteraturen utgörs i huvudsak av två delar, dels föreläsningsunderlaget, som är den egentliga kurslitteraturen, och dels labkompendiet", som behövs för laborationerna. Även Per Foyers bok Mikroprocessorteknik kan vara av intresse för att få en annan beskrivning av mikrokontrollern. Framförallt de fyra första kapitlen med datorhistoria, terminologi, talsystem, beskrivning av en processor och programmeringsspråk gäller även i denna kurs. Samtlig kurslitteratur är nedladdningsbara pdf:er vars filnamn är sorterade i följande kategorier: 1. Föreläsningsrelaterat 2. Laborationsrelaterat 3. 4. LAX-relaterat 5. Processorrelaterat 6. Övningsuppgifter 7. Bredvidläsning Följande material finns att ladda ner: Huvudmaterial assembler: Föreläsningunderlag (1_Foreläsning.pdf) Centralt papper (1_UtdelatForel1.pdf) Huvudmaterial strukturerad programmering: Jackson Structured Programming (7_JSP.pdf) Laborationshandledningar (2_LAB*.pdf) 5

Hårdvarubeskrivning av labutrustningen (2_Hardvara.pdf) Övningsuppgifter (6_Ovningsuppgifter.pdf) ÖvningsLAX (4_Demolax.pdf) Bredvidläsning. Kodlayout (7_Hyfsakod.pdf) Högnivåspråk, Morse i C (7_MorseiC.pdf) Konstruera för felsökning (7_KFF.pdf) Signalbehandling med AVR (7_SDR.pdf) 1.7 Kursomfattning Föreläsningar: 10 x 2 h = 20 h Lektioner: 4 x 2 h = 8 h Laborationer: 4 x (2 + 2) h = 16 h LAX: 1 x 1.5 h = 1.5 h 6