NEW
Font size
WorksheetsProgrammazione in C di ATMega328
Total questions: 13
Worksheet time: 26mins
Quale è il listato corretto per verificare
il livello logico di un ingresso sul piedino PC4?
in=PORTC;
in&=(1<<PC4);
in=PINC;
in&=(1<<PC);
in=PINC;
in&=(1<<PC4);
in=PINC;
in|=(1<<PC4);
Quale è il listato corretto per condizionare a 1 l'uscita PC4?
out=PORTC;
out|=(1<<PC4);
PORTC=out;
out=PINC;
out&=(1<<PC);
PORTC=out;
out=PINC;
out&=(1<<PC4);
PORTC=out;
out=PINC;
out|=(1<<PC4);
PORTC=out;
Quale è il listato corretto per condizionare a 1 l'uscita PC4?
out=PINC;
out|=(1<<4);
PORTC=out;
out=PINC;
out&=0x10;
PORTC=out;
out=PINC;
out|=(1<<16);
PORTC=out;
out=PINC;
out|=~16;
PORTC=out;
Quale è il listato corretto per condizionare a 0 l'uscita PC4?
out=PINC;
out&=4;
PORTC=out;
out=PINC;
out&=~0x10;
PORTC=out;
out=PINC;
out|=16;
PORTC=out;
out=PINC;
out|=~16;
PORTC=out;
Quale è il listato corretto per condizionare a 0 contemporaneamente l'uscita PC4 e PC2?
out=PC2;
out|=PC4;
out|=(1<<4) | (1<<2);
PORTC=out;
out=PINC;
out&=~(1<<PC4)&~4;
PORTC=out;
out=PC2;
out|=PC4;
out&=~(1<<4) &~(1<<2);
PORTC=out;
out=PINC;
out|=~(1<<PC4) | ~(1<<PC2);
PORTC=out;
Quale è il listato corretto per leggere un Fronte di discesa sul pin PC0?
in=PINC;
... in&(1<<PC0)&&!(inp&(1<<PC0))...
inp=in;
in=PINC;
... in&(1<<PC0)&&!(inp&(1<<PC1))...
inp=in;
in=PINC;
... !(in&(1<<PC0))&&(inp&(1<<PC1))...
inp=in;
in=PINC;
... !(in&(1<<PC0))&&(inp&(1<<PC0))...
inp=in;
Quale è il listato corretto per leggere un Fronte di salita sul pin PC0?
in=PINC;
... in&(1<<PC0)&&!(inp&(1<<PC0))...
inp=in;
in=PINC;
... in&(1<<PC0)&&!(inp&(1<<PC1))...
inp=in;
in=PINC;
... !(in&(1<<PC0))&&(inp&(1<<PC1))...
inp=in;
in=PINC;
... !(in&(1<<PC0))&&(inp&(1<<PC0))...
inp=in;
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
in=PINC;
... (in&(1<<PC3)&&!(inp&(1<<PC3)))&&(in&(1<<PC1))...
inp=in;
in=PINC;
... in&(1<<PC3)&&!(inp&(1<<PC1))...
inp=in;
in=PINC;
... !(in&(1<<PC3))&&(inp&(1<<PC1))...
inp=in;
in=PINC;
... (in&(1<<PC1)&&!(inp&(1<<PC1)))&&(in&(1<<PC3))...
inp=in;
Quale è il listato corretto per gestire uno START e uno STOP ?
while(1)
{
}
while(1)
{
do
{
}while(...);
while(1)
{
}
}
while(1)
{
do
{
}while(...);
}
for(i=0;;i++)
{
}
Quale è il listato corretto per gestire uno START e uno STOP ?
while(1)
{
}
while(1)
{
do
{
}while(...);
while(0)
{
}
}
while(1)
{
do
{
}while(1);
while(1)
{
}
}
while(1)
{
do
{
}while(...);
for(i=0;;i++)
{
}
}
Quale è il listato corretto per uscire da un loop
infinito se il pin PD3 è uguale a 0 senza uscire dal programma?
in=PIND;
if(in&(1<<PD3)) break;
in=PIND;
if(!(in&(1<<PD3))) break;
in=PIND;
if(!(in&(1<<PD3))) stop;
in=PIND;
if(in&(1<<PD3)) return 0;
Dato il seguente diagramma di flusso il listato corretto sarà?
DDRB|=0x10;
[...]
while(1)
{
in=PINB;
out=PINB;
if((!(in&(1<<PB3)))&&(in&(1<<PB5))) out^=PB4;
PORTB=out;
}
DDRB|=(1<<PB5) | (1<<PB4) | (1<<PB3);
[...]
while(1)
{
in=PINB;
out=PINB;
if((in&(1<<PB3))&&(!(in&(1<<PB5)))) out^=PB4;
PORTB=out;
}
DDRB|=(1<<PB5) | (1<<PB4) | (1<<PB3);
[...]
while(1)
{
in=PINB;
if((in&(1<<PB3))&&(!(in&(1<<PB5)))) in^=PB4;
PORTB=in;
}
DDRB|=0x10;
[...]
while(1)
{
in=PINB;
out=PINB;
if(!(in&(1<<PB3)))
else if (in&(1<<PB5)) out^=PB4;
PORTB=out;
}
Le seguenti istruzioni:
out=PIND;
out^=(1<<PD2);
PORTD=out;
Invertono il livello logico del pin PD2
Condizionano a 1 il pin PD2
Condizionano a 0 il pin PD2
Controllano se il pin PD2 è a 1;
