Hej,
mam projekt, w którym na podstawie mikrokontrolera Atmel AVR ATMEGA16L, który jest zamontowany na karcie STK500, mam obliczyć prędkość podłączonego do niego wiatraka komputerowego (wentylatora). Prędkość wiatraka może być sterowana. Pomiar prędkości przeprowadzany jest za pomocą transoptora. Prędkość wiatraka przedstawiona powinna być za pomocą 8 diod (rezultat zaprezentowany jest w postaci binarnej). To tyle tytułem wstępu. Całość jest już stworzona. Jedyny problem jest z prezentacją danych na diodach. Problem jest mianowicie taki, iż wyświetlane są dane, lecz nie te, które są oczekiwane (bynajmniej wg nauczyciela, w sumie ciężko określić z jaką prędkością obraca się wiatrak "na oko"). Problem można naprawić poprzez zmianę kodu bądź schematu połączenia. Niestety, nie mam już możliwości stestowania całości w laboratorium, w którym cały projekt został przeprowadzony, więc pozostaje jedynie kod i schemat połączenia. Jedyny tips jaki otrzymałem, to zapytanie -> które diody zapalą sie w momencie gdy rpm = 1?. Moim zdaniem będzie to dioda nr 0, więc całościowo wynik będzie wyglądać: 00000001 binarnie = 1 rpm
Z rozmowy z nauczycielem wynikało, iż błąd leży w funkcji main. (jeżeli nie chcę zmieniac schematu połączeń)
Poniżej załączam pełny kod i schemat. Będę wdzięczny za wszelką pomoc.

mam projekt, w którym na podstawie mikrokontrolera Atmel AVR ATMEGA16L, który jest zamontowany na karcie STK500, mam obliczyć prędkość podłączonego do niego wiatraka komputerowego (wentylatora). Prędkość wiatraka może być sterowana. Pomiar prędkości przeprowadzany jest za pomocą transoptora. Prędkość wiatraka przedstawiona powinna być za pomocą 8 diod (rezultat zaprezentowany jest w postaci binarnej). To tyle tytułem wstępu. Całość jest już stworzona. Jedyny problem jest z prezentacją danych na diodach. Problem jest mianowicie taki, iż wyświetlane są dane, lecz nie te, które są oczekiwane (bynajmniej wg nauczyciela, w sumie ciężko określić z jaką prędkością obraca się wiatrak "na oko"). Problem można naprawić poprzez zmianę kodu bądź schematu połączenia. Niestety, nie mam już możliwości stestowania całości w laboratorium, w którym cały projekt został przeprowadzony, więc pozostaje jedynie kod i schemat połączenia. Jedyny tips jaki otrzymałem, to zapytanie -> które diody zapalą sie w momencie gdy rpm = 1?. Moim zdaniem będzie to dioda nr 0, więc całościowo wynik będzie wyglądać: 00000001 binarnie = 1 rpm
Z rozmowy z nauczycielem wynikało, iż błąd leży w funkcji main. (jeżeli nie chcę zmieniac schematu połączeń)
Poniżej załączam pełny kod i schemat. Będę wdzięczny za wszelką pomoc.
Kod: C / C++