Witam wszystkich na forum, jestem nowym użytkownikiem i zaczynam zabawę z mikrokontrolerami. Udało mi się już kilka razy zaprogramować prostymi programikami atmega8, jednak nie wiem dlaczego jeden z programów nie działa tak jak powinien.
Zamierzeniem programu jak widać miało być:
1. wciśnięcie przycisku SW1 = zapalenie diody na porcie PB0, świecenie przez 200 ms i wygaśnięcie diody (ustawienie PB0 = 1)
2. wciśnięcie przycisku SW2 = zapalenie diody na porcie PB0, świecenie przez 500 ms i wygaśnięcie diody (ustawienie PB0 = 1)
Niestety po zaprogramowaniu atmegi8 program nie działa prawidłowo, tzn. po 3-krotnym naciśnięciu przycisku reaguje następne 3 razy prawidłowo a później kolejne 3 wciśnięcia nie reaguje, chyba że przytrzymam wciśnięty przycisk przez ok. 1s
Może mi ktoś powiedzieć co jest nie tak?
$regfile = "m8def.dat"
$crystal = 1000000
Config Portb = &B11111111
Portb = &B11111111
Config Portd = &B1111100
Portd = &B11111111
Do
If Pind.0 = 0 Then Portb.0 = 0
Waitms 200
Portb.0 = 1
If Pind.1 = 0 Then Portb.0 = 0
Waitms 500
Portb.0 = 1
Loop
End
Zamierzeniem programu jak widać miało być:
1. wciśnięcie przycisku SW1 = zapalenie diody na porcie PB0, świecenie przez 200 ms i wygaśnięcie diody (ustawienie PB0 = 1)
2. wciśnięcie przycisku SW2 = zapalenie diody na porcie PB0, świecenie przez 500 ms i wygaśnięcie diody (ustawienie PB0 = 1)
Niestety po zaprogramowaniu atmegi8 program nie działa prawidłowo, tzn. po 3-krotnym naciśnięciu przycisku reaguje następne 3 razy prawidłowo a później kolejne 3 wciśnięcia nie reaguje, chyba że przytrzymam wciśnięty przycisk przez ok. 1s
Może mi ktoś powiedzieć co jest nie tak?