Skocz do zawartości

Dioda sygnalizująca włączenie/działanie układu


Pomocna odpowiedź

Napisano

Cześć, mam (jak dla Was) pewnie banalny problem z podłączeniem diody led do ATtiy2313, mianowicie do pinu 2 (PortD.0)

Połączenie tej diody led z kursu bascoma:

https://www.forbot.pl/forum/upload_img/obrazki/IMG_4889012f61d0f2487.jpg

http://twingo.ict.pwr.wroc.pl/~konar/kse/schem_cal.gif

------------------------------------------------------

To tak: jak wziąłem kod z kursu bascoma (migacz) to według schematu działa, a jak zmieniłem schemat, że dioda led jest bezpośrednio katodą podłączona do pinu procesora (pin 2 (PortD.0) i podciągnięta rezystorem do VCC to nie mruga.

AixI.

Tylko jak mi się wydaję portd jest ustawiony jako wyjście (output) i jest użyta komenda Toggle portd.0

Kod programu migacza.

$regfile = "attiny2313.dat"                 'najpierw określamy typ proca 
$crystal = 1000000                          'definiujemy z jakim taktowaniem będzie pracował 


config portb=input                          'port b  jako wejścia 
      portb=&B00000000                     'wszędzie stan spoczynkowy-0 
config portd=output                         'pprt d jako wyjścia 
      portd=&B0000000                      'wszędzie stan spoczynkowy-0 


do                                         'pętla nieskończona 

   waitms 500                              'czekaj 0,5 sekundy 
   toggle portd.0                          'zmień stan wyprowadzenia 

loop                                       'koniec pętli 

end                                         'koniec programu 

musisz chyba dać drugie wait o tak :

    $regfile = "attiny2313.dat"                 'najpierw określamy typ proca
   $crystal = 1000000                          'definiujemy z jakim taktowaniem będzie pracował


   config portb=input                          'port b  jako wejścia
          portb=&B00000000                     'wszędzie stan spoczynkowy-0
   config portd=output                         'pprt d jako wyjścia
          portd=&B0000000                      'wszędzie stan spoczynkowy-0


    do                                         'pętla nieskończona

       waitms 500                              'czekaj 0,5 sekundy
       toggle portd.0                          'zmień stan wyprowadzenia
       waitms 500 
    loop                                       'koniec pętli

   end                                         'koniec programu 
  • Pomogłeś! 1

Tolo, po co zgadujesz? Pomyśl sam jaki to ma sens, skoro polecenie toggle zmienia stan na przeciwny i potem jest czekanie, więc niezależnie od tego jaki jest stan pinu to trwa on mniej więcej tyle samo czasu (mniej więcej, dlatego, że polecenie wait nie odmierza czasu idealnie 🙂 ).

Tolo, po co zgadujesz? Pomyśl sam jaki to ma sens, skoro polecenie toggle zmienia stan na przeciwny i potem jest czekanie, więc niezależnie od tego jaki jest stan pinu to trwa on mniej więcej tyle samo czasu

Sabre teraz działa :>

Tolo dzięki.

W razie jak będę miał jeszcze jakieś problemy to będę pisał.

AixI.

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...