Skocz do zawartości
Ikar

[Kurs] BASCOM - lekcja3 - zaczynamy programować

Pomocna odpowiedź

W tej części to już wszystko, dziękuje za uwagę 😉

Paweł "Ikar" Stankiewicz

Będą dalsze części - lekcje?

Udostępnij ten post


Link to post
Share on other sites
Do procesora podepniemy diodę led z rezystorem 100Ω, kondensator 100µF oraz dwa tact switche.

1. Jaki ma być ten kondensator bo są różne. Ceramiczny, elektrolityczny czy jaki?

może być np ten?

kondensator biopilarny elektrolityczny

a ten tact switch to domyślam się że wystarczy zwykły przełącznik np ten tak?

TACT SWITH

Z góry dziękuje

pzdr

Udostępnij ten post


Link to post
Share on other sites
Do procesora podepniemy diodę led z rezystorem 100Ω, kondensator 100µF oraz dwa tact switche.

1. Jaki ma być ten kondensator bo są różne. Ceramiczny, elektrolityczny czy jaki?

może być np ten?

kondensator biopilarny elektrolityczny

a ten tact switch to domyślam się że wystarczy zwykły przełącznik np ten tak?

TACT SWITH

Z góry dziękuje

pzdr

Weź sie nie ośmieszaj. Ceramiczny o pojemności 100uF?? Chodzi o elektrolita.

Udostępnij ten post


Link to post
Share on other sites

No to mam mały problem 🙂 a mianowicie. Próbując przesłać program do procka wyskakuje mi błąd:

Could not identify chip with ID: FFFFFF

Potem:

Selected chip and target chip not match At90S1200 <> ATinny2313

Procek zimny jak diabli 🙂 wiec raczej się nie pali. Zasilanie 5V jest podłączone.

Jak to naprawić 🙂 Raczej wszystko dobrze podłączyłem i nawet dioda świeci podczas próby wysłania programu 😋

Udostępnij ten post


Link to post
Share on other sites

Powodów może być mnóstwo, np. źle zrobiony programator, źle podłączone/brak napięcia, źle skonfigurowany Bascom, źle podłączony procek do programatora.

Udostępnij ten post


Link to post
Share on other sites

Już naprawiłem 🙂 Źle by procek z programatorem podłączony 🙂

Ale mam pytanie. Czy jak już napisze program to wystarczy f4 i już będzie procek zaprogramowany?

Udostępnij ten post


Link to post
Share on other sites

Najpierw musisz skompilować program (F7), możesz sobie ustawić, że gdy klikasz F4 automatycznie się programuje (Options->Programmer i zaznacz Auto Flash), oczywiście przed programowaniem musisz skompilować program 🙂 czyli jeśli zaznaczysz auto flash to klikasz F7 i F4 i procek zaprogramowany.

Udostępnij ten post


Link to post
Share on other sites

Ok miga mi dioda już 🙂.

A teraz jeśli chcę wgrać nowy program to muszę jakoś stary usunąć ? 🙂

Bo wgrałem ten programik:

$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 

I trochę go zmieniłem na taki:

$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 400                                             'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
    Waitms 300                                             'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
    Waitms 200                                             'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
    Waitms 100                                             'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
    Waitms 090                                             'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
     Waitms 080                                            'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
     Waitms 070                                            'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
     Waitms 060                                            'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
     Waitms 050                                            'czekaj 0,5 sekundy
   toggle portd.0                                          'zmień stan wyprowadzenia

loop                                       'koniec pętli

end            

I cały czas działa tak jak na tym pierwszym. Czyli miga równo.

Udostępnij ten post


Link to post
Share on other sites

Po zmianie programu musisz każdorazowo go skompilować i wgrać do procesora, czyli znów F7 i F4.

  • Lubię! 1

Udostępnij ten post


Link to post
Share on other sites

A co tutaj jest nie 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

 If Pinb.0 = 1 Then
   Waitms 500                                              'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
    Waitms 400                                             'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
    Waitms 300                                             'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
    Waitms 200                                             'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
    Waitms 100                                             'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
    Waitms 090                                             'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
     Waitms 080                                            'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
     Waitms 070                                            'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
     Waitms 060                                            'czekaj 0,5 sekundy
   Toggle Portd.0                                          'zmień stan wyprowadzenia
     Waitms 050                                            'czekaj 0,5 sekundy
   Toggle Portd.0
 End If

 If Pinb.0 = 0 Then
 Portd.0 = 1
 End If                                                    'koniec if

Loop                                                       'koniec pętli

End            

Powinna dioda cały czas się świecić a gdy naciśnie się przycisk powinna zacząć coraz szybciej migać. A cały czas miga (coraz szybciej).

Udostępnij ten post


Link to post
Share on other sites

Hmm nie do końca rozumiem, mógłbyś troszke jaśniej mi to wytłumaczyć 🙂.

2. Skopiowałem pierwszy program w tym artykule na procka i jest problem bo dioda cały czas się świeci nie zależnie od tego czy naciskam przycisk czy nie 🙂 a wydaje mi sie ze wszystko zmontowane mam ok 🙂

Udostępnij ten post


Link to post
Share on other sites

a diodę masz do Vcc, czy do masy podpiętą z drugiej strony?

__________

Komentarz dodany przez: Sabre

Zdanie zaczynamy z dużej litery.

Udostępnij ten post


Link to post
Share on other sites

Dołącz do dyskusji, napisz odpowiedź!

Jeśli masz już konto to zaloguj się teraz, aby opublikować wiadomość jako Ty. Możesz też napisać teraz i zarejestrować się później.
Uwaga: wgrywanie zdjęć i załączników dostępne jest po zalogowaniu!

Gość
Dołącz do dyskusji! Kliknij i zacznij pisać...

×   Wklejony jako tekst z formatowaniem.   Przywróć formatowanie

  Dozwolonych jest tylko 75 emoji.

×   Twój link będzie automatycznie osadzony.   Wyświetlać jako link

×   Twoja poprzednia zawartość została przywrócona.   Wyczyść edytor

×   Nie możesz wkleić zdjęć bezpośrednio. Prześlij lub wstaw obrazy z adresu URL.


×
×
  • Utwórz nowe...