Files
AVR_Learning/Make AVR Examples/Chapter03_Digital-Output/povToy_cylonEyes/cylonEyes_POV.c

35 lines
969 B
C

/*
Cylon eyes actually turns out to be a decent POV routine.
The only change here is in DELAYTIME.
*/
#include <avr/io.h> /* Defines pins, ports, etc */
#include <util/delay.h> /* Functions to waste time */
#define DELAYTIME 2 /* milliseconds */
int main(void) {
uint8_t i=0;
DDRB = 0b11111111; /* Data Direction Register B: all on */
while (1) {
while (i < 7) {
PORTB = (1 << i); /* illuminate only i'th pin */
_delay_ms(DELAYTIME); /* wait */
i = i + 1; /* move to the next LED */
}
while (i > 0) {
PORTB = (1 << i); /* illuminate only i'th pin */
_delay_ms(DELAYTIME); /* wait */
i = i - 1; /* move to the previous LED */
}
}
return 0;
}