RACUNARSKE PERIFERIJE I INTERFEJSI
I Kolokvijum
25.03.2018.g.
Redni broj testa: 0
OBAVEZNO UNESITE SLJEDECE PODATKE:
Ime:
Prezime:
Broj indeksa:
/
NAPOMENE:
Koriscenje mobilnih telefona nije dozvoljeno.
Na racunaru smiju biti aktivni samo prozor sa testom i Calculator.
Ukoliko birate jedan od ponudjenih odgovora:
- Tacan izbor daje 10%.
- Netacan izbor daje -5% (negativni poeni).
- "Ne znam" daje 0.
Ukoliko unosite broj u edit polje:
- Tacan odgovor daje 10%.
- Netacan odgovor daje 0.
Test se predaje klikom na taster "
PREDAJEM TEST
".
U slucaju da student ne moze da preda test iz bilo kojeg razloga, obavezan je da se odmah javi nastavniku, zatim, da prepise na papir redni broj testa, ime, prezime, broj indeksa i rjesenja zadataka koje je uradio i to preda nastavniku.
TEST
P0. Ako se na racunaru izvrsi instrukcija SetLED(32); :
1.
upalice se sve cetiri LED na maketi,
2.
nece se upaliti ni jedna LED na maketi,
3.
upalice se plava i crvena LED na maketi,
4.
upalice se crvena i zelena LED na maketi,
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P1. Nakon izvrsavanja instrukcija:
x=0;
if(digitalRead(TASTER))x+=1;
if(digitalRead(PREKIDAC))x+=2;
promjenljiva x ima vrijednost 2. To znaci da je...
1.
prekidac otvoren i taster otpusten,
2.
prekidac otvoren i taster pritisnut,
3.
prekidac zatvoren i taster otpusten,
4.
prekidac zatvoren i taster pritisnut,
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P2. Dat je sledeci dio programa:
for(;;) {
x=inport(port) & 12;
if(x==12) {
printf("\n Nizak nivo tecnosti!");
outp(port,0);
}
else if(x==4) {
printf("\n Nivo je u propisanim granicama.");
outp(port,0);
}
else if(x==0) {
printf("\n Visok nivo tecnosti!");
outp(port,0);
}
else if(x==8) {
outp(port, 1); sleep(2);
}
}
Ovaj program obavlja funkciju detektora nivoa sa alarmiranjem neispravnosti pomocu crvene LED. Taster i prekidac predstavljaju senzore nivoa. U ovom resenju uzeto je da senzori ...
1.
daju logicku jedinicu kada je tecnost iznad njih pri cemu taster mjeri donju granicu a prekidac gornju
2.
daju logicku jedinicu kada je tecnost iznad njih pri cemu prekidac mjeri donju granicu a taster gornju
3.
daju logicku nulu kada je tecnost iznad njih pri cemu taster mjeri donju granicu a prekidac gornju
4.
daju logicku nulu kada je tecnost iznad njih pri cemu prekidac mjeri donju granicu a taster gornju
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P3. Ulazni port je spojen na +5V. Citanjem sa tog porta dobice se:
1.
vrijednost 1
2.
napon +5V
3.
vrijednost 0
4.
tezina bita na kome je ulazni port postavljen
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P4. Ako koracni motor ima 64 koraka po krugu, koliko ce ovaj program odraditi krugova?
for(i=0; i<128; i++) {
SetStep(polukorak[i%8]);
delay(CEKANJE);
}
Unijeti tacan odgovor:
P5. Niz instrukcija:
SetStep(4); delay(200); // linija 1
SetStep(12); delay(200); // linija 2
SetStep(8); delay(200); // linija 3
SetStep(9); delay(200); //linija 4
SetStep(1); delay(200); // linija 5
SetStep(3); delay(200); // linija 6
SetStep(2); delay(200); // linija 7
SetStep(6); delay(200); // linija 8
treba da pokrece koracni motor u jednu stranu u polukoracima. Da bi se to ispravno uradilo, treba...
1.
ispraviti liniju 2
2.
ispraviti liniju 6
3.
ispraviti liniju 8
4.
ostaviti program kakav jeste
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P6. Nastavite niz vrijednosti koje se upisuju na izlazni port, kod upravljanja koracnim motorom. 1, 9, ?
Unijeti tacan odgovor:
P7. Dat je dio programa, inkrementalnog davaca sa pracenjem smjera kretanja
switch(staro){
case S0: if(novo==S3) p+=1;
if(novo==S1) p--;
break;
case S1: if(novo==S2) p++;
if(novo==S0) p--;
break;
case S2: if(novo==S1) p++;
if(novo==S3) p--;
break;
case S3: if(novo==S0) p++;
if(novo==S2) p-=1;
break;
}
Da bi program ispravno funkcionisao potrebno je, izmedju ostalog:
1.
umjesto if(novo==S3) p+=1; staviti if(novo==S3) p--;
2.
zamijeniti mjesta case S0 i case S1
3.
zamijeniti mjesta case S0 i case S2
4.
zamijeniti mjesta za if(novo==S3) p+=1; i if(novo==S2) p-=1;
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P8. Dat je program, inkrementalnog davaca sa pracenjem smjera kretanja
y = PINB&40;
staro=novo;
novo= (48+8) & y;
if (novo==staro) return;
switch(staro){
//Analiza pomjeraja
…
}
Da bi program ispravno funkcionisao potrebno je, izmedju ostalog, umjesto:
1.
staro=novo; staviti novo=staro;
2.
novo = (48+8) & y; staviti y = novo & (48+8);
3.
novo= (48+8) & y; staviti novo= y;
4.
y = PINB&40; staviti y = PINB;
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
P9. Jednokanalni inkrementalni davac položaja sluzi za:
1.
detektovanje prekida zice,
2.
upravljanje garaznim vratima,
3.
pracenje polozaja kada imamo jedan smjer kretanja,
4.
pracenje polozaja kada imamo dva smjera kretanja,
5.
Ni jedan ponudjeni odgovor nije tacan
6.
Ne znam odgovor
Zavrsio sam sa radom.