wayground logo

Free Printable Worksheets

NEW

Font size

S
M
L
XL
Worksheets

Programmazione in C di ATMega328

Total questions: 13

Worksheet time: 26mins

Name
Class
Date
1.

Quale è il listato corretto per verificare

il livello logico di un ingresso sul piedino PC4?

a)

in=PORTC;

in&=(1<<PC4);

b)

in=PINC;

in&=(1<<PC);

c)

in=PINC;

in&=(1<<PC4);

d)

in=PINC;

in|=(1<<PC4);

2.

Quale è il listato corretto per condizionare a 1 l'uscita PC4?

a)

out=PORTC;

out|=(1<<PC4);

PORTC=out;

b)

out=PINC;

out&=(1<<PC);

PORTC=out;

c)

out=PINC;

out&=(1<<PC4);

PORTC=out;

d)

out=PINC;

out|=(1<<PC4);

PORTC=out;

3.

Quale è il listato corretto per condizionare a 1 l'uscita PC4?

a)

out=PINC;

out|=(1<<4);

PORTC=out;

b)

out=PINC;

out&=0x10;

PORTC=out;

c)

out=PINC;

out|=(1<<16);

PORTC=out;

d)

out=PINC;

out|=~16;

PORTC=out;

4.

Quale è il listato corretto per condizionare a 0 l'uscita PC4?

a)

out=PINC;

out&=4;

PORTC=out;

b)

out=PINC;

out&=~0x10;

PORTC=out;

c)

out=PINC;

out|=16;

PORTC=out;

d)

out=PINC;

out|=~16;

PORTC=out;

5.

Quale è il listato corretto per condizionare a 0 contemporaneamente l'uscita PC4 e PC2?

a)

out=PC2;

out|=PC4;

out|=(1<<4) | (1<<2);

PORTC=out;

b)

out=PINC;

out&=~(1<<PC4)&~4;

PORTC=out;

c)

out=PC2;

out|=PC4;

out&=~(1<<4) &~(1<<2);

PORTC=out;

d)

out=PINC;

out|=~(1<<PC4) | ~(1<<PC2);

PORTC=out;

6.

Quale è il listato corretto per leggere un Fronte di discesa sul pin PC0?

a)

in=PINC;

... in&(1<<PC0)&&!(inp&(1<<PC0))...

inp=in;

b)

in=PINC;

... in&(1<<PC0)&&!(inp&(1<<PC1))...

inp=in;

c)

in=PINC;

... !(in&(1<<PC0))&&(inp&(1<<PC1))...

inp=in;

d)

in=PINC;

... !(in&(1<<PC0))&&(inp&(1<<PC0))...

inp=in;

7.

Quale è il listato corretto per leggere un Fronte di salita sul pin PC0?

a)

in=PINC;

... in&(1<<PC0)&&!(inp&(1<<PC0))...

inp=in;

b)

in=PINC;

... in&(1<<PC0)&&!(inp&(1<<PC1))...

inp=in;

c)

in=PINC;

... !(in&(1<<PC0))&&(inp&(1<<PC1))...

inp=in;

d)

in=PINC;

... !(in&(1<<PC0))&&(inp&(1<<PC0))...

inp=in;

8.

Quale è il listato corretto per leggere l'uscita di una persona quando l'adito è gestito da una coppia di fotocellule distanti tra di loro di 1 cm?

F1(ext) <- PC3 F2(int) <- PC1

a)

in=PINC;

... (in&(1<<PC3)&&!(inp&(1<<PC3)))&&(in&(1<<PC1))...

inp=in;

b)

in=PINC;

... in&(1<<PC3)&&!(inp&(1<<PC1))...

inp=in;

c)

in=PINC;

... !(in&(1<<PC3))&&(inp&(1<<PC1))...

inp=in;

d)

in=PINC;

... (in&(1<<PC1)&&!(inp&(1<<PC1)))&&(in&(1<<PC3))...

inp=in;

9.

Quale è il listato corretto per gestire uno START e uno STOP ?

a)

while(1)

{


}

b)

while(1)

{

do

{


}while(...);

while(1)

{


}

}

c)

while(1)

{

do

{


}while(...);

}

d)

for(i=0;;i++)

{


}

10.

Quale è il listato corretto per gestire uno START e uno STOP ?

a)

while(1)

{


}

b)

while(1)

{

do

{

}while(...);

while(0)

{


}

}

c)

while(1)

{

do

{


}while(1);

while(1)

{


}

}

d)

while(1)

{

do

{


}while(...);

for(i=0;;i++)

{


}

}

11.

Quale è il listato corretto per uscire da un loop

infinito se il pin PD3 è uguale a 0 senza uscire dal programma?

a)

in=PIND;

if(in&(1<<PD3)) break;

b)

in=PIND;

if(!(in&(1<<PD3))) break;

c)

in=PIND;

if(!(in&(1<<PD3))) stop;

d)

in=PIND;

if(in&(1<<PD3)) return 0;

12.

Dato il seguente diagramma di flusso il listato corretto sarà?

a)

DDRB|=0x10;

[...]

while(1)

{

in=PINB;

out=PINB;

if((!(in&(1<<PB3)))&&(in&(1<<PB5))) out^=PB4;

PORTB=out;

}

b)

DDRB|=(1<<PB5) | (1<<PB4) | (1<<PB3);

[...]

while(1)

{

in=PINB;

out=PINB;

if((in&(1<<PB3))&&(!(in&(1<<PB5)))) out^=PB4;

PORTB=out;

}

c)

DDRB|=(1<<PB5) | (1<<PB4) | (1<<PB3);

[...]

while(1)

{

in=PINB;

if((in&(1<<PB3))&&(!(in&(1<<PB5)))) in^=PB4;

PORTB=in;

}

d)

DDRB|=0x10;

[...]

while(1)

{

in=PINB;

out=PINB;

if(!(in&(1<<PB3)))

else if (in&(1<<PB5)) out^=PB4;

PORTB=out;

}

13.

Le seguenti istruzioni:

out=PIND;

out^=(1<<PD2);

PORTD=out;

a)

Invertono il livello logico del pin PD2

b)

Condizionano a 1 il pin PD2

c)

Condizionano a 0 il pin PD2

d)

Controllano se il pin PD2 è a 1;