Emne: IRE35113 / Kraftelektronikk og mikrokontrollere Lærer: Even Arntsen / Åge T Johansen / Antall vedleggsider: 27

Størrelse: px
Begynne med side:

Download "Emne: IRE35113 / Kraftelektronikk og mikrokontrollere Lærer: Even Arntsen / Åge T Johansen / Antall vedleggsider: 27"

Transkript

1 Høgskolen i Østfold avdeling for Ingeniørfag EKSAMENSOPPGAVE Emne: IRE35113 / Kraftelektronikk og mikrokontrollere Lærer: Even Arntsen / Åge T Johansen / Grupper: 11ELE-D+ 11ELEY-D Dato: Tid: Antall oppgavesider: 5 (med denne) Sensurfrist: Antall vedleggsider: 27 Vedlegg 1: Formler (3 sider) Vedlegg 2: Driverfunksjoner Vedlegg 3: TIMER 1 (10 sider) Vedlegg 4: ADC (6 sider) (8 sider) Hjelpemidler: Selvskrevet formelsamling og godkjent kalkulator KANDIDATENMÅ SELVKONTROLLEREAT OPPGAVESETITTERFULLSTENDIG Oppgave 1 Prosjektoppgave uten navn merkes med studentens eksamensnummer og leveres sammen med resten av besvarelsen.

2 Høgskolen i Østfold avdeling for Ingeniørfag 2 Oppgave 2 Figur 1 Vi har en vanlig enfase diodebru, med en drossel som sikrer glatt likestrøm. Nettspenningen U =230 V. Lasten R = 4,14 ohm. Hvor mye strøm får vi gjennom R? Det er for lite effektutvikling i R, i forhold til kravet, og vi kobler inn en brugren til, slik at vi får en trefaselikeretter. Nå er nettspenningen 400 V. Hvor stor effekt forbruker vi i R? I nettet har vi en induktans pr. fase Ls = 0,18 mh. Hva blir likestrømmen i kretsen nå? Som kjent vil en diode i en trefasekrets, ideelt lede i 120 grader. Finn et uttrykk for middelverdien av likestrømmen i en diode. Diodene i trefasebrua er i felles modul. Samlet tap i denne er 260 W. Termisk motstand mellom Si- sjiktet og kjøleflaten på modulen er RTHskca = 0,077 C/W. Kjøleflensen har en termisk motstand RTH=0,15 C/W. Med en omgivelsestemperatur på 30 C, hva blir temperaturen i Si- sjiktet?

3 Høgskolen i Østfold avdeling for Ingeniørfag 3 Oppgave 3 Figur 2. Likestrømsmotordrift Figur 2 viser en fremmedmagnetisert likestrømsmotor, som styres av en step-ned chopper. Styreprinsippet er baser på Puls Bredde Modulasjon. U = 100 V Vi vil styre spenningen over motoren mellom 0 og 75 V, innenfor hvilket intervall må vi kunne variere duty- cycelen? Vi benytter en IGBT. Hvilke positive egenskaper har denne sammenlignet med andre halvledere som er aktuelle alternativ? Hva er funksjonen til Cl? Det viser seg at man får spenningstransienter over dioden D1, ved påslag av 01. Dette skyldes et uheldig valg av diodetype. Forklar årsaken til transientene ut i fra karakteristikken til dioden. Det er ikke likegyldig hvordan kretsen arrangeres fysisk. Forklar hva man bør tilstrebe med hensyn til kritiske sløyfeareal, og lengde på ledere.

4 Høgskolen i Østfold avdeling for Ingeniørfag 4 Oppgave 4 Studer følgende C-program for ATMega32A på STK500, med LEDstilkoblet PORTD.Programmet benytter driverfunksjonene for Timer1 som er lagt som vedlegg til oppgaven. Klokkefrekvensen er Hz. #include #include <avr/io.h> "../TCNT1_drv_m32.h" ISR (TIMER1_0VF_vect, ISR_BLOCK) TCNT1 = ; // 2A PORTD = 0xFF; int main(void) int16_t counter; DDRD= OxFF; TCNT1_Set_PRESCALER(TCNT1_stop_gc); // Stop klokke TCNT1_Set_WGM(TCNT1_WGM_normal_gc); // WGMnormal TCNT1_Set_COM1A(TCNT1_COM1A_00_gc); // COM1A normal TCNT1_Set_COM1B(TCNT1_COM1B_00_gc); // COM1B normal TCNT1_Clr_TOV1(); // Reset eventuelt flagg TCNT1_Enable_T0IE1(); // Enable TOV1 avbrudd TCNT1 = ; // 2A TCNT1_Set_PRESCALER(TCNT1_prescale_1024_gc); // Start klokke sei(); while(1) cli(); counter = TCNT1 - ( ); if (counter > 7500) PORTD &= 0xFE; sei(); Programmet får &.1LEDtil å blinke. Hvilken LEDblinker? Med hvilken frekvens blinker denne? Hva er duty-cycle (buls-bredde-forholdet) for blinkingen. Programmet er avbruddsbasert. Hvilket avbrudd benyttes? Hva er betingelsen for at avbruddsrutinen skal starte for denne avbruddstypen? Hvorfor er kallene til cli() og sei() gjort i løkken i hovedprogrammet? Anta at du ikke har tilgang til driverfunksjonene som er vist i programmet. Skriv dette programmet på nytt ved å benytte kontrollregistrene til ATMega32A direkte.

5 Høgskolen i Østfold avdeling for Ingeniørfag 5 Oppgave 5 Du skal nå lage et enkelt system for å generere 3 PWM-signaler - R, G og B som skal benyttes til å styre ut 3 sett av lysdioder med hhv rødt, grønt og blått lys. Hensikten er å kunne framstille alle mulige fargesjatteringer i lyset fra lysdiodene. På grunn av tiden som er til rådighet på prøven, skal ikke alle forhold rundt dette løses her. (Du kan gå ut fra at lysdiodene er koblet direkte til PORTDpå en slik måte at de lyser når en 1 på aktuell bitposisjon blir sent til porten.) Tilkobling for signaler: R: PORTDbit 5 G: PORTDbit 6 B: PORTDbit 7 Frekvensen skal være den samme for alle pulsene: f p= 150 Hz Område for kontroll av pulsbredden 0 % - 99 %. I oppgaven skal Timerl benyttes i normalmodus, altså ikke i PWM-modus. Det betyr at programeksempelet i forrige oppgave også kan benyttes som utgangspunkt for denne oppgaven. Anta at puls-bredde-forholdet styres av tre globale variable pwm_r, pwm_g og pwm_b. I denne deloppgaven kan du sette disse variablene fast til henholdsvis 25 %, 50 % og 75 %. Skriv nå et program som styrer ut de tre diodesignalene (R, G, B) etter spesifikasjonene som er gitt her. (Det er fritt om du vil benytte funksjonsbiblioteket for Timerl eller om du vil benytte kontrollregistrene direkte.) Anta at signalene som skal sette variablene som er omtalt i forrige deloppgave stammer fra tre analoge signaler som styres fra 3 potensiometre. Alle analoge signaler varierer mellom 0 V og 2.56 V som tilsvarer hhv 0 % og 100 % puls-bredde-forhold. Du skal i denne deloppgaven kun betrakte det analoge signalet som styrer R (det røde lyset) på kanal ADC2. Skriv en utvidelse av programmet som leser inn analoge verdier fra potensiometeret og styrer lysdiodene ut fra disse verdiene. Alle tre dioder styres likt. Det er ikke nødvendig å skrive alle programlinjene på nytt i besvarelsen. Gjør rede for hva og hvor du må sette inn av nytt og hva du må slette/beholde fra forrige deloppgave. (Det er fritt om du vil benytte funksjonsbiblioteket kontrollregistrene direkte.) for ADC (vedlagt) eller om du vil benytte

6 Formelark side Vedlegg 1 Formelark. Kraftelektronikk Dette er ment som en hjelp til de som har "jernteppe". Således er ikke forutsetning for bruk av formelen tatt med. Ud = fotu(t)dt Middelverdi URMS= T JO ft u 2(t) dt Effektivverdi Ud= 0,9U 5 Middelverdi, diodebru, &ifase Ud=0,9U,cos(a) Middelverdi, tyristorbru, &ifase 2wLsId 2Xkld It n- Kommuteringsspenningsfall, &Ifase Is = Id Vekselstrøm, &Ifase = )91d Grunnharmonisk, &ifase Ud= 1,35U 5 Middelverdi, diodebru, trefase Ud=1,35Uscos(a) Middelverdi, tyristorbru, trefase 3wLs/d 3Xkld Kommuteringsspenningsfall, trefase 2xkid cosii = 1 Kommuteringsvinkel. (Merk X k = (i)ls) = 0,8164 Effektivverdi. Trefase vekselstrøm 41. = 0,78Id Grunnharmonisk. Trefase vekselstrøm U2 = U1D Step-ned chopper AU2 =2 (1 D) Rippel, step-ned U2 8LC U2 = 1 D AU2 DTs U2 RC Step-up Rippel, step-up

7 Formelark side N1 D " N2 1 D Fly-back U2 = D N 2 Forward Asynkronmaskin: cos= K1f ( ds COr S = ws f2= sft Ui K2øagf /2 Ks Qiag f2 Tem 1(61Øtgf2 Im = Kgøag 2 sinus nia = r, trekant PBM, amplitudemodulasjonsindeks m ftrekant fsinus PBM, frekvensmodulasjonsindeks Likestrømsmaskin: E = wk1ø ø = K2I,n Ten, = 1(31a(2) di, U = Raia + La= + E dt

8 Formelark side P = V-5111coscp Q = - 111Isincp P PF =,, DPF = coscp1 Generell trefase Generell trefase Effektfaktor Forskyvningseffektfaktor is =.N/. 0,781d(sin(wt) sin(5wt) + 7sin(7wt) Tisin(11wt) sin(13wt).. +) Fourerrekke til vekselstrøm i trefase likeretter 1r2-. 0,78/ i s = d (sin(o)t) 1 sin(11wt) + 13sin(13w0 3 sin(23(a) Al 1 + sin(25wt).. +) Fourierrekke til vekselstrøm i tolvpuls likeretter

9 Vedlegg 2 C:\Users\aa*\Desktop\ADC drv m32.h 1 /**************************************************************************** ADC_driver.h #ifndefadc_driver_h #defineadc_driver_h /**************************************************************************** IncludeFiles #include<avr/io.h> //Changeaccordingto device #include<avr/interrupt.h> /**************************************************************************** Macrodefinitions ****************************************************************************/ #defineadc_enable() do ADCSRA1= (1 «ADEN); while(0) #defineadc_disable() do ADCSRA&= UINT8_C(1«ADEN); while(0) #defineadc_reset() do ADCSRA= 0; ADMUX= 0; SFIOR&= UINT8_C(ADC_TS_gm); while(0) #defineadc_setadlar() do ADMUX 1= (1 «ADLAR); while(0) #defineadc_clradlar() do ADMUX&= UINT8_C(1«ADLAR); while(0) #defineadc_setadie()do ADCSRA1= (1 «ADIE); while(0) #defineadc_clradie()do ADCSRA&= UINT8_C(1«ADIE); while(0) #defineadc_clradif() do ADCSRA1= (1 «ADIF); while(0) /**************************************************************************** Functiondefinitions //void ADC_setup(uint8_t chan,uint8_tvref,uint8_tpre,uint8_tie); void ADC_setAuto(uint8_t trigsrc); int16_tadc_read1o(void); uint8_tadc_read8(void); void ADC_startSingle(void); //void ADC_disable(); uint8_tadc_inprogress(void); uint8_tadc_if(void); void ADC_setChannel(uint8_t chan); void ADC_setVref(uint8_t vref); void ADC_setPrescaler(uint8_t pre); /**************************************************************************** Dataregisters: ADCH ADCL ****************************************************************************/ /**************************************************************************** Control& Statusregisters: ADMUX : Bit O REFS1REFSOADLARMUX4MUX3MUX2MUX1MUXO REFS1REFSO:VoltageReferenceSelection ADLAR: ADC LeftAdjustResult MUX4:0: AnalogChanneland GainSelectionBits ADCSRA:Bit ADENADSCADATEADIFADIEADPS2ADPS1ADPSO ADEN:ADC Enable ADSC:ADC StartConversion ADATE:ADC AutoTriggerEnable ADIF:ADC InterruptFlag ADIE:ADC InterruptEnable ADPS2:0:ADC PrescalerSelectBits SFIOR: ADTS2ADTS1ADTSO- * * *

10 C:\Users\aa'\Desktop\ADC dry m32.h 2 ADTS2:0: ADC Auto Trigger Source ****************************************************************************/ /**************************************************************************** Interrupt vetors: ADC_vect - ADC complete ****************************************************************************/ /**************************************************************************** Bit and byte definitions #define ADC_Ref_AREF_gc ((e «REFS1) + (0 «REFS0)) #define ADC_Ref_AVCC_gc ((ø «REF51) + (1 «REFS0)) #define ADC_Ref_Reserved_gc ((1 «REF51) +(E, «REFS0)) #define ADC_Ref_Internal_gc ((1 «REF51) + (1 «REFSØ)) #define ADC_Ref_gm ((1 «REFS1) + (1 «REFSØ)) #define ADC_prescale_2_gc ((0 «ADPS2) + (0 «ADPS1) + (1 «ADPSØ)) #define ADC_prescale_4_gc ((0 «ADPS2) + (1 «ADPS1) + (0 «ADPS0)) #define ADC_prescale_8_gc ((ø «ADP52) + (1 «ADPS1) + (1 «ADPSØ)) #define ADC_prescale_16_gc ((1 «ADP52) + (0 «ADP51) + (0 «ADPS0)) #define ADC_prescale_32_gc ((1 «ADPS2) + (ø «ADP51) + (1 «ADP50)) #define ADC_prescale_64_gc ((1 «ADPS2) + (1 «ADP51) + (0 «ADP50)) #define ADC_prescale_128_gc ((1 «ADPS2) + (1 «ADPS1) + (1 «ADP50)) #define ADC_prescale_gm ((1 «ADPS2) + (1 «ADPS1) + (1 «ADPS0)) #define ADC_TS_FreeRunning_gc ((ø «ADTS2) + (ø «ADTS1) +(ø «ADT50)) #define ADC_TS_ExtInte_gc ((0 «ADTS2) + (ø «ADTS1) +(1 «ADTSØ)) #define ADC_TS_AnalogComp_gc ((ø «ADTS2) + (1 «ADT51) +(ø «ADTS0)) #define ADC_TS_T0Compare_gc ((ø «ADTS2) + (1 «ADT51) +(1 «ADTSØ)) #define ADC_TS_TOOvf_gc ((1 «ADTS2) + (0 «ADTS1) +(ø «ADTSØ)) #define ADC_TS_T1Compare_gc ((1 «ADTS2) + (0 «ADTS1) +(1 «ADTSØ)) #define ADC_TS_TlOvf_gc ((1 «ADT52) + (1 «ADTS1) +(ø «ADTS0)) #define ADC_TS_TlCapt_gc ((1 «ADTS2) + (1 «ADTS1) +(1 «ADTSØ)) #define ADC_TS_gm ((1 «ADTS2) + (1 «ADTS1) +(1 «ADTS0)) #define ADC_CH_Sø_gc((0 «MUX4)+(0 «MUX3)+(0 «MUX2)+(0 «MUX1)+(e «MUX0)) #define ADC_CH_S1_gc((0 «MUX4)+(0 «MUX3)+(0 «MUX2)+(0 «MUX1)+(1 «MUX0)) #define ADC_CH_S2_gc((0 «MUX4)+(0 «MUX3)+(0 «MUX2)+(1 «MUX1)+(0 «MUX0)) #define ADC_CH_S3_gc((0 «MUX4)+(0 «MUX3)+(0 «MUX2)+(1 «MUX1)+(1 «MUXØ)) #define ADC_CH_S4_gc((0 «MUX4)+(0 «MUX3)+(1 «MUX2)+(0 «MUX1)+(0 «MUX0)) #define ADC_CH_55_gc((0 «MUX4)+(0 «MUX3)+(1 «MUX2)+(0 «MUX1)+(1 «MUX0)) #define ADC_CH_S6_gc((0 «MUX4)+(e «MUX3)+(1 «MUX2)+(1 «MUX1)+(0 «MUXØ)) #define ADC_CH_S7_gc((0 «MUX4)+(e «MUX3)+(1 «MUX2)+(1 «MUX1)+(1 «MUX0)) #define ADC_CH_PeN0_10_gc((0 «MUX4)+(1 «MUX3)+(0 «MUX2)+(0 «MUX1)+(0 «MUX0)) #define ADC_CH_P1N0_10_gc((ø «MUX4)+(1 «MUX3)+(0 «MUX2)+(0 «MUX1)+(1 «MUX0)) #define ADC_CH_PON0_200_gc ((0 «MUX4)+(1 «MUX3)+(0 «MUX2)+(1 «MUX1)+(e «MUX0)) #define ADC_CH_P1Ne_200_gc ((0 «MUX4)+(1 «MUX3)+(0 «MUX2)+(1 «MUX1)+(1 «MUX0)) #define ADC_CH_P2N2_10_gc((ø «MUX4)+(1 «MUX3)+(1 «MUX2)+(0 «MUX1)+(0 «MUX0)) #define ADC_CH_P3N2_10_gc((0 «MUX4)+(1 «MUX3)+(1 «MUX2)+(0 «MUX1)+(1 «MUX0)) #define ADC_CH_P2N2_200_gc ((ø «MUX4)+(1 «MUX3)+(1 «MUX2)+(1 «MUX1)+(0 «MUXØ)) #define ADC_CH_P3N3_200_gc ((0 «MUX4)+(1 «MUX3)+(1 «MUX2)+(1 «MUX1)+(1 «MUXØ)) #define ADC_CH_PON1_gc((1 «MUX4)+(0 «MUX3)+(e «MUX2)+(0 «MUX1)+(0 «MUX0)) #define ADC_CH_P1N1_gc((1 «MUX4)+(0 «MUX3)+(0 «MUX2)+(0 «MUX1)+(1 «MUXØ)) #define ADC_CH_P2N1_gc((1 «MUX4)+(0 «MUX3)+(0 «MUX2)+(1 «MUX1)+(0 «MUX0)) #define ADC_CH_P3N1_gc((1 «MUX4)+(0 «MUX3)+(0 «MUX2)+(1 «MUX1)+(1 «MUX0)) #define ADC_CH_P4N1_gc((1 «MUX4)+(0 «MUX3)+(1 «MUX2)+(0 «MUX1)+(0 «MUX0)) #define ADC_CH_P5N1_gc((1 «MUX4)+(0 «MUX3)+(1 «MUX2)+(0 «MUX1)+(1 «MUXØ)) #define ADC_CH_P6N1_gc((1 «MUX4)+(0 «MUX3)+(1 «MUX2)+(1 «MUX1)+(e «MUX0)) #define ADC_CH_P7N1_gc((1 «MUX4)+(0 «MUX3)+(1 «MUX2)+(1 «MUX1)+(1 «MUX0)) #define ADC_CH_P0N2_gc((1 «MUX4)+(1 «MUX3)+(0 «MUX2)+(0 «MUX1)+(0 «MUXØ)) #define ADC_CH_P1N2_gc((1 «MUX4)+(1 «MUX3)+(0 «MUX2)+(0 «MUX1)+(1 «MUXØ)) #define ADC_CH_P2N2_gc((1 «MUX4)+(1 «MUX3)+(0 «MUX2)+(1 «MUX1)+(e «MUXØ)) #define ADC_CH_P3N2_gc((1 «MUX4)+(1 «MUX3)+(0 «MUX2)+(1 «MUX1)+(1 «MUXØ)) #define ADC_CH_P4N2_gc((1 «MUX4)+(1 «MUX3)+(1 «MUX2)+(0 «MUX1)+(0 «MUXØ)) #define ADC_CH_P5N2_gc((1 «MUX4)+(1 «MUX3)+(1 «MUX2)+(0 «MUX1)+(1 «MUX0)) #define ADC_CH_Vbg_gc((1 «MUX4)+(1 «MUX3)+(1 «MUX2)+(1 «MUX1)+(0 «MUX0)) #define ADC_CH_GND_gc((1 «MUX4)+(1 «MUX3)+(1 «MUX2)+(1 «MUX1)+(1 «MUX0)) #define ADC_CH_gm((1 «MUX4)+(1 «MUX3)+(1 «MUX2)+(1 «MUX1)+(1 «MUX0)) #endif

11 C:\Users\aa'\Desktop\ADC drv_m32.c 1 /**************************************************************************** ADC_driver.c #include<avr/io.h> #include<stdint.h> #include"hiofdefs.h" #include"adc_drv_m32.h" voidadc_setauto(uint8_t trigsrc) uint8_tmadcsra; SFIOR = (SFIOR& UINT8_C(7«ADTS0))1 (trigsrc«adts8); madcsra = ADCSRA; madcsra1= UINT8_C(1«ADATE);// Set autotrig madcsra1= UINT8_C(1«ADIF); // ClearInterruptflag ADCSRA = madcsra; int16_tadc_read1o(void) ø uint16_thi, lo; lo = ADCL& OxFF; hi = ADCH& oxff; if((admux& (1 «ADLAR))== o) // ADLAR== e return(hi«8) + lo; else// ADLAR== 1 return(hi «2) + (lo» 6); uint8_tadc_read8(void) uint8_thi, lo; lo = ADCL& oxff; hi = ADCH& oxff; if((admux& (1 «ADLAR))== (3)// ADLAR== ø return(hi «6) + (lo» 2); else return(adch); voidadc_startsingle(void) ADCSRA1= (1 «ADSC); uint8_tadc_inprogress(void) return(adcsra& (1 «ADSC))!= false; uint8_tadc_if(void) return(adcsra& (1 «ADIF))!= false; voidadc_setchannel(uint8_t chan) ADMUX = (ADMUX& ADC_CH_gm)1 (chan);

12 C:\Users\aa'\Desktop\ADC_drv_m32.c voidadc_setvref(uint8_t vref) ADMUX = (ADMUX& ADC_Ref_gm)1 (vref); voidadc_setprescaler(uint8_t pre) ADCSRA = (ADCSRA&= ADC_prescale_gm) 1 pre;

13 C:\Users\aa'\Desktop\TCNT1 drv m32.h 1 #include<avr/io.h> #ifndefincfile1_h_ #defineincfile1_h_ #definetcnt1_stop_gcoxøø #definetcnt1_prescale_l_gcexel #definetcnt1_prescale_8_gcex02 #definetcnt1_prescale_64_gc0x83 #definetcnt1_prescale_256_gc0x04 #definetcnt1_prescale_1024_gc 0>:05 #definetcnt1_t1neg_gcex06 #definetcnt1_tlpos_gc0x07 #definetcnt1_prescale_gm0h<87 #definetcnt1_prescale_bpexøø #definetcnt1_com1a_00_gc ((0 «COM1A1) (ø «COM1AØ)) #definetcnt1_com1a_0l_gc ((0 «COM1A1) (1 «COM1A0)) #definetcnt1_com1a_10_gc ((1 «COM1A1) (0 «COM1AO)) #definetcnt1_com1a_11_gc ((1 «COM1A1) (1 «COM1AØ)) #definetcnt1_com1a_gm((1 «COM1A1) (1 «COM1A0)) #definetcnt1_com113_00_gc ((E)«COM1B1) (Ø «COM1BO)) #definetcnt1_com1b_01_gc ((0«COM1B1) (1 «COM1B0)) #definetcnt1_com1b_le_gc ((1 «COM1131) (ø «COM1B0)) #definetcnt1_com1b_11_gc ((1 «COM1B1) (1 «COM1Bø)) #definetcnt1_com1b_gm((1 «COM1B1) (1 «COM1BO)) #definetcnt1_no_pwm_oc1a_gctcnt1_com1a_00_gc #definetcnt1_normal_pwm_oc1a_gctcnt1_com1a_l0_gc #definetcnt1_inverted_pwm_oc1atcnt1_com1a_11_gc #definetcnt1_no_pwm_oc1b_gctcnt1_c0m1b_00_gc #definetcnt1_normal_pwm_oc1b_gctcnt1_com1b_10_gc #definetcnt1_inverted_pwm_oc1btcnt1_com18_11_gc #definetcnt1_wgm_normal_gc((ø «WGM13)I(ø «WGM12)I(ø «WGM11)I(ø «W WGM10)) #definetcnt1_wgm_phase_correct_8_bit_gc((ø «WGM13)I(0 «WGM12)I(ø «WGM11)I(1 «W WGM10)) #definetcnt1_wgm_phase_correct_9_bit_gc((ø «WGM13)I(0 «WGM12)I(1 «WGM11)I(0 «W WGM10)) #definetcnt1_wgm_phase_correct_10_bit_gc((0 «WGM13)I(ø «WGM12)I(1 «WGM11)I(1 «W WGM1ø)) #definetcnt1_wgm_ctc_ocr1a_gc((0 «WGM13)I(1 «WGM12)I(0 «WGM11)I(0 «W WGM10)) #definetcnt1_wgm_fast_pwm_8_bit_gc((ø «WGM13)I(1 «WGM12)I(ø «WGM11)I(1 «W WGM10)) #definetcnt1_wgm_fast_pwm_9_bit_gc((ø «WGM13)I(1 «WGM12)I(1 «WGM11)I(0 «W WGM10)) #definetcnt1_wgm_fast_pwm_l0_bit_gc((0 «WGM13)I(1 «WGM12)I(1 «WGM11)I(1 «W WGM10)) #definetcnt1_wgm_phase_and_frequency_correct_icr1_gc((1 «WGM13)I(0 «WGM12)I(ø «WGM11)I(0 «W WGM1Ø)) #definetcnt1_wgm_phase_and_frequency_correct_ocr1a_gc((1 «WGM13)I(ø «WGM12)(ø «WGM11)I(1 «W WGM1ø)) #definetcnt1_wgm_phase_correct_icr1_gc((1 «WGM13)I(ø «WGM12)I(1 «WGM11)(0 «W WGM1O)) #definetcnt1_wgm_phase_correct_ocr1a_gc((1 «WGM13)I(0 «WGM12)I(1 «WGM11)I(1 «W WGM1O)) #definetcnt1_wgm_ctc_icr1_gc((1 «WGM13)I(1 «WGM12)I(ø «WGM11)I(ø «W WGM1O)) #definetcnt1_wgm_reserved_gc((1 «WGM13)I(1 «WGM12)I(ø «WGM11)I(1 «W WGM1ø)) #definetcnt1_wgm_pwm_icr1_gc((1 «WGM13)I(1 «WGM12)I(1 «WGM11)I(ø «W WGM1Ø)) #definetcnt1_wgm_fast_pwm_ocr1a_gc((1 «WGM13)I(1 «WGM12)I(1 «WGM11)I(1 «W WGM10)) #definetcnt1_wgm_gm((1 «WGM13)I(1 «WGM12)I(1 «WGM11)I(1 «W WGM1ø)) #definetcnt1_wgm_tccr1a_gm((0 «WGM13)I(ø «WGM12)(1 «WGM11)I(1 «W WGM1ø))

14 C:\Users\aa'\Desktop\TCNT1 drv m32.h 2 #definetcnt1_wgm_tccr1b_gm ((1 «WGM13)1 (1 «WGM12)1 (0 «WGM11)I (0 «kl WGM10)) #definetcnt1_is_icf1()((tifr& (1 «ICF1))!= 0) #definetcnt1_is_ocf1a() ((TIFR& (1 «OCF1A))!= 0) #definetcnt1_is_ocf1b() ((TIFR& (1 «OCF1B))!= 0) #definetcnt1_is_tov1()((tifr& (1 «TOV1))!= 0) #definetcnt1_wait_icf1()do while((tifr& (1 «#definetcntl_wait_ocf1a() do while((tifr& (1 «#definetcnt1_wait_ocf1b() do while((tifr& (1 «#definetcnt1_wait_tov1()do while((tifr& (1 «ICF1))== 0) ; while(0) OCF1A))== 0) ; while(0) OCF1B))== 0) ; while(0) TOV1))== 0) ; while(0) #definetcnt1_enable_output_oc1a() (DDRD= DDRD 1 (1 «#definetcnt1_enable_output_oc1b() (DDRD= DDRD 1 (1 «DDRD5)) DDRD4)) #definetcnt1_clr_tov1() do TIFR= (1 «TOV1); while(0) voidtcnt1_set_wgm(uint8_twgm); /* SETTINGPRESCALERBITS Registers:TCCR1B wgm: 3 bit wordfromtable16.6 in doc8155.pdf */ voidtcnt1_set_prescaler (uint8_tpresc); /* SETTINGCOMPAREOUTPUTMODE BITSA Registers:TCCR1A com1a:2 bit word fromtables in doc8155.pdf */ voidtcnt1_set_com1a (uint8_tcom1a); /* SETTINGCOMPAREOUTPUTMODE BITSB Registers:TCCR1A com1b:2 bit word fromtables in doc8155.pdf */ voidtcnt1_set_com1b (uint8_tcom1b); voidtcnt1_enable_ticie1(void); voidtcnt1_disable_ticie1(void); voidtcnt1_enable_ocie1a(void); voidtcnt1_disable_ocie1a(void); voidtcnt1_enab1e_ocie1b(void); voidtcnt1_di5ab1e_ocie1b(void); voidtcnt1_enable_toie1(void); voidtcnt1_disable_toie1(void); #endif/* INCFILE1_H_*/

15 C:\Users\aa'\Desktop\TCNT1_drv_m32.c 1 #include"tcnt1_drv_m32.h" voidtcnt1_pwm_phase_and_freq_correct_set_rate(uint8_t ratio) OCR1B= (ratio* ICR1)/ 108; voidtcnt1_pwm_phase_and_freq_correct_init(uints_t presc,uint16_ttop ) uint8_tb2, bl, bø; bø = (presc» 0) & 1; bl = (presc» 1) & 1; b2 = (presc» 2) & 1; TCCR1A= (ø «WGM11) 1 (ø «WGM18) // PWM - Phaseand Fre.correct:ICR1-> TOP 1 (ø «FOC1A) 1 (Ø «FOC1B) 1 (0 «COM1A1)1 (0 «COM1A0) // No output 1 (1 «COM1B1)1 (0 «COM1130);// NormalPWM-output TCCR1B= (0 «ICNC1) // IC noisecanceler 1 (8 «ICES1) // InputCaptureEdgeSelect 1 (1 «WGM13) 1 (ø «WGM12) // PWM - Phaseand Fre.correct:ICR1 -> TOP 1 (b2«cs12 ) 1 (b1 «CS11 ) 1 (b0 «CS1O ); // PRESCALER8 x TCNT1 = 0; // initialvalueof T/C1 ICR1 = top; // initialvalueof TOP (9600givesFpwm=188Hz) OCR1B = top/2; // initialvalueof Comparereg.B (50%) DDRD = DDRD 1 (1 «DDRD4); /* SETTINGWGM BITS Registers:TCCR1A,TCCR1B wgm:4 bit wordfromtable16.5in doc8155.pdf- use predefinedconstants */ voidtcnt1_set_wgm(uint8_twgm) TCCR1A= (TCCR1A& --TCNTl_WGM_TCCR1A_gm) 1 (wgm& TCNT1_WGM_TCCR1A_gm); TCCR1B= (TCCR1B& --TCNT1_WGM_TCCR1B_gm) 1 (wgm& TCNT1_WGM_TCCR1B_gm); /* SETTINGPRESCALERBITS Registers:TCCR1B wgm: 3 bit wordfromtable16.6in doc8155.pdf */ voidtcnt1_set_prescaler (uint8_tpresc) TCCR1B= (TCCR1B& TCNT1_prescale_gm) 1 (presc); /* SETTINGCOMPAREOUTPUTMODE BITSA Registers:TCCR1A com1a:2 bit word fromtables in doc8155.pdf */ voidtcnt1_set_com1a (uint8_tcom1a) TCCR1A= (TCCR1A& -,TCNT1_COM1A_gm) 1 com1a; /* SETTINGCOMPAREOUTPUTMODE BITSB Registers:TCCR1A com1b:2 bit word fromtables in doc8155.pdf */ voidtcnt1_set_com1b (uint8_tcom1b) TCCR1A= (TCCR1A& TCNT1_COM1B_gm) 1 com1b; voidtcnt1_enab1e_ticie1(void)

16 C:\Users\aa'\Desktop\TCNT1_drv_m32.c 2 TIMSK= TIMSK I (1 «TICIE1); voidtcnt1_d1sab1e_ticie1(void) TIMSK= TIMSK& (1 «TICIE1); voidtcntl_enab1e_ocie1a(void) TIMSK= TIMSK I (1 «OCIE1A); voidtcnt1_disab1e_ocie1a(void) TIMSK= TIMSK& (1 «OCIE1A); voidtcnt1_enab1e_ocie1b(void) TIMSK= TIMSK I (1 «OCIE1B); voidtcnt1_disab1e_ocie1b(void) TIMSK= TIMSK& (1 «OCIE1B); voidtcnt1_enab1e_toie1(void) TIMSK= TIMSK I (1 «TOIE1); voidtcntl_disab1e_toie1(void) TIMSK= TIMSK& (1 «TOIE1); ø

17 Vedlegg 3 HØGSKOLEN I ØSTFOLD AVDELING FOR INGENIØRFAG / ELEKTRO / DIGITAL ELEKTRONIKK 3.1 Oversikt Dette er en beskrivelse av funksjonsregistre og virkemåte for de mest anvendte funksjonene i timere/tellere for AVR-familien av mikrokontrollere. Følgende funksjonsenheter beskrives: Timer_O (8 bit) Timer_1 (16 bit) Timer_2 (8 bit) TIMER 0 TIMER 1 - high TIMER 1 - low TIMER 2 Figur 3.3: De 3 timer-enhetene som finnes i de mest anvendte AVR-kontrollerne. Innledningsvis vises de mest aktuelle funksjonsregistrene med symbolske navn på de enkelte bit. Disse navnene benyttes i ATMEL's dokumentasjon og også i headerfiler som følger WinAVR GCC-kompilator og assembleren i AVR Studio 4. NB! Vær oppmerksom på at bitposisjonene for kontrollbit med samme navn forandrer seg mellom kontrollertypene - f. eks. mellom at90s8515 og ATMega32. Det er derfor en stor fordel å benytte de symbolske navnene framfor numeriske konstanter. De viste registrene i dette kapittelet er fra dokumentasjonen for ATMega32. Sjekk alltid med originalt datablad (avrm3209) før du benytter registrene i et program Avbruddsrelaterte registre Følgende to register vil være sentrale i beskrivelsen for flere av AVR-familens timerkretser og gjengis derfor her i oversiktsdelen. TIMSK (Timer Interrupt Mask Register). Dette registeret kontrollerer hvilke avbruddsfunksjoner som skal tillates. En ener på angitte posisjon vil åpne for vedkommende avbrudd. Om avbruddet virkelig skal utføres, avhenger også av om det globale l-flagget i statusregisteret (SREG) er satt til 1. Setting og nullstilling av l-flagg utføres vedhjelp av makroene sei() og cii(). $39 ($59) OCIE2 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0 TIMSK Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Figur 3.4: Timer Interrupt Mask Register TIFR(Timer Interrupt Flag Register). Dette registeret forteller hvilke fysiske avbrudd som har inntruffet. En ener på angitte posisjon angir dette. De enkelte bit i dette registeret settes automatisk til 1, men kan nullstilles fra programvare ved polling eller automatisk når avbruddsmekanismen benyttes. NB! TIFRer spesielt ved at et bit nullstilles ved å skrive en 1-er til vedkommende bitposisjon. FORFATTER: 48 DATO:

18 HØGSKOLENI ØSTFOLD AVDELINGFORINGENIØRFAG ELEKTRO/ DIGITAL ELEKTRONIKK $38 ($58) OCF2 TOV2 ICF1 OCF1A OCF1B TOV1 OCF0 TOVO TIFR Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Figur 3.5: Timer Interrupt Flag Register De enkelte bit i disse registre skal omtales etter hvert som de benyttes i eksempler. En skisse av disse TIMASK og TIFR vil også gjentas i tilknytning til hver teller i det neste avsnittene. 3.2 Timer 0 I dette dokumentet beskrives kun de mest grunnleggende egenskapene til Tim _0. I praksis 3.2. Generelt ar Timer_O og Timer_2 mange av de samme funksjonene. Timer_O e en 8-bits timer/teller som kan telle fra 0 til OxFF. Neste kl kepuls etter at toppverdien FF er nådd, fører til overflow; dvs. tellerverdien set s tilbake til 0. Timer_O overflow kan tri et avbrudd hvis det eller er klargjort for det I timer-modus benytt et internt klokkesignal, mens det i t er-modus benyttes et eksternt klokkesignal på PBO kalt. Begge operasjonsmodi blir b krevet. Begge modi kan benyttes både med avbruddsstyring o med polling. TCNTO - telleverdi 255/ OxFF 0 Tid OVO TOVO TOVO Figur 3.6: Ti spunkter for TOVO-avbruddvedfull tellesekvens r Timer 0. Figuren ovenfor v. er at avbruddshendelsen TOVO inntrer hver gang Timer_ år ovetflow. Figuren nede r viser et relativt detaljert blokkskjema for Timer_0. I figuren ska erstattes med 0 i reg. ernavnene. FORFATTER: 49 DATO:

19 HØGSKOLENI ØSTFOLD AVDELING FORINGENIØRFAG ELEKTRO/ DIGITAL ELEKTRONIKK 3.3 Timer_l Generelt motsetning til Timer_O og Timer_2, er Timer_1 en 16-bits teller (timer). Derfor kan Timer_1 benyttes i anvendelser der lengre tellesekvenser er nødvendig ønskelig. Tellesekvensen strekker seg fra Ox0000 til OxFFFFog så direkte tilbake til Ox0000 (overflow). Timer_1 realiseres ved hjelp av to sammenkoblede 8-bits tellerregistre (TCNT1Hog TCNT1L).For øvrig tilbyr Timer_1 også funksjonene "output compare" og "input capture" i tillegg til en PWM utgang (puls-bredde-modulert utgang). TCNT1 - telleverdi FFFF 0000 Tid viv ylv TOV1 TOV1 TOV1 Figur 3.15: Tidspunkterfor TOV1-avbrudd vedfull tellesekvensfor Timer 1. Timer_1 kan også settes opp til å telle både oppover og nedover, selv om dette ikke vises i programeksemplene. Blokkskjemaet for Timer_1 vises nedenfor, der n skal erstattes med 1. FORFATTER: 57 DATO:

20 HØGSKOLENI ØSTFOLD AVDELINGFORINGENIØRFAGI ELEKTRO DIGITA1ELEKTRONIKK Count Clear Chrectort Control Log,c C TOVn Cleck Saiect E. DiNiziar Tn TOP BOTTOM TirtNeriCourqur TCNTn = (Frcrn Proscaw OCnA (Irt Rez Vålvef fr ratfl OCnA OCRnA TOP VaIulas OCnB (Int.Rez ) V4v6fDrni Gir.43rafion OCnB OCRnB CFn (IrtRa;.) Arakcs CDmparatr CRn Ej;i1 Datoctof NO Sli Canze4r CPn TOCRnA TCCRnB Figur 3.16: Blokkskjemafor Timer 1. (avrm3209) Som det framgår av figuren er Timer_1 en mer komplisert konstruksjon enn Timer_O. Vi kjenner likevel igjen binærtelleren TCNT1 (16 bit). Vi identifiserer også: 2 x output compare registre: OCR1A, OCR1B 1 x input capture register: ICR1 1 x ekstern telleinngang: T1 1 x ekstern capture inngang: ICP1 2 x eksterne utganger fra output compare enhetene: OC1A, OC1B 2 x kontrollregistre TCCR1A, TCCR1B Merk at alle dataregistrene er dobbeltregistre (2 x 8 bit) og må programmeres byte for byte med assemblyinstruksjoner. C-kompilatoren lar oss imidlertid jobbe direkte mot 16 bits registre, uten å måtte dele de opp. Dette sparer oss for en del brydderi. Kontrollregistrene er 8-bits registre på vanlig vis Funksjonsregistre TCNT1 (Timer Register 1). Dette er et sammensatt register på til sammen 16 bit. Registeret innholder aktuell telleverdi for Timer_1. Fysisk sett er TCNT1 bygget opp av to 8 bits registre TCNT1H (high byte) og TCNT1L (low byte). Disse må programmeres og avleses i en bestemt sekvens for at riktig verdier skal garanteres. FORFATTER: 58 DATO:

21 HØGSKOLENI ØSTFOLD AVDELINGFORINGENIØRFAG ELEKTRO DIGITALELEKTRONIKK Ved programmering (skriving): Skriv først til TCNT1H Deretter til TCNT1L Ved lesing: Les først fra TCNT1L Deretter fra TCNT1H Disse prosedyrene fører til at alle 16 bit skrives og leses samtidig fra de fysiske registrene. Et C-program refererer som regel til alle 16 bit samtidig ved å angi TCNT1. Kompilatoren ordner med den riktige lese- eller skrivesekvensen av 8-bitsregistrene etter de angitte regler. Timer_1 kan klokkes av et utvalg klokkekilder som velges i kontrollregister TCCR1B. $2D ($4D) MSB TCNT1H Read/Write R/W R/W R/W R/W R/W R/W R/W R/W $2C ($4C) LSB TCNT1L Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Figur 3.17: Timer/Counter 1. OCR1A (Output Compare Register A) Dette registeret er et 16-bits dobbelregister som består av OCR1AH og OCR1AL. Programmering og lesing av disse registrene må utføres i henhold til metoden som er beskrevet for TCNT1 ovenfor. Registerets innhold sjekkes kontinuerlig mot innholdet av TCNT1 (hardwaremessig). Bit OCF1A I flaggregisteret TIFR settes til 1 så snart match inntreffer. Et "output compare" avbrudd vil trigges hvis bit OCIE1A i maskeregisteret TIMSK er satt til 1. OCF1A må nullstilles fra programmet om man benytter polling. OCF1A resettes automatisk ved bruk av avbrudd. $2B ($4B) MSB OCR1AH Read/Write R/W R/W R/W R/W R/W R/W R/W R/W $2A ($4A) LSB OCR1AL Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Figur 3.18: Output Compare RegisterA FORFATFER: 59 DATO:

22 HØGSKOLENI ØSTFOLD AVDELINGFORINGENIØRFAGI ELEKTRO/ DIGITAL ELEKTRONIKK OCR1B (Output Compare Register B) Dette registeret er et 16-bits dobbelregister som er organisert og virker på samme måte som OCR1A. De aktuelle bit i TIFR og TIMSK registrene er henholdsvis OCF1B og OCIE1B. $29 ($49) MSB OCR1BH Read/Write R/W R/W R/W R/W R/W R/W R/W R/W $28 ($48) LSB OCR1BL Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Figur 3.19: Output Compare Register B ICR1 (Input Capture Register) Dette registeret er et 16-bits dobbelregister. Registeret klokkes av et ytre signal fra pinne ICP. Når registeret klokkes, kopieres innholdet fra TCNT1 direkte inn i ICR1 (alle 16 bit samtidig). Det blir altså mulig å fryse telleverdien i TCNT1 ved hjelp av et ytre signal. Igjen er det viktig at de to 8-bitsregistrene som ICR1 består av leses av i riktig rekkefølge som forklart for TCNT1 ovenfor. $27 ($47) MSB ICR1H Read/Write R/W R/W R/W R/W R/W R/W R/W R/W $26 ($46) LSB ICR1L Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Figur 3.20: Input Capture Register TCCR1A (Timer/Counter Control Register A) Innholdet av dette registeret styrer store deler av "output compare" og PWM funksjonaliteten til Timer_1. De enkelte kontrollbit beskrives nærmere i forbindelse med de enkelte operasjonsmodi. $2F ($4F) COM1A1 COM1A0 COM1B1 COM1B0 FOC1A FOC1B WGM11 WGM10 TCCR1A Read/Write R/W R/W R/W R/W W W R/W R/W Figur 3.21: Timer/Counter 1 Control RegisterA. FORFATTER: 60 DATO:

23 HØGSKOLENI ØSTFOLD AVDELINGFORINGENIØRFAG ELEKTROI DIGITAL ELEKTRONIKK TCCR18(Timer/Counter Control Register B) Innholdet av dette registeret styrer "input capture" funksjonen, valg av klokkesignal til Timer_1. Et kontrollbit, CTC1, er også med på bestemme noe av funksjonaliteten i "output compare" modus. De enkelte kontrollbit beskrives nærmere i forbindelse med de enkelte operasjonsmodi. $2E ($4E) ICNC1 ICES1 WGM13 WGM12 CS12 CS11 CS10 TCCR1B Bit Read/Write R/W R/W R R/W R/W R/W R/W R/W TIMSK (Timer Interrupt Mask Register). Figur 3.22: Timer/Counter 1 Control Register B $39 ($59) OCIE2 TOIE2 TICIE1 OCIE1A OCIE1B TOIE1 OCIE0 TOIE0 TIMSK Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Figur 3.23: Timer Interrupt Mask Register. TIFR(Timer Interrupt Flag Register). $38 ($58) OCF2 TOV2 ICF1 OCF1A OCF1B TOV1 OCF0 TOVO TIFR Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Figuren Figur 3.24: Timer Interrupt Flag Register. nedenfor viser inn- og utganger tilknyttet Timer_1. FORFATTER: 61 DATO:

24 HØGSKOLENI ØSTFOLD AVDELINGFORINGENIØRFAGELEKTRO / DIGITALELEKTRONIKK PDIP (XCK/TO) PBO 1 40 PAO (ADCO) (T1) PB Rk1 (ADC1) (INT21AINO) PB PA2 (ADC2) (OCOIAI N1) P PA3 (ADC3) (n) PB PA4 (ADC4) (MOSI) PB R5 (ADC5) (M ISO) P PA6 (ADC6) (SCK) PB R!1/47(ADC7) RESET 9 32 AREF VCC GND GND AVCC XTAL PC7 (TOSC2) XTAL PU (TOSC1) (RXD) PDO FC5 (TDI) (TXD) PD PC4 (TDO) (I NTO) P PC3 (TMS) (I NT1) PD PC2 (TCK) 1 11 (0C1B) PD PC1 (SDA) (0C1A) PD PCO (SCL) (ICP1) P P07 (0C2) Figur 3.25: Inn-/Utganger for Timer 1. (avrm3209) Timer-modus denne operasjonsmodus blir Timer 1 klokket av et internt signal avledet fra systemklokken (fosc) For hver klokkecycle inkrementeres registerverdien til Timer 1 med 1. Klokkefrekvensen frirvu = fosc n, der n kan innta verdiene: 1, 8, 64, 256, Verdien n settes i kontrollregisteret TCCR1Bi oppstartedelen av programmet i henhold til tabell 2. TABELL2: CS12 TCCR1B Valg av klokkesignal CS CS10 Beskrivelse 0 Stopp, Timer_l er stoppet 1 fosc fosc / 8 1 fosc / 64 0 fosc / fosc / Ekstern pinne T1, negativ flanke 1 Ekstern pinne Tl, positive flanke Bruk av polling Det vises et program som tilsvarer det som ble presentert for Timer_0, men med forskjellen at det her benyttes en 16 bits timer, "Timer_1". FORFATTER: 62 DATO:

25 HØGSKOLEN I ØSTFOLD AVDELING FOR INGENIØRFAG ELEKTRO / DIGITAL ELEKTRONIKK #include unsigned <avr/io.h> char led; int main( void ) DDRB = OxFF; // use all pins on PORTB for output TCNT1 = Ox0000; // start value of T/C1 TCCR1A = 0; // T/C1 in timer mode TCCR1B = (1 << CS10); // prescale ck/1 led 0; for (;;) ( while ((TIFR & (1 << TOV1)) == 0) () // wait for overflow PORTB = - led; // write to LEDs on PORTB led++; TCNT1 = 0; // start value of T/C1 (unnecessary) TIFR = (1 << TOV1); // clear TOV1 I eksempelet er TCCR1Aprogrammert med verdien 0 som får Timer 1 til å arbeide i timer modus. TCCR1B får verdien 1 (CS10) som angir at timer-klokken skal være fosc. Startverdien til telleren settes til 0 (TCNT1). Etter hver klokkepuls inkrementeres altså verdien til telleren med 1 helt til verdien OxFFFF nås. Neste klokkepuls fører til overflow i telleren og verdien settes tilbake til Ox0000. En while-løkke overvåker tilstanden til Timer 1 ved å lese av flaggregisteret TIFR.Det er spesielt bit TOV1 som vi er interessert i. TOV1 angir om timeren har hatt overflow. Når TOV1 inntar verdien 1, betyr det at telleren er nullstilt, og while-løkken avbrytes. Innholdet av variabelen led (bit-invertert) sendes til PORTB. Variabelen led inkrementeres før flagget TOV1 nullstilles ved å skrive en 1 til bitposisjonen for dette flagget. Denne nullstillingen må utføres for et program som benytter polling i motsetning til avbrudd. I et avbruddsbasert program vil TOV1 automatisk (hardware-messig) bli nullstilt når avbruddsfunksjonen startes. Det er ganske overflødig i dette eksempelet å nullstille TCNT1 for hver gang vi har hatt overflow. Imidlertid vil det være aktuelt hvis vi ønsket å telle f. eks klokkepulser. I dette tilfellet ville setningen TCNT1 = 0; bli erstattet med TCNT1 = Ox ; // Merk bruk av hex- og desimaltall Bruk av avbrudd Denne operasjonsmodus benyttes oftere enn polling. Statusbit TOV1 trenger ikke overvåkes fra programmet. Mikrokontrollerhardwaren sørger selv for å starte riktig avbruddsfunksjon når overflow inntreffer. TOV1 blir også nullstilt automatisk, som nevnt ovenfor. FORFATTER: 63 DATO:

26 HØGSKOLENI ØSTFOLD AVDELING FORINGENIØRFAG ELEKTRO/ DIGITAL ELEKTRONIKK Når avbruddsfunksjonen avsluttes, fortsetter hovedprogrammet som om ingenting skulle ha skjedd. I følgende eksempel går hovedprogrammet i en endeløs løkke og gjør ingenting. #include #include unsigned <avr/io.h> <avr/interrupt.h> char led; ISR(TIMER1._OVF vect, ISR BLOCK) [ PORTB = - led; // write value of led on PORTB led++; // Increment output value TCNT1 = Ox0000; // reload timer with initial value int main( void ) DDRB = OxFF; // use all pins on PORTB for output TIMSK = (1 << TOIE1); // enables the T/C1 overflow interrupt TCNT1 = Ox0000; // start value of T/C1 TCCR1A = 0; // T/C1 in timer mode TCCR1B = (1 << CS12) 1 (1 << CS10); // prescale ck/1024 led = 0; sei(); // set global interrupt enable for (;;) Avbruddsfunksjonen starter med nøkkelordet ISR.Det aktuelle avbruddet identifiseres med en symbolsk konstant definert i headerfilene. Så snar overflow inntreffer, startes avbruddsfunksjonen. Det nødvendige avbruddet må åpnes i initialiseringsdelen av hovedprogrammet: Bit TOIE1settes i TIMSK, og det globale avbruddsflagget (I) må settes i statusregisteret (SREG)vha av hjelpefunksjonen sei0, som fører til at assemblyinstruksjonen "SEI" blir utført. 3.. Teller-modus denne mo forandres innholdet i telleren TCNT1 av et eksternt klokkesig å pinne T1. Dette signalet ka mme fra en ekstern generator, eller kan stamme sensorer eller lignende som aktiveres fysiske hendelser i omgivelsene; f. ek biler passerer på en vei eller at en gjenstand passerer et samlebånd. På samm ate som i timermodus, vil et avbrudd kunne trigges ved ovetflo. Et programeksempel for denne operasjon us vil være svært lik tilsvarende for Timer 0. Vær oppmerksom på at T1 ligger p TB hvis p1 e (PB1) må defineres som inngang. Tellermodus velges ved å rammere TCCR1B.[2-0] = 7 lokking på positiv flanke av T1 og 6 for klokking på arende negative flanke. Se tabell 2. FORFATTER: 64 DATO:

27 Vedlegg 4 HØGSKOLENI ØSTFOLD AVDELINGFORINGENIØRFAG ELEKTRO DIGITALELEKTRONIKK ADC-omformeren i AVR Internt bruker ADC-en i AVR metoden med "suksessiv approksimasjon". Dette prinsippet innebærer at det tar like mange klokkepulser som antall bits oppløsning for ADC-en å utføre konverteringen. I praksis går det med et par pulser ekstra for synkronisering og startbetingelser. For AVR vil dette si 13 klokkepulser. Figuren nedenfor viser hvilke pinner på ATMega32 som benyttes i forbindelse med ADC-en. PDIP (XCKITO) PBO 1 40 Ff O (ADCO) Analog (TI) PBI 2 39 PA1 (ADC 1) referansespenning (INT2/AINO) PB PA2 (ADC2) (OCO/AIN I ) PB PA3 (ADC3) (n) PB PA4 (ADC4) (MOSI ) PBS 6 35 PAS (ADC5) (M ISO) PB PA6 (ADC6) (SCK) PB PA7 (ADC7) 111 RESET 9 32 AREF VCC GND GND AVCC. XTAL PC7 (TOSC2) Analog driftspenning XTAL FC6 (TOSC1) (RXD) PDO PC5 (TD I) (TXD ) P PC4 (TDO ) (INTO) PD PC3 (TMS) (INT 1) PD PC2 (TCK) (0C1B) PD PC1 (SDA) (0C1A) PD PCO (SCL) (ICPI ) P P07 (0C2) Figur 4.3: Aktuelle innganger for AD-omformer. En intern multiplekser er koblet inn foran ADC-en. Inngangene på multiplekseren er koblet til pinnene PA7-0 som også er koblet til PORTA. Hvis man ønsker, kan derfor opp til 8 analoge spenningskilder kobles direkte til mikrokontrolleren. Pinnene på Port A som ikke brukes til analog innganger, kan fremdeles benyttes til digital 10 på vanlig måte. PA7 PA6 PA5 PA4 PA3 PA2 PA1 PAO ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADCO ADRAUX ADCSR Figur 4.4: Blokkskjemafor AD-omformer. Resultatet kan leses av fra dobbeltregisteret ADC (ADCH/ADCL) som har de minst signifikante 8 bit i ADCL og de 2 mest signifikante bit i ADCH. Disse registrene må leses i sedvanlig rekkefølge med ADCL først for å sikre at innholdet begge registre hører til samme FORFATTER: 89 DATO:

28 HØGSKOLEN I ØSTFOLD AVDELING FOR INGENIØRFAG ELEKTRO / DIGITAL ELEKTRONIKK konvertering. Som ved tilsvarende dobbeltregistre, slipper vi å tenke på dette hvis vi benytter C-programmering og registernavnet ADC. Som forklart nedenfor, er det også mulig å konfigurere ATMega32 slik at de 8 mest signifikante bit havner i ADCH og de 2 minst signifikante i ADCL. Kontrollbit ADLARi registeret ADMUX bestemmer hvordan de 10 konverterte bitene i resultatet skal organiseres i ADCH/ADCL. Med ADLAR= 0: Bit 15/7 14/6 13/5 12/4 11/3 10/2 9/1 8/0 $05 ($25) ADC9 ADC8 ADCH Read/Write R R R R R R R R $04 ($24) ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADC1 ADCO ADCL Read/Write R R R R R R R R Figur 4.5: ADCRegister med ADLAR= 0. Denne konfigurasjonen passer bra hvis man ønsker å benytte alle de konverterte bitene i resultatet. Hvis derimot det man kun trenger de 8 mest signifikante bitene, kan følgende konfigurering være mer effektiv. Med ADLAR= 1: Bit 15/7 14/6 13/5 12/4 11/3 10/2 9/1 8/0 $05 ($25) ADC9 ADC8 ADC7 ADC6 ADC5 ADC4 ADC3 ADC2 ADCH Read/Write R R R R R R R R $04 ($24) ADC1 ADCO ADCL Read/Write R R R R R R R R Figur 4.6: ADC Registermed ADLAR= Kanalvalg ADC-en til ATMega32 er noe mer avansert enn framstilt i dette avsnittet. Vi konsentrerer oss om hovedvirkemåten. Blant annet skal vi ikke omtale mulighetene som finnes for at differensialinnganger kan benyttes. Det er bare én analog konvertering som kan utføres om gangen. Den aktuelle inngangen (kanalen) velges ut av kontrollregister ADMUX. FORFATTER: 90 DATO:

29 HØGSKOLENI ØSTFOLD AVDELINGFORINGENIØRFAG ELEKTRO/ DIGITAL ELEKTRONIKK $07 ($27) REFS1 REFS0 ADLAR MUX4 MUX3 MUX2 MUX1 MUX0 ADMUX Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Figur 4.7: AD-multiplekserregister REFS1-REFSOvelger kilden for den analoge referansespenningen etter følgende tabell: REFS1 REFS0 Voltage Reference Selection 0 0 AREF, Intemal Vref turned off 0 1 AVCC with external capacitor at AREF pin 1 0 Reserved 1 1 Internal 2.56V Voltage Reference with external capacitor at AREF pin Legg merke til at med den interne referansespenningen på 2.56V, vil oppløsningen for for 10 bit tilsvare nøyaktig 2.5mV. Selve kanalen velges med multiplekserbitene MUX4-0. Her skal vi forutsette at MUX4-3 er 0. Da får vi denne tabellen for kanalvalg. Tabell : ADMUX - Kanalval MUX4-0 Used channel ADCO ADC ADC ADC ADC ADC ADC ADC Klokkefrekvens ADC-en trenger et klokkesignal mellom 50kHz og 200kHz. Denne frekvensen aviedes fra systemklokken ved hjelp av preskaiering på tilsvarende måte som for timer-funksjonene. Preskalering styres via ADCSRA registeret. $06 ($26) ADEN ADSC ADATE ADIF ADIE ADPS2 ADPS1 ADPSO ADCSRA Read/Write R/W R/W R/W R/W R/W R/W R/W R/W Figur 4.8: AD Control/Status RegisterA FORFATTER: 91 DATO:

30 HØGSKOLENI ØSTFOLD AVDELING FORINGENIØRFAG ELEKTRO/ DIGITAL ELEKTRONIKK ADEN Reset CK 7-BIT ADC PRESCALER co ou(-) 0000 ADPSO ADPS1 ADPS2 ADC CLOCK SOURCE Figur 4.9: Blokkskjemafor AD prescaler. Preskaleringen utføres i henhold til følgende tabell: Tabell: ASCR- Preskalering ADPS2 ADPS1 ADPSO Skaleringsfaktor Eksempel: Fo = 4MHz 50kHz < fad < 200kHz Skaleringsfaktor = 32 fad = fosz/32 = /32 = = 125 khz (T=8p.S) 50kHz < 125kHz < 200kHz ADPSO = 1, ADPS1 = 0, ADPS2 = 1 KONVERTERINGSTID: 13 X 8 = Andre kontrollfunskjoner Aktiviteten i ADC-en styres for øvrig via status- og kontrollbit i ADCSRA registret. ADC-en klargjøres for aktivitet ved å sette bit ADEN til 1. Siden AD-omformeren bruker litt effekt, når den er klargjort, bør man kun gjøre dette hvis man har til hensikt å benytte den. ADC-en kan kjøres i to hovedmodi styrt av bit ADATE. Enten kjøres den i autotrig modus (ADATE=1) eller normal modus (ADATE=0). Autotrig modus betyr at diverse hardware- FORFATTER: 92 DATO:

31 HØGSKOLEN I ØSTFOLD AVDELING FOR INGENIØRFAG ELEKTRO / DIGITAL ELEKTRONIKK enheter kan trigge start av en AD-konvertering. Hardware-enheten velges ved konfigurering av register SFIOR,vist nedenfor. Et av valgene når ADATE = 1, er frittløpende modus. Dette betyr at når AD-omformeren først er startet, vil den fortsette å konvertere verdier fortløpende. Når ADC-registeret avleses, er det alltid sist konverterte verdi som ligger der. I normal modus, må AD-omformeren startes på nytt etter hver konvertering. Konvertering startes ved å skrive ved å skrive en 1 til kontrollbit ADSC. Dette bit vil leses som 1 så lenge konvertering pågår, men blir nullstilt automatisk når konverteringsprosessen er ferdig. Tabell: ADCSRA Konverteringsmodi bit name description 5 ADATE Automatic Trig Enable (control): If you set this bit, the AD converter operates in the mode determined by bits ADTS2-0 in register SFIOR 6 ADSC A/D Start Conversion (control): If you set this bit and the ADEN bit is set a Conversion is started. 7 ADEN A/D Enable (control): To enable the A/D - converter you have to set this bit Avbrudd Siden det tar i størrelsesorden 100 mikrosekunder å utføre en konvertering, vil det kunne være behov for å la mikrokontrolleren gjøre andre ting mens konverteringen pågår. Avbrudd vil kunne genereres når en igangsatt konvertering er ferdig utført. Tabellen nedenfor viser hvilke bit som er aktive når AD-omformeren kjøres i avbruddsmodus. Legg merke til at det ikke er noe eget maske- og flaggregister for ADomformeren. Flagg ADIF i register ADCSRAsettes alltid automatisk til 1 når konvertering er ferdig, men må nullstilles ved å skrive en 1 til bitposisjon 4 hvis ikke avbrudd benyttes. Tabell: ADCSRA Avbruddsfunksjon bit name description 3 ADIE A/D Interrupt Enable (control): if set, A/D conversion complete interrupt is enabled. 4 ADIF A/D Interrupt Flag (status) This bit is set, when a A/D conversion is complete. FORFATTER: 93 DATO:

32 HØGSKOLENI ØSTFOLD AVDELING FORINGENIØRFAG ELEKTRO/ DIGITAL ELEKTRONIKK Valg av autotrig-modus $06 ($26) ADTS2 ADTS1 ADTS0 ACME PUD PSR2 PSR10 SFIOR Read/Write R/W R/W R/W R R/W R/W R/W R/W Figur 4.10: SpecialFunction 10Register ADTS2 ADTS1 ADTS0 Trigger Source Free Running mode Analog Comparator External Interrupt Request Timer/Counter0 Compare Match Timer/Counter0 Overflow Timer/Counterl Compare Match B Timer/Counter1 Overflow Timer/Counter1 Capture Event 4.. Programeksempler for AD-omforming V skal vise enkle programeksempler der ADC-en tas i bruk. I første ekse el benyttes normalmodus, onverteringen startes fra en avbruddsrutine. Ne eksempel viser frittløpende modus, o med avbrudd Normal modus med avbr Eksempelet viser hvordan konverterin en nningsverdi på analog kanal 0 kan utføres i normal modus (single conversion de). Det konfigureres bruk av i rn spenningsreferanse på 2.56 egister ADMUX. ADCSRA er progr ert til normal modus, en preskaleringsfaktor p og avbruddsmodus. Når konv eringen er komplett, startes avbruddsrutinen. Begge dataregistre avleses og de est signifikante bit i resultatet skrives til PORTB. Merk at de 8 mest signifika bit innes i ADCH fordi bit ADLAR er konfigurert til 1. FORFATI-ER: 94 DATO:

Løsningsforslag til 2. del av Del - EKSAMEN

Løsningsforslag til 2. del av Del - EKSAMEN Løsningsforslag til 2. del av Del - EKSAMEN Emnekode: ITD13012 Emne: Datateknikk Dato: 21. Mai 2013 Eksamenstid: kl 9:00 til kl 12:00 Hjelpemidler: 4 sider (A4) (2 ark) med egne notater. Ikke-kummuniserende

Detaljer

AVDELING FOR TEKNOLOGI

AVDELING FOR TEKNOLOGI AVDELING FOR TEKNOLOGI PROGRAM FOR ELEKTRO- OG DATATEKNIKK Eksamensdato: 10. mai 2011 Varighet: 0900 1400 Fagnr. / navn: EDT205T MIKROPROSESSORSYSTEMER Klasse(r): 2EE Faglærer(e): Rolf Kristian Snilsberg,

Detaljer

Løsningsforslag til 2. del av Del - EKSAMEN

Løsningsforslag til 2. del av Del - EKSAMEN Løsningsforslag til 2. del av Del - EKSAMEN Emnekode: ITD13012 Emne: Datateknikk Dato: 19. Mai 2014 Eksamenstid: kl 9:00 til kl 12:00 Hjelpemidler: 4 sider (A4) (2 ark) med egne notater. Ikke-kummuniserende

Detaljer

Emne: IRE35115 / Kraftelektronikk og mikrokontrollere Lærer: Even Arntsen. Vedlegg 2: Arduino Uno pinout (1 side)

Emne: IRE35115 / Kraftelektronikk og mikrokontrollere Lærer: Even Arntsen. Vedlegg 2: Arduino Uno pinout (1 side) 1 Høgskolen i østfold Avdeling for ingeniørfag EKSAMENSOPPGAVE. Emne: IRE35115 / Kraftelektronikk og mikrokontrollere Lærer: Even Arntsen Åge T Johansen / Grupper: 11ELE- D + 11ELEY- D Dato: 17.12.2015

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Norsk Eksamensdato: 20. mai 2014 Varighet/eksamenstid: 0900-1400 Emnekode: Emnenavn: TELE3010-A 14V Mikroprosessorsystemer Klasse(r): 2EE 2EI Studiepoeng:

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Norsk Eksamensdato: 07. mai 2013 Varighet/eksamenstid: 0900-1400 Emnekode: Emnenavn: EDT205T / EDT213T Klasse(r): 2EE 2EI Studiepoeng: Mikroprosessorsystemer

Detaljer

DM6814/DM5814 User s Manual

DM6814/DM5814 User s Manual (Real Time Devices) Table 1-1 Factory Settings Switch/ Jumper Function Controlled Factory Settings (Jumpers Installed) P4 Connects a P14 jumper selectable interrupt source to an interrupt

Detaljer

I oppgave 1 skal det prøves ut en binærteller i en integrert krets (IC). Telleren som skal brukes er SN74HC393N, hvor

I oppgave 1 skal det prøves ut en binærteller i en integrert krets (IC). Telleren som skal brukes er SN74HC393N, hvor Lab 8 Datakonvertering Oppgave 1: Binærteller I oppgave 1 skal det prøves ut en binærteller i en integrert krets (IC). Telleren som skal brukes er SN74HC393N, hvor SN står for fabrikant: Texas Instruments.

Detaljer

Antall vedlegg O Tillatte hjelpemidler:

Antall vedlegg O Tillatte hjelpemidler: ~ Emne: Mekatronikk Emnekode. SO504M Faglig ansvarlig Gruppe(r): 3MM pato: 16.12.03 Eksamenstid 0900-1400 Eksamensoppgaven består av Anta]] sider: 5 Antall oppgaver: 4 Antall vedlegg O Tillatte hjelpemidler:

Detaljer

Innlevering Rapport. Datamaskinarkitektur

Innlevering Rapport. Datamaskinarkitektur Innlevering Rapport Datamaskinarkitektur Innhold Introduksjon... 2 Debugger/Programmer... 3 Software Platform... 7 Atmega32 Mikrokontroller Grunnleggende... 9 Få LED til å lyse... 14 Knapp Aktivering...

Detaljer

Datakonvertering. analog til digital og digital til analog

Datakonvertering. analog til digital og digital til analog Datakonvertering analog til digital og digital til analog Komparator Signalspenningene ut fra en sensor kan variere sterkt. Hvis vi bare ønsker informasjon om når signal-nivået overstiger en bestemt terskelverdi

Detaljer

(tel. +4799717806) Antall sider: 5 Antall vedleggssider: 10. Kandidaten må selv kontrollere at oppgavesettet er fullstendig

(tel. +4799717806) Antall sider: 5 Antall vedleggssider: 10. Kandidaten må selv kontrollere at oppgavesettet er fullstendig Eksamensoppgave. Fag: Kraftelektronikk og relévern. Lærer: Even Arntsen (tel. +4799717806) Gruppe: HiG,KaU og HiØ Dato: 2013.12.19 Tid: 4 timer Antall sider: 5 Antall vedleggssider: 10 Hjelpemidler: Egne

Detaljer

består av 7 sider inklusiv denne forsiden og vedlegg. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene.

består av 7 sider inklusiv denne forsiden og vedlegg. Kontroller at oppgaven er komplett før du begynner å besvare spørsmålene. Høgskolen i østfold EKSAMEN Emnekode: ITD13012 Dato: Emnenavn: Datateknikk Eksamenstid: 10.5.16 9.00 12.00, 3 timer Hjelpemidler: To A4-ark (fire sider) med egne notater Faglærer: Robert Roppestad "Ikke-kommuniserende"

Detaljer

Datakonvertering. analog til digital og digital til analog

Datakonvertering. analog til digital og digital til analog Datakonvertering analog til digital og digital til analog Komparator Lindem 29.april. 2014 Signalspenningene ut fra en sensor kan variere sterkt. Hvis vi bare ønsker informasjon om når signal-nivået overstiger

Detaljer

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside.

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærer: Robert Roppestad. består av 5 sider inklusiv denne forsiden, samt 1 vedleggside. Høgskolen i østfold EKSAMEN Emnekode: ITD13012 Dato: 2.12.2016 Hjelpemidler: To (2) A4-ark (fire sider) med egne notater Hlø-kalkulator som kan lånes under eksamen Emnenavn: Datateknikk Eksamenstid: 3

Detaljer

Høgskoleni østfold EKSAMEN. Oppgavesettet består av 8 sider inklusiv denne forsiden og vedlegg.

Høgskoleni østfold EKSAMEN. Oppgavesettet består av 8 sider inklusiv denne forsiden og vedlegg. Høgskoleni østfold EKSAMEN Emnekode:Emne: ITD13012Datateknikk Dato:Eksamenstid: 13. mai 2015kl. 09.00 til k1.12.00, 3 timer Hjelpemidler: to A4-ark (fire sider) med egne notater Ikke-kommuniserende kalkulator

Detaljer

EKSAMEN Emnekode: ITD13012

EKSAMEN Emnekode: ITD13012 EKSAMEN Emnekode: ITD13012 Dato: 29.11.2017 Hjelpemidler: To (2) A4-ark (fire sider) med egne notater. HIØ-kalkulator som kan lånes under eksamen. Emnenavn: Datateknikk Eksamenstid: 3 timer Faglærer: Robert

Detaljer

EKSAMEN. Informasjon om eksamen. Emnekode og -navn: ITD13012 Datateknikk. Dato og tid: timer. Fagansvarlig: Robert Roppestad

EKSAMEN. Informasjon om eksamen. Emnekode og -navn: ITD13012 Datateknikk. Dato og tid: timer. Fagansvarlig: Robert Roppestad Informasjon om eksamen EKSAMEN Emnekode og -navn: ITD13012 Datateknikk Dato og tid: 13.5.19 3 timer Fagansvarlig: Robert Roppestad Hjelpemidler: - to A4-ark (fire sider) med egne notater - godkjent kalkulator

Detaljer

Litt mer om Arduino. Roger Antonsen Sten Solli INF1510 31. januar 2011

Litt mer om Arduino. Roger Antonsen Sten Solli INF1510 31. januar 2011 Litt mer om Arduino Roger Antonsen Sten Solli INF1510 31. januar 2011 ARDUINO Input (Data) Prosessering Output Arduino Man kan bruke de 3 elementene i varierende grad, og også kutte noen helt ut. Det finnes

Detaljer

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærere: Robert Roppestad. Hele oppgavesettet består av 8 oppgaver, samt 1 vedlegg.

Emnenavn: Datateknikk. Eksamenstid: 3 timer. Faglærere: Robert Roppestad. Hele oppgavesettet består av 8 oppgaver, samt 1 vedlegg. EKSAMEN Emnekode: ITD13012 Dato: 10. mai 2017 Hjelpemidler: To A4-ark (fire sider) med egne notater Emnenavn: Datateknikk Eksamenstid: 3 timer Faglærere: Robert Roppestad Kalkulator som kan lånes av HIØ

Detaljer

Antall oppgavesider:t4 Antall vedleggsider: 1 KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET

Antall oppgavesider:t4 Antall vedleggsider: 1 KANDIDATEN MÅ SELV KONTROLLERE AT OPPGAVESETTET Høgskoleni Østfold 1 EKSAMENSOPPGAVE. Kontinuasjonseksamen Fag: IRE10513Elektriskekretser Lærere: Arne Johan Østenby, Even Arntsen Grupper: El E og ElEy Dato: 2015-12-17 Tid: 9-13 Antall oppgavesider:t4

Detaljer

Del 4 Noen spesielle C-elementer

Del 4 Noen spesielle C-elementer Del 4 Noen spesielle C-elementer 1 RR 2016 Header-filer inneholder Prototypene til funksjonene i standard biblioteket Verdier og definisjoner som disse funksjonene bruker #include #include

Detaljer

PLS PC-øving nr. 3 Global Label og Local Label, flagg og CJ

PLS PC-øving nr. 3 Global Label og Local Label, flagg og CJ PLS PC-øving nr. 3 Global Label og Local Label, flagg og CJ Utgave: 1.02 Utarbeidet av: AH Dato: 10.10.12 Revidert av: AH Dato: 270114 Tema i oppgaven Oppgaven går ut på å lære seg å ta i bruk listene

Detaljer

SUPER DISCLAIMER. Vi endrer opplegget litt fra år til år, og vi hører på dere!

SUPER DISCLAIMER. Vi endrer opplegget litt fra år til år, og vi hører på dere! ARDUINO BASISKUNNSKAP ELEKTRISITET SIKKERHET PRAKSIS INSTALLASJON PROGRAMMERING GRUNNLEGGENDE TEORI ÅPEN SONE FOR EKSPERIMENTELL INFORMATIKK STUDIELABEN Roger Antonsen INF1510 23. januar 2012 SUPER DISCLAIMER

Detaljer

Lab 6 Klokkegenerator, tellerkretser og digital-analog omformer

Lab 6 Klokkegenerator, tellerkretser og digital-analog omformer Universitetet i Oslo FYS1210 Elektronikk med prosjektoppgave Lab 6 Klokkegenerator, tellerkretser og digital-analog omformer 4. april 2016 Labdag: Tirsdag Labgruppe: 3 Oppgave 1: Klokkegenerator En klokkegenerator

Detaljer

E K S A M E N FAKULTET FOR TEKNOLGI OG REALFAG. Emnekode: ELE217 Emnenavn: Mikrokontrollere og styresystemer.

E K S A M E N FAKULTET FOR TEKNOLGI OG REALFAG. Emnekode: ELE217 Emnenavn: Mikrokontrollere og styresystemer. FAKULTET FOR TEKNOLGI OG REALFAG E K S A M E N Emnekode: ELE217 Emnenavn: Mikrokontrollere og styresystemer. Dato: 9. desember 2016 Varighet: 0900-1200 Antall sider inkl. forside: 22 Tillatte hjelpemidler:

Detaljer

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE

AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE AVDELING FOR INGENIØRUTDANNING EKSAMENSOPPGAVE Emne: Gruppe(r): 2E Eksamensoppgaven består av: ELEKTRONIKK II Antall sider (inkl. forsiden): 4 Emnekode: SO 313E Dato: 5. juni 2003 Antall oppgaver: 8 Faglig

Detaljer

Intro til Atmel Studio Bits&bytes

Intro til Atmel Studio Bits&bytes Intro til Atmel Studio 6.1 - Bits&bytes Vi har nå vært igjennom et bittelite prosjekt med en LED og en knapp, husker du at vi måtte gjøre noe spessielt med PORTB i loopen vår så den skulle fortsette å

Detaljer

ehøgskoleni østfold Av sensor

ehøgskoleni østfold Av sensor ehøgskoleni østfold EKSAMEN Emnekode: Emnenavn: IRE25715 Elektriske anlegg og maskiner Dato: 2016.12.20 Eksamenstid: 9-14 Sensurfrist: 2017.01.18 Antall oppgavesider: 5 Faglærer: Even Arntsen Antall vedleggsider:

Detaljer

Den analoge verden blir digitalisert

Den analoge verden blir digitalisert Den analoge verden blir digitalisert Lindem 4. mai 2008 Med bestemte tidsintervall går vi inn og avleser (digitaliserer) den analoge verdien til signalet. Nyquist Shannon sampling theorem: Skal vi beholde

Detaljer

Høgskoleni østfold EKSAMEN. Emnekode: Emne: ITD13012 Datateknikk (deleksamen 1, høstsemesteret) Dato: Eksamenstid: kl til kl.

Høgskoleni østfold EKSAMEN. Emnekode: Emne: ITD13012 Datateknikk (deleksamen 1, høstsemesteret) Dato: Eksamenstid: kl til kl. Høgskoleni østfold EKSAMEN Emnekode: Emne: ITD13012 Datateknikk (deleksamen 1, høstsemesteret) Dato: 02.12.2015 Eksamenstid: kl. 0900 til kl. 1200 Hjelpemidler: Faglærer: to A4-ark (fire sider) med egne

Detaljer

VEILEDNING TIL LABORATORIEØVELSE NR 8

VEILEDNING TIL LABORATORIEØVELSE NR 8 VEILEDNING TIL LABORATORIEØVELSE NR 8 «DIGITALVOLTMETER» FY-IN 204 Revidert utgave 98-03-05 Veiledning FY-IN 204 : Oppgave 8 8 Digital voltmeter Litteratur: Skjema på fig. 1, Millmann side 717-720 Oppgave:

Detaljer

Bruk av interrupt og Timer i Arduino-program.

Bruk av interrupt og Timer i Arduino-program. 1 Bruk av interrupt og Timer i Arduino-program. Når vi skal utføre handlinger som kan inntreffe tilfeldig (ikke forutsigbare hendelser), slik som å håndtere alarmer, at IO ønsker service etc kan vi benytte

Detaljer

ARDUINO STUDIELABEN PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER FRITZING. Roger Antonsen INF januar 2012

ARDUINO STUDIELABEN PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER FRITZING. Roger Antonsen INF januar 2012 ARDUINO PROGRAMMERING DIGITALE/ANALOGE INNDATA/UTDATA LYSDIODER ÅPEN SONE FOR EKSPERIMENTELL INFORMATIKK STUDIELABEN FRITZING Roger Antonsen INF1510 30. januar 2012 Arduino Cookbook, Michael Margolis Denne

Detaljer

Løsningsforslag til 1. del av Del - EKSAMEN

Løsningsforslag til 1. del av Del - EKSAMEN Løsningsforslag til 1. del av Del - EKSAMEN Emnekode: ITD13012 Emne: Datateknikk Dato: 27. November 2012 Eksamenstid: kl 9:00 til kl 12:00 Hjelpemidler: 4 sider (A4) (2 ark) med egne notater. Ikke-kummuniserende

Detaljer

1 Innledning. 2 Virkemåte for kortet. Bli kjent med USB I/O kort K8055. NB! Ta med multimeter og lite skrujern!

1 Innledning. 2 Virkemåte for kortet. Bli kjent med USB I/O kort K8055. NB! Ta med multimeter og lite skrujern! D:\Per\Fag\Styresys\Oppgavebok\K8055LV_12\Øving 1\K8055_LV2012_SANN1_2014.wpd Fag SO507E Styresystemer HIST-AFT jan 14 PHv Dataøving 1 SANNTID MED LABVIEW Bli kjent med USB I/O kort K8055. NB! Ta med multimeter

Detaljer

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram.

Dagens temaer. temaer hentes fra kapittel 3 i Computer Organisation. av sekvensielle kretser. and Architecture. Tilstandsdiagram. Dagens temaer 1 Dagens Sekvensiell temaer hentes fra kapittel 3 i Computer Organisation and Architecture logikk Flip-flop er Design av sekvensielle kretser Tilstandsdiagram Tellere og registre Sekvensiell

Detaljer

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til:

En mengde andre typer som DVD, CD, FPGA, Flash, (E)PROM etc. (Kommer. Hukommelse finnes i mange varianter avhengig av hva de skal brukes til: 2 Dagens temaer Dagens 4 Sekvensiell temaer hentes fra kapittel 3 i Computer Organisation and Architecture Design Flip-flop er av sekvensielle kretser Tellere Tilstandsdiagram og registre Sekvensiell Hvis

Detaljer

C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1

C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1 C:\web\service-elektronikk\fagprover\Anders\flashlite_program_Anders.pas Page 1 { F A G P R Ø V E N V Å R E N 1 9 9 9 Universitetet i Bergen Institutt for den Faste Jords Fysikk A D - K O R T P R O G R

Detaljer

Fys 3270/4270 høsten Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter.

Fys 3270/4270 høsten Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter. Fys 3270/4270 høsten 2004 Laboppgave 2: Grunnleggende VHDL programmering. Styring av testkortets IO enheter. Innledning. Målet med denne laboppgaven er at dere skal lære å lage enkle hardware beskrivelser

Detaljer

E K S A M E N S O P P G A V E

E K S A M E N S O P P G A V E HØGSKOLEN I AGDER Fakultet for teknologi E K S A M E N S O P P G A V E EMNE: FAGLÆRER: ELE 7351 Kraftelektronikk OleMorten Midtgård Klasse(r): 3ENTEK Dato: 13.12.2004 Eksamenstid, fratil: 09:00 12:00 Eksamensoppgaven

Detaljer

Løsningsforslag til EKSAMEN

Løsningsforslag til EKSAMEN Løsningsforslag til EKSAMEN Emnekode: ITD006 Emne: Fysikk og datateknikk Dato: 06. Mai 009 Eksamenstid: kl 9:00 til kl 3:00 Hjelpemidler: 4 sider (A4) ( ark) med egne notater. Kalkulator. Gruppebesvarelse,

Detaljer

WORKSHOP BRUK AV SENSORTEKNOLOGI

WORKSHOP BRUK AV SENSORTEKNOLOGI WORKSHOP BRUK AV SENSORTEKNOLOGI MIKROKONTROLLERE - ARDUINO KURS 27.08.16 ANALOG - DIGITAL FRA VARIASJONER AV STRØMSTYRKE TIL TALL ARDUINO BRUKES TIL Å UTFØRE SLIK KONVERTERING STRØM/TALL ELLER TALL/STRØM

Detaljer

Gruppe(r): 2EY 30.05.02. Eksamenstid, fra-til: 09 00-14 00 Eksamensoppgaven består av. Antall sider: 4 (Inkludert denne)

Gruppe(r): 2EY 30.05.02. Eksamenstid, fra-til: 09 00-14 00 Eksamensoppgaven består av. Antall sider: 4 (Inkludert denne) HØGSKOLEN I OSLO Avdeling for ingeniørutdanning EKSAMENSOPPGAVE Fag: ELEKTRONIKK II Fagnr: SO313E Faglig veileder: K. H. Nygård, V. Tyssø Gruppe(r): 2EY Dato: 30.05.02 Eksamenstid, fra-til: 09 00-14 00

Detaljer

Monostabil multivibrator One shot genererer en enkelt puls med spesifisert varighet kretsen har en stabil tilstand

Monostabil multivibrator One shot genererer en enkelt puls med spesifisert varighet kretsen har en stabil tilstand Lindem 22.april 2013 MULTIVIBRATORER En egen gruppe regenerative kretser. Brukes mest til generering av pulser i timere. 3 typer : Bistabile Monostabile Astabile Bistabil multivibrator Bistabil latch /

Detaljer

Arduino med Atmel studio 6.x (6.1)

Arduino med Atmel studio 6.x (6.1) Arduino med Atmel studio 6.x (6.1) Etter å ha sett meg grenseløs lei av Arduinos IDE har jeg i lenge tid brukt Atmels eget AS6.1 Tenkte derfor lage en liten hvordan sette den opp til å virke med arduino.

Detaljer

1. del av Del - EKSAMEN

1. del av Del - EKSAMEN 1. del av Del - EKSAMEN Emnekode: ITD13012 Emne: Datateknikk Dato: 27. November 2012 Eksamenstid: kl 9:00 til kl 12:00 Hjelpemidler: 4 sider (A4) (2 ark) med egne notater. Ikke-kummuniserende kalkulator.

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er

Dagens temaer. Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er Dagens temaer Dagens temaer hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Design av sekvensielle kretser Tilstandsdiagram Tellere og registre INF2270 1/19

Detaljer

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi

HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi HØGSKOLEN I SØR-TRØNDELAG Avdeling for teknologi Målform: Norsk Eksamensdato: 13. mai 2014 Varighet/eksamenstid: 0900-1400 Emnekode: Emnenavn: TELE3010 Mikroprosessorsystemer Klasse(r): 2EE 2EI Studiepoeng:

Detaljer

Datakonvertering. analog til digital og digital til analog

Datakonvertering. analog til digital og digital til analog Datakonvertering analog til digital og digital til analog Komparator Lindem 29.april. 2014 Signalspenningene ut fra en sensor kan variere sterkt. Hvis vi bare ønsker informasjon om når signal-nivået overstiger

Detaljer

Synkron logikk. Sekvensiell logikk; to typer:

Synkron logikk. Sekvensiell logikk; to typer: Sekvensiell logikk De fleste digitale systemer har også minneelementer (f.eks flipflopper) i tillegg til kombinatorisk logikk, og kalles da sekvensiell logikk Output i en sekvensiell krets er avhengig

Detaljer

MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk.

MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Stavanger, 25. januar 2012 Det teknisknaturvitenskapelige fakultet MIK 200 Anvendt signalbehandling, 2012. Lab. 5, brytere, lysdioder og logikk. Vi skal i denne øvinga se litt på brytere, lysdioder og

Detaljer

Analog til digital omformer

Analog til digital omformer A/D-omformer Julian Tobias Venstad ED-0 Analog til digital omformer (Engelsk: Analog to Digital Converter, ADC) Forside En rask innføring. Innholdsfortegnelse Forside 1 Innholdsfortegnelse 2 1. Introduksjon

Detaljer

NY EKSAMEN Emnekode: ITD13012

NY EKSAMEN Emnekode: ITD13012 NY EKSAMEN Emnekode: ITD13012 Dato: 30.05.2018 Hjelpemidler: To (2) A4-ark (fire sider) med egne notater. HIØ-kalkulator som kan lånes under eksamen. Emnenavn: Datateknikk (deleksamen 1) Eksamenstid: 3

Detaljer

UNIVERSITETET I OSLO

UNIVERSITETET I OSLO UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1411 Introduksjon til elektroniske systemer Eksamensdag: 28. mai 2014 Tid for eksamen: 4 timer Oppgavesettet er på 6 sider

Detaljer

Steg 1: Installere programvaren

Steg 1: Installere programvaren Blinkende lysdiode Skrevet av: Adrian Helle Kurs: Arduino Tema: Elektronikk, Tekstbasert Fag: Programmering, Teknologi Klassetrinn: 5.-7. klasse, 8.-10. klasse, Videregående skole Introduksjon Arduino

Detaljer

Blinkende lysdiode Introduksjon Arduino Lærerveiledning

Blinkende lysdiode Introduksjon Arduino Lærerveiledning Blinkende lysdiode Introduksjon Arduino Lærerveiledning Introduksjon Arduino er en mikrokontroller som kan programmeres til å styre elektroniske dingser og duppeditter. Ved hjelp av en Arduino kan du skru

Detaljer

EKSAMEN (Del 2, våren 2015) Løsningsforslag

EKSAMEN (Del 2, våren 2015) Løsningsforslag EKSAMEN (Del 2, våren 2015) Løsningsforslag Emnekode: ITD13012 Emne: Datateknikk Dato: 13.05.2015 Eksamenstid: kl 0900 til kl 1200 Hjelpemidler: to A4-ark (fire sider) med egne notater "ikke-kommuniserende"

Detaljer

Produkt informasjon 2009

Produkt informasjon 2009 Produkt informasjon 2009 DMX kontroller DMX signal konverter DALI kontroller DSI kontroller LED dimmere konstant strøm LED dimmere konstant spenning 1..10V kontroller DSI/DALI dimmer http://nortronic.biz

Detaljer

KYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: 08.14 OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120

KYBERNETIKKLABORATORIET. FAG: Industriell IT DATO: 08.14 OPPG.NR.: LV4. LabVIEW Temperaturmålinger BNC-2120 KYBERNETIKKLABORATORIET FAG: Industriell IT DATO: 08.14 OPPG.NR.: LV4. LabVIEW LabVIEW Temperaturmålinger BNC-2120 Lampe/sensor-system u y I denne oppgaven skal vi teste et lampe/sensor-system som vist

Detaljer

Elektronikk og IT DIGITALTEKNIKK

Elektronikk og IT DIGITALTEKNIKK Elektronikk og IT DIGITALTEKNIKK Oppgave navn: Klokkekrets Lab. oppgave nr.: 2 Dato utført: Protokoll skriver: Klasse: Øvrige gruppedeltagere: Gruppe: Dato godkjent: Skole stempel: Protokollretter: Ved

Detaljer

Analog til digital omforming

Analog til digital omforming Kurs: FYS3230 Sensorer og måleteknikk Gruppe: Gruppe-dag: Oppgave: LABORATORIEØVELSE NR 2 Omhandler: Analog til digital omforming Studere noen D/A- og A/D- kretser Revidert, 27 sept. 06 T.Lindem Utført

Detaljer

EKSAMEN Løsningsforslag Emne: Fysikk og datateknikk

EKSAMEN Løsningsforslag Emne: Fysikk og datateknikk Emnekode: ITD006 EKSAMEN Løsningsforslag Emne: Fysikk og datateknikk Dato: 09. Mai 006 Eksamenstid: kl 9:00 til kl :00 Hjelpemidler: 4 sider (A4) ( ark) med egne notater. Kalkulator. Gruppebesvarelse,

Detaljer

E K S A M E N S O P P G A V E

E K S A M E N S O P P G A V E HØGSKOLEN I AGDER Fakultet for teknologi E K S A M E N S O P P G A V E EMNE: FAGLÆRER: ELE 7351 Kraftelektronikk OleMorten Midtgård Klasse(r): 3ENTEK Dato: 11.03.2005 Eksamenstid, fratil: 09:00 12:00 Eksamensoppgaven

Detaljer

Analog til digital omforming

Analog til digital omforming Kurs: FYS3230 Sensorer og måleteknikk Gruppe: Gruppe-dag: Oppgave: LABORATORIEØVELSE NR 2 Omhandler: Analog til digital omforming Studere noen D/A- og A/D- kretser Revidert 13. sept. 2011 T.Lindem Utført

Detaljer

CodevisionAVR. Start CodevisionAVR. Velg Settings Terminal og sett opp kommunikasjonsparametrene som figur 1 viser. avrlab07a.doc HVE RI Arnfinn Lunde

CodevisionAVR. Start CodevisionAVR. Velg Settings Terminal og sett opp kommunikasjonsparametrene som figur 1 viser. avrlab07a.doc HVE RI Arnfinn Lunde AVR-LAB 07 Echo: Seriell I/O side 1 av 5 Hensikt I denne øvelsen benytter vi RS-232 overføring av data mellom STK-200 og vår PC. Programmet Terminalprogrammet på CodevisionAVR benyttes på PC. Karakterer

Detaljer

Forelesning 5. Diverse komponenter/større system

Forelesning 5. Diverse komponenter/større system Forelesning 5 Diverse komponenter/større system Hovedpunkter Komparator Dekoder/enkoder MUX/DEMUX Kombinert adder/subtraktor ALU En minimal RISC - CPU 2 Komparator Komparator sammenligner to 4 bits tall

Detaljer

EKSAMEN (Del 1, høsten 2015)

EKSAMEN (Del 1, høsten 2015) EKSAMEN (Del 1, høsten 2015) Emnekode: ITD13012 Emne: Datateknikk Dato: 02.12.2015 Eksamenstid: kl 0900 til kl 1200 Hjelpemidler: Faglærer: to A4-ark (fire sider) med egne notater Robert Roppestad "ikke-kommuniserende"

Detaljer

Høgskoleni østfold EKSAMEN. Dato: Eksamenstid: kl til kl. 1200

Høgskoleni østfold EKSAMEN. Dato: Eksamenstid: kl til kl. 1200 Høgskoleni østfold EKSAMEN Emnekode: ITD13012 Emne: Datateknikk Dato: 3.12.2014 Eksamenstid: kl. 0900 til kl. 1200 Hjelpemidler: to A4-ark (fire sider) med egne notater "ikke-kommuniserende" kalkulator

Detaljer

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form

Dagens temaer. Dagens temaer hentes fra kapittel 3 i læreboken. Oppbygging av flip-flop er og latcher. Kort om 2-komplements form Dagens temaer Dagens temaer hentes fra kapittel 3 i læreboken Oppbygging av flip-flop er og latcher Kort om 2-komplements form Binær addisjon/subtraksjon Aritmetisk-logisk enhet (ALU) Demo av Digital Works

Detaljer

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK

EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK Side 1 av 13 INSTITUTT FOR ELEKTRONIKK OG TELEKOMMUNIKASJON EKSAMEN I FAG TFE4101 KRETS- OG DIGITALTEKNIKK Faglig kontakt: Peter Svensson (1 3.5) / Kjetil Svarstad (3.6 4) Tlf.: 995 72 470 / 458 54 333

Detaljer

Bruk av interrupt og Timer i Arduino-program.

Bruk av interrupt og Timer i Arduino-program. 1 Bruk av interrupt og Timer i Arduino-program. Når vi skal utføre handlinger som kan inntreffe tilfeldig (ikke forutsigbare hendelser), slik som å håndtere alarmer, at IO ønsker service etc kan vi benytte

Detaljer

Oppgave Nr.og navn LABORATORIEØVELSE NR 6 Revidert utgave desember 2014 T. Lindem, K. Ø. Spildrejorde, M. Elvegård

Oppgave Nr.og navn LABORATORIEØVELSE NR 6 Revidert utgave desember 2014 T. Lindem, K. Ø. Spildrejorde, M. Elvegård Kurs: FYS1210 Elektronikk med prosjektoppgaver Gruppe: Gruppe-dag: Oppgave Nr.og navn LABORATORIEØVELSE NR 6 Revidert utgave desember 2014 T. Lindem, K. Ø. Spildrejorde, M. Elvegård Omhandler: «KLOKKEGENERATOR

Detaljer

Forelesning 7. Tilstandsmaskin

Forelesning 7. Tilstandsmaskin Forelesning 7 Tilstandsmaskin Hovedpunkter Tilstandsmaskin Tilstandstabell Tilstandsdiagram Analyse av D flip-flop basert tilstandsmaskin Reduksjon av antall tilstander Tilordning av tilstandskoder Designprosedyre

Detaljer

INF1411 Obligatorisk oppgave nr. 3

INF1411 Obligatorisk oppgave nr. 3 INF1411 Obligatorisk oppgave nr. 3 Fyll inn navn på alle som leverer sammen, 2 per gruppe (1 eller 3 i unntakstilfeller): 1 2 3 Informasjon og orientering I denne oppgaven skal du lære litt om operasjonsforsterkere

Detaljer

TELE2010A Digital Systemkonstruksjon

TELE2010A Digital Systemkonstruksjon TELE2010A Digital Systemkonstruksjon Øving 3/2015 Del 1, Teller: Husk å arbeide i det lokale arbeidsområdet på disken. Kopier filene til serveren når dere er ferdig for å kunne bruke dem neste gang. max_tall

Detaljer

Det matematisk-naturvitenskapelige fakultet

Det matematisk-naturvitenskapelige fakultet Side 1 UNIVERSITETET I OSLO Det matematisk-naturvitenskapelige fakultet Eksamen i: INF1400 Eksamensdag: 5/12-2006 Tid for eksamen: 15:30 18:30 Oppgavesettet er på: 5 sider Vedlegg: Ingen Tillatte hjelpemidler:

Detaljer

Løsningsforslag til eksamen i INF2270

Løsningsforslag til eksamen i INF2270 Løsningsforslag til eksamen i INF227 Oppgave 9 Omid Mirmotahari Oppgave 6 Dag Langmyhr. juni 24 Eksamen INF227 Sensorveiledning Oppgave 2 Kretsforenkling Hva er funksjonsuttrykket for Output gitt av A

Detaljer

IN1020. Sekvensiell Logikk

IN1020. Sekvensiell Logikk IN12 Sekvensiell Logikk Hovedpunkter Definisjoner Portforsinkelse Praktiske Eksempler Latch SR D Flip-Flop D JK T Tilstandsmaskiner Tilstandsdiagrammer og tilstandstabeller Omid Mirmotahari 2 Definisjoner

Detaljer

Ultralydsensor. Introduksjon. Litt om ultralydsensorer. Arduino. Skrevet av: Martin Ertsås & Morten Minde Neergaard

Ultralydsensor. Introduksjon. Litt om ultralydsensorer. Arduino. Skrevet av: Martin Ertsås & Morten Minde Neergaard Arduino Ultralydsensor Skrevet av: Martin Ertsås & Morten Minde Neergaard Kurs: Arduino Tema: Tekstbasert, Elektronikk Fag: Teknologi, Programmering, Naturfag Klassetrinn: 5.-7. klasse, 8.-10. klasse,

Detaljer

Forelesning nr.13 INF 1411 Elektroniske systemer

Forelesning nr.13 INF 1411 Elektroniske systemer Forelesning nr.13 INF 1411 Elektroniske systemer Sensorer AD og DA-konvertering 1 Dagens temaer Sensorer for temperaturmåling Måling Hastighetsmåling av strekk, press og væskestrømmer Digital-til Analog-til-Digital

Detaljer

Rapport Øving 2 TDT4258 Mikrokontroller Systemdesign

Rapport Øving 2 TDT4258 Mikrokontroller Systemdesign Rapport Øving 2 TDT4258 Mikrokontroller Systemdesign Thomas L Falch Torgeir Alstad 19. mars 2010 1 Sammendrag Oppgaven i denne øvingen var å skrive et program for å generere lyd på et utviklingskort [4].

Detaljer

Avdeling for ingeniørutdanning Elektrogrunnlagslaboratoriet DIGITALE SYSTEMER

Avdeling for ingeniørutdanning Elektrogrunnlagslaboratoriet DIGITALE SYSTEMER Avdeling for ingeniørutdanning Elektrogrunnlagslaboratoriet DIGITALE SYSTEMER Oppgavens navn: Styring av stepmotor Lab. oppgave nr.: M3 Dato utført: Klasse: Protokoll skriver : Gruppe: Øvrige gruppedeltagere

Detaljer

Eksamen i Elektronikk 24. Mai Løsningsforslag Knut Harald Nygaard

Eksamen i Elektronikk 24. Mai Løsningsforslag Knut Harald Nygaard Eksamen i Elektronikk 24. Mai 2017 Løsningsforslag Knut Harald Nygaard Oppgave 1 Operasjonsforsterkeren i kretsløpet i figuren nedenfor kan regnes som ideell. v inn R C v ut a) Overføringsfunksjonen er

Detaljer

CLS. DMX16 16 kanals DMX Lys mikser. Bruksanvisning 2001 V1.0 Laget i Norge av Compact Light System AS www.cls.no- office@cls.no

CLS. DMX16 16 kanals DMX Lys mikser. Bruksanvisning 2001 V1.0 Laget i Norge av Compact Light System AS www.cls.no- office@cls.no CLS DMX16 16 kanals DMX Lys mikser Bruksanvisning 2001 V1.0 Laget i Norge av Compact Light System AS www.cls.no- office@cls.no Innholdsfortegnelse: Side 1: Bruksanvisning omslagsside Side 2: Innholdsfortegnelse

Detaljer

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren

public static <returtype> navn_til_prosedyre(<parameter liste>) { // implementasjon av prosedyren Prosedyrer Hensikten med en prosedyre Hensikten med en prosedyre er, logisk sett, å representere en jobb eller en funksjonalitet i et eller flere programmer. Bruk av entall er viktig: vi har generelt en

Detaljer

ENC - 100. ENKEL AKSE og KLIPPE LENGDE KONTROLLER for PLATESAKSER

ENC - 100. ENKEL AKSE og KLIPPE LENGDE KONTROLLER for PLATESAKSER ENC - 100 ENKEL AKSE og KLIPPE LENGDE KONTROLLER for PLATESAKSER 1. GENERELLE SPESIFIKASJONER Membran tastatur med lang levetid. Klart og lett lesbart display. Viser hver av de 6 sifrene for aktuell og

Detaljer

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er:

! Ytelsen til I/O- systemer avhenger av flere faktorer: ! De to viktigste parametrene for ytelse til I/O er: Dagens temaer! Ulike kategorier input/output! Programmert! Avbruddstyrt! med polling.! Direct Memory Access (DMA)! Asynkrone vs synkrone busser! Med! Fordi! -enheter menes de enheter og mekanismer som

Detaljer

Forslag B til løsning på eksamen FYS august 2004

Forslag B til løsning på eksamen FYS august 2004 Forslag B til løsning på eksamen FYS20 3 august 2004 Oppgave (Sweeper frekvensområdet 00Hz til 0MHz Figur viser et båndpassfilter. Motstandene R og R2 har verdi 2kΩ. Kondensatorene C = 00nF og C2 = 0.nF.

Detaljer

INF1510: Bruksorientert design

INF1510: Bruksorientert design INF1510: Bruksorientert design Ukeoppgaver i Arduino - uke 1 Vår 2017 Innhold 1. Elektrisitet 2 1.1. Kretsbygging 2 1.2. Komponenter 2 1.3. Dårlige kretser 3 1.4. Analoge og Digitale signaler 4 1.5. Likestrøm

Detaljer

LØSNINGSFORSLAG 2006

LØSNINGSFORSLAG 2006 LØSNINGSFORSLAG 2006 Side 1 Oppgave 1), vekt 12.5% 1a) Bruk Karnaughdiagram for å forenkle følgende funksjon: Y = a b c d + a b c d + a b cd + a bc d + a bc d + ab c d + ab cd ab cd 00 01 11 10 00 1 1

Detaljer

Erik Grindheim - fagprøve Kildekode til mikrokontroller << led_ctrl.asm >> side 1/6.

Erik Grindheim - fagprøve Kildekode til mikrokontroller << led_ctrl.asm >> side 1/6. Skrevet av: Erik Grindheim, IFJF - UiB * Dato: 15. februar 2000 * Revisjon 1.12 * Språk: MPASM (Microchip) * Processor: PIC16F84 * Watchdog timer: off * Code protect: off * Programmet starter opp med å

Detaljer

INF2270. Sekvensiell Logikk

INF2270. Sekvensiell Logikk INF227 Sekvensiell Logikk Hovedpunkter Definisjoner Portforsinkelse Shift register Praktiske Eksempler Latch SR D Flip-Flop D JK T Tilstandsmaskiner Tilstandsdiagrammer Reduksjon av tilstand Ubrukte tilstander

Detaljer

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre

Dagens tema. Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture. Sekvensiell logikk. Flip-flop er. Tellere og registre Dagens tema Dagens tema hentes fra kapittel 3 i Computer Organisation and Architecture Sekvensiell logikk Flip-flop er Tellere og registre Design av sekvensielle kretser (Tilstandsdiagram) 1/19 Sekvensiell

Detaljer

Eksamensoppgaven: Hele oppgavesettet består av 8 oppgaver. Hver oppgave har en %-angivelse som angir hvor mye den teller ved sensurering.

Eksamensoppgaven: Hele oppgavesettet består av 8 oppgaver. Hver oppgave har en %-angivelse som angir hvor mye den teller ved sensurering. Informasjon om eksamen EKSAMEN Emnekode og -navn: ITD13012 Datateknikk, deleksamen 2 Dato og tid: 15. mai 2018, 3 timer (fra 09:00 til 12:00) Faglærer: Robert Roppestad Tillatte hjelpemidler: To A4-ark

Detaljer

Kapittel 5 Tilstandsmaskin

Kapittel 5 Tilstandsmaskin Hovedpunkter Kapittel 5 Tilstandsmaskin Tilstandsmaskin Tilstandstabell Tilstandsdiagram Analyse av D flip-flop basert smaskin Reduksjon av antall er Tilordning av skoder Designprosedyre for smaskin basert

Detaljer

WO 65 ONLINE WEATHER STATION

WO 65 ONLINE WEATHER STATION WO 65 ONLINE WEATHER STATION Revisjon 1 04.05.2009 Copyright 2009 vindsiden.no Innhold Power supply connector... 3 TC65 / sensor kontakt... 4 Vind sensor... 5 Temperatur sensor... 6 Boks... 7 Solcellepanel...

Detaljer

Kandidaten må selv kontrollerer at oppgavesettet er fullstendig. Innføring skal være med blå eller sort penn

Kandidaten må selv kontrollerer at oppgavesettet er fullstendig. Innføring skal være med blå eller sort penn Side 1 Høgskolen i Oslo Avdelingfor ingeniørutdanning Kandidaten må selv kontrollerer at oppgavesettet er fullstendig. Innføring skal være med blå eller sort penn Les igjennom ~ oppgaver før du begynner

Detaljer

Øvingsforelesning 5 Python (TDT4110)

Øvingsforelesning 5 Python (TDT4110) Øvingsforelesning 5 Python (TDT4110) Repetisjon av løkker og funksjoner Ole-Magnus Pedersen Oversikt Praktisk Info Gjennomgang av Øving 3 Repetisjon 2 Praktisk info Prosjekter i PyCharm må startes med

Detaljer