# 2020-2021 Deeltoets 2 ## Opgaven De opgaven kun je vinden op: [https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2020-2021_Deeltoets_2.pdf](https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2020-2021_Deeltoets_2.pdf) ## Uitwerkingen ### Toetsvraag 1 ```c #include // vraag B: #pragma vector = TIMER1_A1_VECTOR __interrupt void ISR_Timer_1(void) { P1OUT ^= BIT5; // toggle pin P1.5 TA1CTL &= ~TAIFG; // clear interrupt flag // vraag C: ADC10CTL0 |= ADC10SC; // start conversie } // vraag C: #pragma vector = ADC10_VECTOR __interrupt void ISR_ADC(void) { float spanning = ADC10MEM * 2.5 / 1023; if (spanning > 1.5) { P1OUT |= BIT7; } else { P1OUT &= ~BIT7; } } int main(void) { WDTCTL = WDTPW | WDTHOLD; // Stop de watchdog timer // vraag A: P1DIR |= BIT5; // zet pin P1.5 op output P1OUT |= BIT5; // maak pin P1.5 hoog // vraag B: BCSCTL3 |= LFXT1S_2; TA1CTL = TASSEL_1 | MC_1 | ID_1 | TAIE; // ACLK, up mode, /2, interrupt aan TA1CCR0 = 12000/2/2 - 1; // (2999) 12000/2 = 6000 Hz clock input TA1 /2 = 0.5 s // vraag C: P1DIR |= BIT7; // zet pin P1.7 op output // Let op! Volgorde is belangrijk: ADC10CTL1 = INCH_6 | SHS_0 | ADC10DIV_3 | ADC10SSEL_0 | CONSEQ_0; // A6 = P1.6, gebruik ADC10SC om te starten, /4, ADC10OSC, single-channel-single-conversion ADC10CTL0 = SREF_1 | ADC10SHT_1 | REF2_5V | REFON | ADC10ON | ADC10IE | ENC; // VR+ = Vref en VR- = Vss, 8 × ADC10CLKs, Vref = 2.5V, ref en ADC en interrupt aan, enable conversion // vraag B en C __enable_interrupt(); while (1) { } return 0; } ``` ### Toetsvraag 2 en 3 De antwoorden op toetsvraag 2 en 3 kun je vinden op: [https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2020-2021_Deeltoets_2_antwoordblad.pdf](https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2020-2021_Deeltoets_2_antwoordblad.pdf)