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:timer [2010/01/13 11:41] mikk.leiniet:exercises:timer [2020/07/20 09:00] (current) – external edit 127.0.0.1
Line 1: Line 1:
 +<pagebreak>
 ====== Harjutusülesanded ====== ====== Harjutusülesanded ======
  
Line 7: Line 8:
 ===== Soojendusülesanne ===== ===== Soojendusülesanne =====
  
-  * Panna punane LED vilkuma 10-sekundilise perioodiga (poolperiood 5 s). Teostamiseks luua tarkvaralise viite funktsioon mille parameetriks on sekundite arv.+  * Panna punane LED vilkuma 10-sekundilise perioodiga (poolperiood 5 s). Teostamiseks luua tarkvaralise viite funktsioonmille parameetriks on sekundite arv.
  
 ===== Algajale ===== ===== Algajale =====
  
-  - LCD ekraanil kuvada aega 100 ms täpsusega mis kulub suvaliste nuppude allavajutamiste vahel. Aja mõõtmise teostus vabal valikul+  - LCD ekraanil kuvada aega 100 ms täpsusegamis kulub suvalise kahe nupu allavajutamiste vahel. Aja mõõtmise teostuse võib vabalt valida
-  - Vajutades nuppu S1 kõigi kolme LED-i vilkumine aeglustub 1 Hz võrra, vajutades nuppu S3 vilkumine sageneb 1 Hz võrra ja vajutades nuppu S2 määratakse vilkumise sageduseks 1 Hz. Kasutada viitefunktsioone või katkestusi. (Katkestused on keerukamad kuid viitefunktsioonidega tekib nuppude filtreerimisfunktsiooni tõttu lisaviide)+  - Vajutades nuppu S1, aeglustub kõigi kolme LED-i vilkumine 2 korda, vajutades nuppu S3sageneb vilkumine 2 korda, ja vajutades nuppu S2määratakse vilkumise sageduseks 1 Hz. Kasutada viitefunktsioone või katkestusi. (Katkestused on keerukamadkuid viitefunktsioonidega tekib nuppude filtreerimisfunktsiooni tõttu lisaviide.) 
-  - 7-segmendilisel LED indikaatoril kuvada nupu S1 vajutamise sagedust hertsides. Sageduse näit tuleb piirata madalamalt nulli ja kõrgemalt üheksaga. +  - 7-segmendilisel LED indikaatoril kuvada nupu S1 vajutamise sagedus hertsides. Sageduse näit tuleb piirata madalamalt nulli ja kõrgemalt üheksaga
-  - Näidata LCD ekraanil kellaaega kujul hh:mm:ss. Kasutada tuleb riistavaralist taimerit koos katkestustega ja kellaaeg peab nuppudega seadistatav olema. Soovitatav on kasutada 3 nuppu, millest S1 suurendab roteeruvalt tunde, S2 minuteid ja S3 sekundeid.+  - Nupule S1 vajutades loendab programm sekundeid 60-st nullini ja süütab seejärel punase LED-i. Nupule S2 vajutades on ajaks 30 sekundit, misjärel süüdatakse kollane LED. Nupp S3 aeg on 10 sekundit ja süüdatav LED on roheline. Kõik protsessid peavad toimima paralleelselt. LED-id kustuvad, kui vajutada vastavaid nuppe
 +  - Näidata LCD ekraanil kellaaega kujul "hh:mm:ss". Kasutada tuleb riistvaralist taimerit koos katkestustega ja kellaaeg peab nuppudega seadistatav olema. Soovitatav on kasutada 3 nuppu, millest S1 suurendab roteeruvalt tunde, S2 minuteid ja S3 sekundeid.
  
 ===== Edasijõudnule ===== ===== Edasijõudnule =====
  
   - Teha stopper, mis LCD ekraanil kuvab tunde, minuteid, sekundeid ja millisekundeid. Nupp S1 alustab mõõtmist, S2 peatab mõõtmise ja S3 nullib aja. Kasutada tuleb taimeri katkestust.   - Teha stopper, mis LCD ekraanil kuvab tunde, minuteid, sekundeid ja millisekundeid. Nupp S1 alustab mõõtmist, S2 peatab mõõtmise ja S3 nullib aja. Kasutada tuleb taimeri katkestust.
-  - 2-sekundilise vahega süttib ja kustub sujuvalt järjest punane, kollane ja roheline LED. Sujuv valgustus saadakse LED-i mitmesaja hertsise sagedusega moduleerides (seda ülikiiresti süüdates ja kustutades) ja põlemise/kustumise aja proportsioone muutes, mismõttu silmale paistab, et LED-i heledus muutub (tegu on pulsilaiusmodulatsiooniga). +  - 2-sekundilise vahega süttib ja kustub sujuvalt järjest punane, kollane ja roheline LED. Sujuv valgustus saadakse LED-i mitmesajahertsise sagedusega moduleerides (seda ülikiiresti süüdates ja kustutades) ja põlemise/kustumise aja proportsioone muutes, mistõttu silmale paistab, et LED-i heledus muutub (tegu on pulsilaiusmodulatsiooniga). 
-  - Tekitada C keelde programmilõik mis tekitab 14.7456 MHz taktsagedusel 10 μs ± 10 % viite. Viite toime tõestada teoreetiliselt - kompileeritud programmi .lss failis olevaid assembler keele instruktsioone kommenteerides.+
  
 ===== Kordamisküsimused ===== ===== Kordamisküsimused =====
  
-  - Millised meetodid on viite tekitamiseks ?+  - Millised meetodid on viite tekitamiseks?
   - Kuidas tekitada tarkvaraline viide? Millistest parameetritest tarkvaralise viite kestus sõltub?   - Kuidas tekitada tarkvaraline viide? Millistest parameetritest tarkvaralise viite kestus sõltub?
-  - Miks on riistvaraline viide parem kui tarkvaraline ja vastupidi?+  - Mis sunnib kasutama riistvaralist taimerit koos katkestusega? 
 +  - Arvutage 8-bitise taimeri ületäitumise katkestuse periood, kui taktsagedus on 16 MHz ja sagedusjaguri tegur 1024. 
 +  - Mis asi on arvutites peituv "RTC"? 
 +  - Mis juhtub 19. jaanuaril 2038 arvutite maailmas? 
 +  - Mida saab AVR taimeritega veel teha peale aja loendamise? 
 +  - Milline on suurim katkestuste ajaline täpsus millisekundites, mida on võimalik saavutada ATmega128A1U mikrokontrolleriga, mis töötab 32MHz 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äpsustSelgitage oma vastust.
et/exercises/timer.1263382872.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