Exempel 4. Användning av en timer

Storlek: px
Starta visningen från sidan:

Download "Exempel 4. Användning av en timer"

Transkript

1 Exempel 4. Användning av en timer Kort beskrivning av Timer/counter1 i ATmega16 Timer/counter1 i ATmega16 består av en 16-bitars räknare och antal register för olika funktioner. Vi skall bara granska hur timern fungerar i output compare mode, d.v.s. då innehållet i räknaren jämförs med innehållet i ett tidkonstantregister. I figur 1 visas ett blockschema för timer/counter1 som beskriver räknaren och jämförelseenheten. Figur 1. Timer/counter med output compare unit. Timer/counter1 är alltså en 16-bitars binärräknare, TNCT1, som kan avläsas eller skrivas till i form av två 8-bitars I/O-register, TCNT1H och TCNT1L. Skrivning och läsning måste utföras som två operationer vilket kan leda till fel då alla bitar inte uppdateras samtidigt. Därför överförs den högre byten först till ett temporärt register, TEMP. Då man vill skriva in ett nytt värde till TCNT1 måste den högre byten TCNT1H skrivas först. Data mellanlagras då i TEMP. Då man skriver den lägre byten överförs den högre byten från TEMP samtidigt som den lägre byten skrivs in till TCNT1L. Då räknaren avläses skall den lägre byten avläsas först. Den högre byten överförs samtidigt till TEMP. Det finns två 16-bitars tidkonstantregister som används vid jämförelse av värdet i räknaren, nämligen OCR1A och OCR1B. I blockschemat har bara ett register ritats ut, OCR1x. Skrivning och avläsning av dessa register sker även via två 8 bitars register OCR1xH och OCR1xL. Här måste också den högre byten skrivas först. Det finns två styrregister, TCCR1A och TCCR1B, med vars hjälp timer/counter1 kan programmeras upp för olika funktioner. TIMSK är ett maskeringsregister för de avbrott som kan utnyttjas för timern. TFIR är ett flaggregister där vissa bitar sätts vid olika händelser. Har man valt output compare mode kan man få ett avbrott (TIMER1 COMPx) då innehållet i räknaren är lika med innehållet i OCR1x. Samtidigt sätts en bit i TFIR. Det går även att sätta eller nollställa en bit på ett anslutningsstift (OC1x) via en vågformsgenerator. Utsignalen till stiftet kan även väljas som en PWM-signal (pulsbreddmodelerad signal). Vi går inte närmare in på dessa funktioner. Som insignal till räknaren kan man använda en yttre klocksignal eller I/O-klocksignalen från processorn. Den senare signalen kan ledas via en frekvensdelare (prescaler) som tar ned frekvensen med en faktor N. Värdet på N kan väljas med hjälp av tre bitar i styrregistret TCCR1B. För frekvensen på klocksignalen till räknaren, f T1, gäller

2 2 f = T1 N (1) Om innehållet i tidkonstantregistret betecknas T blir tiden t som det tar för TCNT1 att räkna från noll till T t = T (2) f T1 Styrregistren i timer/counter1 Timer/couner1 programmeras upp med de två styrregistren TCCR1A och TCCR1B. Figur 2. Styrregistret TCCR1A. Bitarna 6 och 7 bestämmer funktionssätt för utsignalen OC1A och bitarna 4 och 5 för utsignalen OC1B enligt följande: COM1A1/COM1B1 COM1A0/COM1B0 Beskrivning 0 0 OC1A/OC1B bortkopplade (inte i användning) 0 1 Byt tillstånd på OC1A/OC1B vid jämförelseträff 1 0 Sätt OC1A/OC1B låg vid jämförelseträff 1 1 Sätt OC1A/OC1B hög vid jämförelseträff Skrivs bitarna 2 och 3 (FOC1A och FOC1B) höga tvingas räknaren i ett tillstånd som motsvarar jämförelseträff (compare match) utan att innehållet i räknaren skulle förutsätta detta. Inget avbrott genereras dock. Bitarna WGM11 och WGM10 bestämmer operationsmetod för räknaren tillsammans med bitarna WGM13 och WGM12 i TCCR1B. De flesta av dessa 16 kombinationer har att göra med PWMfunktionerna och beskrivs inte här. Metod WGM13 WGM12 WGM11 WGM10 Beskrivning Toppvärde Normal räknare 0xFFFF CTC (Clear Timer on Compare match) OCR1A Vid metod 0 fungerar timer/counter1 som en normal räknare som räknar upp tills värdet blir 0xFFFF. Därefter nollas räknaren. Genom att skriva in ett värde i räknaren varje gång som den flödar över kan räkneperioden bestämmas mellan och 0xFFFF. Ett avbrott kan genereras då räknaren flödar över. Vid metod 4 jämförs innehållet i OCR1A (OCR1B kan inte användas). Då räknarens värde är lika med OCR1A nollas räknaren. Ett avbrott kan då genereras.

3 Bitarna i styrregister TCCR1A visas i figur 3. De två högsta bitarna har att göra med fångstregistret, som inte behandlats här. WGM13 och WGM12 är de två första bitarna i föregående tabell. Det tre lägsta bitarna CS12, CS11 och CS10 bestämmer insignalen till räknaren. 3 Figur 3. Styrregistret TCCR1B Följande tabell anger hur klocksignalen väljs. N är nedskalningsfaktorn från frekvensdelaren. CS12 CS11 CS10 Beskrivning Timern stoppad N = 1 (CLK-I/O direkt) N = 8 (från frekvensdelaren) N = 64 (från frekvensdelaren) N = 256 (från frekvensdelaren) N = 1024 (från frekvensdelaren) Yttre klocksignal från T1-stiftet. Räknar på fallande kant Yttre klocksignal från T1-stiftet. Räknar på stigande kant Maskeringsregistret TIMSK innehåller bitar för påkoppling av avbrott från timer/counter1, se figur 4. Figur 4. Maskeringsregistret TIMSK. TICIE1: Avbrott vid fångstoperation om biten 1. OCIE1A: Avbrott vid jämförelseträff med OCR1A om biten 1. OCIE1B: Avbrott vid jämförelseträff med OCR1B om biten 1. TOIE1: Avbrott då räknaren flödar över om biten 1. Flaggregistret TIFR innehåller bitar som sätts då något av de fyra ovanstående tillstånden inträffar, se figur 5. Figur 5. Flaggregistret TIFR.

4 4 ICF1: Biten sätts vid en fångstoperation. OCF1A: Biten sätts vid jämförelseträff med OCR1A. OCF1B: Biten sätts vid jämförelseträff med OCR1B. TOV1: Biten sätts då räknaren flödar över. Bitarna nollställs automatiskt när servicerutinen för avbrott utförs. Om inte avbrott används kan bitarna nollställas genom att skriva in en etta på bitens plats i TIFR. De bitar som inte visas i TIMSK och TIFR har med de timer0 och timer2 att göra. Uppgiften Gör en assemblerutin för väldefinierade väntetider som kan väljas mellan 0,1 s och 25 s. Gör även ett testprogram som med PB0 i PORTB signalerar SOS med Morse-kod. Tiderna för hög/låg på PB0 definieras i programminnet som en lista med ett direktiv för definiering av konstanter. Systemets klockfrekvens antas vara 4 MHz. Vänterutinerna WaitT Vi kan göra en vänterutin för valbara väntetider på följande sätt. Vi programmerar upp Timer/counter1 så att den fungerar enligt metod 4 (Clear Timer on Compare match). Vi sätter in en sådan tidkonstant i OCR1A at vi får avbrott med intervallen 0,1 s. I ett generellt register har vi en annan tidkonstant ( ett heltal med enheten 0,1 s) som minskas med ett varje gång som timern gör avbrott. Då innehållet i registret blir noll har väntetiden förflutit. Vi bestämmer först faktorn N för frekvensdelaren och tidkonstanten som skall sättas in i OCR1A med hjälp av formlerna (1) och (2). Maximalt värde vi kan sätta in i OCR1A är T max = Kombinerar vi (1) och (2) och löser ut N får vi det minsta värde N kan ha. Med ett lägre värde kommer vi inte upp till 0,1 s. t 4 10 s 0,1s N min = = = = 6,1 f 16 T1 Tmax 2 1 N kan väljas 1, 8, 64, 256 eller Vi väljer N = 8. Vi löser ut tidkonstanten T. Med N = 8 får vi 6 t 4 10 s 0,1s 4 T = = = 5 10 N 8 Vi skall nu programmerar upp Timer/counter1. Vi börjat med styrregistret TCCR1A. Vi vill inte påverka några utsignaler, därför skall de 4 högsta bitarna vara nollor. För metod 4 skall vi välja WGM11 = WGM10 = 0. Vidare sätter vi FOC1A = FOC1B = 0, d.v.s. TCCR1A = 0b I TCCR1B sätts de tre högsta bitarna noll. För metod 4 skall WGM13 = 0 och WGM12 = 1. För att få N = 8 i frekvensdelaren sätts CS12 = 0, CS11 = 1 och CS10 = 0. Vi får TCCR1B = 0b I OCR1A skall vi sätta tidkonstanten T :s värde = för räknaren räknar från 0, inte från 1! OCR1A = Observera att OCIE1A är ett registerpar vars högre byte måste skrivas in före den lägre byten!

5 Sedan skall vi koppla på avbrottet för TIMER1 COMPA i registret TIMSK. Biten som skall sättas ett är OCIE1A (bit 4). Då inga andra avbrott från timers behövs blir TIMSK = 0b = 1<< OCIE1A I stället för att checka att OCIE1A finns i bit fyra och sätta denna bit, kan vi i assemblerprogrammet använda ett uttryck där en etta skiftas OCIE1A steg åt vänster. Biten OCIE1A definieras som 4 i inlclude-filen m16def.inc. Till sist kopplar vi på avbrotten globalt med instruktionen SEI. För att få väntetider mellan 0,1 och 25 sekunder kan vi använda ett 8-bitars generellt register som minskas med ett varje gång timern gör avbrott. Vi kallar detta register Delay. I avbrottsrutinen, Timer1Int, minskar vi Delay med ett såvida detta register inte redan är noll. Adressen till avbrottsvektorn för TIMER1 COMPA är 0x000C. Här sätter vi in instruktionen Jmp Timer1Int Vi gör även en subrutiner i vilka programmet väntar tills väntetiden har förflutit. Vi kallar denna rutin WaitT. Förrän vi kallar på denna rutin borde vi ladda väntetiden (ett heltal med enheten 0,1 s) i. Delay. Programmet skall sedan snurra i en slinga tills Delay. Här kan vi få ett fel mellan 0 och 0,1 s beroende på vilket värde som räknaren TCNT1 råkar ha. Nollar vi TCNT1 i början av rutinerna borde vi komma i från detta fel, men om timern har gjort ett avbrott just före nollningen har kanske Delay redan minskats med ett och det blir ändå ett fel. Där för laddar vi inte in väntetiden i Delay före anropet utan i ett annat register TempT. Innehållet i detta register överförs sedan till Delay efter det TCNT1 nollats i vänterutinerna. 5 Huvudprogrammet Först initieras stackpekaren. Sedan programmeras Timer/counter1 upp enligt ovanstående riktlinjer och biten PB0 väljs som utgång. Denna bit skall sättas och nollställas enligt ett tidschema som sätts in i form av konstanter i programminnet med ett DB-direktiv. Dessa väntetider placeras i minnet f.o.m. adressen 0x002A och adressetiketten Tcode pekar på de två första byten. Tidschemat avslutas med en nolla. Programmet skall nolla PB0 och sedan hämta den första väntetiden från programminnet. Tiden sätts in i TempT och rutinen WaitT anropas. Då väntetiden är slut skall PB0 sättas = 1 och följande tid hämtas o.s.v. (En LED i utvecklingskortet STK500 är kopplad så att den lyser då utsignalbiten är låg) Vi kan hämta väntetiderna från programminnet med hjälp LPM-instruktionen och indirektadressering med postinkrement. Då utnyttjas dubbelregistret Z som adressregister. Registret måste först initieras med adressen till den första väntetiden. Här bör vi observera att adressetiketten Tcode motsvarar en adress till ett ordorganiserat minne (16 bitar/ord), men vi behöver ha en byteadress. Därför måste vi multiplicera adressen med två, d.v.s. skifta bitarna i adressen ett steg till vänster. Initieringen av Z, som måste göras i två steg blir ldi ZL, LOW(Tcode<<1) Kommentar ldi ZH, HIGH(Tcode<<1) I detta exempelprogram finns det inte behov av att göra något under väntetiden, men om det finns kan man inkludera detta i vänteslingorna. Många extra instruktioner i vänteslingorna medför dock att väntetiderna blir mindre exakta. I ett system där vi måste utföra flera uppgifter parallellt är det bättre att konstruera ett enkelt realtidsoperativsystem, där de olika uppgifterna utförs som skilda processer (trådar). Vi kunde även använda Timer/counter1 direkt utan subrutinen WaitT. För varje ny väntetid beräknar vi värdet på tidkonstanten T och sätter in den i timerns register OCR1A. Om vi väljer N = 1024 blir den maximala väntetiden 16 s.

6 6 Assemblerprogrammet ;==================================================================== ; Exempel på en vänterutin som utnytjar avbrott från Timer1 ; Ett exempelprogram som matar ut SOS i Morse-kod på PB0 ;====================================================================.include "m16def.inc".equ TIMECONST = ;Definition av register.def FlagSave = r12.def Delay = r13.def Temp = r16.def TempT = r18 ;Tidkonstant för timer1 ;49999 ger avbrott var 0,1:te s ;Register för flaggor vid avbrott ;Kort fördröjningsräknare ;Temporärt register ;Temporärt register för tidkonstant ;Avbrottsvektorer.cseg.org 0x0000 jmp Reset.org 0x000C jmp Timer1Int ;Morsekoden som tider med enheten 0,1 s.org 0x002A Tcode:.db 1, 9, 1, 9, 1, 12, 6, 4, 6, 4, 6, 12, 1, 9, 1, 9, 1, 30,0,0 ; ; Avbrottsservicerutin för "Timer1 compare match on OCR1A" ; Minskar värdet i fördröjningsräknarna Delay om värdet i detta ; register är olika noll. ; Timer1Int: in FlagSave, SREG ;Spara statusregistret i FlagSave tst Delay ;= 0? breq ExInt dec Delay ;Minska räknaren Delay med 1 ExInt: out SREG, FlagSave ;Återställ statusregistret reti ;Retur från avbrott ; ; WaitT, vänterutin med en 8-bitars fördröjningsräknare. ; Upplösningen 0,1 s och maximal väntetid 25,5 s. Anropas med ; väntetiden i TempT med enheten 0,1 s ; WaitT: clr Temp out TCNT1H, Temp out TCNT1L, Temp ;Synkronisera (nolla Timer1) mov Delay, TempT ;Ladda räknarregistret med tiden Test: tst Delay ;Delay = 0? brne Test ;Vänta tills Delay = 0 ret ;

7 7 ; Reset, huvudprogrammet startar här med att initiera stackpekaren och ; programera upp Timer1 i CTC-mod med avbrott. Biten PB0 sätts = 0, ; en väntetid hämtas från Tcode, programmet väntar i WaitT, sedan ; sätts PB0 = 1. Detta schema upprepas tills väntetiden 0 hämtas. Då ; startas schemat igen från början av Tcode. ; Reset: ldi Temp, LOW(RAMEND) ;Initiera stackpekaren out SPL, Temp ldi Temp, HIGH(RAMEND) out SPH, Temp clr Temp ;Nolla temp out TCCR1A, Temp ;OC1A, OC1B frånkopplade ldi Temp, 0b ;Nolla T1 då T1= OCR1A, K = 8 out TCCR1B, Temp ;CTC mod ldi Temp,HIGH(TIMECONST) out OCR1AH, Temp ;Högre byten först till OCR1A!! ldi Temp,LOW(TIMECONST) out OCR1AL, Temp ;Lägre byten sedan till OCR1A ldi Temp, (1<<OCIE1A) ;Skifta 1 till OCIE1A:s plats out TIMSK, Temp ;Avbrott då TCNT1 = OCR1A ldi Temp,0b out DDRB, Temp ;PB0 utgång clr Delay ;Nolla fördröjningsräknaren sei ;Koppla på avbrotten globalt Restart: ldi ZL, LOW(Tcode<<1) ;Ordadress till byteadress med skift ldi ZH, High(Tcode<<1) ;Z pekar på först kodbyten Loop: cbi PORTB, 0 ;Nollställ PAB0 i port B lpm TempT, Z+ ;Hämta en kodbyte tst TempT ;= 0? breq Restart ;Starta på nytt från början rcall WaitT ;Vänta så lång tid som anges i koden sbi PORTB, 0 ;Sätt PB0 lpm TempT,Z+ ;Hämta följande kodbyte tst TempT ;= 0? breq Restart ;Starta om från början av koden rcall WaitT ;Vänta så lång tid som anges i koden rjmp Loop ;Fortsätt med nästa varv ;

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

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 F3 Föreläsning i Mikrodatorteknink 2006-08-29 Kärnan i microcontrollern består av ett antal register och en ALU. Till detta kommer också ett antal portar. Det finns 64 st portar. Några är anslutna mot

Läs mer

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser

AVR 3 - datorteknik. Avbrott. Digitala system 15 hp. Förberedelser Namn: Laborationen godkänd: Digitala system 15 hp AVR 3 - datorteknik LTH Ingenjörshögskolan vid Campus Helsingborg Avbrott. Syften med den här laborationen är att introducera avbrott. Avbrott som uppkommer

Läs mer

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

Dataminne I/O Stack 0x005D 0x3D SP low byte 0x005E 0x3E SP high byte CT3760 Mikrodatorteknik Föreläsning 4 Tisdag 2005-09-06 Stacken I datasammmanhang är en stack ett minnesområde. Det är processorn som använder stacken. För att skapa en stack anger man en adress i stackpekarregistret.

Läs mer

A-del motsvarande KS1

A-del motsvarande KS1 MÄLARDALENS HÖGSKOLA Institutionen för elektroteknik Tentamen Mikrodatorteknik CT3760 Datum 2005-10-28 Tid 08.30 12.30 Svar till A- och B-del A-del motsvarande KS1 Uppgift A1. Vad blir resultatet då instruktionen

Läs mer

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.

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. F5 Föreläsning i Mikrodatorteknink 2006-09-05 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. Programräknaren

Läs mer

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704

Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Kontrollskrivning Mikrodatorteknik CDT209 2007-09-20 S2-704 Svar Svar till uppgifterna lämnas på separat papper. En poäng per uppgift. Max 30 poäng. Bonuspoäng beräknas enligt följande tabell: 6-10 poäng

Läs mer

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

Minnen delas in i två huvudgrupper, permanenta och icke permanenta. Non-volatile and volatile. CT3760 Mikrodatorteknik Föreläsning 2 Tisdag 2005-08-30 Minnestyper. Atmega 16 innehåller följande minnestyper: SRAM för dataminne FLASH för programminne EEPROM för parametrar och konstanter. Minnen delas

Läs mer

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

Ansvarig lärare: Olof Andersson, Telefon 021-101314 (besöker skrivsalen) MÄLRLENS HÖGSKOL Institutionen för elektroteknik Tentamen Mikrodatorteknik T3760 atum 2005-10-28 Tid 08.30 12.30 nsvarig lärare: Olof ndersson, Telefon 021-101314 (besöker skrivsalen) Om du klarat samtliga

Läs mer

CE_O3. Nios II. Inför lab nios2time

CE_O3. Nios II. Inför lab nios2time IS1200 Exempelsamling till övning CE_O3, 2015 CE_O3. Nios II. Inför lab nios2time 3.1. Logiska operationer (se uppgift 1.2 c) Repetera (eller lär dig) innebörden av de logiska operationerna "bitvis AND",

Läs mer

Att läsa en manual. Exempel Timern ECT_16B8C. Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler

Att läsa en manual. Exempel Timern ECT_16B8C. Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler Att läsa en manual Exempel Timern ECT_16B8C Läs den allmänna beskrivningen (Overview) Vi ser att grundfunktionen är en räknare med prescaler 1 Läs om speciella egenskaper (Features) I övrigt har vi Input

Läs mer

Datorteknik Hyfsa kod

Datorteknik Hyfsa kod Datorteknik Hyfsa kod Michael Josefsson Version 0.2 2018 Denna text beskriver hur man kan hyfsa kod till att bli både bättre, mer lättläst och mindre. Som exempel används en del av den kod som behövs för

Läs mer

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar.

Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. ATMega16 Laborationer av Kjell 2 Rev:5 Datum: 29.09.2010 Page 1 of 7 Laboration 4: Knappstuds Drivrutiner för att eliminera störningar. Inledning: Laborationskortet EasyAVR6 har bland annat tryckknappar

Läs mer

Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå.

Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå. CT3760 Mikrodatorteknik Föreläsning 12 Torsdag 2006-10-05 Naxos Pollning Ett program som frågar regelbundet om något skall utföras. Exempelvis om spänningen på ett batteri sjunkit under en viss nivå. En

Läs mer

F8: Undantagshantering

F8: Undantagshantering F8: Undantagshantering Undantagshantering i 68 Vad är ett undantag? Typer av undantag Att skriva undantagsrutiner Undantagshantering, vad och varför? Exempel: Ett system ska mäta temperatur var :e sekund

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Tallriksmodellen Stackoperationer Element kan endast

Läs mer

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers Avbrott generellt F7.1. Avbrott sköts med hårdvara i processorn, man läser av hårdvarumässigt. Polling är en enklare princip för I/O- hantering.

Läs mer

Laboration 5 C-programmering på AVR TSEA57 Datorteknik I

Laboration 5 C-programmering på AVR TSEA57 Datorteknik I Laboration 5 C-programmering på AVR TSEA57 Datorteknik I Anders Nilsson 2018 version 0.22 Innehåll 1 Introduktion 5 1.1 Syfte....................................... 5 1.2 Förkunskaper..................................

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Torsdagen den 13 mars 2014, klockan 14:00 19:00 i MA:10. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

LABORATION. Datorteknik Y

LABORATION. Datorteknik Y LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.03 Februari 2019 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

Läs mer

CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io.

CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io. IS1200 Exempelsamling till övning CE_O6, 2015 CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io. 6.1. Läs in data från IN-port (skjutomkopplare TOGGLES18) Skriv en subrutin, Get_Data

Läs mer

Växtviskaren EITF11 Digitala projekt VT15, I12

Växtviskaren EITF11 Digitala projekt VT15, I12 Växtviskaren EITF11DigitalaprojektVT15,I12 NathalieLiljebrunn,EbbaRiismark,AnnaNorelius LundsTekniskaHögskola Institutionenförelektro ochinformationsteknik Handledare:BertilLindvall,AndreasJohansson 2015

Läs mer

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

TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Halmstad University School of Information Science, Computer and Electrical Engineering Tomas Nordström, CC-lab TENTAMEN Datorteknik (DO2005) D1/E1/Mek1/Ö1 Datum: 2012-05- 23 Tid och plats: 9:00 13:00 i

Läs mer

AVRStudio på tre minuter. Micke Josefsson, 2005

AVRStudio på tre minuter. Micke Josefsson, 2005 AVRStudio på tre minuter Micke Josefsson, 2005 Mycket kort intro till AVRStudio Utvecklingsmiljön AVRStudio innehåller en editor för att mata in programmet, en simulator för att under kontrollerade former

Läs mer

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

Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3. Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00. Mikrodatorteknik Provmoment: Ladokkod: Tentamen ges för: Tentamen TE111B El3 7,5 högskolepoäng Namn: Personnummer: Tentamensdatum: 20120410 Tid: 14:00-18:00 Hjälpmedel: Totalt antal poäng på tentamen:

Läs mer

Laboration 2 i Datorteknik- Assemblerprogrammering II

Laboration 2 i Datorteknik- Assemblerprogrammering II Högskolan i Halmstad 1 (8) - Assemblerprogrammering II Målet med laborationen är att få begrepp om Subrutiner. in/utparametrar. Lokala variabler Maska in bitar till ett register Konstruktion av subrutiner

Läs mer

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING

Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Systemkonstruktion LABORATION REALTIDSPROGRAMMERING Laborationsansvariga: Anders Arvidsson, Björn Lundblad Utskriftsdatum: 2002-10-31 Laboranter: 1 Syfte Denna laboration syftar till att öva användningen

Läs mer

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor. Maxpoäng:

TENTAMEN. Datorteknik. D1/E1/Mek1/Ö Hjälpmedel: Häfte ARM-instruktioner, A4-format, 17 sidor. Maxpoäng: TENTAMEN D1/E1/Mek1/Ö1 1400-1800 Hjälpmedel: Häfte "ARM-instruktioner", A4-format, 17 sidor Maxpoäng: Betyg 3 Betyg 4 Betyg 5 60p 24p 36p 48p Frågor under tentamen: Börje Delistrand tel. +46702986358 Bilaga

Läs mer

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP.

Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. Övningsuppgifter Övningsuppgifterna i kapitel F avser FLIS-processorn, vars instruktioner och motsvarande koder definieras i INSTRUKTIONSLISTA FÖR FLISP. F.2 Ett antal på varandra följande minnesord har

Läs mer

LABORATION. Datorteknik Y

LABORATION. Datorteknik Y LABORATION Datorteknik Y Avbrottsprogrammering på Darma Version 4.02 Februari 2018 (OA, KP) Namn och personnummer Godkänd 1 1 Inledning Syftet med laborationen är först att ge övning i avbrottsprogrammering

Läs mer

Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!)

Avbrottshantering. Övningsuppgifter Lösningsförslag Uppgift (Reservation för diverse fel!) Avbrottshantering Övningsuppgifter 2013 Lösningsförslag Uppgift 1-19 (eservation för diverse fel!) 1 Koppling: Q 1 Till bit 0 INPOT ÖKA A 1 /W 1 Write 8FF 16 NOLLA Write 8FFF 16 Q 2 1 Q 2 Till bit 1 INPOT

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

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

Datorteknik. Föreläsning 5. Realtidssystem och realtidsprogrammering. Institutionen för elektro- och informationsteknologi, LTH. Datorteknik Föreläsning 5 Realtidssystem och realtidsprogrammering Mål Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av flera processer Att du ska förstå begreppet tråd

Läs mer

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010 STYRNING - i Mikrodatorteknik för U2 2010 1. Uppgift M10 (5p) aug-09 Skriv ett program i PIC-assembler som - gör PortB till utport - ettställer bit 0, 3 och 4 i PortB - nollställer bit 5 och 6 i PortB

Läs mer

JOFEN-Prototypes. Målsökande pansarvagn. Projektarbete i Kursen EITA15. Jonatan Claesson, Olle Jonasson, Felix Rödén, Edvin Rossi & Nils Olén

JOFEN-Prototypes. Målsökande pansarvagn. Projektarbete i Kursen EITA15. Jonatan Claesson, Olle Jonasson, Felix Rödén, Edvin Rossi & Nils Olén JOFEN-Prototypes Målsökande pansarvagn Projektarbete i Kursen EITA15 Jonatan Claesson, Olle Jonasson, Felix Rödén, Edvin Rossi & Nils Olén Handledare: Bertil Lindvall & Lars-Göran Larsson Abstract This

Läs mer

Datorteknik 2 (AVR 2)

Datorteknik 2 (AVR 2) Namn: Laborationen godkänd: Digitala system 15 hp Datorteknik 2 (AVR 2) LTH Ingenjörshögskolan vid Campus Helsingborg Enkel in- och utmatning. Drivrutiner. Bithantering. I denna laboration ska vi förbättra

Läs mer

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl

Tentamen. TSEA22 Digitalteknik 5 juni, 2015, kl Tentamen TSEA22 Digitalteknik 5 juni, 2015, kl. 08.00-12.00 Tillåtna hjälpmedel: Inga. Ansvarig lärare: Mattias Krysander Visning av skrivningen sker mellan 10.00-10.30 den 22 juni på Datorteknik. Totalt

Läs mer

Bilen som inte kan krocka

Bilen som inte kan krocka Projektrapport Digitala system EITA15 Bilen som inte kan krocka Gruppmedlemmar: Oscar Skarler, Jonathan Persson, Erik Schiemann och Mohammed Abou Naasa vt 2019 Sammanfattning Inom kursen Digitala system

Läs mer

Effektpedal för elgitarr

Effektpedal för elgitarr EITF11 - Digitala Projekt Effektpedal för elgitarr Handledare: Bertil Lindvall Ivan Rimac (I05) Jimmy Lundberg (I08) 2011-05-10 Contents Bakgrund... 3 Kravspecifikation... 3 Kravspecifikation Effektpedal...

Läs mer

LEU240 Mikrodatorsystem

LEU240 Mikrodatorsystem Institutionen för data- och informationsteknik 2011-10-11 LEU240 Mikrodatorsystem Vi har tidigare i olika sammanhang sett att det är önskvärt att kunna använda ett högnivåspråk som C för att skriva program

Läs mer

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik Lösningar till tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 13 mars 2013, klockan 14:00 19:00 i Vic 2 A-D, 3 A-C. Tillåtna hjälpmedel: på tentan utdelad

Läs mer

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15.

Minnet. Minne. Minns Man Minnet? Aktivera Kursens mål: LV3 Fo7. RAM-minnen: ROM PROM FLASH RWM. Primärminnen Sekundärminne Blockminne. Ext 15. Aktivera Kursens mål: LV3 Fo7 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruktruera olika kombinatoriska nät som ingår i en dator. Studera hur addition/subtraktion

Läs mer

Programallokering. Programtyper. Att placera program i flashrespektive. Program i FLASH-minne. Program i RAM-minne

Programallokering. Programtyper. Att placera program i flashrespektive. Program i FLASH-minne. Program i RAM-minne Programallokering Att placera program i flashrespektive RAM-minne Program i FLASH-minne Bara lokala variabler Globala oinitierade variabler Globala initierade variabler Program med avbrott Program i RAM-minne

Läs mer

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien DIGITAL- OCH MIKRODATORTEKNIK, U2 11-01-12 09.00 13.00 Tillåtna hjälpmedel: Instruktionslista PIC16F877A Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien Fullständiga lösningar

Läs mer

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK.

Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Tomas Nordström Högskolan i Halmstad Dokumentversion 0.1, 2012-04- 01 Beskrivning av porthantering i mikroprocessorn SAM3U som används på vårt labkort SAM3U- EK. Informationen till detta kompendium är

Läs mer

Avbrottshantering. Övningsuppgifter

Avbrottshantering. Övningsuppgifter Avbrottshantering Övningsuppgifter 2013 Besvara kortfattat följande frågor rörande CPU12. Redogör för vad som händer vid RESET och varför detta sker. Förklara kortfattat vad som händer vid ett IRQ avbrott

Läs mer

Polling (cyklisk avfrågning) Avbrott

Polling (cyklisk avfrågning) Avbrott Polling (cyklisk avfrågning) Avbrott Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Att känna till begreppet polling (cyklisk avfrågning) och hur det

Läs mer

Programmera i teknik - kreativa projekt med Arduino

Programmera i teknik - kreativa projekt med Arduino NYHET! Utkommer i augusti 2017 Smakprov ur boken Programmera i teknik - kreativa projekt med Arduino av Martin Blom Skavnes och Staffan Melin PROJEKT LJUS s 1 I det här projektet kommer du att bygga en

Läs mer

Föreläsningsanteckningar till Konstruktionsmetoder 981027

Föreläsningsanteckningar till Konstruktionsmetoder 981027 Föreläsningsanteckningar till Konstruktionsmetoder 981027 Jämförelse mellan 68705P3 och 16F84 externt MC68705P3 PIC16F84 I/O 20 13 Kapsling 28-pin DIL 18-pin DIL Drivförmåga på pinnar PortB 10mA Sink,

Läs mer

ETSA01 Digitala Projekt (I) VT- 13. Projektarbete AC- 58008. Handledare Bertil Lindvall

ETSA01 Digitala Projekt (I) VT- 13. Projektarbete AC- 58008. Handledare Bertil Lindvall ETSA01 Digitala Projekt (I) VT- 13 Projektarbete AC- 58008 Victor Bodin Albert Strömberg Alexander Söderberg Handledare Bertil Lindvall 1 Sammanfattning Rapporten behandlar processen kopplat till konstruktionen

Läs mer

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C

Laboration 5. Temperaturmätning med analog givare. Tekniska gränssnitt 7,5 p. Förutsättningar: Uppgift: Temperatur:+22 C Namn: Laborationen godkänd: Tekniska gränssnitt 7,5 p Vt 2014 Laboration 5 LTH Ingenjörshögskolan vid Campus Helsingborg Temperaturmätning med analog givare. Syftet med laborationen är att studera analog

Läs mer

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll:

Ett minneselements egenskaper. F10: Minneselement. Latch. SR-latch. Innehåll: F: Minneselement Innehåll: - Latchar - Flip-Flops - egister - Läs- och skrivminne (andom-access Memory AM) - Läsminne (ead Only Memory OM) Ett minneselements egenskaper Generellt sett så kan följande operationer

Läs mer

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

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 Mål Datorteknik Föreläsning 5 Att du ska förstå hur avbrott används för - Mätning - Styrning - Stöd för körning av fle processer Att du ska förstå begreppet tråd Att du ska veta hur odelba resurser kan

Läs mer

Datorsystemteknik Föreläsning 7DAVA14

Datorsystemteknik Föreläsning 7DAVA14 Datorsystemteknik Föreläsning 7DAVA14 Innehåll Introduktion (forts) Polling (cyklisk avfrågning) Större delen av materialet framtaget av :Jan Eric Larsson, Mats Brorsson och Mirec Novak IT-inst LTH Exempel

Läs mer

Grunderna i stegkodsprogrammering

Grunderna i stegkodsprogrammering Kapitel 1 Grunderna i stegkodsprogrammering Följande bilaga innehåller grunderna i stegkodsprogrammering i den form som används under kursen. Vi kommer att kort diskutera olika datatyper, villkor, operationer

Läs mer

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts)

Mål. Datorteknik. Introduktion. Innehåll. Verklig situation - pappaledighet. Introduktion (forts) Mål Datorteknik Föreläsning 4 Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta vilken information

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta

Läs mer

Datorteknik. Exempeluppgifter i Laborativ Examination

Datorteknik. Exempeluppgifter i Laborativ Examination Datorteknik Exempeluppgifter i Laborativ Examination Michael Josefsson Version 0.1 Inledning Nedan följer förslag på några representativa demonstrationslaxar. Uppgifterna är konstruerade så att de ska

Läs mer

High Core Remote Car X8000 Cool

High Core Remote Car X8000 Cool High Core Remote Car X8000 Cool Ett projekt i kursen Digitala projekt EITF11 Grupp 13 Niklas Ohlsson Anna Rengstedt Per Vingå Handledare: Bertil Lindvall Abstract: This project was made when taking the

Läs mer

CPU. Carry/Borrow IX. Programräknare

CPU. Carry/Borrow IX. Programräknare Laboration:. Jämförelser mellan assembler och C. CPU ACCA ACCD ACCB 8-bitars ackumulatorer eller 16- bitars ackumulator CCR 1 1 1 SXH I NZVC Flaggregister Carry/Borrow IX IY PC Indexregister X Indexregister

Läs mer

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

Det finns en handledning till kortet på hemsidan. AVR STK500. 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

Läs mer

F4: Assemblerprogrammering

F4: Assemblerprogrammering F4: Assemblerprogrammering Hoppinstruktioner Branch Jump Med vilkor IF satser Loopar while-loopar do-while- loopar for-loopar Stackhantering Underprogram 1 BRA rel_adr Branch Always Relativadressering

Läs mer

Tentamen i EIT070 Datorteknik

Tentamen i EIT070 Datorteknik Tentamen i EIT070 Datorteknik Institutionen för Elektro- och informationsteknik, LTH Onsdagen den 10 mars 2010, klockan 08:00 13:00 å Victoriastadion 1 och 2. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

Övning 6. Parallellport, timer

Övning 6. Parallellport, timer Övning 6 Parallellport, timer 6.1 de2_pio_toggles18 Memory-Mapped addresses LEDG8 LEDR17 LEDR16 LEDR15 LEDR14 LEDR13 LEDR12 LEDR11 LEDR10 LEDR9 LEDR8 LEDR7 LEDR6 LEDR5 LEDR4 LEDR3 LEDR2 LEDR1 LEDR0 LEDG7

Läs mer

Övning2 Datorteknik, HH vt12 - Programmering

Övning2 Datorteknik, HH vt12 - Programmering Övning2 Datorteknik, HH vt12 - Programmering För denna övning behöver man adresskarta och beskrivning av laborationsplattform. Finns bland föreläsningsanteckning samt i bilaga l till Lab l. Använd även

Läs mer

Självgående fordon Rapport i kursen digitala projekt, EDI021

Självgående fordon Rapport i kursen digitala projekt, EDI021 Självgående fordon Rapport i kursen digitala projekt, EDI021 Nina Wirandi e04nw Mårten Kjellsson e04mk Handledare: Bertil Lindvall Mars 2010 Abstract This project was for the course Digital Systems, EDI021

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #18 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblerprogrammering Assemblatorer vs kompilatorer

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #8 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Assemblatorer vs kompilatorer En assemblator är ett program

Läs mer

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

F2: Motorola Arkitektur. Assembler vs. Maskinkod Exekvering av instruktioner i Instruktionsformat MOVE instruktionen 68000 Arkitektur F2: Motorola 68000 I/O signaler Processor arkitektur Programmeringsmodell Assembler vs. Maskinkod Exekvering av instruktioner i 68000 Instruktionsformat MOVE instruktionen Adresseringsmoder

Läs mer

Lunds Tekniska Högskola Elektro- och informationsteknik Digitala projekt (EITF11)

Lunds Tekniska Högskola Elektro- och informationsteknik Digitala projekt (EITF11) Skola: Institution : Kurs : Lunds Tekniska Högskola Elektro- och informationsteknik Digitala projekt (EITF11) Projekttyp : Rapportsammanfattning Handledare : Bertil Lindvall Studenter : Datum : 2015-05-11

Läs mer

Laboration Datorteknik TSIU02 2. I/O-programmering

Laboration Datorteknik TSIU02 2. I/O-programmering Laboration Datorteknik TSIU02 2. I/O-programmering Stefan Gustafsson version 1.1 1. Inledning Laboration: I/O-programmering Du skall i denna laboration programmera TUTOR till att signalera i Morsekod.

Läs mer

Datakommunikation med IR-ljus.

Datakommunikation med IR-ljus. Datakommunikation med -ljus. I den här uppgiften skall du kommunicera med hjälp av infrarött () ljus. Du skall kunna sända tecken från tangentbordet samt ta emot tecken och visa dem på skärmen. Genom att

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #19 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Normaltillstånd vs undantagstillstånd I normaltillstånd

Läs mer

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin.

7) Beskriv tre sätt att överföra parametrar mellan huvudprogram och subrutin. 1(5) Övningstentamen i Mikrodatorer och assemblerprogrammering, ELGA05 Hjälpmedel: Bifogad lista med memokoder för MC68xxx. Samtliga programmeringsuppgifter ska innehålla flödesschema med förklaringar

Läs mer

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data. 1 3 4 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data.

En något mer detaljerad bild av en processor. De tre delarna i processorn är: Nere 3ll vänster finns e' antal register som används för a' lagra data. 1 2 3 Antag a' processorn ska exekvera instruk3onen ADD R1, R3. När instruk3onen är exekverad så a' processorn tagit innehållet i R1 och R3 och med hjälp av ALU:n är värdena adderade och resultatet är

Läs mer

Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, Stefan Windfeldt, Inlämmnad: 4 december 2006

Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, Stefan Windfeldt, Inlämmnad: 4 december 2006 Mekanisk solros, Digitala projekt(edi021) Kristoer Nordvall, d03kn@student.lth.se Stefan Windfeldt, d03sw@student.lth.se Inlämmnad: 4 december 2006 Innehåll 1 Problembeskrivning 3 2 Teknisk beskrivning

Läs mer

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet.

Datorteknik. Tomas Nordström. Föreläsning 6. För utveckling av verksamhet, produkter och livskvalitet. Datorteknik Tomas Nordström Föreläsning 6 För utveckling av verksamhet, produkter och livskvalitet. Föreläsning 6 Vad händer vid uppstart SoC och Kringkretsar, PIO Programmering i Assembler Lab2 genomgång

Läs mer

Stack och subrutiner Programmeringskonventionen

Stack och subrutiner Programmeringskonventionen Stack och subrutiner Programmeringskonventionen Du ska förstå hur en instruktion behandlas i processorn Du ska känna till några fler instruktioner Du ska veta hur maskinkoden för ett program byggs upp

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2015-06-01 Lokal Tid 14-18 Kurskod Provkod Kursnamn Provnamn Institution Antal frågor 6 Antal sidor (inklusive denna sida) 6 Kursansvarig Lärare som besöker skrivsalen

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-08-16 Lokal TER2, TER4 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal sidor (inklusive

Läs mer

Tentamen. Datorteknik Y, TSEA28

Tentamen. Datorteknik Y, TSEA28 Tentamen Datorteknik Y, TSEA28 Datum 2016-05-31 Lokal Kåra, T1, T2, U1, U15 Tid 14-18 Kurskod TSEA28 Provkod TEN1 Kursnamn Provnamn Datorteknik Y Skriftlig tentamen Institution ISY Antal frågor 6 Antal

Läs mer

The Phenomenal Doorbell Bilaga 2. Källkod

The Phenomenal Doorbell Bilaga 2. Källkod The Phenomenal Doorbell Bilaga 2. Källkod #include #include #include //Variabler int flag = 0; int count = 0; int timevect[8]; int bellbutton = 0; int waitbutton

Läs mer

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ?

Minneselement,. Styrteknik grundkurs. Digitala kursmoment. SR-latch med logiska grindar. Funktionstabell för SR-latchen R S Q Q ? Styrteknik grundkurs Digitala kursmoment Binära tal, talsystem och koder Boolesk Algebra Grundläggande logiska grindar Minneselement, register, enkla räknare Analog/digital omvandling SR-latch med logiska

Läs mer

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1

Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1 Styrteknik distans: Minneselement, register, räknare, AD-omv D4:1 Digitala kursmoment D1 Binära tal, talsystem och koder D2 Boolesk Algebra D3 Grundläggande logiska grindar D4 Minneselement, register,

Läs mer

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp

Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Tentamen i Digitala system - EITA15 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2018-01-09 8.00-13.00 (förlängd 14.00) Uppgifterna i tentamen

Läs mer

Grundläggande A/D- och D/A-omvandling. 1 Inledning. 2 Digital/analog(D/A)-omvandling

Grundläggande A/D- och D/A-omvandling. 1 Inledning. 2 Digital/analog(D/A)-omvandling Grundläggande A/D- och D/A-omvandling. 1 Inledning Datorer nns nu i varje sammanhang. Men eftersom vår värld är analog, behöver vi något sätt att omvandla t.ex. mätvärden till digital form, för att datorn

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #23 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Översikt När flera minnesmoduler placeras i processorns

Läs mer

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION

PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION PC-teknik, 5 p LABORATION ASSEMBLERINTRODUKTION Laborationsansvarig: Anders Arvidsson Utskriftsdatum: 2005-08-31 Laborant(er): 1 Syfte Laborationen ska ge studenten möjlighet att genom assemblerinlägg

Läs mer

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall

Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall Digitala projekt, EDI021 Rapport Handledare: Bertil Lindvall Zoltan Darvas (dt06zd8) Nicklas Nidhögg(dt06nn8) 2010-03-01 1 Abstract I detta project har vi skapat ett huslarm där det finns två stycken sensorer,

Läs mer

Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL!

Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL! MCU LABORATION5 Laborationens syfte Läs igenom hela laboration 5 innan du börjar beskriva instruktionsavkodaren i VHDL! I denna laboration ska en enkel MCU (Micro-Controller_Unit) konstrueras. En MCU,

Läs mer

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ

'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ 'HOWHQWDPHQ 6\VWHPNRQVWUXNWLRQ / VQLQJDURFKNRPPHQWDUHU Program: Elektroteknik, mikrodatorsystem Datum: 99-11-02 Tid: 8:00-9:30 Lokal E448 Hjälpmedel: Bilagor: Examinator: Miniräknare, linjal Datablad för

Läs mer

TSIU50 Mikrodatorprojekt. LAB1 AVR-introduktion och logikanalysator

TSIU50 Mikrodatorprojekt. LAB1 AVR-introduktion och logikanalysator 1 2 TSIU50 Mikrodatorprojekt LAB1 AVR-introduktion och logikanalysator Michael Josefsson Januari 2007 Detta häftes syfte är att tjäna som en snabb introduktion till utvecklingsmiljön AVRStudio och den

Läs mer

"Crash Course in Programming"

Crash Course in Programming "Crash Course in Programming" Denna genomgång har fokus på programmering. Den följer PBasic-syntaxen för Basic Stamp II, men är i övrigt i stort sett frikopplad från BS2. Vissa aspekter som tas upp följer

Läs mer

Mål. Datorteknik. Innehåll. Innehåll (forts) Hur ser ett program ut? Hur skapas maskinkoden?

Mål. Datorteknik. Innehåll. Innehåll (forts) Hur ser ett program ut? Hur skapas maskinkoden? Mål Datorteknik Föreläsning 3 Att veta hur maskinkoden för ett program byggs upp Att börja programmera i på riktigt Att kunna skriva och anropa subrutiner i Att förstå hur stacken fungerar Att veta vad

Läs mer

Övningsuppgifter i Mikrodatorteknik för U2

Övningsuppgifter i Mikrodatorteknik för U2 i Mikrodatorteknik för U2 Skriv instruktioner som utför följande operationer (angivna tal antas givna i hexadecimal form om inget annat anges): 1. (0x20) + 25 (0x30) 2. (0x22) - (0x31) (0x25) 3. (w) +

Läs mer

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler Exempeluppgift i Logikstyrning Inledning Idén med detta papper är att ge en allmän beskrivning av labbutrustningen och tips för hur man kan lösa olika praktiska problem i samband med laborationen. Läs

Läs mer

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7)

EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) EDA480/EDA485 - Maskinorienterad programmering, tentamen 2006-xx-xx 1(7) 1. Motivation ROM. 8kbyte 2 3 2 10 byte 13 Adressbitar [A12,A0] direkt till ROM-kapsel. RWM. 32kbyte 2 5 2 10 byte 15 Adressbitar

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #17 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola F-36 FLEX- och FLIS-datorn Ext-8 Tallriksmodellen Stackoperationer

Läs mer

Datorteknik. Föreläsning 4. Polling och avbrott. Institutionen för elektro- och informationsteknologi, LTH. Mål

Datorteknik. Föreläsning 4. Polling och avbrott. Institutionen för elektro- och informationsteknologi, LTH. Mål Datorteknik Föreläsning 4 Polling och avbrott Mål Att känna till begreppet polling (cyklisk avfrågning) och hur det implementeras Att förstå varför avbrottstyrd exekvering är överlägset polling Att veta

Läs mer

/* * dancing3.c * * Created: :53:20 * Author: digpi10 */ #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.

/* * dancing3.c * * Created: :53:20 * Author: digpi10 */ #include <avr/io.h> #include <avr/interrupt.h> #include <util/delay. /* * dancing3.c * * Created: 2016-05-19 10:53:20 * Author: digpi10 */ #include #include #include int value; //värde från AD-omvandlaren int limit = 0b0101000000;

Läs mer