-
Notifications
You must be signed in to change notification settings - Fork 0
2020_2021_deeltoets_2
Harry Broeders edited this page Dec 30, 2022
·
5 revisions
De opgaven kun je vinden op: https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2020-2021_Deeltoets_2.pdf
#include <msp430.h>
// 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;
}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