Vaje - Mikroračunalniki, RI VS/2
New Page 1
Gradivo za vaje
Tehnična dokumentacija za PIC (pdf, 4013kb)
Dokumentacija za temperaturni senzor KTY:
1. (a) (pdf, 146kb),
2. (b) (pdf, 183kb),
3. (c) (pdf, 82kb)
Splošna navodila
Za pridobitev podpisa in za pozitivno oceno je potrebno
uspešno opraviti prve štiri naloge. Naloge so ovrednotene s točkami. Vsaka točka
pomeni eno oceno, vendar le v primeru, če je naloga popolnoma opravljena.
Besedila vaj
-
Tipke in lučke (1 točka)
Na PIC priključite 8 svetlečih diod in dve tipki.
Diode naj svetijo v skladu z nekim binarnim številom.
Vsakokrat ko pritisnemo prvo tipko naj se binarna
kombinacija poveča za ena, vsakokrat ko pritisnemo
drugo tipko pa naj se za ena zmanjša. Program naj
ne bo odvisen od tega kako dolgo držimo posamezno
tipko.
Serijski vmesnik (1 točka)
Izdelajte program, ki bo omogočal sprejem in oddajo
znakov po standardu za serijski vmesnik (RS232). Program
naj čaka na poslani znak iz PC-ja in ga ponovno pošlje
nazaj pri čemer male črke spremeni v velike in velike
v male. Za parametre prenosa uporabite: 8 bitni podatki,
brez paritete ter hitrost prenosa 19200 bitov/sekundo.
Analogno/digitalni pretvornik (1 točka)
Izdelajte program, ki bo omogočal sprotno merjenje
analogne napetosti in njen prikaz po principu "VU
metra".
Velikost vhodnega signala je v razponu od 0 do 5V. Glede na nivo napetosti
se prižge ustrezno število lučk.
Tipkovnica in 7 segmentni LED prikazovalnik (2 točki)
Izdelajte program s katerim boste povezali enostavno
tipkovnico in 7 segmentni LED prikazovalnik. Program
naj v zanki zazna katera tipka na tipkovnici je pritisnjena,
jo dekodira in prikaže na LED prikazovalniku.
Upošteva naj tipke s številkami in tipko "C", ki prikazovalnik zbriše.
Senzorji (1 točka)
Izdelajte program, ki bo s pomočjo senzorjev štel
število oseb v nekem prostoru. Prostor ima ločen vhod
in izhod. Na vsakem od njiju je nameščen senzor, ki
zazna prehod osebe. Program naj spremlja število trenutno
prisotnih oseb v prostoru in trenutno stanje izpisuje
preko serijskega vmesnika.
Število oseb v prostoru je lahko večje od 10 a manjše od 100.
Generator signalov (1 točka)
Izdelajte program, ki bo omogočil generiranje različnih
periodičnih analognih signalov (sinus, trikotnik,
pravokotni signal, ...). Program naj preko tipk ali
serijskega vmesnika sprejema navodila za obliko in
frekvenco signala (vsaj dve frekvenci) in ga nato producira s pomočjo digitalno/analognega
pretvornika.
Merilnik temperature (1 točka)
Izdelajte program, ki bo omogočil merjenje temperature
v prostoru. Na analogno/digitalni pretvornik je priključen
temperaturni senzor, ki glede na temperaturo generira
ustrezno napetost. Program naj periodično (vsako sekundo)
odčita trenutno temperaturo in jo izpiše preko serijske
zanke na zaslon.
Temperaturo izpisujte na eno decimalko natančno.
Obdelava signalov (1 točka)
Izdelajte program, ki bo omogočil enostavno obdelavo
analognih signalov. Program naj sprejema vrednost
vhodnega signala iz A/D pretvornika, jih obdela (npr. ojača, oslabi, limitira
ipd.) in
pošilja naprej D/A pretvorniku. Vrsto obdelave signalov izbirajte preko tipk.
LCD prikazovalnik (2 točki)
Izdelajte program, ki bo preko serijske zanke sprejemal
znake in jih prikazoval na LCD prikazovalniku. Komunikacija s prikazovalnikom
poteka preko standardnega protokola za LCD prikazovalnike. Upoštevani
naj bodo tudi posebni znaki kot so npr. brisanje zaslona,
pomik kazalca na začetek vrstice ipd.
Risalnik (2 točki - dva študenta)
Izdelajte program, ki bo omočil krmiljenje preprostega risalnika. Risalnik je
izdelan iz starega igličnega tiskalnika, ki ima namesto tiskalniške glave
risalno pero. Pomik valja, pomik glave ter spuščanje in dviganje peresa krmilijo
trije koračni motorji. Izdelajte program kjer boste lahko preko tipk upravljali
z izpisom. Izdelajte posebne rutine, ki bodo omogočile izris kvadrata, kroga
ipd.
Semaforji (2 točki)
Izdelajte program, ki bo simuliral delovanje semaforjev
na Glavnem trgu. Preučite delovanje semaforjev in zaporedje preklopa luči.
Preverite kako se upoštevajo gumbi za pešce. Predvidite tudi možnost za preklop
na nočni režim (rumene utripajoče luči).
Štoparica (2 točki)
Izdelajte program za štoparico. Štoparica naj ima
gumb(e) za začetek in konec štetja in gumb za vmesni
čas. Vsakokrat, ko se pritisne gumb za vmesni čas,
oz. ko se merjenje ustavi, se trenutni čas preko serijskega
vmesnika prenese na PC.
Program izdelajte tako, da izmerjeni čas ne bo odvisen od časa potrebnega za
izpis oz. od časa kako dolgo držimo posamezno tipko.
Robot (3 točke)
Preučite možnosti priključitve robota (FisherTechnik)
na PIC in izdelajte testni program s katerim boste
preverili delovanje vmesnika. Robot ima dve pogonski kolesi na zadnji osi in
mehanizem za obračanje koles na sprednjih kolesih. Trenutni položaj koles lahko
odčitamo s pomočjo potenciometra, ki generira ustrezno analogno napetost. Na
robota sta priključena tudi dva bližinska senzorja, ki naj bi preprečila trke.
PC tipkovnica (3 točke)
Preučite možnosti priključitve tipkovnice na PIC in
izdelajte testni program s katerim boste znake odtipkane
na tipkovnici pošiljali preko serijskega vmesnika na
terminal.
Tipkovnica uporablja prirejen serijski vmesnik. Vsaka tipka generira neko kodo,
ki jo je potrebno preslikati v ustrezno ASCII vrednost. Določene tipke lahko
generirajo tudi več zaporednih kod.
Miška (3 točke)
Preučite možnosti priključitve miške na PIC. Izdelajte
testni program s katerim boste spremembe pri premiku
miške vizualno predstavili na terminalu s pomikanjem kurzorja,
s pritiskom na miškin gumb pa naj se izpiše nek znak.
Za postavitev kurzorja uporabite ubežne sekvence za terminal
po standardu VT100.
Igralna palica (3 točke)
Preučite možnosti priključitve igralne palice na PIC. Izdelajte testni program s
katerim boste spremembe pri premiku položaja igralne palice vizualno predstavili
na terminalu s pomikanjem kurzorja,
s pritiskom na gumb pa naj se izpiše nek znak.
Za postavitev kurzorja uporabite ubežne sekvence za terminal
po standardu VT100.
Kalkulator (3 točke)
Preučite možnosti priključitve izvedbe kompleksnejših računskih operacij s pomočjo PIC-a.
Izcejajte knjižnico rutin, ki bodo omogočale izvedbo osnovnih računskih operacij (seštevanje,
odštevanje, množenje in celoštevilčno deljenje) z 8 ali s 16 bitnimi celimi števili. Rutine
preizkusite z enostavnim programom, ki bo opravljal nalogo enostavnega kalkulatorja.
Preko serijskega vmesnika se vnese prvo število, operacija in drugo število. Ob
pritisku na enter pa se nam izpiše ustrezen rezultat.
|