Wybór mikrokontrolera

0

Witam
Ostatnio zainteresowałem się programowaniem mikrokontrolerów i mam pytanie. Jaki mikrokontroler i programator wybrać? W pewnym arcie jest mowa o AT90S2313. Czy to dobry wybór dla początkującego? Na razie chodzi mi tylko o zapalanie i gaszenie diody led.

0

Atmega 8 ma sporą funkcjonalność a nie jest droga, od 4 do 8 zł.
http://www.elektroda.pl/rtvforum/forum199.html

0

Mi się PICi lepiej programowało od atmegi. Ale co kto lubi.

0

Atmega8 jest prosta i tania. Programator możesz sobie niskim kosztem zbudować sam. Jeden z najprostszych to STK200 (programowany przez LPT):

user image

Jeszcze banalniejszy zaprezentowany został tu: http://www.bsdhome.com/avrdude/

0

Chyba nie zdecyduje się na zbudowanie programatora, ale na allegro można kupić już od 20zł. Mam jeszcze dwa pytania:

  1. Jak podłączyć stk200 do ATmega8? stk200 ma jakąś dziwną wtyczkę.

  2. Co trzeba w tym programie zmienić żeby działało na ATmega8

#include <avr/io.h>

int main(void)
{
  DDRB = 0xff;
  while(1)
  {
    PORTB = 0xff;
    PORTB = 0x00;
  }
}

*edit: Ten schemat jest prawidłowy? http:*www.kursc.dioda.com.pl/img/art001_schemat1.png
Bo coś za bardzo skomplikowany mi się wydaje. Czy można po prostu podpiąć odpowiednie piny gniazda z stk do pinów atmega8?

0

Jest przebajerzony, można zrezygnować z połowy tych elementów i nic wielkiego się nie stanie.

Programator podpinasz normalnie kabel oznaczony RESET podpinasz do resetu itd wtyczki są różne, trzeba sobie radzić.

Program chyba jest ok, powinien działać tylko że jeśli chcesz zauważyć okiem tą zmianę na PORTB np na diodzie to trzeba tam wsadzić jakieś opóźnienie np tak:

#define F_CPU 8000000
#include <avr/delay.h>
#include <avr/io.h>


int main(void)
{
  DDRB = 0xff;
  while(1)
  {
    PORTB = 0xff;
    _delay_ms(500);
    PORTB = 0x00;
    _delay_ms(500);
  }
}

pod F_CPU trzeba zdefiniować częstotliwość taktowania w Hz, tutaj 8MHz.

Ogólnie na elektroda.pl masz sporo przykładów.

0

Usunąłem kilka elementów: http://img210.imageshack.us/i/art001schemat1.png/
Czy nie wyrzuciłem czegoś ważnego? Czy jeszcze coś można wyeliminować?

0

Pin AREF zostaw niepodłączony do niczego i ja bym ten rezystor R2 przed diodą wyrzucił całkiem.
Co do kondensatorów to jeśli ci się śpieszy a nie masz pod ręką to też można je wyrzucić wszystkie, no ale lepiej żeby były. Powinno chodzić ;)

0

W sumie lepszym i praktyczniejszym wyjściem jest zbudowania adaptera z podstawką precyzyjną na mikrokontroler, który odpowiednio zrobiony może posłużyć też jako płytka uruchomieniowa (dołączasz kolejne listwy na np. wyświetlacz).

Co do Twojego schematu to generalnie napięcie (Vcc) i masę (GND) podłączyłbym bezpośrednio z wyjść programatora do Atmegi.

0
Grzybu napisał(a)

ja bym ten rezystor R2 przed diodą wyrzucił całkiem
Dlaczego?

Coldpeer napisał(a)

Co do Twojego schematu to generalnie napięcie (Vcc) i masę (GND) podłączyłbym bezpośrednio z wyjść programatora do Atmegi.
Chyba nic się nie stanie jeśli zostawię tak jak jest?

Edit: A czy tak tutaj też będzie działać?
http://img30.imageshack.us/i/art001schemat1.png/

0

AVCC powinno być podłączone do 5V.

R2 ma za zadanie ograniczać prąd wychodzący z uC po to żeby nie spalić diody, ale uC i tak ma bardzo małą wydajność prądową więc nie ma obawy że te 5V z niego uszkodzi diodę. Fachowo niby powinno się ten rezystor dać ale jak już to około 200-300Ohm a nie 1k bo dioda będzie słabiej świecić. 200 Ohm jest bezpieczne.

To podłączenie Vcc i Gnd prosto z atmegi o którym pisze Coldpeer jest ok.
Większość programatorów ma opcję (zworkę) przez którą wybierasz czy procek ma swoje zasilanie czy jest zasilany z programatora (czyli z kompa). Jeżeli wybierasz zasilanie z programatora to podepnij tak jak pisze Coldpeer. Jeżeli wybierasz zasilanie zewnętrzne to i tak wszystkie punkty oznaczone jako +5V powinny być z sobą połączone kablami, tak samo z punktami oznaczonymi przez GND. Chodzi tylko o uproszczenie schematu.

0

OK. Wielkie dzięki!

1 użytkowników online, w tym zalogowanych: 0, gości: 1