Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
et:exercises:ui [2014/10/08 10:32] raivo.sellet:exercises:ui [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
-~~PB~~+<pagebreak>
 ====== Harjutusülesanded ====== ====== Harjutusülesanded ======
  
Line 6: Line 6:
 ===== Soojendusülesanne ===== ===== Soojendusülesanne =====
  
-  * Süütab nupu S1 vajutamisel ühe LED-i, S2 vajutamisel kaks LED-iS3 vajutamisel kolm LED-i./*(Lahendus: {{:software:solutions:l1_0_v5.hex|ver5}})*/+  * Nupu S1 vajutamisel süüdatakse üks LED, S2 vajutamisel kaks LED-i ja S3 vajutamisel kolm LED-i.
  
 ===== Algajale ===== ===== Algajale =====
  
-  - Imiteerib ülekäiguraja autode valgusfoori tööd. Kuni pole vajutatud ühelegi nupule, põleb autodele roheline LED. Pärast suvalisele nupule vajutamist hakkab roheline kolmeks sekundiks vilkuma, seejärel süttib kolmeks sekundiks kollane ning kümneks sekundiks punane ja lõpuks jääb uuesti pidevalt põlema roheline LED, kuni toimub uus nupule vajutus. /*(Lahendus: {{:software:solutions:l1_1_v5.hex|ver5}})*/ +  - Imiteeritakse klassikalise autode valgusfoori tööd. 
-  Loendab nupuvajutusi. Vajutus loetakse lõppenuks alles siis, kui nupp vabastatakse. Tulemus kuvatakse kahendkoodis LED-idel. Maksimaalne tulemus kolmel LED-il on 2<sup>3</sup>-1. Roheline LED tähistab 1. bitti, kollane 2. bitti, punane 3. bitti. (Lahendus: {{:software:solutions:l1_2_v5.hex|ver5}}) +  - Imiteeritakse ülekäiguraja autode valgusfoori tööd. Kuni pole vajutatud ühelegi nupule, põleb autodele roheline LED. Pärast nupule (S1) vajutamist hakkab roheline LED kolmeks sekundiks vilkuma, seejärel süttib kolmeks sekundiks kollane ning kümneks sekundiks punane ja lõpuks jääb uuesti pidevalt põlema roheline LED, kuni toimub uus nupule vajutus. Ajal mil põleb punane tuli, näidatakse jalakäijale aega 7-segmendisel numbernäidikul, kui kaua on veel aega (sekunditesrohelise lubava tule süttimiseni
-  - Vajutades nupule S1, süttib korraga LED1 ja LED3, vajutades nupule S2, süttib LED2, vajutades nupule S3, kustuvad kõik LED-idOperatsioonid tuleb teostada otse vastavate registrite väärtusi muutes (ilma Kodulabori teegita). (Lahendus: {{:software:solutions:l1_3_v5.hex|ver5}}) +  - Loendatakse nupuvajutusi. Tulemus kuvatakse LED-i vilkumistega. Pärast igat nupule vajutamist suureneb vilgutamiste arv ühe võrra. Valida võib suvalise nupu. LED-i vilgutamiseks kasutada alamfunktsiooni, mille parameetriks on vilkumiste arv. 
-  - Loendab nupuvajutusi. Tulemus kuvatakse LED-i vilkumistega. Pärast igat nupule vajutamist suureneb vilgutamiste arv ühe võrra. Valida võib suvalise nupu. LED-i vilgutamiseks kasutada alamfunktsiooni, mille parameetriks on vilkumiste arv.(Lahendus: {{:software:solutions:l1_4_v5.hex|ver5}}) +  - Suvalises järjekorras esitatakse 7-segmendilisel indikaatoril kuueteistkümnendsüsteemi arve sagedusega 1 Hz.  
-  - Vajutades nupule S1, vilgutab punane LED morsekoodis "SOS", vajutades nupule S2vilgutab kollane LED "CQD" javajutades nupule S3vilgutab roheline LED "OK".(Lahendus: {{:software:solutions:l1_5_v5.hex|ver5}})+  - Vajutades nuppu S1, aeglustub kõigi kolme LED-i vilkumine 2 korda, vajutades nuppu S3, sageneb vilkumine 2 korda, ja vajutades nuppu S2määratakse vilkumise sageduseks 1 HzÜlesanne tuleb lahendada katkestuste abil (mitte tarkvaralise viitega). 
 +  - Luuakse kolm lihtsat muusikalugu, mis mängitakse ette nupule vajutamise järel. Edasijõudnud võivad teha nii, et lugu saab vahetada (nupule vajutuselka poole loo pealt. 
  
 ===== Edasijõudnule ===== ===== Edasijõudnule =====
  
-  - Igale nupule kolmest vastab üks LED, mis süttib nuppu all hoides. Süütamiseks või kustutamiseks tuleb kasutada registreid ja teha võib seda ainult ühe omistamistehtega (vihje: kasutada bitinihutust). 
   - Vajutades nuppe järjekorras S3 – S2 - S1, süttib roheline LED. Kõigi teiste kombinatsioonide korral süttib punane LED. Iga nupuvajutuse korral vilgatab kollane LED, mis kinnitab nupule vajutust.   - Vajutades nuppe järjekorras S3 – S2 - S1, süttib roheline LED. Kõigi teiste kombinatsioonide korral süttib punane LED. Iga nupuvajutuse korral vilgatab kollane LED, mis kinnitab nupule vajutust.
   - Igale LED-ile vastab üks nupp. Kontroller vilgutab LED-e suvaliselt ja kasutaja peab nuppe vajutades sama jada kordama. Vilkumiste jada läheb iga korraga järjest pikemaks, lisades eelnevale jadale uue suvalise LED-i. Pärast iga kasutaja sisestuskorda kontrollitakse, kas sisestus oli õige. Sisestuste vahe on kaks sekundit. Vale sisestuse korral vilgutatakse kõiki tulesid korraga kolm korda. (Mängija õigete sisestuste arvu võib kuvada LCD ekraanil.)    - Igale LED-ile vastab üks nupp. Kontroller vilgutab LED-e suvaliselt ja kasutaja peab nuppe vajutades sama jada kordama. Vilkumiste jada läheb iga korraga järjest pikemaks, lisades eelnevale jadale uue suvalise LED-i. Pärast iga kasutaja sisestuskorda kontrollitakse, kas sisestus oli õige. Sisestuste vahe on kaks sekundit. Vale sisestuse korral vilgutatakse kõiki tulesid korraga kolm korda. (Mängija õigete sisestuste arvu võib kuvada LCD ekraanil.) 
-  - Programm mõõdab reaktsiooniaegaSuvalise LED-i süttides peab kasutaja võimalikult kiiresti vajutama nuppu LED-i allAegmil LED süttib, on juhuslik, kuid vähemalt 100 msReaktsiooniaega näidatakse kasutajale millisekundites LCD ekraanil. Nuppude väärtust ei tohi lugeda kontaktide põrkumist filtreeriva funktsioonigasest see tekitab lisaviite.+  - 7-segmendilisel indikaatoril pannakse 500 ms perioodiga ringiratast kordamööda põlema välised 6 segmenti. 
 +  Graafilisel LCD-l näidatakse sümbolit "X", mida saab nuppudega liigutadaNupp S1 liigutab vasakuleS3 paremale ja S2 vahetab rida. 
 +  - Lihtne ussimäng graafilisel LCD ekraanil. Ussi laius on 1 pikselpikkus 5 pikslit. Ussi saab nuppudega vasakule või paremale pöörama panna. Uss peab suutma vältida kokkupõrget ekraani servaga (enne seda ära keerama). Boonuspunktid munade korjamise võimaluse ja järjest pikeneva ussi eest. Ülesande lihtsam lahendus on uss teha "O" tähtedest.
  
-~~PB~~+<pagebreak>
  
 ===== Kordamisküsimused ===== ===== Kordamisküsimused =====
Line 36: Line 39:
   - Mida tähendab termin bitinihutus? Tooge praktiline näide koos seletusega.   - Mida tähendab termin bitinihutus? Tooge praktiline näide koos seletusega.
   - Miks kasutatakse lülitite juures //pull-up// takistit? Mille järgi määratakse selle takistus?   - Miks kasutatakse lülitite juures //pull-up// takistit? Mille järgi määratakse selle takistus?
-  - Arvutage LED voolu piirava takisti väärtus, kui toitepinge on 5 V, LED päripinge 2,7 V ja vool 30 mA.+  - Arvutage LED-i voolu piirava takisti väärtus, kui toitepinge on 5 V, LED-i päripinge 2,7 V ja vool 30 mA
 +  - Mitu viiku kasutab 7-segmendiline numbernäidik (koos punktisegmendiga), kui see on ühendatud mikrokontrolleriga otse? Mitu viiku on vaja, kui numbernäidikut juhitakse läbi  nihkeregistri 74HC595? 
 +  - Mis määrab 7-segmendilise numbernäidiku heleduse? Kuidas seda reguleerida, kui numbernäidikut juhitakse otse ja läbi nihkeregistri 74HC595? 
 +  - Kuidas teisendada kümnendsüsteemi arvu kahendsüsteemi arvuks (tekstikujul) ja vastupidi? 
 +  - Mille poolest erineb monokromaatiline (must-valge) ja värviline LCD ekraan? 
 +  - Kuidas tekitada tarkvaraline viide? Millistest parameetritest tarkvaralise viite kestus sõltub? 
 +  - Mis sunnib kasutama riistvaralist taimerit koos katkestusega? 
 +  - Arvutage 8-bitise taimeri ületäitumise katkestuse periood, kui taktsagedus on 16 MHz ja sagedusjaguri tegur 1024. 
 +  - Mida saab AVR taimeritega veel teha peale aja loendamise? 
 +  - Milline on suurim katkestuste ajaline täpsus millisekundites, mida on võimalik saavutada ATxmega128A1U mikrokontrolleriga, mis töötab 32 MHz taktsagedusel? Näidake arvutusvalem. 
 +  - Kui protsessor on tugevalt koormatud programmi täitmisega (näiteks juhib mitut mootorit ja kontrollib pidevalt paljude andurite väärtusi), siis kas see mõjutab taimeri aja mõõtmise täpsust? Selgitage oma vastust.
et/exercises/ui.1412764354.txt.gz · Last modified: 2020/07/20 09:00 (external edit)
CC Attribution-Share Alike 4.0 International
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0