RACUNARSKE PERIFERIJE I INTERFEJSI
I Kolokvijum
25.03.2018.g.




Redni broj testa: 1



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. Ako je prekidac na maketi otvoren, a taster otpusten, nakon izvršenja instrukcija

x=0;
if(digitalRead(TASTER))x+=1;
if(digitalRead(PREKIDAC))x+=2;

promenljiva x imace vrijednost...

Unijeti tacan odgovor:

P2. Dat je sledeci dio programa:
   while ((PINC & 16) == 0) ;
   for(;;)   {
      SetLED(1); sleep(2);
      SetLED(2); sleep(3);
      SetLED(4); sleep(4);
   }
}
Ovaj program obavlja funkciju semafora, koji pocinje da radi kada se ...

1.pritisne taster
2.otpusti taster
3.zatvori prekidac
4.otvori prekidac
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P3. Maskiranje se koristi:

1.radi postavljanja portova na zeljenu vrijednost,
2.radi postavljanja bitova na tacnu vrijednost,
3.da se neinteresantni bitovi postave na nulu,
4.da se propuste samo bitovi logicke jedinice,
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P4. Ako koracni motor ima 32 koraka po krugu, koliko ce ovaj program odraditi krugova?
for(i=0; i<256; i++) {
SetStep(polukorak[i%8]);
delay(CEKANJE);
}

Unijeti tacan odgovor:

P5. Donji program okrece koracni motor u jednom smjeru za 20 koraka.
int korak[4]={*,*,*,*}; // zvjezdicama su sakrivene brojne vrijednosti
         for(i=0; i<20; i++){
            SetStep(korak[i%????????]);
            delay(CEKANJE);
         }
Da bi ispravno radio umjesto ???????? treba da stoji...

Unijeti tacan odgovor:

P6. Nastavite niz vrijednosti koje se upisuju na izlazni port, kod upravljanja koracnim motorom. 8, 9, ?

Unijeti tacan odgovor:

P7. Dat je dio programa, inkrementalnog davaca sa pracenjem smjera kretanja
switch(staro){
case S0: if(novo==S1) p++;
if(novo==S3) p--;
break;
case S1: if(novo==S0) p++
if(novo==S2) p--;
break;
case S2: if(novo==S3) p++;
if(novo==S1) p--;
break;
case S3: if(novo==S2) p++;
if(novo==S0) p--;
break;
}
Da bi program ispravno funkcionisao potrebno je, izmedju ostalog:

1.zamijeniti mjesta case S0 i case S3
2.zamijeniti mjesta case S0 i case S1
3.zamijeniti mjesta case S2 i case S1
4.zamijeniti mjesta case S3 i case S1
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P8. Dat je program, inkrementalnog davaca sa pracenjem smjera kretanja
y = PINB&48;
staro=novo;
novo=y&40;
if (novo==staro) return;
switch(staro){
   //Analiza pomjeraja
   …
}
Da bi program ispravno funkcionisao potrebno je, izmedju ostalog, umjesto:

1.novo=y & 40; staviti novo=y & 48;
2.switch(staro) staviti switch(novo)
3.y = PINB&48; staviti y = PINB & 40;
4.if (novo==staro) return; staviti if (novo!=staro)
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


P9. Ako se u 2 uzastopna ocitavanja dvo kanalnog inkrementalog davaca ocitalo 40 pa 0, to znaci:

1.da je sve u redu
2.da je samo jedan fototranzistor osvijetljen
3.da je ucestanost citanja ulaznih portova prevelika
4.da je promjena polozaja prebrza
5.Ni jedan ponudjeni odgovor nije tacan
6.Ne znam odgovor


Zavrsio sam sa radom.