Skocz do zawartości

[ Bascom] atmega16


Pomocna odpowiedź

Napisano

Witam skonstruowałem program w założeniu miał działać tak:

wciskam przycisk 1 zaświeca się 1-wsza dioda znowu wciskam gaśnie i jest ok

$regfile = "m16def.dat" 'najpierw określamy typ proca

$crystal = 16000000 'definiujemy z jakim taktowaniem będzie pracował

Config Portb = Input 'port b jako wejścia

Portb = &B11111111 'wszędzie stan spoczynkowy-1

Config Portd = Output 'pprt d jako wyjścia

Portd = &B11111111 'wszędzie stan spoczynkowy-1

Do 'pętla nieskończona

Config Debounce = 10

If Pinb.0 = 0 Then

Waitms 300 'jeżeli przycisk 1 wciśnięty

Toggle Portd.0 'zmień stan wyprowadzenia

End If

Config Debounce = 10

If Pinb.1 = 0 Then

Waitms 300 'jeżeli przycisk 1 wciśnięty

Toggle Portd.1 'zmień stan wyprowadzenia

End If

'koniec bloku warunkowego

Loop 'koniec pętli

Endwciskam przycisk 2 według założenia miała się zaświecić druga dioda,a zaświeca się 2 i 3 co ma wspólnego 3 dioda z programem.

__________

Komentarz dodany przez: Treker

Do umieszczania kodów należy używać tag [ code ] [ /code ]!

1. Chyba nie podciągnąłeś przycisków pull-upami.

2. Możesz ustawić w stan wyjściowy tylko pojedyncze piny dla diody 1 i 2 (a nie cały port), i sprawdzić czy działa.

Tak trochę może z innej beczki, niby masz ustawione 16MHz? w sensie jakiś zewnetrzy/wewnetrzny rezonator czy po prostu tak sobie wpisałeś do kodu źródłowego?

Zakupiłem płytę testową i okazało się że jest uszkodzona dlatego świeciły mi dwa porty naraz 2i3,za niedokładne sprawdzenie tematu przepraszam kolegów.

Bądź aktywny - zaloguj się lub utwórz konto!

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto w ~20 sekund!

Zarejestruj nowe konto, to proste!

Zarejestruj się »

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się »
×
×
  • Utwórz nowe...