OBS: detta är en informationssida, kursen ges genom LiUs e-learning-system lisam
TSEA82 - Datorteknik
Kursen Datorteknik är en klassisk datorteknikkurs med fokus på hårdvarunära programmering (assembler) och användning av processorn i ett inbyggt system.
Kursen är en samläsning mellan D- och I-programmet.
Laborationerna i kursen är centrala och avhandlar ämnen såsom assemblerinstruktioner, subrutiner, binär aritmetik, stack, registeruppsättning, adresseringsmoder, I/O-funktionalitet, avbrott och A/D-omvandling.
Kursen har ingen tentamen, utan istället en labb-examination (LAX) där en mindre labb-uppgift ska utföras enskilt.
Meny
Föreläsningar
Föreläsningarna bygger i huvudsak på egenproducerat material. Till dessa finns dels ett föreläsningsunderlag, dels en skrift om strukturerad programmering via JSP, i syfte att påvisa vikten av att ha ett genomtänkt och strukturerat tillvägagångssätt vid programmering, särskilt vid programmering på låg nivå.
Fö1 : Introduktion
Fö2 : Instruktioner
Fö3 : Binär aritmetik
Fö4 : Strukturerad programmering
För programmering i allmänhet, och assemblerprogrammering i synnerhet, behöver programmet skrivas på ett strukturerat sätt. I denna kurs används strukturerad programmering enligt JSP (Jackson Structured Programming) för att nå detta mål. (Kap 3)
Strukturerad programmering enligt JSP beskrivs.
Lab1 diskuteras.
Fö5 : Adresseringsmoder
Adresseringsmoder behandlas. Tabeller i FLASH-minnet. (Kap 5)
Lab 2 diskuteras.
Fö6 : 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. (Kap 6)
Parameteröverföring till subrutiner.
Tabeller i FLASH-minnet
Fö7 : Avbrott
Avbrott. (Kap 7)
Lab3 diskuteras.
Fö8 : Preprocessor
Avbrott, repetition
Preprocessordirektiv och MACRO. (Kap 9)
Fö9 : A/D-omvandling
Preprocessor, repetition
Analog-digital-omvandling. (Kap 8)
Lab 4 diskuteras.
Info om LAX
Laborationer
Till laborationerna används diverse olika moduler tillsammans med datorkortet Dalia.
Datablad för dessa moduler finns under Labbdatablad.
Labb0 : Miniprojekt
Starta Microchip Studio 7 och skriv in koden (med eller utan subrutiner) från Appendix E, och assemblera den. OBS! Gör INTE copy/paste från PDF-dokumentet in till Atmel Studio. Osynliga tecken kan komma med och programmet kommer inte att fungera.
Labb1 : IR-länk
- Labb-PM
- Under labben kommer mätningar med oscilloskop att utföras
- JSP-diagram
Labb2 : Morse
Labb3 : Digital-ur
Labb4 : Spel
Labb5 : C-programmering (endast I-programmet/TSEA57)
Lektioner
Le1 : C-programmering för AVR
- PowerPoint
- Exempel-program i C med avbrott
Lab 5 diskuteras.
Datablad
- Displaymodul (4st 7-segmentsindikatorer)
- Högtalare
- IR-mottagare
- IR-tangentbord
- Joystick
- Punktmatrismodul
- Sifferindikatorer
- Oscilloskop
- Tidbas
- ASCII-tabell
- ATmega16A datablad
- ATmega16A instruktionsuppsättning
- ATmega16A dataflöde
LAX
LAX:en genomförs enskilt utan hjälp under 90 minuter. LAX:en är att betrakta som en tentamen i den avsikten att man bara kan göra den en gång per LAX-omgång, som följer tentamenstillfällena.
Under LAX:en gäller följande:
- Man kan fråga vad man vill, men vi svarar inte på sådant man förväntas kunna
- Man får tillgång till LAX-databladet (utskriven på papper och i PDF-form på datorn).
- Ta bara med penna (om du vill), vi delar ut anteckningspapper
- Datorerna har inte tillgång till internet, ej heller tillgång till det egna kontot eller filer däri
- Man behöver kunna använda miljön Microchip Studio (samma som på labbarna)
- Man kan redovisa sin uppgift så många gånger man vill, under den tid som finns. Om det inte fungerar tillfredställande är det bara att fortsätta.
- Man kan avsluta när man vill, vare sig man är färdig eller inte.
- Ta med id-handling
Det finns några övnings-LAX:ar:
Under LAX:en finns inga krav på välstrukturerad kod. Bara uppgiften är löst på ett fungerande sätt så är det okej. Ej heller behöver man använda avbrott, A/D-omvandling eller multiplexning för att kunna lösa någon uppgift. Dock får man göra det om man tycker att det är bättre/lättare att göra så.
Det tänkas förekomma ett urval (t ex 2-3) av 6 följande moduler på LAX:en:
- Avstudsade tryckknappar
- Hex-tangentbord (ansluts via kablage, inte via IR-länk)
- Lysdiodmodul (8 st lysdioder)
- Punktmatrismodul (5x7 lsydioder)
- Sifferindikatorer (2 st avkodade 7-segmentsindikatorer)
Kontaktpersoner
- Anders Nilsson: Examinator