Table of Contents

 

Harjutusülesanded

Eesmärgiks on koostada programm, mis täidab kirjeldatud ülesannet.

Soojendusülesanne

Algajale

  1. Suvalises järjekorras esitada 7-segmendilisel indikaatoril kuueteistkümnendsüsteemi arve sagedusega 1 Hz.
  2. 7-segmendilisel indikaatoril panna 500 ms perioodiga ringiratast kordamööda põlema välised 6 segmenti.
  3. LCD ekraanile teha programm, mis näitab ASCII koodile vastavat sümbolit. Koodideks on täisarvud 0-255. Igat sümbolit näidata ekraanil 1 sekund.
  4. Graafilisel LCD-l näidata sümbolit “X”, mida saab nuppudega liigutada. S1 nupp liigutab vasakule, S3 paremale ja nupp S2 vahetab rida.
  5. Graafilisel LCD-l kuvada 10-realine tekst, mida saab nuppudega S1 ja S2 üles-alla kerida.
  6. Kolme nupuga teha kasutajaliides teksti sisestamiseks. Näiteks ühe nupuga teha märgi valik, teisega märgi kinnitamine ja kolmandaga teksti lõplik kinnitamine. Teksti maksimaalne pikkus on 10 märki ja tekst tuleb pärast sisestust tagurpidi keerata ning teisel real kuvada. Piirduda võib ladina tähestikuga.

Edasijõudnule

  1. Kirjutada kümnendsüsteemi arvu sisestaja ja kahendkoodi teisendaja. Kasuta nuppe S3 - S1 sisestamaks kümnendsüsteemi arvu (S3 - sajalised, S2 - kümnelised, S1 - ühelised) 10 sekundi jooksul. Näiteks 4 nupuvajutust S3-l tähendab arvu 400. Sisestamise alguse märguanne ja arvu kahendkoodi tulemus kuvada LCD-l.
  2. Kirjutada funktsioon, mis kuvab graafilisel LCD-l ristküliku, kui laius, pikkus ja vasaku ülemise nurga koordinaadid on ette antud. Joone paksus on 1 piksel. Kontrollida, et etteantud ristkülik mahub ekraani mõõtudesse. Soovitatav on uurida Kodulabori teeki.
  3. Teha lihtne ussimäng graafilisel LCD ekraanil. Ussi laius on 1 piksel, pikkus 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.
  4. Kirjuta programm erinevate ilmastikunähtuste kuvamiseks graafilisel LCD-l. Päikesepaisteline ilm - päikese ikoon, vihmane ilm - pilv koos sajuga, pilves ilm - lihtsalt pilv, lumesadu - lumehelves. Ikoonide suurus võib varieeruda, peaasi, et ikoonid on selgesti eristatavad. Ikoone peab nupuvajutusega vahetada saama.

 

Kordamisküsimused

  1. 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?
  2. Mis määrab 7-segmendilise numbernäidiku heleduse? Kuidas seda reguleerida, kui numbernäidikut juhitakse otse ja läbi nihkeregistri 74HC595?
  3. Kui 7-segmendiline numbernäidik on kontrolleriga otse ühendatud porti A nii, et segment A on viik PA0, B on PA1 … ja DP on PA7, siis millised on PORTA registri väärtused numbrite 0..9 korral?
  4. Millise viigu kaudu reguleeritakse LCD taustavalgust ja kuidas?
  5. Mis andmevahetusprotokolli kasutab graafiline LCD? Selgitage andmevahetusviikude tähendusi.
  6. Kuidas teisendada kümnendsüsteemi arvu kahendsüsteemi arvuks (tekstikujule) ja vastupidi?
  7. Joonistage twisted nematic-tehnoloogias valmistatud LCD ekraani koostekihid.
  8. Kuidas moodustatakse graafilisel LCD-l tähed?
  9. Mille poolest erineb monokromaatiline (must-valge) ja värviline LCD ekraan?