Jak zaprogramować pierwszy AVR?


10
Ocena: None Średnia: 10 (5 głosujących)

Ten artykuł ma na celu pomóc wszystkim tym, którzą pragną rozpocząć swoją przygodę z programowaniem lub zrobić układ mikroprocesorowy na podstawie gotowego schematu. Zawarta tutaj wiedza umożliwi każdemu zaprogramowanie mikrokontrolera gotowym programem i pozwoli cieszyć się z działającego układu. Nie trzeba przy tym nawet znać się na budowie procesorów, można je traktować jak specjalistyczne układy scalone, spełnąjące określone programowo funkcje.

Do zaprogramowania mikrokontrolera gotowym programem potrzebujemy komputer PC z płytą główną wyposarzoną w port równoległy (drukarkowy/LPT) i zainstalowany program BASCOM AVR (W pełni funkcjonalną do naszych potrzeb wersję demo można pobrać tutaj). Port równoległy (Parallel Port) powinien być ustawiony w biosie na tryb ECP, w większości przypadków standardowo jest SPP, a na tym trybie nie chciał u mnie działać ten programator.

Drugim krokiem jest wykonanie prostego programatora a właściwie kabelka programującego składającoego się z gniazda DB25M, czterech rezystorów i kawałka dowolnego kabla. Odpowiedni schemat znajduje się na rysunku poniżej:

Zalecam zastosowanie obudowy do wtyku DB25M i umieszczenie w niej rezystorów R1 - R4 (330R). Z wtyku można wyprowadzić ok. 1m kabla wielożyłowego i przylutować na końcu jakieś złącze uniwersalne. Wykonany w taki sposób programator z pewnością przyda się jeszcze wiele razy (programowanie mikrokontrolerów jest bardzo wciągające). Do zasilania mikrokontrolera podczas programowania konieczne jest napięcie +5V. Można je uzyskać na wiele sposobów: Zasilacz zewnętrzny zbudowany na układzie 7805, Port USB, Gameport lub Bezpośrednio z zasilacza komputerowego (Kabel czerwony w złączu od dysku).

Gdy mamy już wykonany kabelek to po uprzednim dokładnym sprawdzeniu poprawności montażu możemy podłączyć go do portu LPT (Dla bezpieczeństwa i w trosce o płytę główną zalecam zrobić to przy wyłączonym komputerze).

Dalsze czynności zależą od tego czy mamy już płytkę na której mikrokontroler będzie pracował. Jeśli tak to podłączamy odpowiednie piny naszego programatora do płytki z mikroprocesorem, w przeciwnym wypadku musimy zrobić prosty układzik (np na płytce uniwersalnej) wyposażony w podstawkę i kwarc z kondensatorami. Na rysunku poniżej przedstawiony jest schemat podłączenia programatora do mikrokontrolera na przykładzie ATTINY2313:

Pozostałe procesory z rodziny AVR można zaprogramować w analogiczny sposób, różnią się one tylko rozkładem wyprowadzeń i typem obudowy. Wszelkich informacji najlepiej jest szukać w kartach katalogowych poszczególnych Chipów. Znajdziemy tam między innym które piny to MISO, MOSI, SCK i RST oraz gdzie podłączyć zasilanie i jakie ono powinno być.

UWAGA!! Mikrokontroler wymaga zasilania podczas programowania, pamiętaj jednak aby podłączyć je tylko z jednego źródła. Gdy płytka ma swoje zasilanie to nie podłączaj już napięcia z komputera lub innego zasilacza.

Gdy programator został już złożony i podłączony do odpowiednich pinów mikrokontrolera (nie zapominamy o podłączeniu masy - GND) możemy przystąpić do uruchomienia BASCOMA i włączenia zasilania mikrokontrolera.

Na samym początku należy sprawdzić jaki typ programatora mamy ustawiony w preferencjach BASCOM'a. W tym celu wybieramy z górnego menu "Options->Programmer". Poprawna konfiguracja powinna wyglądać jak na rysunku poniżej:

Gdy jesteśmy już pewni że wszystko jest dobrze ustawione możemy uruchomić programator. W tym celu tworzymy nowy projekt za pomocą "File->New", nie jest on do niczego potrzebny ale bez otwartego jakiegokolwiek pliku BASCOM ma nieaktywne okno programatora.

Wybieramy teraz "Program Chip" (ikonka w kształcie zielonej podstawki, Klawisz F4 lub Program->Send to Chip->Program). Mogą się po tym pojawić następujące komunikaty:

Pierwszym, widocznym poniżej, nie należy się w ogóle przejmować gdyż mówi o tym że brakuje pliku *.bin co nie jest dziwne bo nic nie kompilowaliśmy a jedynie chcemy zaprogramować gotowym programem.

Drugi komunikat może oznaczać potencjalne problemy, mówi o problemie komunikacji z mikrokontrolerem:

Trzeci natomiast mówi o niezgodności podłączonego mikrokontrolera z tym ustawionym w programie. Nie należy się tym przejmować bo jest to ważne gdy kompilujemy program a nie gdy chcemy zaprogramować gotowym programem:

Po przebrnięciu przez te dziwne komunikaty dochodzimy w końcu do okna które można zobaczyć na rysunku poniżej:

Jako pierwsze sprawdzimy czy mikrokontroler jest prawidłowo rozpoznawany przez BASCOM'a. Możemy to zrobić wybierając z górnego menu "Chip->Identify" lub klikając ikonkę "Identify Chip" obok listy z wyborem mikrokontrolera. Jeżeli wszystko jest poprawnie to w rozwijanej liście powinien pojawić się wybrany odpowiedni typ procesora (taki jak podłączyliśmy) a dane o producencie i rozmiarach pamięci powinny przyjąć poprawne wartości. Nie powinien wystąpić także żaden komunikat w stylu "Could not identify...." bo inaczej oznacza to że komunikacja z procesorem jest niepoprawna i musimy dokładnie sprawdzić programator i jego połączenie z procesorem oraz poprawność napięcia zasilającego (+5V względem GND).

Gdy BASCOM poprawnie identyfikuje procesor czas na jego zaprogramowanie. W tym celu do bufora ładujemy plik *.bin lub *.hex z programem za pomocą "Buffer->Load From File" a następnie wybieramy "Chip->Autoprogram" lub klikamy ikonkę "Autoprogram chip". Po zaprogramowaniu nie powinien wystąpić komunikat "Difference at...", jeśli wystąpi to znaczy że wystąpił błąd w programowaniu i należy je powtórzyć ponownie wybierając "Autoprogram". Jeśli nie wystąpi komunikat o błędzie wybieramy "Chip->Verify" aby porównać zawartść bufora z zawartością pamięci procesora i dodatkowo upewnić się że wszystko ok. Powinien pojawić się napis "Bufer and Chip are identicall" na pasku statusu u dołu okna programowania.

Kolejną bardzo ważną czynnością jest ustawienie FUSE BITÓW mikrokontrolera na zakładce "Lock and Fuse bits" ale o tym wkrótce będzie osobny artykuł. Wspomnę tylko że najczęstrzym ustawieniem jest wyłączenie dzielenia częstotliwości zegara, czyli ustawienie "Divide clock by x disabled" i ustawienie współpracy z zewnętrznym rezonatorem kwarcowym, czyli "External Crystal Oscilator"




Portret użytkownika womax

Programator

Tutaj masz link który rozwieje twoje wątpliwości: http://ajd.czest.pl/~pawel.borkowski/wyklady/usbasp/usbasp.html

Portret użytkownika tomak

ale czy mógłbyś mi tylko

ale czy mógłbyś mi tylko powiedzieć czy przewód mosi od programatora należy połączyć z nózką mosi mikrokontrolera itd ???

Portret użytkownika womax

Programator

Tak jest te wyjścia z USBasp powinny być podłączone bezpośrednio do nóżek mikrokontrolera. Najłatwiej można to wykonać na płytce stykowej np. takiej http://allegro.pl/prototypowa-plytka-stykowa-uniwersalna-700-pol-i1387035472.html

Portret użytkownika tomak

dzi.eki za podpowiedz.. ;)

dzi.eki za podpowiedz.. ;)

Portret użytkownika Keadwen

Genialne

Zrobiłem kiedyś programator USBasp - lecz nie umiałem go obsługiwać. Dzięki temu artykułowi wszystko wydaje się (i jest) bardzo proste.
Wielkie brawo dla autora, gdyż dzisiaj ciężko o prosty, sensowny i praktyczny artykuł.

Portret użytkownika tomak

mam takie pytanko, czy

mam takie pytanko, czy fusebity których skreny masz z burnomata np. w projekcie termometr uniewersalny, można bez przeszkód wpisać w bascomie bo chyba tam trochę inaczej jest. jestem trochę zielony bo jeszcze nie mam pogramatora ale chciałbym przed kupnem wszystko wiedzieć mniej więcej ;)

Portret użytkownika mirley

Re: Fusebity

Można je wpisać w czym kolwiek... burn-o-mat jest o tyle fajny że pokazuje takie fusbity jak są w karcie i można poprostu z karty przepisać.... W bascomie koło każdej opcji masz wartości.. koło ustawienia taktowania np jest napisane "CKSEL=1111", co oznacza że CKSEL3=1, CKSEL2=1 itd, czyli wszystkie ptaszki w burn-o-mat odznaczone.... trzeba pamiętać że 1 to ptaszek odznaczony a 0 zaznaczony

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika tomak

dzięki za odpowiedz. myśle że

dzięki za odpowiedz. myśle że najlepiej będzie gdy cały program wgram przez avrdude

Portret użytkownika tomak

mam pytanie czy jeżeli chce

mam pytanie czy jeżeli chce zaprogramować avr przez progra,mator usb taki z allegro to też do avra muszę mieć podpięte kwarc z kondensatorami. pozdro!

Portret użytkownika Zepco

Kwarc

Musisz dołączyć do tego układu taki kwarc na jakim będzie docelowo pracował Twój programator

Portret użytkownika mirley

RE: Kwarc

Dokładni taki sam to nie musi być ale bez kwarcu nie przełączysz fusebitów na zewnetrzny kwarc bo przestanie procek odpowiadać. Jeśli robisz podstawke do programowania to wsadzając np kwarc 8MHz powinno działac w zdecydowanej większości przypadków.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika dominn12

atmega8 nie działa

Witam
Mam taki kłopot wszysdko z programowaniem wydaje mi się że jest ok ale gdy zaprogramuje
to nic nie działa, dioda się nie świeci a stycznik nie reaguje po odłączeniu kabla programującego dioda zaczyna ledwo co świecić a właściwie to mrugać i równierz nie reaguje na bodźce zewnętrzne
nie wiem już co robić ,w czym morze być kłopot?????

Portret użytkownika mirley

Re: Programowanie

A przechodzi weryfikację poprawności kodu? co wgrywasz do procka? jaki program? jak wygląda twój układ testowy?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika dominn12

Tak przechodzi weryfikację

Tak przechodzi weryfikację kodu,wgrywam prosty programik zapalający diodę:

$regfile = "m8def.dat"                                      'najpierw określamy typ proca
$crystal = 8000000                                          '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.1 = 1 then                                       'jeżeli przycisk 1 wciśnięty
   portd.0 = 1                                              'zapal diode
                                                             'zgaś diodę
   endif                                                    'koniec bloku warunkowego
 
 loop                                                       'koniec pętli
 
end                                                         'koniec programu

A co do układu to mam podpiętą diodę pod Pd.0 przez diodę do masy układu
a stycznik od Pb.1 do +5

Aha i jeszcze jedno gdy wgram program i potem go odczytam z atmegi8 to szczytuje całkiem inny kod .
i bardzo często wyskakuje błąd : could not indentify chip ID:000102 lub błąd odczyu atmegi
problem znika na chwilę gdy odłącze zasilanie układu i ponownie go podepnę .
Co morze być nie tak?????????

Portret użytkownika mirley

Re: programowanie

1. Port wejściowy ma być w stanie 1 a ty masz wszystkie wejścia w stanie 0 w momencie odczytu stanu, na początku wpisz zamiast B00000000 -> B11111111
2. Przycisk ma być od pinu do masy a nie do +5V
3. w ifie nigdzie nie gasisz diody..... a poza tym masz sprawdzać stan

if pinb.1 = 0 then 
  portd.0 = 1 
else 
  portd.0 = 0 
end if 'pisze się oddzielnie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika klucha93

Panowie proszę o pomoc. Otóż

Panowie proszę o pomoc. Otóż zrobiłem sobie ten programator oraz także programator USB z tej stronki. Próbuje zaprogramować ten programator pod LPT(atmege 8), ale wyskakuje mi ten błąd "Could not identifity..." Układ myśle, że jest dobrze sklepany. Zasilanie biorę z USB (miernik mi wskazuje 4,82V). W biosie ustawione ECP. Ponadto mam także programator kolegi (najprostszy pod LPT) i próbowałem przez Pony prog 2000, ale mi wyskakuje błąd ... device (-24). W necie poszukałem program Userport do odblokowania LPT (ponoć nie ma sterowników do LPT i dlatego ten błąd), ale gdy już finishuje z Userportem to mi resetuje kompa i nic nie mogę zrobić. Co mam dalej zrobić z Pony progiem albo bascomem? Jak to jest z tym LPT, że właściwie wógóle mi nie widzi? Proszę o pomoc.

Portret użytkownika mirley

Re: Programowanie

Czasami po prostu z tym prostym układzikiem są problemy. Spróbuj zrobić STK200 z mojej strony, on ma bufor i działa bardziej niezawodnie. Możesz też zaprogramować u kolegi na kompie, bo zależy to od płyty głównej. Jak chcesz bawić się w jakieś odblokowanie portu to proszę bardzo ale jest to bez sensu i do niczego nie potrzebne. Programuj w bascomie bo w nim na pewno ten kabelek działa.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chev_Lucas

ATMEGA8

Witam, czyli za pomocą przedstawionego sposobu mogę zaprogramować procesor ATMEGA8, tak żeby później zmontować programator USB? Robił już z was coś takiego? Podzielcie się doświadczeniem... Czy taki procesor jest odpowiedni do wykonania USBAsp - atmega8?

Portret użytkownika mirley

Re: Programowanie

Zawsze się tak robi. Jak chcesz zrobić programator w którego głównym elementem jest tez układ programowalny to jakimś sposobem musisz go zaprogramować. Procesor który podajesz jest ok.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Chev_Lucas

Płytka stykowa

Witam, chciałby sobie kupić taką płytkę stykową jak podaje womax. Jednak nie wiem jak się na niej wykonuje połączenia, bo przecież jak wetknę jakiś element, to miejsca na przewód już nie ma ;/ Od spodu też nie ma żadnych wtyków... Proszę o odpowiedź

Portret użytkownika mirley

Re: Stykowa plytka

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Bakuś

Ryzyko uszkodzenia portu LPT

Witam, mam takie pytanie: czy ten prosty programator przedstawiony powyżej jest bezpieczny dla komputera? Jest jakieś ryzyko uszkodzenia portu LPT w komputerze bo gdzieś czytałem, że tak... W zaletach STK200 podawane jest "zabezpieczony port LPT", więc co takiego może spowodować zagrożenie?

P.S Zewnętrzny kwarc jest bardzo potrzebny, czy można bezproblemowo programować na tym wewnętrznym?

Portret użytkownika mirley

Re: LPT

Ładunki statyczne mogą uszkodzić port albo napięcie które ewentualnie może pojawić się z zewnątrz na port. Sam nigdy się nad tym głębiej nie zastanawiałem.... po prostu podłączyłem procka do portu.

Karc jest nie potrzebny jak masz nowego procka ale jak postanowisz zmienić fusy to już go więcej nie zaprogramujesz bez kwarcu

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Konrad1271

Pozostałe piny

Mam pytanie czy pozostałe piny procesora podczas programowania mogą być podłączone do reszty układu?

Portret użytkownika mirley

Re: Programowanie

Reszta pinów nie ma znaczenia... podczas programowania powinny przełączyć się na wejścia aby nie pobierał procek przypadkiem prądu z zewnątrz. Nawet do linii programujących może być podłączone coś byle tylko nie obciążało linii podczas programowania.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika pylaochos

ULN2003

Witam, posiadam płytkę o której już tutaj wspominano (EvB 4.3), posiadam tam układ tranzystorowy ULN2003, i chcę podłączyć jakiś silniczek który 'zdziera' więcej niż 5 volt, wiem że powinienem brać zewnętrzne źródło zasilania, znalazłem właśnie zasilacz podobny do tego od komputera, 12 lub 5 V na 2A. Jak widać na tej płytce można podłączyć zew. źródło. Czy żadnemu z tych układów nie przeszkodzi taki duży prąd? czy stosować dzielnik/ogranicznik prądowy?
Pozdrawiam

Portret użytkownika mirley

Re: ULN

Musiał bym mieć schemat twojej płytki... ale jak dodatkowe zasilanie jest podłączone tylko do ULN to możesz dać 12V.... Klasyczny zasilacz jest źródłem napięciowym, co znaczy że utrzymuje w przybliżeniu stałe napięcie a odpowiedzią na podłączenie obciążenia jest przepływ określonego prądu. Nie znaczy to że popłynie 2A. Popłynie tyle ile obciążenie będzie chciało, ale nie więcej niż może zasilacz. Jeśli dodatkowe zasilanie do płytki podłączone jest do całej płytki a ona jest na 5V to nie możesz podłączyć 12V

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika Gość

Pozdrówka

:) ... masz anielską cierpliwość co do niektórych osób :) Życzę dalszej wytrwałości, powodzenia :)

Portret użytkownika pylaochos

Wielkie dzięki za odpowiedź.

Wielkie dzięki za odpowiedź. :))

Portret użytkownika strulkhas

Witam wracam tutaj bo mam

Witam wracam tutaj bo mam problem zrobiłem sterownik C.O. z wielkim trudem ale się udało zaprogramowałem atmege ale sterownik leżał pół roku od czasu do czasu był włączany i działał.Teraz gdy chciałem go włączyć tylko krzaczki na lcd więc myślałem ze atmega uwalona bo nie dało się jej zaprogramować kupiłem nową i zidentyfikowało ją poprawnie leczy kliknelem niechacy erase chip i nowej atmegi już też nie identyfikuje jaka może być przyczyna? Dodam że na starej i nowej amtedze cały czas działa buzer w sterowniku teraz ...
Koszt mojej zabawy to 12 pln za nową atmege więc lepiej żebym coś z tym zrobił

Portret użytkownika mirley

Re: M8

Jest to fizycznie nie możliwe aby po erse chip atmega już nie wstawała.... może zmieniłeś w międzyczasie fusebity? Spróbuj podłączyć M8 na jakiejś płytce uniwersalnej poza sterownikiem i zaprogramuj ponownie. Czym programujesz procesor?

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika aszerrr

AT49F040

Witam, mam taki problem: wymieniałem firmware w nagrywarce cd i teraz jestem, że tak powiem w ciemnej... no ;) moja wina, moja wina, moja bardzo wielka wina...
I pytanie: Czy tym programatorem i tym programem mogę załadować plik *hex do do kości Atmel AT49f040 (PLCC)? Jeśli jest taka możliwość, to proszę o jakąś instrukcję jak ustawić to wszystko i gdzie popodłączać te wyjścia do kości, może jakiś rysunek, tak łopatologicznie bym prosił, zależy mi na tym bo popsułem sprawe, a chciałbym to jeszcze uruchomić. I prosze o wyrozumiałość, elektronika i programowanie to nie jest moja jasna strona mocy :)
Z góry dziękuję za jakąkolwiek pomoc.

Portret użytkownika mirley

Re: Programowanie

Z tego co widze w karcie to nie jest to układ który na tym pójdzie. Po pierwsze musisz znaleźć jakiś program który jest wstanie zaprogramować tą pamięć adopiero potem szukać programatora obsługiwanego przez ten program

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika aszerrr

Dziękuję za pomoc. Muszę się

Dziękuję za pomoc. Muszę się pochwalić, że obeszło się bez programowania kości, wpadł mi w ręce pewien program o nazwie MtkWinFlash i baaardzo mi pomógł. Pozdrawiam.

Portret użytkownika gucio

Konwerter

Mam pewien problem. Nie posiadam portu lpt za to posiadam konwerter usb na lpt. Programator zbudowałem, podłączyłem. Jednak nadal coś nie styka i wyskakuje mi Could not verify...I teraz pytanie - co w tym wypadku?

Portret użytkownika mirley

Re: USB/LPT

Osobiście nie udało mi się zmusić do poprawnego działania żadnej z przejściówek USB/LPT. Podobno replikatory portów , takie np na PCI działają ale sam tego nie sprawdzałem. Pozostaje CI sprawdzenie czy to działa na jakimś starszym kompie z LPT i zrobienie sobie usbasp'a (programatora na USB) albo zakup tego programatora na allegro

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc233

skąd wytrzasnąć ten programator

skąd wytrzasnąc ten programator?
chodzi mi o to co jest po prawej na pierwszym obrazku

Portret użytkownika mirley

Re: Programator

Na jakim obrazku po prawej, pisz konkretnie

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika gosc233

na pierwszym obrazku z góry

na pierwszym obrazku z góry ;/
po prawej ten ukłąd programujący
jak to sie wogole nazywa?

Portret użytkownika mirley

Re: Programator

Trzeba sobie zrobić. Kupujesz wtyczkę DB25M i rezystory, lutujesz rezystory do wtyczki, do tego kawałek kabla i jakąś podstawkę pod procesor. Jeśli masz już układ który chcesz programować to można też dołączyć kable bezpośrednio do programowanego procesora na płytce na której już jest.

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika pablo5

Kwarc potrzebny?

Witam, jeżeli mój uC ma wykorzystywać wewnętrzny rezonator kwarcowy (8MHz), to czy podczas programowania uC muszę podłączać mu zewnętrzny rezonator?
Pozdrawiam.

Portret użytkownika mirley

Re: oscylator

Nie trzeba nic podłączać jak pracuje na wewnętrznym

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika pawel3008

witam

napisałem programik na attine 2313 zeby po naciśnięciu jednego przycisku dioda zaczeła migać
do
If Pind.2 = 0 Then
Waitms 70
Portb = &B11111110
Waitms 70
Portb = &B11111111
End If
dioda ładnie miga
oraz też w tym samym programie mam napisane aby po naciśnięciu następnego przycisku inna dioda sie zaświeciła

If Pind.5 = 0 Then
Portb = &B11110111
Else
Portb = &B11111111
End If
moje pytanie dlaczego po równoczesnym naciśnięciu przycisku
pind.2 oraz pind.5

diody migają na przeniam a nie jedna miga a druga sie świeci cągłym światłem
gdy rozbijam to na podprogramy jest to samo

pozdrawiam

Portret użytkownika mirley

Re: Diody

Za każdym razem ustawiasz cały port więc jak klikasz d.2 to wyłączasz wszystko a nie tylko diodę, która ma migać. Ustawiaj pojedyncze bity portb.0 = 0/1 i portb.3 = 0/1 lub używaj komend set i reset

-

UWAGA! Możliwy jest zakup zaprogramowanych uC i zestawów elementów itp. do niektórych projektów. O dostępność proszę pytać via email. Konkretne oferty pojawiają się w cenniku.

Portret użytkownika pawel3008

witam oto program odnośnie

witam oto program odnośnie tematu diód jenej pulsującej natomiast drugiej świecącej program
działa lepiej ale niekiedy przy zasetowaniu pind.4 oraz pind.3 diody obydwie pulsują

$regfile = "attiny2313.dat"
$crystal = 800000

Config Pinb.0 = Output
Config Pinb.1 = Output
Pinb.0 = 1
Pinb.1 = 1

Config Pind.4 = Input
Config Pind.3 = Input
Pind.3 = 1
Pind.4 = 1

Do
If Pind.3 = 0 Then
Waitms 40
Set Pinb.0
Waitms 40
Reset Pinb.0
End If

If Pind.4 = 0 Then
Set Pinb.1
Else
Reset Pinb.1
End If

Loop

Portret użytkownika pawel3008

Witam już zrozumiałem jak i

Witam już zrozumiałem jak i co ma być na temat tych diód wszytko fajnie działa

WIELKIE DZIĘKI ZA PODPOWIEDZI :)

Pozdrawiam

Portret użytkownika spontan

Re: konfiguracja bascom

Panowie mam pytanie macie jakiś fajny sposób na wykonanie takiej złączki(przewodu) do podłączenia programator i płytka stykowa ?Kiedyś widziałem takie coś w sprzedaży ale nie mogę odszukać .I jeszcze jedna sprawa usbasp normalnie działał , wykrywał atmega8 podłączonego za pomocą podstawki programującej i nagle wyskoczył błąd "Detected Micro ATmega8 does not match the selected Micro AT90S2313" i tak już za każdym razem .

-

Amator

Portret użytkownika biniu

Fuse Bity

złożyłem programator i miałem troche z nim problemy, ciagle pojawial sie bład FFFFFFFF, ale poradzilem sobie z tym, zaprogramowalem Atmege8 zgodnie z instrukcja, na dole pojawil sie napis Verify Ok, wiec przeszedlem do ustawiania Fuse Bitow, ustawilem je zgodnie z instruckja i moje pytanie brzmi czy samo ustawienie ich wystarczy?? czy trzeba jakos to zapisac czy cos innego?? i czy jak sie kliknie po prawej stronie na Write Fuse to czy to jest zle?? bo ja tak zrobilem i od tego momentu nie widzi mi Atmegi, znow pojawia sie blad FFFFFFFF.

Portret użytkownika White

programowanie

Quote:
czy jak sie kliknie po prawej stronie na Write Fuse to czy to jest zle??

oznacza to ZAPIS FUSE BITÓW także poprawnie.:-) Dopiero wtedy bity zostają zmienione i zapisane w mikrokontrolerze.Być może ustawiłeś zewnętrzny oscylator kwarcowy a bez fizycznie podłączonego już poprawnie nie rozpozna ukłądu.Ważne jest zmieniać odpowiednie bity.Jakie zmieniałeś.

-

Co cie nie zabije to cie wzmocni.
(Nie dotyczy kondensatora 230V)

Portret użytkownika RabitOl

Problem z Attiny2313

Witam. Mam problem z tym programatorem.

Próbuje przeprogramować Attiny2313 z kitu AVT 2829.
Ale ciągle w bascomie pokazuje mi podczas identyfikacji: Could not identify chip ID:FFFFFF.

Programator sprawdzałem kilkanaście razy.

Proszę o sugestie?