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

Storlek: px
Starta visningen från sidan:

Download "Lösningar till övning CE_O CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io."

Transkript

1 ösningar till övning CE_O CE_O6. Parallell in/utmatning (I/O). Förberedelser till laboration nios2io äs in data från IN-port ( skjutomkopplare TOGGES18) a) ösningsförslag i Nios-II-assembler..equ toggles18,0x850.global Get_Data Get_Data: movia r8,toggles18 ldwio r2,0(r8) movia r8,0x3ffff and r2,r2,r8 b) ösningsförslag i C: #define TOGGES18 ( (unsigned int *) 0x850 ) int Get_data( void ) volatile unsigned int * toggles18 = TOGGES18; unsigned int tmp = *toggles18; urn( tmp & 0x3ffff ); c) Ordet volatile i en variabeldeklaration anger att variabelns värde kan komma att ändras, på ett sätt som C-kompilatorn inte kan förutse. Det gör att kompilatorn inte får optimera läsningar av och skrivningar till variabeln. Ett exempel på optimering som är förbjuden för en variabel som är deklarerad volatile, är att flytta läsning av variabeln ut ur en slinga och lägga det lästa värdet i ett register. d) Om man skriver till in-porten så ignoreras det skrivna värdet av hårdvaran, det vill säga värdet försvinner. e) Övriga bitar dvs de med index 18 och uppåt kommer vid läsning få ett värde som beror på hur hårdvaran är konstruerad, 0 eller 1 eller slumpvis 0 eller 1. ösningar till övning CE_O6, sida 1 (av 12)

2 6.2. Skriv ut data till UT-port. (lysdioder GREENED9 ) a) ösningsförslag i Nios-II-assembler..equ greenled9,0xa10.global Put_Green_ight Put_Green_ight: andi r4,r4,0x1ff movia r8,greenled9 stwio r4,0(r8) mov r2,r4 b) ösningsförslag i C: #define GREENED9 ( (unsigned int *) 0xa10 ) int Put_Green_ight( int lightbits ) volatile unsigned int * greenled9 = GREENED9; unsigned int tmp = lightbits & 0x1ff; *greenled9 = tmp; urn( tmp ); c) Om programmet läser från ut-porten så finns två möjliga resultat. Vilket som gäller beror på hur portens hårdvara är konstruerad. Det ena möjliga resultatet är att läsningen ger det värde programmet senast skrev till ut-porten. För detta alternativ måste ut-porten ha hårdvara så att programmet kan göra läsningar, och inte bara skrivningar. Det andra möjliga resultatet är att läsningen ger ett ospecificerat, "slumpmässigt" värde. Detta alternativ inträffar om konstruktören har sparat in på hårdvaran, så att utporten endast är skrivbar (write-only). Ordet "slumpmässigt" har skrivits inom citationstecken här ovanför. Orsaken är att en write-only-utport brukar ha en mycket skev fördelning på de värden den urnerar; det gör den olämplig som slumptalsgenerator. d) Övriga bitar dvs de med index 9 och uppåt kommer vid skrivning att ignoreras. ösningar till övning CE_O6, sida 2 (av 12)

3 6.3. Översätt binärt till 7-segment Skriv en subrutin hex7seg som omvandlar från 4 lsbits i r4 till 7 lsbits i r2. Av figur nedan framgår vilka bitar i r2 som svarar mot vilka segment i displayen. Detta val av segment ger utskrift för värden 0-9 samt A-F (A b c d E F) Hur man skiljer man mellan 6 och b framgår av figuren nedan. a) ösningsförslag i Nios-II-assembler.data bit index TABE: # gör en tabell för tända och släckta segment noll:.byte 0b # OBS! tabellen förutsätter ett:.byte 0b # etta för tänt segment 0 tvaa:.byte 0b # vilket inte är som i labben tre:.byte 0b fyra:.byte 0b fem:.byte 0b sex:.byte 0b sju:.byte 0b atta:.byte 0b nio:.byte 0b A:.byte 0b b:.byte 0b c:.byte 0b d:.byte 0b E:.byte 0b F:.byte 0b # pust det var många ettor och nollor.global hex7seg hex7seg: movia r2, TABE # nu pekar r2 på 0(TABE) andi r8, r4, 0xF # maska fram 4 SBits add r2, r2, r8 # nu pekar r2 på byte-offset (TABE) ldb r2, 0(r2) # nu innehåller r2 koden! andi r2, r2, 0x7F # onödigt ety DB gör SignExtend av 0 # men det här blev ju lätt 1 2 ösningar till övning CE_O6, sida 3 (av 12)

4 b) ösningsförslag i C: /* OBS! Denna tabell förutsätter en nolla för de segment som ska lysa */ /* för varje index i tabellen lagras 4 bytes dvs en int */ /* för varje index i tabellen skulle man kunna ha valt att lagra en char/byte */ int trantab[] = 0x40, 0x79, 0x24, 0x30, 0x19, 0x12, 0x02, 0x78, 0x00, 0x10, 0x08, 0x03, 0x46, 0x21, 0x06, 0x0e ; int hex7seg( int digit ) register int tmp = digit & 0xf; urn( trantab[ tmp ] ); 6.4. Skriv ut ett tal på 7-segment Display a) ösningsförslag i Nios-II-assembler.equ hex_low28,0x9f0 # hex_low28 address # program code follows.global PutoSegVal # be globally available PutoSegVal: movia r8,hex_low28 # set address stwio r4,0(r8) # write output data mov r2,r4 # setup urn value # urn to caller b) ösningsförslag i C: #define HEX_OW28 ( (volatile int *) 0x9f0 ) void PutoSegVal( int hexlowbits ) volatile int * hex_low28 = HEX_OW28; *hex_low28 = hexlowbits; 6.5. Skriv ut olika tal på 7-segment Display a) ösningsförslag i Nios-II-assembler.global main main: call Get_data # indata till r2 mov r16, r2 # spar kopia andi r4,r2,0x1ff # kopiera 9 bitars indata till r4 call Put_Green_ight # tänd/släck 8 lysdioder mov r4,r16 # 32 bitar parameter till call fixandshow # som skriver ut 4 siffror, se nedan br main ösningar till övning CE_O6, sida 4 (av 12)

5 # Och här kommer en subrutin som skriver ut fyra siffror # endast de 16 minst signifikanta bitarna används fixandshow: push r31 # skydda uradress push r16 # vi behöver ett register som hex7seg inte ändrar push r17 # och ett till register som hex7seg inte ändrar mov r16,r4 # spara data i r16 call hex7seg # översätt 4 bitar till 7 bitar mov r17,r2 # och spar siffra 1 i r17, 7 bitar srli r4,r16,4 # högerskifta fram 4 nya bitar till r4 call hex7seg # översätt 4 bitar till 7 bitar slli r2,r2,7 # och skifta 7 bitar vänster or r17,r2,r17 # kombinera in siffra 2 i r17 med bitvis OR srli r4,r16,8 # högerskifta fram 4 nya bitar till r4 call hex7seg # översätt 4 bitar till 7 bitar slli r2,r2,14 # och skifta nu 14 bitar vänster or r17,r2,r17 # kombinera in siffra 3 i r17 srli r4,r16,12 # högerskifta fram 4 nya bitar till r4 call hex7seg # översätt 4 bitar till 7 bitar slli r2,r2,21 # och skifta 21 bitar vänster denna gång or r4,r2,r17 # kombinera in siffra 4 i r4 denna gång call PutoSegVal # skriv ut på 7-segmentsdisplay pop r17 # återställ sparat registervärde pop r16 # återställ sparat registervärde pop r31 # återställ sparad uradress b) ösningsförslag i C: int main() unsigned int tmp; while( 1 ) tmp = Get_Data(); (void) Green_ight( tmp ); fixandshow( tmp ); void fixandshow( unsigned int bitstoshow ) unsigned int hexresult; hexresult = hex7seg( bitstoshow ); hexresult = hexresult ( hex7seg( bitstoshow >> 4 ) << 7 ); hexresult = hexresult ( hex7seg( bitstoshow >> 8 ) << 14 ); hexresult = hexresult ( hex7seg( bitstoshow >> 12 ) << 21 ); PutoSegVal( hexresult ); ösningar till övning CE_O6, sida 5 (av 12)

6 6.6. Timer a) ösningsförslag i Nios-II-assembler.equ period, # ger 1 millisekund mellan varje TimeOut # om man vill ha en hel sekund mellan varje TimeOut väljer man värdet equ Timer1Base, 0x920.global inittimer inittimer: movia r8, Timer1Base # nu pekar r8 på timer-ksen, 0x920 movia r9, period # r9 innehåller lämpligt värde stwio r9, 8(r8) # periodl skrivs srli r9, r9, 16 # skifta höger 16 bitar stwio r9, 12(r8) # periodh skrivs movi r9, 0b0110 # Run and Continous stwio r9, 4(r8) # Write Control stwio r0, 0(r8) # reset TO-biten ösningsförslag i C: #define TIMER1( (unsigned int *) 0x920 ) #define PERIOD (49999) void inittimer( void ) volatile unsigned int * Timer1Base = TIMER1; Timer1Base[2] = (PERIOD & 0xFFFF); Timer1Base[3] = PERIOD >> 16; Timer1Base[1] = 0x6; /* Start + Continuous */ Timer1Base[0] = 0; b) ösningsförslag i Nios-II-assembler:.global checktimer checktimer: movi r2, -1 # default-värde till r2, betyder No Time-Out movia r8, Timer1Base # nu pekar r8 på timer-ksen ldwio r9, 0(r8) # nu finns status i r9 (rättat) andi r9, r9, 1 # nu finns Time-Out-biten i r9 (rättat) beq r9, r0, NoTimeOut # hoppa om Time-Out-biten är n0ll stwio r0, 0(r8) # nollställ Time-Out-biten movi r2, 0 # nollställ r2, betyder Time-Out NoTimeOut: # och så ur med rätt värde i r2: 0 / -1 ösningar till övning CE_O6, sida 6 (av 12)

7 ösningsförslag i C: int checktimer ( void ) volatile unsigned int * Timer1Base = TIMER1; if ((Timer1Base[0] & 1) == 0) urn(-1); /* else */ Timer1Base[0] = 0; urn(0); c) ösningsförslag i Nios-II-assembler:.global delayt delayt: ble r4, r0, slutt # hoppa om r4 mindre än eller lika med 0 push r31 # skydda uradressen baa: call checktimer # läs av Time-Out-biten blt r2, r0, baa # invänta urvärde 0 (Time-Out) slutt: subi r4, r4, 1 # minska r4 med 1 bgt r4, r0, baa # fortsätt så länge r4 större än noll pop r31 # återställ uradressen ösningsförslag i C: void delayt ( int millisek ) int i; for (i = millisek; i>0; i = i - 1) while ( checktimer() ) /* wait for TO-bit */ ; urn(); while ( checktimer() ) /* wait for TO-bit */ ; kan bytas mot while ( checktimer()!= 0 ) /* wait for TO-bit */ ; eller bytas mot while ( checktimer() == -1 ) /* wait for TO-bit */ ; ösningar till övning CE_O6, sida 7 (av 12)

8 6.7. äs in data från IN-port ( KEYS4 ) a) ösningsförslag i Nios-II-assembler.equ keys4,0x840.global Get_Button Get_Button: movia r8,keys4 # nu pekar r2 på in-porten ldwio r2,0(r8) # data läses in andi r2,r2,15 # nollställ bit b) ösningsförslag i C #define KEYS4( (int *) 0x840 ) int Get_Button( void ) volatile int * keys4 = KEYS4; int tmp = *keys4; urn( tmp & 0xf ); ösningar till övning CE_O6, sida 8 (av 12)

9 6.8. Subrutinen TACK Tick back (för idag) Programkod i C: void tickback( int * timep ) /* Get current value, store locally */ int t = * timep; t -= 1; /* Decrement local copy */ /* If result was not a valid BCD-coded time, adjust now */ if( (t & 0x f) >= 0x a ) t -= 0x ; if( (t & 0x000000f0) >= 0x ) t -= 0x000000a0; /* Seconds are now OK */ if( (t & 0x00000f00) >= 0x00000a00 ) t -= 0x ; if( (t & 0x0000f000) >= 0x ) t -= 0x0000a000; /* Minutes are now OK */ if( (t & 0x000f0000) >= 0x000a0000 ) t -= 0x ; if( (t & 0x00ff0000) >= 0x ) t -= 0x00d60000; /* Hours are now OK */ if( (t & 0x0f000000) >= 0x0a ) t -= 0x ; if( (t & 0xf ) >= 0xa ) t -= 0x ; /* Days are now OK */ * timep = t; /* Store new value */ ösningar till övning CE_O6, sida 9 (av 12)

10 6.9. Ett helt stort program Rita ett flödesschema för nedanstående program och skriv programmet Skriv ut 2 siffror på 7-segment varje sekund. Använd en NON-blocking delay för att uppnå detta Dessutom ska knapparna KEYS4 kännas av och leda till följande. Nedtryckning av KEY1 ska nollställa tiden. Nedtryckning av KEY2 ökar tiden ett steg (med TICK) Nedtryckning av KEY3 minskar tiden ett steg (med TACK som är Tick back) Programmet ska avvakta tills man släpper knappen förstås. (Det förväntas att man inte trycker på två knappar samtidigt) ösningar till övning CE_O6, sida 10 (av 12)

11 ösningsförslag i Nios-II-assembler main: call inittimer # Run and Continous once per second mainloop: call checktimer # kolla om Time-Out (Non-Blocking) blt r2, r0, GoOn # hoppa till GoOn om TO-biten var 0 Time: movia r4, Value call tick # från lab nios2time movia r4, Value ldw r4, 0(r4) # siffra till r4 call Put27 # skriv ut 2 siffror GoOn: call Get_Button # (Non-Blocking) nor r2, r2, r0 # invertera (här eller i GetButton) andi r2, r2, 0xE # och maska fram bit 3, 2 och 1 beq r2, r0, mainloop # om ingen knapp nedtryckt IF1: andi r9, r2, 0b0010 # kolla om KEY1 är nere bne r9, r0, KEY1 # IF KEY1 down goto KEY1 IF2: andi r9, r2, 0b0100 # kolla om KEY2 nere bne r9, r0, KEY2 # IF KEY2 down goto KEY2 IF3: andi r9, r2, 0b1000 # kolla om KEY3 nere bne r9, r9, KEY3 # IF KEY3 down goto KEY3 br mainloop # ingen knapp nere ERROR!!! KEY1: movia r4, Value stw r0, 0(r4) # clear time Value br Bottomup KYE2: movia r4, Value call tick # från lab n2time br Bottomup KEY3: movia r4, Value call tack # ny rutin, se uppgift nedan BottomUp: call Get_Button nor r2, r2, r0 # invertera andi r2, r2, 0xE bne r2, r0, BottomUp # invänta alla knappar uppe # Now all buttons are released br mainloop OBS! Fungerar dåligt (tiden står still) med en knapp nedtryckt mer än 1 sekund. Beaktar ej fallet att flera knappar trycks ner samtidigt. ösningar till övning CE_O6, sida 11 (av 12)

12 6.10. En separat timer, timer_2 (överkurs) a) ösningsförslag i Nios-II-assembler, skillnad mot timer_1 i bold text..equ period, # ger 1 millisekund mellan varje TimeOut.equ Timer2Base, 0x940.global inittimer2 inittimer2: movia r8, Timer2Base # nu pekar r8 på timer-ksen, 0x940 movia r9, period # r9 innehåller lämpligt värde stwio r9, 8(r8) # periodl skrivs srli r9, r9, 16 # skifta höger 16 bitar stwio r9, 12(r8) # periodh skrivs movi r9, 0b0110 # Run and Continous stwio r9, 4(r8) # Write Control stwio r0, 0(r8) # reset TO-biten b).global checktimer2 checktimer2: movi r2, -1 # default-värde till r2 movia r8, Timer2Base # nu pekar r8 på timer-ksen ldwio r9, 0(r8) # nu finns status i r2 andi r9, r9, 1 # nu finns Time-Out-biten i r2 beq r9, r0, NoTimeOut # hoppa om Time-Out-biten är n0ll stwio r0, 0(r8) # nollställ Time-Out-biten movi r2, 0 # nollställ r2 NoTimeOut: # och så ur med rätt värde i r2: 0 / -1 c).global delayt2 delayt2: ble r4, r0, slutt # hoppa om r4 mindre än eller lika med 0 push r31 # skydda uradressen baa: call checktimer2 # läs av Time-Out-biten blt r2, r0, baa # invänta urvärde 0 subi r4, r4, 1 # minska r4 med 1 bgt r4, r0, baa # fortsätt så länge r4 större än noll pop r31 # återställ uradressen slutt: d) restart_timer2: movia r8, Timer1Base2 # nu pekar r8 på timer-ksen, 0x940 ldwio r9, 8(r8) # läs värdet från Period ow stwio r9, 8(r8) # och skriv tillbaks samma värde # periodl skrivs och därmed kopieras Period till Counter som då börjar om movi r9, 0b0110 # Run and Continous stwio r9, 4(r8) # Write Control stwio r0, 0(r8) # reset TO-biten # detta är ju nästan allt som görs i inittimer2, så man kan ju använda inittimer2 i stället. ösningar till övning CE_O6, sida 12 (av 12)

Ö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

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

Övning 7. Timer, serieport

Övning 7. Timer, serieport Övning 7 Timer, serieport 7.6 timer_1 Memory-Mapped addresses 0x920 status 0x924 control 0x928 periodl 0x92C periodh 0x930 snapl 0x934 snaph 15 0 Run TO (Time-Out) ITO cont start stop timer_1 start D Q

Läs mer

IS1500 Lösningar övning CE_O7 2014. CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io.

IS1500 Lösningar övning CE_O7 2014. CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io. IS1500 ösningar övning CE_O7 2014 CE_O7. Programmerad in/utmatning. Serieport. Förberedelser till nios2io. 6.1. Vad är seriell kommunikation? a) Vad är skillnaden mellan seriell och parallell kommunikation?

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

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

IS1200 Datorteknik. Övning CE_O4 Maskinnära programmering med C Förberedelser till hemlaboration 1

IS1200 Datorteknik. Övning CE_O4 Maskinnära programmering med C Förberedelser till hemlaboration 1 IS1200 Datorteknik Övning CE_O4 Maskinnära programmering med C Förberedelser till hemlaboration 1 1 4.1 Little och big endian 2 Nios II? Nios II är Little-endian (men eftersom det är en soft-processor

Läs mer

CE_O1. Nios II. Enkla assembler-instruktioner.

CE_O1. Nios II. Enkla assembler-instruktioner. IS1500 ösningsförslag till övning CE_O1 2014 CE_O1. Nios II. Enkla assembler-instruktioner. 1.1. Datorarkitektur för Nios II a) Tabell 3 1 i Nios II Processor Reference Handbook visar processorns register:

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

CE_O3. Nios II. Stackhantering och förberedelse för lab nios2time

CE_O3. Nios II. Stackhantering och förberedelse för lab nios2time IS1200 ösningsförslag till övning CE_O3 2015 CE_O3. Nios II. Stackhantering och förberedelse för lab nios2time 3.1. ogiska operationer Nios II kan utföra de logiska operationerna AND, OR, XOR och NOR.

Läs mer

CE_O2. Nios II. Subrutiner med mera.

CE_O2. Nios II. Subrutiner med mera. IS1500 Lösningsförslag till övning CE_O2 2014 CE_O2. Nios II. Subrutiner med mera. 2.1. Binära lagringsformat R-type: (Register-format) ra (5 bit) rb (5 bit) rc (5 bit) operationskod (17 bit) Detta format

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

Lösningsförslag till tentamen i IS1500 Datorteknik

Lösningsförslag till tentamen i IS1500 Datorteknik Lösningsförslag till tentamen i IS1500 Datorteknik 2010-12-13 Obs! Dessa lösningsförlag kan vara felakktiga och/eller ofullständ Uppgift 1. Maskinartmetik a) Flyttalet X lagras som 0 1000 0011 000 1001

Läs mer

Digitala Projekt(EITF40) - Larm

Digitala Projekt(EITF40) - Larm Digitala Projekt(EITF40) - Larm Handledare: Bertil Lindvall Erik Oredsson, I-09 Sara Sellin, I-09 2012-05-08 1. SAMMANFATTNING I denna rapport presenteras vårt projekt att bygga ett huslarm från grunden

Läs mer

AVR 5. Styrning av trafikljus. Digitala system 15 p

AVR 5. Styrning av trafikljus. Digitala system 15 p Namn: Laborationen godkänd: Digitala system 15 p AVR 5 LTH Ingenjörshögskolan vid Campus Helsingborg Styrning av trafikljus. Syftet med laborationen är att styra en trafikkorsning med hjälp av en mikroprocessor.

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

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

#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> unsigned char num;

#include <avr/io.h> #include <avr/interrupt.h> #include <util/delay.h> unsigned char num; #include #include #include unsigned char num; int count = 0; // antal i lokalen char larmtriggered = 0; //om larmet är utlöst char larmactivated = 0; //om larmet

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

Tentamen i IS1500/IS1200/2G1518 Datorteknik fredagen den 19 augusti 2011 kl

Tentamen i IS1500/IS1200/2G1518 Datorteknik fredagen den 19 augusti 2011 kl Tentamen i IS1500/IS1200/2G1518 Datorteknik fredagen den 19 augusti 2011 kl 14.00 19.00 Examinator: Fredrik Lundevall (IS1500), Johan Wennlund (IS1200, 2G1518). Jourhavande lärare: Johan Wennlund. Tentamensuppgifterna

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

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

Arduinokurs. Kurstillfälle 4

Arduinokurs. Kurstillfälle 4 Kurstillfälle 4 CW-generering Det här kan ses som överkurs men kan ändå vara roligt för att kunna generera CW på ett enkelt sätt. Det blir en hel del nytt men vi tar det steg för steg Som alla vet gäller

Läs mer

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe

Programmering av inbyggda system. Kodningskonventioner. Viktor Kämpe Kodningskonventioner Viktor Kämpe Varför kodningskonventioner? Förståelse för Skillnaden mellan lokala/globala variabler. Funktionsargument. Returvärde. Möjliggör Mix av assembler och C. Kodningskonventioner/VK

Läs mer

4. Maskinnära programmering i C. Förberedelser till hemlaboration 1.

4. Maskinnära programmering i C. Förberedelser till hemlaboration 1. IS1200 ösningar till exempel, övning 4, 2015 4. Maskinnära programmering i C. Förberedelser till hemlaboration 1. 4.1. Big-endian och little-endian När heltal, flyttal och adresser ska lagras i datorns

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

CE_O5. Cacheminne. Hemlaboration 2.

CE_O5. Cacheminne. Hemlaboration 2. IS1500 Exempelsamling till övning CE_O5, 2014 CE_O5. Cacheminne. Hemlaboration 2. 5.1. Medeltidshistoria Diskutera förloppet då CPU:n gör en läsreferens i huvudminnet dvs information kopieras från huvudminne

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

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

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

Datorsystem Laboration 2: Minnesmappade bussar

Datorsystem Laboration 2: Minnesmappade bussar Datorsystem Laboration 2: Minnesmappade bussar Senast uppdaterad: 14 oktober 2012 Version 1.2 Student: Lärare: Underskrift: Underskrift: Datum: Datorsystem Laboration 2 1 Innehåll 1 Inledning 2 1.1 Introduktion..................................

Läs mer

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

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 7 mars 2012, klockan 14:00 19:00 i Vic 2, 3. Tillåtna hjälpmedel: på tentan utdelad formelsamling,

Läs mer

Tentamen PC-teknik 5 p

Tentamen PC-teknik 5 p Tentamen PC-teknik 5 p Namn:. Klass:... Program: Di2, Em3, Et3 Datum: 03-08-15 Tid: 13:30-18:30 Lokal: E171 Hjälpmedel: Linjal, miniräknare, Instruktionsrepertoar för 8086 (utdelas), Lathund, Pacific C

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

Ö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

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2018-01-16 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Mail kommer skickas ut när labanmälan är möjlig

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

Lösningsförslag till tentamen i Datorteknik 2011-05-28

Lösningsförslag till tentamen i Datorteknik 2011-05-28 Lösningsförslag till tentamen i Datorteknik 2011-05-28 Varning: dessa lösningsförslag kan vara felakktiga och/eller ofullstän Uppgift 1. Maskinaritmetik a) Flyttalet X lagras som 1 1000 0110 000 1100 0000

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

(Lösningsförslag finns sist i denna fil.)

(Lösningsförslag finns sist i denna fil.) (Lösningsförslag finns sist i denna fil.) Läser externa signaler. Har 64 ingångar (kanaler), från 0 till 63. Kan bara avläsa en ingång i taget. Avlästa värdet positivt 16-bitars tal. Varje läsning tar

Läs mer

PC-teknik, 5 p LABORATION FILHANTERING

PC-teknik, 5 p LABORATION FILHANTERING PC-teknik, 5 p LABORATION FILHANTERING Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2004-09-14 Laborant(er): 1 Syfte Laborationen ska illustrera möjligheten att använda funktioner i DOS för att

Läs mer

PROJEKT STAFFAN STALLEDRÄNG

PROJEKT STAFFAN STALLEDRÄNG PROJEKT STAFFAN STALLEDRÄNG PROJEKT STAFFAN STALLEDRÄNG s 1 I det här projektet ska du koppla en krets som innehåller en högtalare och en lysdiod, samt skriva ett program som får högtalaren att spela en

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

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

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående

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

Assemblerprogrammering för ARM del 2

Assemblerprogrammering för ARM del 2 Assemblerprogrammering för ARM del 2 Ur innehållet Programflöde Subrutiner, parametrar och returvärden Tillfälliga (lokala) variabler Läsanvisningar: Arbetsbok kap 2 Quick-guide, instruktionslistan Assemblerprogrammering

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

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson

Grundläggande C-programmering del 2 Pekare och Arrayer. Ulf Assarsson Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volatile, #define Arrayer av pekare, arrayer av arrayer Hemuppgifter: v2. Föregående

Läs mer

CE_O9. Exceptions, interrupts, traps. Förberedelser för lab 3, nios2int

CE_O9. Exceptions, interrupts, traps. Förberedelser för lab 3, nios2int IS1200 ösningar till övning CE_O9, 2015 CE_O9. Exceptions, interrupts, traps. Förberedelser för lab 3, nios2int 9.1 Hantering av Exceptions i Nios-2 Vektoriserad hantering av Exceptions. Tre tänkbara orsaker

Läs mer

KALKYLATOR LABORATION4. Laborationens syfte

KALKYLATOR LABORATION4. Laborationens syfte LABORATION4 KALKYLATOR Laborationens syfte I denna laboration ska en enkel kalkylator konstrueras med hjälp av VHDL och utvecklingsverktyget Vivado från Xilinx. Hårdvaran realiseras på det redan bekanta

Läs mer

Support Manual HoistLocatel Electronic Locks

Support Manual HoistLocatel Electronic Locks Support Manual HoistLocatel Electronic Locks 1. S70, Create a Terminating Card for Cards Terminating Card 2. Select the card you want to block, look among Card No. Then click on the single arrow pointing

Läs mer

Enkla datatyper minne

Enkla datatyper minne Enkla datatyper minne 143.56 sant Sonja A falskt 18 1999-10-29 Bertil Gralvik, KTH Ingenjörsskolan 1 Addera två tal Algoritmen Summera tal Mata in två tal Beräkna Skriv ut resultat Mata in tal 1 Mata in

Läs mer

Extrauppgifter för CPU12

Extrauppgifter för CPU12 1 Extrauppgifter för CPU12 X1a) Skriv en instruktionssekvens som nollställer bit 3-0 i alla minnesord i adressintervallet 2035H, 2049H Använd X-registret för adressering X1b) Skriv en subrutin som maskerar

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

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

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

Datorteknik. Föreläsning 3. Assembler, stack och subrutiner, programmeringskonventionen. Institutionen för elektro- och informationsteknologi, LTH

Datorteknik. Föreläsning 3. Assembler, stack och subrutiner, programmeringskonventionen. Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva

Läs mer

Institutionen för elektro- och informationsteknologi, LTH

Institutionen för elektro- och informationsteknologi, LTH Datorteknik Föreläsning 3 Assembler, stack och subrutiner, programmeringskonventionen Mål Att veta hur maskinkoden för ett program byggs upp Att börja programmera i assembler på riktigt Att kunna skriva

Läs mer

6 Lågnivåprogrammering

6 Lågnivåprogrammering 6 Lågnivåprogrammering När språket C konstruerades hade man som en av målsättningarna att språket skulle kunna hantera programmering på lågnivå. Med lågnivå menas det som man tidigare behövt använda assemblerprogrammering

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag EDA482 (EDA481) Maskinorienterad programmering D EDA487 (EDA486) Maskinorienterad programmering Z

Läs mer

Studera databladen för LCD på sid 4, 5, 7, 8, 14, 18, 19, 20 och 23. Datablad finns på kurshemsidan.

Studera databladen för LCD på sid 4, 5, 7, 8, 14, 18, 19, 20 och 23. Datablad finns på kurshemsidan. Namn: Laborationen godkänd: Digitala system 15 p Datorprojekt, del 2 L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Projektlaboration 2, skrivning till LCD. Förberedelser:

Läs mer

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

c a OP b Digitalteknik och Datorarkitektur 5hp ALU Design Principle 1 - Simplicity favors regularity add $15, $8, $11 A basic -bit Select between various operations: OR, AND, XOR, and addition Full Adder Multiplexer Digitalteknik och Datorarkitektur hp Föreläsning : introduktion till MIPS-assembler - april 8 karlmarklund@ituuse

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

GPIO - General Purpose Input Output

GPIO - General Purpose Input Output GPIO - General Purpose Input Output Ur innehållet: Digital IO Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Programmering av enkelt

Läs mer

Datorprojekt, del 1. Digitala system 15 p

Datorprojekt, del 1. Digitala system 15 p Namn: Laborationen godkänd: Digitala system 15 p L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Datorprojekt, del 1 Projektet består i att skapa en klocka där tiden visas

Läs mer

Demonstration och konsultation Arbetsbokens avsnitt 5 och 6 LCD Grafisk display Introduktion till laboration 3

Demonstration och konsultation Arbetsbokens avsnitt 5 och 6 LCD Grafisk display Introduktion till laboration 3 LCD Display och Grafik Demonstration och konsultation Arbetsbokens avsnitt 5 och 6 LCD Grafisk display Introduktion till laboration 3 Målsättning: Efter lektionen ska alla självständigt kunna slutföra

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

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2017-01-17 2 Dagens föreläsning Kort repetition Större programmeringsexempel Subrutiner

Läs mer

TDDC74 Lab 04 Muterbara strukturer, omgivningar

TDDC74 Lab 04 Muterbara strukturer, omgivningar TDDC74 Lab 04 Muterbara strukturer, omgivningar 1 Översikt I den här laborationen kommer ni att lära er mer om: Tillstånd, och skillnader mellan ren funktionell programmering och imperativ. Skillnaden

Läs mer

Ulf Assarsson. Grundläggande C-programmering del 2 Pekare och Arrayer. Läromoment:

Ulf Assarsson. Grundläggande C-programmering del 2 Pekare och Arrayer. Läromoment: Grundläggande C-programmering del 2 Pekare och Arrayer Ulf Assarsson Läromoment: Pekare Absolutadressering (portar): typedef, volafle, #define Arrayer av pekare, arrayer av arrayer Hemuppgi9er: v2. Föregående

Läs mer

TSEA28 Datorteknik Y (och U)

TSEA28 Datorteknik Y (och U) TSEA28 Datorteknik Y (och U), föreläsning 2, Kent Palmkvist 2019-01-22 3 TSEA28 Datorteknik Y (och U) Föreläsning 2 Kent Palmkvist, ISY Praktiska kommentarer Labanmälan öppnar måndag 28/1 kl 12.30 Anmälningssystemet

Läs mer

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016

TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016 TDDC74 Programmering: Abstraktion och modellering Dugga 3, kl 8 10, 7 april 2016 Läs alla frågorna först och bestäm dig för i vilken ordning du vill lösa uppgifterna. Uppgifterna är inte ordnade i någon

Läs mer

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe Fortsä'ning Pekare Ulf Assarsson Originalslides av Viktor Kämpe Pekare och Arrayer/VK 2 Pekare och Arrayer/VK 3 Förra föreläsningen Pekare Bll data Arrayer fix storlek och adress Dynamisk minnesallokering

Läs mer

Programexempel för FLEX

Programexempel för FLEX Aktivera Kursens mål: Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Konstruera styrenheten. genom att. implementera olika maskininstruktioner i styrenheten. Kunna använda

Läs mer

Tentamen med lösningsförslag

Tentamen med lösningsförslag Institutionen för data- och informationsteknik CHALMERS TEKNISKA HÖGSKOLA Tentamen med lösningsförslag DAT017 (DAT016) Maskinorienterad programmering IT EDA482 (EDA481) Maskinorienterad programmering D

Läs mer

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

Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Tentamen i Digitala system - EDI610 15hp varav denna tentamen 4,5hp Institutionen för elektro- och informationsteknik Campus Helsingborg, LTH 2016-12-22 8.00-13.00 Uppgifterna i tentamen ger totalt 60

Läs mer

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga

Datorarkitektur I. Tentamen Lördag 10 April Ekonomikum, B:154, klockan 09:00 14:00. Följande gäller: Skrivningstid: Fråga Datorarkitektur I Tentamen Lördag 10 April 2010 Ekonomikum, B:154, klockan 09:00 14:00 Examinator: Karl Marklund 0704 73 32 17 karl.marklund@it.uu.se Tillåtna hjälpmedel: Penna Radergummi Linjal Följande

Läs mer

Klassdeklaration. Metoddeklaration. Parameteröverföring

Klassdeklaration. Metoddeklaration. Parameteröverföring Syntax: Class Declaration Modifier Class Body Basic Class Member Klassdeklaration class Class Member Field Declaration Constructor Declaration Method Declaration Identifier Class Associations Motsvarar

Läs mer

Programmering av inbyggda system

Programmering av inbyggda system GPIO, In- och utmatning Demonstration och konsultation ST407 GPIO konfigurering och användning Arbetsbokens avsnitt 4 och 5 LCD ASCII-display Keyboard Introduktion till laboration 2 Demonstrationsövning

Läs mer

PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN

PROJEKT LJUD. KOPIERINGSUNDERLAG Martin Blom Skavnes, Staffan Melin och Natur & Kultur Programmera i teknik ISBN PROJEKT LJUD PROJEKT LJUD s 1 I det här projektet ska du koppla en krets som innehåller en högtalare och skriva ett program som får högtalaren att spela toner och melodier. Materiel Arduino dator kopplingsdäck

Läs mer

Assemblerprogrammering - fördjupning

Assemblerprogrammering - fördjupning Assemblerprogrammering - fördjupning Ur innehållet: Trampoliner tabellerade funktionsadresser Aktiveringspost med ARM Cortex M4 Mer om parameteröverföring Registerspill Kodgenerering - ISA "Kodoptimering"

Läs mer

Laborationens mål är att få displayen att visa timmar, minuter och sekunder samt att kunna ställa klockan.

Laborationens mål är att få displayen att visa timmar, minuter och sekunder samt att kunna ställa klockan. Namn: Laborationen godkänd: Digitala system 15 p L T H I n g e n j ö r s h ö g s k o l a n v i d C a m p u s H e l s i n g b o r g Datorprojekt, del 3 Projektlaboration 3, hantering av klocka. Laborationsuppgifter:

Läs mer

Exempelsamling Assemblerprogrammering

Exempelsamling Assemblerprogrammering Exempelsamling Assemblerprogrammering I uppgifterna nedan utgå från följande programskelett: #include.data var1:.word 12 var2:.word 19 sum: prod:.float 0.set noreorder.text.globl start.ent start

Läs mer

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

Styrteknik: Binära tal, talsystem och koder D3:1 Styrteknik: Binära tal, talsystem och koder D3:1 Digitala kursmoment D1 Boolesk algebra D2 Grundläggande logiska funktioner D3 Binära tal, talsystem och koder Styrteknik :Binära tal, talsystem och koder

Läs mer

KALIBRERINGS MENY. För att komma tillbaka till Mätfunktionerna håll inne M -knappen 3s. eller vänta 1 min. 1 =MOD. 9.6 KBaud

KALIBRERINGS MENY. För att komma tillbaka till Mätfunktionerna håll inne M -knappen 3s. eller vänta 1 min. 1 =MOD. 9.6 KBaud 1 (6) FUNKTION HDH-C kalibrerings/konfigureringsverktyg behövs för drifttagning av HDH-M transmittrarna. Med HDH-C kan följande utföras: - Modbus inställningar - Regulator parametrar - Mät kalibrering

Läs mer

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC)

Realtidsprogrammering. En introduktion Implementering (med exempel från PIC) Realtidsprogrammering En introduktion Implementering (med exempel från PIC) Utan timing Periodtid varierar beroende på funktionernas exekveringstid. Specificera endast maxtid ( Worst case) och eventuellt

Läs mer

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647

Per Holm Lågnivåprogrammering 2014/15 24 / 177. int och double = = 2, 147, 483, 647 Lågnivåprogrammering Föreläsning 2 Lågnivåprogrammering Förberedelse inför laboration 2. Maskinspråk, assemblerspråk Talrepresentation En enkel dator, komponenter Instruktionsformat, instruktionscykel

Läs mer

Modbus Seriell Kommunikation

Modbus Seriell Kommunikation Översikt Modbus protokollet är en allmänt använd och väldokumenterad kommunikationsmetod. Det är ett enkelt och effektivt sätt att programmera våra olika produkter A typiskt Modbus-paket ser ut så här:

Läs mer

Assemblerprogrammering, ARM-Cortex M4 del 3

Assemblerprogrammering, ARM-Cortex M4 del 3 Assemblerprogrammering, ARM-Cortex M4 del 3 Ur innehållet: Fler pekartyper Användning av stacken Lagringsklasser, synlighet - lokala variabler Funktioner - returvärden och parametrar Läsanvisningar: Arbetsbok

Läs mer

CE_O9. Exceptions, interrupts, traps. Förberedelser för lab 3, nios2int

CE_O9. Exceptions, interrupts, traps. Förberedelser för lab 3, nios2int IS1200 Exempelsamling till övning CE_O9, 2015 CE_O9. Exceptions, interrupts, traps. Förberedelser för lab 3, nios2int 9.1. Hantering av exceptions i Nios II. Vektoriserad hantering av Exceptions. Hur fungerar

Läs mer

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken.

Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till bänken. Tentamen Programmeringsteknik I 2012-06-04 Skrivtid: 1400-1700 Hjälpmedel: Java-bok Tänk på följande Det finns en referensbok (Java) hos tentavakten som du får gå fram och läsa men inte ta tillbaka till

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

På den här övningen ska vi träna på att förflytta en figur med hjälp av piltangenterna.

På den här övningen ska vi träna på att förflytta en figur med hjälp av piltangenterna. På den här övningen ska vi träna på att förflytta en figur med hjälp av piltangenterna. 1. Öppna filerna du förberedde förra veckan (charactercontrol.fla och Main_Character.as). 2. I Main_Character.as,

Läs mer

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe

Fortsä'ning Pekare. Ulf Assarsson. Originalslides av Viktor Kämpe Fortsä'ning Pekare Ulf Assarsson Originalslides av Viktor Kämpe Pekare och Arrayer/VK 2 Pekare och Arrayer/VK 3 Förra föreläsningen Pekare Bll data Arrayer fix storlek och adress Dynamisk minnesallokering

Läs mer

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga.

Det är principer och idéer som är viktiga. Skriv så att du övertygar rättaren om att du har förstått dessa även om detaljer kan vara felaktiga. Tentamen Programmeringsteknik II 2014-0-27 Skrivtid: 0800 100 Tänk på följande Skriv läsligt! Använd inte rödpenna! Skriv bara på framsidan av varje papper. Börja alltid ny uppgift på nytt papper. Lägg

Läs mer