Returvärden via register. Parameteröverföring via register

Storlek: px
Starta visningen från sidan:

Download "Returvärden via register. Parameteröverföring via register"

Transkript

1 Maskinorienterad Programmering 21/211 CPU12 eference Guide Stencil: Assemblerprogrammering.pdf Ur innehållet: Parameteröverföring Positionsoberoende kod äknarkretsar ( IMES ) Pulsbreddsmodulering le ( PM ) Analog-/Digital- omvandling ( AD ) Seriekommunikation ( SCI ) Parameteröverföring till/från subrutiner Via register Via stacken In Line 1 2 Parameteröverföring via register eturvärden via register Antag att vi alltid använder register D,X,Y (i denna ordning) för parametrar som skickas till en subrutin. Då kan funktionsanropet (subrutinanropet) dummyfunc(la,lb,lc); översättas till: LDD la LDX lb LDY lc BS dummyfunc Då vi kodar subrutinen dummyfunc vet vi (på grund av våra regler) att den första parametern skickas i D, den andra i X och den tredje i Y (osv). väljs, beroende på returvärdets typ (storlek), HCS12-exempel Storlek Benämning C-typ 8 bitar byte char B 1 bitar word short int D 32 bitar long long int Y/D En regel (konvention) bestäms och följs därefter vid kodning av samtliga subrutiner Metoden är enkel och ger bra prestanda. Begränsat antal parametrar kan överföras. 3 4

2 Lokala variabler stacken för temporär lagring Parameteröverföring via stacken Adress Innehåll SP före SP efter ; dummyfunc(la,lb,lc); 3 2FFF D.lsb dummyfunc: 2FFE D.msb ; parametrar finns i register, 2FFD X.lsb ; spara på stacken 2FFC X.msb SD 2,-SP SX 2,-SP 2FFB ---- här används registren för andra syften ---- ; återställ täll ursprungliga parametrar från stacken LDD 2,SP LDX,SP LEAS 4,SP ; återställ stackpekare S Antag att listan av parametrar som skickas till en subrutin behandlas från höger till vänster. Då kan dummyfunc(la,lb,lc); lb l Översättas till: LDD lc PSHD ;(alternativt SD 2,-SP) LDD lb PSHD LDD la PSHD BS dummyfunc LEAS,SP Innehåll Kommentar Adressering via SP i subrutinen lc.lsb Parameter lc lc.msb,sp lb.lsblsb Parameter lb lb.msb 4,SP la.lsb Parameter la la.msb 2,SP PC.lsb Återhoppsadress, PC.msb placeras här vid BS,SP dummyfunc:.. LDD 2,SP ; parameter la till register D.. LDD 4,SP ; parameter lb till register D.. LDD,SP ;parameter lc till register D 5 Parameteröverföring In Line Positionsoberoende kod In line parameteröverföring, värdet 1 ska överföras till en subrutin: BS dummyfunc u FCB 1... main: OG $1 NOP JMP main Genererad kod: A7 1 Den absoluta adressen till symbolen main ärkodad i instruktionen. dummyfunc: LDAB [,SP] ; parameter->b LDX,SP ; återhoppsadress->x INX ; modifiera.. SX,SP ;.. tillbaks till stack S main: OG $1 Genererad kod: A7 2 FD NOP Adressen till main anges som en offset till BA main programräknaren (FD=-3, PC-relativ) POSIIONSOBEOENDE ( PIC, Position Independent Code) 7 8

3 elokering Antag att vi vill flytta maskinkod från en startadress till en annan (elokera kod). CG, Clock eset Generator HCS12 har programmerbar arbetstakt t. Kontrolleras från CG-modul. PIC: Bara kopiera från källadress till destination. EJ PIC: Absoluta adresser måste räknas om (kräver relokeringsinformation, dvs VILKA adresser innehåller referenser till absoluta adresser, etc.) BusClock (E) = PLLCLK/2 9 1 EXEMPEL: Bestäm busfrekvens Antag 8 MHz kristall. PLLCLK får aldrig vara mindre än OSCCLK eftersom detta äventyrar stabilitetsvillkoren i oscillatorn. PLLCLK/2 får aldrig vara större än nominella arbetsfrekvensen hos kretsen. För första generationens HCS12 innebär detta att PLLCLK/2 < 25 MHz. ( SYN 1) 5MHz 2 8MHz ( EFDV 1) Sätt: SYN = 5 och EFDV = 1 (5 1) 2 8MHz 2 8 3MHz 48MHz (1 1) Algoritm: 1. Skriv nya värden till SYN, EFDV. 2. Vänta tills kretsen låser (LOCK=1) 3. Växla till PLL (sätt PPLSEL=1) Basadress = $34 $34 $35 $3 $37 $38 $39 $3A $3B $3C $3D Clock eset Generator (CG) Offset Mnemonic Namn $ Synthesizer SYN5 SYN4 SYN3 SYN2 SYN1 SYN SYN $1 EFDV EFDV EFDV EFDV eference Divide EFDV $2 *)est Flags CFLG $3 IF POF LVF LOCKIF LOCK SCMIE SCMIF SCM Flags CGFLG $4 Interrupt Enable IE LOCKIE SCMIE CGIN $5 Clock Select PLLSEL PSP SYSAI OAAI PLLAI CAI IAI COPAI CLKSEL $ PLL Control CME PLLON AUO AOQ PE PCE SCME PLLCL $7 I Control ICL $8 COP Control COP SBCK C2 C1 C COPCL *)Force and Bypass $9 FOBYP est $3E $A CCL $3F $B Bit7 Bit Bit5 Bit4 Bit3 Bit2 Bit1 Bit AMCOP *)est Control COP Arm/imer eset 11 12

4 ..programmering.. äknarkrets k ( timer ), ) principiell i i funktion * Generisk kod för programmerad arbetstakt... MOVB #EFDVVal,EFDV MOVB #SYNVal,SYN wait: BCL CGFLG,#LOCK,wait ; vänta tills PLL låst... BSE CLKSEL,#PLLSEL ; växla systemklocka till PLL. Pulser/ intervall eload äknar värde IQ IQ IQ t * Adressdefinitioner för register EFDV EQU $35 SYN EQU $34 CGFLG EQU $37 CLKSEL EQU $39 * Bitdefinitioner PLLSEL EQU $8 LOCK EQU 8 * värden EFDVVal: EQU 1 SYNVal: EQU 5 Clk Prescaler Används för att dela ned klockfrekvensenkf k Nedräknare Läsbart register = IQ Enable IQ Periodiska avbrott Kan användas för att skapa en EALIDSKLOCKA ealtidsklocka k i HCS12 ealtidsklocka k i HCS12, initieringiti i re olika register används för realtidsklockan Algoritm, initiering 2. Aktivera avbrott från kretsen 1. Skriv tidbas för avbrottsintervall till ICL $34 $35 $3 $37 $38 $39 $3A $3B $3C $3D Clock eset Generator (CG) Offset Mnemonic Namn $ Synthesizer SYN5 SYN4 SYN3 SYN2 SYN1 SYN SYN $1 EFDV EFDV EFDV EFDV eference Divide EFDV $2 *)est Flags CFLG $3 IF POF LVF LOCKIF LOCK SCMIE SCMIF SCM Flags CGFLG $4 Interrupt Enable IE LOCKIE SCMIE CGIN $5 Clock Select PLLSEL PSP SYSAI OAAI PLLAI CAI IAI COPAI CLKSEL $ PLL Control CME PLLON AUO AOQ PE PCE SCME PLLCL $7 I Control ICL $8 COP Control COP SBCK C2 C1 C COPCL *)Force and Bypass $9 FOBYP est $3E $3F $A CCL $B Bit7 Bit Bit5 Bit4 Bit3 Bit2 Bit1 Bit AMCOP *)est Control COP Arm/imer eset 15 1

5 Prescaler för räknarkretsen k [3:] (OFF) [:4] OSCCLK Ifreq Beräkning av tidbas OSCCLK y 4 Ifreq x OFF OFF 2x2 1 2x2 11 2x2 12 2x2 13 2x2 14 2x2 15 2x2 1 1 OFF 3x2 1 3x2 11 3x2 12 3x2 13 3x2 14 3x2 15 3x OFF 42 4x x x x x x x2 1 1 OFF 5x2 1 5x2 11 5x2 12 5x2 13 5x2 14 5x2 15 5x OFF x2 1 x2 11 x2 12 x2 13 x2 14 x2 15 x OFF 7x2 1 7x2 11 7x2 12 7x2 13 7x2 14 7x2 15 7x OFF 8x2 1 8x2 11 8x2 12 8x2 13 8x2 14 8x2 15 8x2 1 1 OFF 9x2 1 9x2 11 9x2 12 9x2 13 9x2 14 9x2 15 9x OFF 1x2 1 1x2 11 1x2 12 1x2 13 1x2 14 1x2 15 1x OFF 11x2 1 11x x x x x x OFF 12x2 1 12x x x x x x OFF 13x2 1 13x x x x x x OFF 14x2 1 14x x x x x x OFF 15x2 1 15x x x x x x OFF 1x2 1 1x2 11 1x2 12 1x2 13 1x2 14 1x2 15 1x2 1 (Se även exempel i Stencil 2 ) Den bästa approximationen har vi för = 1 11 = $49, som medför: 1x2 13 = 8192 Eftersom detta värde är något större än det exakta, kommer vi att få en något längre periodtid, nämligen: avbrottsfrekvens = 8 1 / 8192 = 97.5 Hz vilket ger periodtiden:.124 s = 1,24 ms. Klockan kommer alltså att "gå för sakta" som en följd av detta systematiska fel Program för initiering.. iti i ealtidsklocka k i HCS12, vid avbrott ; Adressdefinitioner CGIN EQU $38 ICL EQU $3B timer_init: ; Initiera C avbrottsfrekvens ; Skriv tidbas för avbrottsintervall till ICL MOVB #$49,ICL ; Aktivera avbrott från CG-modul MOVB #$8,CGIN S Anmärkning: Det är olämpligt att använda detta värde då programmet testas i simulator, använd då i stället det kortast tänkbara avbrottsintervallet enligt; ; Skriv tidbas för avbrottsintervall till ICL MOVB #$1,ICL ; För simulator Algoritm, kvittera avbrott 1. IF = 1 $34 $35 $3 $37 $38 $39 $3A $3B $3C $3D Clock eset Generator (CG) Offset Mnemonic Namn $ Synthesizer SYN5 SYN4 SYN3 SYN2 SYN1 SYN SYN $1 EFDV EFDV EFDV EFDV eference Divide EFDV $2 *)est Flags CFLG $3 IF POF LVF LOCKIF LOCK SCMIE SCMIF SCM Flags CGFLG $4 Interrupt Enable IE LOCKIE SCMIE CGIN $5 Clock Select PLLSEL PSP SYSAI OAAI PLLAI CAI IAI COPAI CLKSEL $ PLL Control CME PLLON AUO AOQ PE PCE SCME PLLCL $7 I Control ICL $8 COP Control COP SBCK C2 C1 C COPCL *)Force and Bypass $9 FOBYP est $3E $3F $A CCL $B Bit7 Bit Bit5 Bit4 Bit3 Bit2 Bit1 Bit AMCOP *)est Control COP Arm/imer eset 19 2

6 ealtidsklocka k i HCS12, avbrottshantering t ealtidsklocka k med hög upplösning ; Adressdefinition CGFLG EQU $37 timer_interrupt: ; Kvittera avbrott från C BSE CGFLG,#$8 I ; Avbrottsvektor på plats OG $FFF FDB timer_interrupt Adress (hex) Funktion FFF eal ime Interrupt FFEE Enhanced Capture imer channel FFEC Enhanced Capture imer channel 1 FFEA Enhanced Capture imer channel FF8E Port P Interrupt FF8C PM Emergency Shutdown FF8A- eserverade FF8 Enhanced Capture imer (EC) En maskincykels noggrannhet EXEMPEL: Arbetstakt= 24 MHz PEIOD = 24 Intervall = 1 ms Noggrannhet = 1/24 sek. 41,7 1-9 sec Programexempel Pulsbreddsmodulering d l (PM) IOS EQU $4 CN EQU $44 IE EQU $4C FLG1 EQU $4E OC_ EQU $5 PEIOD EQU 24 Init: MOVB #1,IOS ; ch är OC MOVB #1,IE ; tillåt IQ LDD CN ; aktuell cykel ADDD #PEIOD ; addera period SD OC_ ; nästa avbrott S OG FDB $FFEE OCirq OCirq : MOVB #1,FLG1 ; kvittera LDD CN ; ny period ADDD #PEIOD SD OC_ I Adress (hex) Funktion FFF eal ime Interrupt FFEE Enhanced Capture imer channel FFEC Enhanced Capture imer channel 1 FFEA Enhanced Capture imer channel FF8E Port P Interrupt FF8C PM Emergency Shutdown FF8A- eserverade FF8 U U U period dutycycle 1 U out U 2 3 U out U 4 1 U out U 4 dutycycle U out U period Period och duty- cycle är programmerbart 23 24

7 PM-styrning Control bus Data bus period dutycycle Högtalare, glödlampa element, etc... 8 * 8 bitars eller 4 * 1 bitars räknare period duty cycle PM Continous signal out Power Amplifier 25 2 Programexempel ; PM initiering PME EQU $A PPOL EQU $A1 PMPCLK EQU $A3 PMPE EQU $B4 PMDY EQU $BC ; låg nivå startar period CL PMPOL ; c:a 4 ms periodtid MOVB #$77,PMPCLK ; pwm kanal MOVB #$FF,PMPE ; börja med 8% duty cycle.. MOVB #$D,PMDY ; aktivera kanal MOVB #1,PME Analog-/Digital- it l omvandling 27 28

8 Programexempel ; AD initiering ; Högerjustera resultat, unipolärt ; kontinuerlig mode (scan), AD kanal MOVB ; upplösning MOVB #$A,ADCL5 #$E5,ADCL4 ; en konverteringssekvens MOVB #$4,ADCL3 Multiplex 8 kanaler. ; normal mode MOVB #$C,ADCL2 ; Vänta tills omvandling klar wad: BCL ADSA,#$8,wAD ; När resultat färdigt, läs LDAB ADDL Seriekommunikation, ik SCI Central Processing Unit Serial to parallel conversion eceive Data: xd Sändare Data buss Mottagare Data buss Parallel to serial conversion ransmit Data: xd Central Serial to parallel ransceiver ransceiver Processing Unit conversion eceive ransmit eceive ransmit Parallel to serial conversion Clock Control CS Data OE Shift Serial data out xd Serial data in xd Clock Control OE Data E Shift Serial transmission i Sändare och mottagares klockor går i samma takt 31 32

9 S232 överföring av tecknet t z tecknet z representeras av bitmönstret (ASCII-tecken). +1 volt volt - 1 volt S A B I idle idle z minst signifikanta bit först P A I Y B I S O P B I Initiering, i busy-wait Basadress = $C8 Serial Communication Interface (SCI) Algoritm: Offset Mnemonic Namn Baud ate 1. Initiera $ SB12 SB11 SB1 SB9 SB8 SCIBDH High BAUDAE Baud ate $1 SB7 SB SB5 SB4 SB3 SB2 SB1 SB SCIBDL Low $2 LOOPS SCISAI SC M AKE IL PE P SCIC1 Control 1 2. Aktivera $3 IE CIE IE ILIE E E U SBK SCIC2 ransmitter Control 2 eceiver DE C DF IDLE O NF FE PF $4 SCIS1 Status 1 AF $5 BK13 XDI SCIS2 Status 2 8 Data $ 8 SCIDH High $7 SCIDL Data Low SCIBD: EQU $C8 ; SCI baudrate-register t (1 bit). SCIC2: EQU $CB ; SCI styr-register 2. ; Bitdefinitioner, styrregister E: EQU $8 ; ransmitter enable. E: EQU $4 ; eceiver enable Skriv tecken via SCI Läs tecken från SCI Serial Communication Interface (SCI) Offset Mnemonic Namn Baud ate $ SB12 SB11 SB1 SB9 SB8 SCIBDH High Baud ate $1 SB7 SB SB5 SB4 SB3 SB2 SB1 SB SCIBDL Algoritm: Low DE = $2 LOOPS SCISAI SC M AKE IL PE P SCIC1 Control 1 (ransmit Data $3 IE CIE IE ILIE E E U SBK SCIC2 Control 2 DE C DF IDLE O NF FE PF Empty) $4 SCIS1 Status 1 AF $5 BK13 XDI SCIS2 Status 2 1. Om DE=1 8 SCIDL=tecken Data $ 8 SCIDH High $7 SCIDL Data Low Algoritm: DF = (eceive Data Full) 1. Om DF =1 tecken=scidl Serial Communication Interface (SCI) Offset Mnemonic Namn $ Baud ate SB12 SB11 SB1 SB9 SB8 SCIBDH High $1 Baud ate SB7 SB SB5 SB4 SB3 SB2 SB1 SB SCIBDL Low $2 LOOPS SCISAI SC M AKE IL PE P SCIC1 Control 1 $3 IE CIE IE ILIE E E U SBK SCIC2 Control 2 $4 DE C DF IDLE O NF FE PF SCIS1 Status 1 $5 AF BK13 XDI SCIS2 Status 2 $ 8 Data 8 SCIDH High $ SCIDL Data Low SCIS1: EQU $CC ; SCI status-register t t 1. SCIDL: EQU $CF ; SCI data-register låg byte. ; Bitdefinitioner, statusregister DE: EQU $8 ; ransmit data register empty status bit. SCIS1: EQU $CC ; SCI status-register t t 1. SCIDL: EQU $CF ; SCI data-register låg byte. ; Bitdefinitioner, statusregister DF: equ $2 ; eceive data register full status bit. 35 3

10 Bestämma Baudrate-värde äd PLLCLK B 1 baudrate , , PLLCLK baudrate 1 B , Eclock: EQU 8 ; 8 MHz ; Baudate register värden, baserad på PLL-klocka Baud9: EQU (Eclock/(1*9)), Programmet... ; enkelt testprogram OG $1 JS serial_init Loop: JS in ; "eka" tecken JS out BA loop ; OU tecken rutin ; Skriv tecken till SCI ; Inparameter, register B: tecken. out: BCL SCIS1,#DE,out ; vänta till DF=1 SAB SCIDL ; skicka k tecken... S ; IN tecken rutin ; Läs tecken från SCI ; eturnera i register B in: BCL SCIS1,#DF,in ; vänta till DF=1 LDAB SCIDL ; läs tecken S 37 38

Maskinorienterad Programmering 2011/2012. CPU12 Reference Guide Stencil: Assemblerprogrammering.pdf

Maskinorienterad Programmering 2011/2012. CPU12 Reference Guide Stencil: Assemblerprogrammering.pdf Maskinorienterad Programmering 211/212 CPU12 eference Guide Stencil: Assemblerprogrammering.pdf Ur innehållet: äknarkretsar ( TMES ) Pulsbreddsmodulering ( PM ) Analog-/Digital- omvandling ( AD ) Seriekommunikation

Läs mer

Programmering av inbyggda system 2013/2014

Programmering av inbyggda system 2013/2014 Programmering av inbyggda system 2013/2014 CPU12 Reference Guide Stencil: Assemblerprogrammering.pdf Ur innehållet: Räknarkretsar ( TIMERS ) Pulsbreddsmodulering ( PM ) Analog-/Digital- omvandling ( AD

Läs mer

Programmering av inbyggda system. Seriekommunikation. Viktor Kämpe

Programmering av inbyggda system. Seriekommunikation. Viktor Kämpe Seriekommunikation Viktor Kämpe Sändare Data buss Mottagare Data buss CS OE Data egister OE Data egister E Clock Shift egister xd Serial data out Serial data in xd Clock Shift egister Sändare och mottagares

Läs mer

Assemblerprogrammets. struktur; exempel

Assemblerprogrammets. struktur; exempel Assemblerprogrammering för HCS12 Absolut assemblering Ur innehållet: Assemblatorn, assemblerspråk Ordlängder och datatyper Tilldelningar, binära operationer Registerspill, permanenta och tillfälliga variabler

Läs mer

Assemblerprogrammering för HCS12

Assemblerprogrammering för HCS12 Assemblerprogrammering för HCS12 Ur innehållet: Assemblatorn, assemblerspråk Ordlängder och datatyper Tilldelningar, binära operationer Registerspill, permanenta och tillfälliga variabler Programkonstruktioner

Läs mer

Programmering av inbyggda system

Programmering av inbyggda system Programmering av inbyggda system Synkronisering och undantag Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare

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

F5: Högnivåprogrammering

F5: Högnivåprogrammering F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data via

Läs mer

F5: Högnivåprogrammering

F5: Högnivåprogrammering 1 F5: Högnivåprogrammering Parameteröverföring Koppling mellan låg- och högnivåprogrammering Lokala variabler Heapen Datatyper 1 Subrutin, parameteröverföring: 1(3) Via register genom värde Skicka data

Läs mer

Assemblerprogrammets struktur; exempel

Assemblerprogrammets struktur; exempel Maskinorienterad Programmering 2010/11 Maskinnära programmering en introduktion Ur innehållet: Assemblatorn, assemblerspråk Datatyper Tilldelningar, l i unära och binära operationer Permanenta/tillfälliga

Läs mer

Adressrum, programmerarens bild

Adressrum, programmerarens bild EDA 480 2009/2010 MC68HC12, Uppbyggnad.pdf Ur innehållet: Datorns byggblock Busskommunikation Synkron buss Asynkron buss Multiplex-buss avkodning för minne och I/O Minnesavbildad I/O Direktadresserad I/O

Läs mer

Maskinorienterad Programmering 2010/11

Maskinorienterad Programmering 2010/11 Maskinorienterad Programmering 2010/11 Maskinnära programmering en introduktion Ur innehållet: Assemblatorn, assemblerspråk Datatyper Tilldelningar, l i unära och binära operationer Permanenta/tillfälliga

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

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

Förutsättningar för skrivaranslutningen

Förutsättningar för skrivaranslutningen Maskinorienterad Programmering 2011/2012 Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare Undantag: Hur

Läs mer

Undantagstyper. Maskinorienterad Programmering 2010/2011. MC68HC12, Stencil Assemblerprogrammering.pdf CPU12 Reference Guide

Undantagstyper. Maskinorienterad Programmering 2010/2011. MC68HC12, Stencil Assemblerprogrammering.pdf CPU12 Reference Guide Maskinorienterad Programmering 200/20 MC68HC2, Stencil Assemblerprogrammering.pdf CPU2 Reference Guide Arbetsbok b för MC2, avsnitt 2 Exekveringstillstånd tå Processorn befinner sig alltid i något av tillstånden:

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

Förutsättningar för skrivaranslutningen. Första programexemplet. Synkronisera arbetstakterna

Förutsättningar för skrivaranslutningen. Första programexemplet. Synkronisera arbetstakterna Maskinorienterad Programmering 0/0 Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare Undantag: Hur hanteras

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

Föreläsningsanteckningar 3. Mikroprogrammering II

Föreläsningsanteckningar 3. Mikroprogrammering II Föreläsningsanteckningar 3. Mikroprogrammering II Olle Seger 2012 Anders Nilsson 2016 1 Inledning Datorn, som vi byggde i förra föreläsningen, har en stor brist. Den saknar I/O. I denna föreläsning kompletterar

Läs mer

Förutsättningar för skrivaranslutningen. Första programexemplet. strängslut. Maskinorienterad Programmering 2011/2012 Synkronisering och undantag

Förutsättningar för skrivaranslutningen. Första programexemplet. strängslut. Maskinorienterad Programmering 2011/2012 Synkronisering och undantag Maskinorienterad Programmering 20/202 Synkronisering och undantag Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter

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

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

Övningsuppgifter i Mikrodatorteknik 4p/5p

Övningsuppgifter i Mikrodatorteknik 4p/5p Övningsuppgifter i Benny Thörnberg Mittuniversitetet Inst. för Informationsteknologi och medier Hösten 2005 1 Exekvering av assemblerkod 1.1 Statusflaggors beteende Vad blir C-, N- och Z- flaggornas värden

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

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

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

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

Förutsättningar för skrivaranslutningen. Första programexemplet. Inför specialtecken för strängslut

Förutsättningar för skrivaranslutningen. Första programexemplet. Inför specialtecken för strängslut Maskinorienterad Programmering 0/0 Ur innehållet: Synkronisering: hur hanteras situationer när datorn ska kommunicera med en annan enhet med okänd arbetstakt? Vi ansluter en skrivare Undantag: Hur hanteras

Läs mer

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf

DAT 015 Maskinorienterad programmering 2010/2011. Uppbyggnad_och_funktion.pdf DAT 015 Maskinorienterad programmering 2010/2011 Uppbyggnad_och_funktion.pdf Ur innehållet: Bussystem, intern kommunikation i datorsystemet Adressavkodning, hur primärminne och I/O-enheter kan anslutas

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

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

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå

Styrenheten 9/17/2011. Styrenheten - forts Arb s 120. LV4 Fo10. Aktivera Kursens mål: Kap 7 Blå Aktivera Kursens mål: LV4 Fo10 Konstruera en dator mha grindar och programmera denna Aktivera Förra veckans mål: Koppla samman register och ALU till en dataväg Minnets uppbyggnad och anslutning till datavägen

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

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

Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets

Seriekommunikation. Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets Seriekommunikation Ur innehållet: Nätverkstopologier Nätverksprotokoll Asynkron/synkron seriell överföring Programmering av USART-krets Läsanvisningar: Arbetsbok kapitel 7 Seriekommunikation 1 Parallell

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

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 050113 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

Läs mer

PNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation

PNSPO! Adressering i Omrons PLC. 14 mars 2012 OMRON Corporation PNSPO! 14 mars 2012 OMRON Corporation 2/19 Läs detta innan du bläddrar vidare PNSPO! Denna bok är avsedd som ett tillägg till de ursprungliga manualerna för OMRONs produkter. Använd den som en hjälp att

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

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

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

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

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #15 Biträdande professor Jan Jonsson Institutionen för data- och informationsteknik Chalmers tekniska högskola Dataväg med pekarregister och stackpekare: I vår sjunde,

Läs mer

Assemblerprogrammering del 3

Assemblerprogrammering del 3 Assemblerprogrammering del 3 Dagens föreläsning behandlar: Kompendiet kapitel 9 och 10.4 Arbetsboken kapitel 16 Ur innehållet: Modularisering, subrutiner och strukturerad programutveckling (flödesdiagram)

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

Maskinorienterad programmering

Maskinorienterad programmering Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/

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

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation

Microprocessor / Microcontroller. Industrial Electrical Engineering and Automation Microprocessor / Microcontroller Varför? Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887 In- och utgångar Pinnar på PIC16F887 Exempel: pinne

Läs mer

Tentamen. Datorteknik Y, TSEA28

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

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 EDA481 Programmering av inbyggda system D EDA486 Programmering av inbyggda system Z DAT016 Programmering

Läs mer

I DAG fo 4. Printerport v3 med READY o DAV. Avbrott. Hur bra blev det egentligen????

I DAG fo 4. Printerport v3 med READY o DAV. Avbrott. Hur bra blev det egentligen???? Rep Konstruktion av en Printer-Port ynkroniseringsproblem Villkorlig / ovillkorlig överföring Busy Wait och Polling Handskakningssignaler AVBROTT!!! svektor I-flagga svippa sdriven Printerport I DAG fo

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

GPIO - General Purpose Input Output

GPIO - General Purpose Input Output GPIO - General Purpose Input Output Ur innehållet: Ideala och verkliga signaler Bitvis in- och utmatning Anslutning - fysiskt gränssnitt F407 - GPIO-modul tillämpningar Läsanvisningar: Arbetsbok avsnitt

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 Programmering av inbyggda system Exempel 2 Examinator Roger Johansson, tel. 772 57 29 Kontaktpersoner

Läs mer

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink

Maskinorienterad programmering. Mekatronikingenjör åk 2/ lp 3. Lars-Eric Arebrink. Av institutionen utgiven. Lars-Eric Arebrink Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/

Läs mer

Lösningsförslag till Tenta i Mikrodator

Lösningsförslag till Tenta i Mikrodator Lösningsförslag till Tenta i Mikrodator 040117 1. Vilka register finns det i processorn och vad används dessa till? D0 till D7: Dataregister som används för beräkningar A0 till A6: Adressregister som används

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

Ö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

Maskinorienterad programmering

Maskinorienterad programmering Externa avbrott Anslutning av extern avbrottsvippa, programmering med konfigurering och hantering av externa avbrott. Introduktion till time-sharing, enkel task-switch. Ur innehållet: NVIC och EXTI (SYSCFG)

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

Lösningsförslag tenta

Lösningsförslag tenta Lösningsförslag tenta 2013-12-16 (Version 5 med reservation för eventuella fel. Uppdaterad 140417.) 1. X = 1010 0101 2 ; Y = 0101 1011 2 (8 bitars ordlängd) a) [0, 2 n 1] = [0, 2 8 1] = [0, 255] b) [ 2

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

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

Dataöverföring på Parallell- och serieform MOP 11/12 1

Dataöverföring på Parallell- och serieform MOP 11/12 1 Dataöverföring på Parallell- och serieform MOP 11/12 1 Parallell dataöverföring I digitala system finns ofta behovet att flytta ett eller flera dataord från ett ställe (sändare) till ett annat ställe (mottagare).

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

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf

Digital och Datorteknik EDA /2011. EDA 451 Digital och datorteknik 2010/2011. Uppbyggnad_och_funktion.pdf EDA 451 Digital och datorteknik 2010/2011 Uppbyggnad_och_funktion.pdf Ur innehållet: Bussystem, intern kommunikation i datorsystemet Adressavkodning, hur primärminne och I/O-enheter kan anslutas Olika

Läs mer

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS)

LABORATION DATORKONSTRUKTION TSEA83 UART. Namn och personnummer. Version: 1.0 2013 (OS) LABORATION DATORKONSTRUKTION TSEA83 UART Version: 1.0 2013 (OS) Namn och personnummer Godkänd 1 blank sida 2 Innehåll 1 Inledning 5 1.1 Syfte................................. 5 1.2 Förberedelser............................

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

Projektlaboration 4, synkronisering av klockan

Projektlaboration 4, synkronisering av 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 4 Projektlaboration 4, synkronisering av klockan Asynkron

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

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

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

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

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

Maskinorienterad programmering

Maskinorienterad programmering Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/ lp 3 Mekatronikingenjör åk 2/

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

TENTAMEN (med svar och vissa lösningar)

TENTAMEN (med svar och vissa lösningar) Institutionen för data- och informationsteknik Avdelningen för datorteknik TENTAMEN (med svar och vissa lösningar) KURSNAMN Maskinorienterad programmering PROGRAM: Dataingenjör och elektroingenjör åk 1/

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

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

Maskinorienterad programmering

Maskinorienterad programmering Undantagshantering och interna avbrott ARM Cortex-M4 exceptions, programmering av undantagshantering Ur innehållet: Faults Software traps Avbrott från interna enheter, Systick Läsanvisningar: Arbetsbok

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

Digitalt eller Analogt

Digitalt eller Analogt Digitalt eller Analogt digitalt: q 0 255 q 7 q 6 q 5 q 4 q 3 q 2 q 1 q 0 1 ½ ¼ 1/8 1/16 1/32 1/64 1/128 eller analogt? q Digital style Old school Digital Analogomvandlare? b 7 b 6 b 5 b 4 b 3 b 2 b 1 b

Läs mer

- Digitala ingångar och framförallt utgångar o elektrisk modell

- Digitala ingångar och framförallt utgångar o elektrisk modell Elektroteknik för MF1016. Föreläsning 8 Mikrokontrollern ansluts till omvärden. - Analoga ingångar, A/D-omvandlare o upplösningen och dess betydelse. o Potentiometer som gasreglage eller volymratt. o Förstärkning

Läs mer

Programmering av inbyggda system 2012/2013. Kodningskonventioner och programbibliotek. maskinnära programmering i C och assemblerspråk

Programmering av inbyggda system 2012/2013. Kodningskonventioner och programbibliotek. maskinnära programmering i C och assemblerspråk 2012/2013 Kodningskonventioner och programbibliotek Ur innehållet: Kodningskonventioner maskinnära programmering i C och assemblerspråk Programbibliotek 32-bitars operationer med 16 bitars processor Kodningskonventioner

Läs mer

Programmering av inbyggda system 2014/2015

Programmering av inbyggda system 2014/2015 Programmering av inbyggda system 2014/2015 Sammanfattning Kursens syften är att vara en introduktion till konstruktion av små inbyggda system och att ge en förståelse för hur imperativa styrstrukturer

Läs mer

Digital- och datorteknik

Digital- och datorteknik Digital- och datorteknik Föreläsning #23 Översikt När flera smoduler placeras i processorns adressrum ansluts modulernas adressingångar till motsvarande ledningar i en. Övriga adressledningar i bussen

Läs mer

Microprocessor / Microcontroller

Microprocessor / Microcontroller Microprocessor / Microcontroller Varför? Industrial Electrical Engineering and Automation Billiga Innehåller bara det nödvändigaste Kräver få kringkomponenter Enkla att programmera PIC16F887 PIC16F887

Läs mer

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar

Digitalteknik EIT020. Lecture 15: Design av digitala kretsar Digitalteknik EIT020 Lecture 15: Design av digitala kretsar November 3, 2014 Digitalteknikens kopplingar mot andra områden Mjukvara Hårdvara Datorteknik Kretskonstruktion Digitalteknik Elektronik Figure:,

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

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

Systemkonstruktion SERIEKOMMUNIKATION

Systemkonstruktion SERIEKOMMUNIKATION Systemkonstruktion SERIEKOMMUNIKATION Laborationsansvariga: Anders Arvidsson Utskriftsdatum: 2005-04-26 Syfte Laborationen syftar till att ge studenten tillfälle att närmare bekanta sig med RS-232-protokollet,

Läs mer

Grundläggande datavetenskap, 4p

Grundläggande datavetenskap, 4p Grundläggande datavetenskap, 4p Kapitel 2 Datamanipulation, Processorns arbete Utgående från boken Computer Science av: J. Glenn Brookshear 2004-11-09 IT och Medier 1 Innehåll CPU ALU Kontrollenhet Register

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

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

Adressavkodning - busskommunikation

Adressavkodning - busskommunikation Adressavkodning - busskommunikation Kompendie kapitel 10 Bussystem adressbuss databuss styrbuss Ur innehållet: Bussystem, intern kommunikation i datorsystemet Adressavkodning, hur primär och I/O-enheter

Läs mer

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

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 Digital Termometer I den här uppgiften skall vi mäta temperaturen på ditt kaffe. Vi använder en termistor som temperaturkänslig givare och timerkretsen 555 som A/D omvandlare. Temperaturen presenterar

Läs mer