Skip to content

2024_2025_deeltoets_2

Harry Broeders edited this page Apr 16, 2025 · 1 revision

2024-2025 Deeltoets 2

Opgaven

De opgaven kun je vinden op: https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2024-2025_Deeltoets_2.pdf

Uitwerkingen

Toetsvraag 1

#include <msp430.h>

//  Vraag 1C:
#pragma vector = PORT1_VECTOR
__interrupt void port1_isr(void)
{
    if ((P1IFG & BIT4) != 0) // S0
    {
        P1OUT &= ~BIT6;
        P1IFG &= ~BIT4; // clear interrupt flag
    }
    if ((P1IFG & BIT5) != 0) // S1
    {
        P1OUT |= BIT6;
        P1IFG &= ~BIT5; // clear interrupt flag
    }
}

int main()
{
    WDTCTL = WDTPW | WDTHOLD; // Stop de watchdog timer

//  Vraag 1A
    DCOCTL = 0;
    BCSCTL1 = CALBC1_1MHZ;
    DCOCTL = CALDCO_1MHZ;

//  Vraag 1B
    P1DIR |= BIT6;
    P1OUT |= BIT6;

//  Vraag 1C
    P1REN = BIT5 | BIT4;
    P1OUT |= BIT5 | BIT4;
    P1IE = BIT5 | BIT4;
    P1IES = BIT5 | BIT4;
    P1IFG = 0;
    __enable_interrupt();

//  Vraag 1E
    P2DIR |= BIT5;
    P2SEL |= 1<<5;
    P2SEL2 &= ~(1<<5); // P2.5 = TA1.2

    BCSCTL3 = LFXT1S_2;
    // Timer 1 use ACLK, up mode en input divider = 1
    TA1CTL =  TASSEL_1 | ID_0 | MC_1;
    // Periodetijd = 1 / 0.5 = 2 s
    TA1CCR0 = (2 * 12000) - 1; // 23999
    // Output Mode 3: Set/Reset
    TA1CCTL2 = OUTMOD_3;
    // 25% hoog ==> 75% laag
    TA1CCR2 = (2 * 12000) * 0.75; // 18000 niet -1

    while(1)
    {
    }
}

Toetsvraag 2

De antwoorden op toetsvraag 2 kun je vinden op: https://bitbucket.org/HR_ELEKTRO/ems10/wiki/Toetsen/2024-2025_Deeltoets_2_antwoorden.pdf

Clone this wiki locally