A-del motsvarande KS1



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

Kontrollskrivning Mikrodatorteknik CDT S2-704

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

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.

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

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

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

Det finns en hemsida. Adressen är

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

Lösningar till tentamen i EIT070 Datorteknik

Lösningar till tentamen i EIT070 Datorteknik

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

Effektpedal för elgitarr

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

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

Stack och subrutiner Programmeringskonventionen

Datakommunikation med IR-ljus.

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

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Digitala Projekt(EITF40) - Larm

TSIU50 Mikrodatorprojekt. LAB1 AVR-introduktion och logikanalysator

Datorteknik Övningsuppgifter

I denna laboration undersöker vi hur aritmetiska beräkningar utförs. Vi tittar på olika variabeltyper: 8-bitars, 16-bitars, 32-bitars och flyttal.

Tentamen. Datorteknik Y, TSEA28

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

Grunderna i stegkodsprogrammering

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

Tentamen i EIT070 Datorteknik

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation

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

MIKRODATORTEKNIK 2012 INNEHÅLLSFÖRTECKNING

Övning2 Datorteknik, HH vt12 - Programmering

Analog till Digitalomvandling

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

Datorsystemteknik D. Lösningar till tentamen i kursen EDA330 14/1 2000

Analog till Digitalomvandling

Tentamen i Krets- och mätteknik, fk - ETEF15

A/D D/A omvandling. Lars Wallman. Lunds Universitet / LTH / Institutionen för Mätteknik och Industriell Elektroteknik

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

2E1112 Elektrisk mätteknik

Datorteknik. Den digitala automaten. En dator måste kunna räkna! Register och bussanslutning

D/A- och A/D-omvandlarmodul MOD687-31

Tentamen PC-teknik 5 p

Digitala Projekt (EITF11)

Övningsuppgifter STYRNING - i Mikrodatorteknik för U2 2010

Högskolan i Halmstad Digital- och Mikrodatorteknik 7.5p. Lista på registeruppsättningen i PIC16F877A Datablad TTL-kretsar 74-serien

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

Växtviskaren EITF11 Digitala projekt VT15, I12

Lösningar till tentamen i EIT070 Datorteknik

Till assemblersystemet Zuper 80 Assembler krävs en SPECTRAVIDEO 328/318+minst 16K ram extra.

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

Tentamen Datorteknik Y, TSEA28 Datum TER2, TER4, TERE Tid 14-18

Institutionen för datavetenskap 2014/15

Tentamen Datorteknik D del 2, TSEA49

LARMANLÄGGNING. Digitala Projekt, EITF11. Oskar von Knorring Emin Karimov Henrik Akej Handledare: Bertil Lindvall

Svar till Övning3 Datorteknik, HH vt12 Avbrott och timers

CE_O3. Nios II. Inför lab nios2time

Institutionen för elektro- och informationsteknologi, LTH

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

Datorsystem Laboration 2: Minnesmappade bussar

Att använda pekare i. C-kod

F8: Undantagshantering

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

Tentamen Datorteknik Y, TSEA28 Datum

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

Digital- och datorteknik

SVAR TILL TENTAMEN I DATORSYSTEM, VT2013

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

Flera processer. Minneshantering. Trashing kan uppstå ändå. Ersätta globalt

Systemkonstruktion SERIEKOMMUNIKATION

Digital- och datorteknik

Lathund. C för inbyggda system

CE_O1. Nios II. Enkla assembler-instruktioner.

AVRStudio på tre minuter. Micke Josefsson, 2005

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

Exempeluppgift i Logikstyrning. 1 Inledning. 2 Insignaler och utsignaler

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

Datorteknik Hyfsa kod

Föreläsning 3.1: Datastrukturer, en översikt

Föreläsningsanteckningar 3. Mikroprogrammering II

Lathund. C för inbyggda system

Laboration 2 i Datorteknik- Assemblerprogrammering II

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

Maskinorienterad programmering

Övning1 Datorteknik, HH vt12 - Talsystem, logik, minne, instruktioner, assembler

Exempel 4. Användning av en timer

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

Tentamen. Datorteknik Y, TSEA28

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

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

Digital Termometer J10 B4 A4 GND GND GND B1 GND GND GND GND B3 A3 +5V +5V A3 +5V A2 +5V +5V A2. +5v B16 A16 UREG UREG B1 6 AC AC A1 6 A6 6

Lösningsförslag till Tenta i Mikrodator

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

Ett urval D/A- och A/D-omvandlare

Programmerbar logik. Kapitel 4

Tentamen Enchipsdatorer med tillämpningar. Lösningar och kommentarer

Datorteknik. Exempeluppgifter i Laborativ Examination

Digital- och datorteknik

Assemblerprogrammering del 3

CPU. Carry/Borrow IX. Programräknare

Transkript:

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 ANDI, R18, 0x34 har utförts? R18 innehåller från början talet det binära talet 0010 0010. A R18 innehåler decimalt 20 Bitvis and mellan 0x22 0ch 0x34 0010 0010 0011 0100 0010 0000 = 0x20 Uppgift A2. PORTD har insignalen 0x34. Vad blir då utsignalen till PORTB efter det att följandprogram körts? IN R20, PIND 0x34 till R20 ORI R20,0xF0 Bitvis or mellan 0x34 och 0xF0 0011 0100 1111 0000 1111 0100 LSL R20 Skifta ett steg åt vänster fyll med en nolla. 1 1110 1000 OUT PORTB,R20 Läs ut 0xE8 C 0xE8 Uppgift A3. Ange vilken/vilka bit i statusregistret SREG som sätts då följande programsekvens utförs. Antag att SREG är nollställd från början LDI R16,0x3F 0x3F till R16 CPI R16,0x3D utför subtraktion 3F 3D = 0x02 ger ett positivt tal, ingen bit i SREG ändras. R16 är oförändrad efter instruktionen A ingen bit 2006-10-18 H:\CT3760\Period1_2005\2005_10_28_2S.doc 1/5

Uppgift A4. Vilken instruktion ettställer de två mest signifikanta bitarna i register R16 utan att de övriga bitarna påverkas? OR-funktionen med noll behåller det ursprungliga värdet. OR med ett ger alltid en etta. De två mest signifikanta bitarna ger 1100 0000. 0xC0 E ORI R16, 0xC0 Uppgift A5. Följande tre instruktioner är skrivna i assembler. Blir det någon skillnad på maskininstruktionerna då dessa översätts? LDI R20, 250 decimalt 250 = 0xFA LDI R20, 0xFA LDI R20, -6 6 uttryckt som ett binärt tal 0000 0110 tvåkomplement 1111 1010 motsvarar 6 1111 1010 = 0xFA B Nej Uppgift A6. Istället för att skriva registernamn kan man använda ett symboliskt namn. R20 kan exempelvis få namnet: tentamen. På vilket sätt anger man ett symboliskt namn? C.def tentamen = R20 Uppgift A7. Vad är innehållet i registren R18, R19 och R20 efter det att följande program körts? LDI R17,0x08 dec R17 dec R17 POP R18 POP R19 POP R20 stop: rjmp stop Svar: R18 = 0x06 R19 = 0x07 R20 = 0x08 Uppgift A8. Assemblerprogram brukar inledas med.include "m16def.inc". Beskriv vad denna fil har för innehåll. Svar: Innehåller symboliska namn på register och olika bitar i register. Detta gör att man exempelvis kan skriva PORTA, DDRD osv. 2006-10-18 H:\CT3760\Period1_2005\2005_10_28_2S.doc 2/5

Uppgift A9. Ett assemblerprogram brukar också innehålla följande kod: LDI temp,low(ramend) OUT SPL,temp LDI temp,high(ramend) OUT SPH, temp Vad gör dessa fyra rader? Vad innebär RAMEND? Svar: Detta gör att en stack definieras. RAMEND är en adress till SRAM. Närmare bestämt den sista minnesplatsen i RAM-minnet. Stacken börjar på den hösta adressen, och får sedan växa nedåt. Uppgift A10. Vilka minnestyper innehåller en mickrocontroller Atmega16? Beskriv också användningen av de olika minnestyperna. FLASH-minne. Ett minne som är av EEPROM-typ. Man kan skriva in information till minnet. Informationen finns kvar vid spänningsbortfall. Används för att lagra program. SRAM. Statiskt ram-minne. Informationen finns kvar så länge som minnet har matningsspänning. Här finns bl.a. stacken EEPROM. Minne som behåller informationen efter det att spänningen slagits av. Används för tabellvärden. Man kan spara innehållet i registren här om man använder sig av processorns möjlighet att försätta sig i strömbesparande läge. B-del motsvarande KS2 Uppgift B11. Atmega16 innehåller en 10-bit A/D-omvandlare. Hur många logiska nivåer har en sådan omvandlare? 10 A 2 Uppgift B12. Referensspänningen för A/D-omvandlaren i Atmega 16 är 5,0000V. Detta innebär att den minsta spänningsförändring som kan upptäckas är 4,88 mv. Om man bara utnyttjar de 8 mest signifikanta bitarna i den 10-bit omvandlare som är inbyggd, så blir den minsta spänningsförändring som kan upptäckas. Den minsta förändring som kan upptäckas vid 10-bit upplösning är 4,88 mv Det är exempelvis övergången från 00 0000 0000 till 00 0000 0001 Om man plockar bort de sista två bitarna så kommer man bara att se en övergång från 00 0000 0000 till 00 0000 0100 Vilket innebär 4 ggr så stor skillnad. B 19,53 mv 2006-10-18 H:\CT3760\Period1_2005\2005_10_28_2S.doc 3/5

Uppgift B13. En A/D-omvandlare bör vara linjär. Vad är villkoret för att A/D-omvandlaren i Atmega 16 skall vara linjär. Största avvikelsen från nominellt värde få vara i området Villkoret för att en omvandlare skall vara linjär är ± 0,5 LSB. Detta villkor gäller vid konstruktionen av A/D omvandlaren. Om man använder 10 bitar eller 8 bitar, beror på programskrivningen. A ± 0,5 * 4,88 mv Uppgift B14. En fyrkanssignal har följande utseende. Ange duty-cycle för signalen. 1 0 8 ms 2 ms C 0,75 Pertiodtiden är 8 ms. Signalen har värdet 1 under ( 8 2 ) ms. 6/8 = 0,75 Uppgift B15. Vad inträffar då man får en nolla till reset-ingången på processorn? Reset är detsamma som återstart. Allt börjar om. B Programpekaren ställs om till det värde som anges för resetvektorn. Uppgift B16. En tilldelningssats i C har följande utseende: kalle = (kalle << 1) + 1; ( (kalle << 1) betyder skifta ett steg åt vänster. ) Du skall skriva en assemblerkod som motsvarar satsen. Vilket av följande är korrekt assemblerkod? Antag att variabeln kalle finns deklarerad på följande sätt i assembler: kalle:.byte 1 Alternativ a gör ingen addition av ett. Alterntiv b add r20, r20 får som resultat att r20 multipliceras md två, dessutom syntaxfel i subi. Man kan ej ange minustecken. Alternativ c Syntaxfel i add. Instruktionen fungerar bara på register, ej konstanter. Alternativ d Rätt. 0xFF betyder 1. subi r20,0xff gör att ( -1 ) subtrheras från r20. Dvs man lägger till ett. 2006-10-18 H:\CT3760\Period1_2005\2005_10_28_2S.doc 4/5

A LDS R20,kalle B LDS R20,kalle LSL R20 ADD R20,R20 STS kalle,r20 SUBI R20, -1 STS kalle,r20 C LDS R20,kalle D LDS R20,kalle LSL R20 LSL R20 ADD R20,1 SUBI R20, 0xFF STS kalle,r20 STS kalle,r20 Uppgift B17. Då Watchdog har löst ut så kommer: A Programmet att starta om från början B Programmet startar om från den adress som finns angiven för watchdog. C Programmet hoppar över nuvarande instruktion. D Programmet startar om från breakpoint. Alternativ A Uppgift B18. Beskriv vad som händer vid ett interrupt. Antag att anropet inte är spärrat. Pågående instruktion avslutas Adressen till nästa instruktion lagras på stacken I-bit i SREG nollställs Den adress som hör ihop med avbrottet hämtas i vektortabellen och laddas till programräknaren. Processorn utför det program som hör ihop med avbrottet. Detta program avslutas med instruktionen --- reti ---. Den adress som finns på stacken laddas till programpekaren. I-biten ett-ställs. Uppgift B19. Beskriv skillnaden mellan interrupt och pollning. Vid pollning kontrollerar programmet om någon speciell händelse inträffat. Om så skett kommer en subrutin att utföras. Vid interrupt kommer en händelse att initiera ett avbrott av den normala pogramkörningen. Istället körs en avbrottsrutin, den som motsvarar subrutinen ovan. Uppgift B20. Vilka är fördelarna med A/D-omvandling enligt successiv approximation? Omvandlingstiden är konstant. Oberoende av insignalens storlek. Relativt snabb omvandling. 2006-10-18 H:\CT3760\Period1_2005\2005_10_28_2S.doc 5/5