#include
#include
#include
#include
<avr/io.h>
<avr/interrupt.h>
<stdlib.h>
<util/delay.h>
<avr/wdt.h>
}
else
ch3 = *(s+(y));
*(s+(y)) = (ch3 | (64>>x)|(32>>x));}
int main(void)
{
wdt_disable();
DDRD |= 0b11111111;
DDRC |= 0b00000111;
DDRB |= 0b00000000;
PORTC = 0x00;
PORTB = 0xff;
PORTD = 0b00000000;
// TIMER1 INITIALIZATION
TCCR1B |= (1 << WGM12);
TIMSK |=(1 << OCIE1A);
OCR1A = 124;
TCCR1B |= (1 << CS10) | (1 << CS11);
clearmatrix();
sei();
int x=0, y=0; int i =0;int j =0;
while(1)
{
if(bit_is_clear(PINB,2))
x--;
if(bit_is_clear(PINB,3))
x++;
if(bit_is_clear(PINB,1))
y--;
if(bit_is_clear(PINB,0))
y++;
if(x<0) x=0;
if(x>7) x=7;
if(y<0) y=0;
if(y>4) y=4;
if(i == 7){
if( j==7){ z=rand()%5;j=0;}
w++;
if(w>7) w=0;
j++;
}
clearmatrix();
enemy(matrix1,w,z);
setpixel(matrix,x,y);
_delay_ms(5);
i++;
if(i>7) i=0; }
}
ISR(TIMER1_COMPA_vect)
{ if(m%2)
{write(matrix[k]);
PORTD = (1<<k) ;
k++;
if (k>4) k=0;
m++;
}
else
{
write(matrix1[z]);
PORTD = (1<<z) ;
m++;
}
}