Pozdrav. Mi smo grupa studenata elektrotehnike iz Tuzle. Dobili smo zadatak da napravimo program za ATmega16, ali s obzirom na veoma skromno predznanje i loše predavanje profesora vezano za mikrokontrolere imamo velikih problema prilikom programiranja tj. nemamo gotovo nikakve ideje.. Ovim putem molimo bilo koga ukoliko zna i ima volje da napise bilo kakvu verziju koda tj. njegovo vidjenje riješenja ovog problema.
Unaprijed zahvalni!
Zadatak:
Napraviti C program za ATmega16 koji svake 3 sekunde upali led diodu 3 (četvrta po redu, tj. pin 0C0) na portu B i drži je upaljenu od 0 do 3 sekunde što se može programirati pritiskom na prekidač 0 povezanog sa pinom 0 porta D. Ako se prekidač drži pritisnut od 0 do 5 sekundi upaljenost led diode se mijenja od 0 do 3 sec. Pritiskom na prekidač 1 se smanjuje trajanje upaljenosti led diode 3 po istom pravilu kao za prekidač 0. Broj paljenja led dioda prikazati kao BCD broj na led diodama 4,5,6,7. Kada se na ovim diodama dostigne broj 9 počinje se prikazivati ponovo ispočetka od nule. Problem riješiti korištenjem hardware-skog (i software-skog) tajmera/brojača i korištenjem interapta. Koristeći serijsku RS232 komunikaciju omogućiti upravljanje sklopom i prikaz broja paljenja LED diode (kao decimalni broj) pomoću Hyper Terminala programa.