16.4.2010
Sulautetun järjestelmän ohjelmointi, Labyrinttipeli
Kilpailulaitteena toimii Jari Koskisen ja Ville Viitalan suunnittelema ”sokko” labyrinttipeli.
Kilpailulaitteen käyttöliittymä koostuu kahdesta 5x7 pistematriisinäytöstä, neljästä painonapista
ja piezo-summerista. Pelin ideana on löytää reitti alkupisteestä loppupisteeseen ”sokkona”, eli
pelaaja ei näe missä seinät ovat. Pelaaja joutuu ”tunnustelemaan” reittiään edetessään.
Pelaajan törmätessä seinään laite antaa äänimerkin, ilmaisten käyttäjälle ettei tunnusteltuun
suuntaa voida edetä. Jokaisesta seinään osumisesta tulee yksi virhepiste. Pelaajan päästessä
maaliin näyttää peli virhepisteiden määrän ja aloittaa pelin alusta.
Laitteen ohjelmointitehtävä
Tehtävänäsi on tehdä ohjelma kyseiselle kortille. Tehtävä etenee vaiheittain. Saatuasi osion
valmiiksi pyydä tuomaria paikalle, joka tarkastaa laitteen toiminnan osion kohdalta. Älä etene
tehtävissä ennen kuin tuomari antaa siihen luvan. Jos et saa jotain osiota tehtyä, niin voit
pyytää tuomarilta valmista vastausta osioon, mutta menetät kyseisen osion pisteet. Lopuksi
palautat C-kielisen ohjelmakoodi listauksen, johon olet kirjoittanut nimesi ja koulun nimen.
Kortti on valmiiksi asetettu toimimaan sisäisellä kellolla 1 MHz taajuudella. Mikro-ohjaimen
JTAG-liitäntä on myös poistettu käytöstä. Näin ollen sulake-bitteihin (fuse bits) ei tarvitse
koskea.
Jos kilpailija vahingossa ohjelmoi sulake-bitit sellaiseen tilaan, ettei kortti enää ohjelmoidu, saa
hän tuomarilta uuden kortin, mutta häneltä vähennetään tällöin yksi piste.
Vaihe 1a. Kirjallinen tehtäväpaperi (0-1p)
Vastaa erillisellä paperilla olevaan kirjalliseen tehtävään ensin. Saatuasi kirjallisen osion
valmiiksi pyydä tuomari paikalle. Tuomari antaa tämän jälkeen luvan edetä tehtävässä.
ÄLÄ ETENE TEHTÄVÄSSÄ ENNEN KUIN OLET PALAUTTANUT KIRJALLISEN OSION