/* Programma naam: Cprogram9.c Programma in de (hogere) programmeertaal C Het programma vormt een looplicht/ Vermenigvuldigen met 2 doen de leds naar links schuiven. Delen door 2 doet de leds naar rechts schuiven. AVRStudio heeft WINAVR als pug-in. */ #include //definieert poorten etc. #define F_CPU 8000000UL // 8 MHz,nodig voor util/delay.h #include unsigned char tel,led; // unsigned char = 8bits int main (void) //hoofdroutine { DDRA = 0xFF; // als output voor leds PORTC= 0xFF; // poort C als input, pull-up ingeschakeld DDRC = 0x00; // als input voor schakelaars led=0b00000001; PORTA=led; //leds 0 aan _delay_ms (50); while (1) { for (tel=0;tel<=6;tel++) { led=led*2; //verschuif led PORTA=led; _delay_ms (50); } for (tel=0;tel<=6;tel++) { led=led/2; //verschuif led PORTA=led; _delay_ms (50); } } return 0; } /* Vragen en opgaven 1.Bestudeer het programma en verklaar de werking. 2.Vertraag het programma zodanig dat de werking (het schuiven) goed zichtbaar wordt. 3.Versnel het programma zodanig dat het 'lopen' van de leds nog net met het oog zichtbaar is. 4.Breid het programma uit met een schakelaar waardoor naar keuze een langzaam en een snel scaneffect kan worden verkregen. 5.Leg uit waarom vermenigvuldigen met 2 een led doet 'opschuiven'. */ _delay_ms (50); } } return 0; } /* Vragen en opgaven 1.Bestudeer het progr