You are on page 1of 1

a)

DDRD |= (1<<7); //PD7 - OUTPUT


DDRB &=~ (1<<7); //PB7 - INPUT
DDRD &=~ (1<<2); //PD2 - INPUT
DDRD &=~ (1<<6); //PB6 - INPUT
PORTD |= (1<<7); // PULL-OUT
PORTB |= (1<<7); // PULL-IN
PORTD |= (1<<2); // PULL-IN
PORTD |= (1<<6); // PULL-IN

b)
init_timer();
for(;;){
if(TCNT0>=125) //implinirea unei milisecunde
{
TCNT0=0; //resetarea timerului
ms--; //decrementare milisecunde
if(ms==100)
{
ms=0;
s-- //decrementare secunde
}
if(s==60) //implinirea unui minut
{
s=0;
m-- //decrementare minute
}
if (m==0 && s==0 && ms==0) break;

c)
if(ms%50==0){
PORTD|=1<<7; //Aprindere PD7
}

You might also like