You are on page 1of 2

a)

~((7|8)<<4)
7 - 00000111 sau
8 - 00001000

= 00001111 << 4 = ~(11110000) = 00001111

b) DDRB&=~(1<<7) // PB7 - INPUT;


DDRB|=(1<<4) // PB4 - OUTPUT;
PORTB|=(1<<4) //PULL-UP OUTPUT;

c)
//declarare caz 'C' si 'F'
case 10: PORTC|=0b00111001;
case 11: PORTC|=0b01110001;

d)
int grade (int c)
{
int f;
f=c*9/5+32
return f;
}

e,f)
void Timer0_ISR() iv IVT_ADDR_TIMER0_COMP{
poz++;

if (ms==100){
adc(6); //CANAL -> 6 (PA6)
ms=0;
}else ms++;
if(PINB&(1<<5)){//bilet1//
switch(poz)
{ case 1: display(4,value%10);break;
case 2: display(3,(value/10)%10);break;
case 3: display(2,(value/100)%10);break;
case 4: display(1,(value/1000)%10); poz=0;break;
}
else
{
switch(poz){
case 1: display(4,F%10);break;
case 2: display(3,(F/10)%10);break;
case 3: display(2,(F/100)%10);break;
case 4: display(1,(F/1000)%10); poz=0;break;}
if(value>28){
PORTB|=1<<5; //aprinde becul
}

void main(){
DDRA = 0b00001111; //seteaza pinii de iesire
DDRC = 0b11111111;
//Init_Interrupt0();
Init_Timer();
Init_ADC();
SREG |= 1<<7; //Set Enable Interrup
C=value;
grade(29);
for(;;){

}
}

You might also like