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 Kondziu

Programator USB

Napisałem jeszcze raz ten program i teraz mam coś takiego:

Portret użytkownika mirley

Re: Programowanie

Przyślij mi program bas i plik hex który wgrywałeś bo wygląda na to że poprostu jest zepsuty. Reszta informacji wygląda dobrze, program nie może odczytać formatu pliku.

------

U mnie bez problemu programuje twoim plikiem hex. Popatrz czy napewno masz plik w tym folderze co wywołujesz avrdude. Poza tym w pliku bas masz złą wartość dla kwarca przy linijce crystal. Jeśli chcesz 1MHz to masz dopisać o jedno zero więcej :))

-

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 Kondziu

Programator USB

To mój folder z AVRDUDE:

Mam tam wszystkie pliki z Bascoma po skompilowaniu i dodatkowo plik test.hex który ściągnąłem ze strony producenta płytki - on też nie chce "wejść" do procka...

Ps. Dopisałem to jedno zero i dalej nic z tego.

Portret użytkownika Kondziu

Programator USB

Niestety nie mogę edytować poprzedniego postu ale udało mi się zaprogramować proca:

Ale gdy podłączam diodę do pinu D0 to nic nie mryga...

-

Wiem że nic nie wiem...

Portret użytkownika mirley

Re: Programowanie

Jeśli nie używasz kwarca to w linijce crystal powiieneś mieć 1000000 co oznacza 1MHz. Reszta programu wygląda dobrze. Sciągnij sobie najnowszego bascoma ze strony mcs electronic i spróbuj skompilować ponownie. Diodę podłaczaj przez rezystor do różnych pinów. Możesz też zmieniac stan portu za pomocą polecenia "Toggle portx.y"

-

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 Kondziu

Programator USB

Wszystko OK. Dziś udało mi się zaprogramować go burn-o-matem aplikacją and-tech'a i działa. Tylko te moje programy coś nie idą, ale podszkolę się w pisaniu w bascomie.
Bardzo dziękuję za pomoc!!
PS. Super stronka polecę ją każdemu!!!

-

Wiem że nic nie wiem...

Portret użytkownika KakaoRozpuszczalne

Nie ładuje programu

Witam!

Jak już udało mi się uruchomić podstawkę programującą, chciałem sobie na próbę zaprobramować procek wsadem do timera kuchennego, którego mam zamiar zbudować. Wszystko pięknie, bascom widzi mege8, nie występują żadne komunikaty o błędach, ale nic się nie programuje. Cały czas jest " Programmed:0 " Próbowałem w rozszeżeniu *bin i *hex, ale nic się niedzieje.

Portret użytkownika mirley

Re: Bascom

Jak to nic nie programuje. Na dole okna programowania powinien pojawić się pasek postępu a po skończonej operacji napis "Buffer and chip are identical". Jeśli natomiast nic sie nie pojawia to powtórz programowanie. Na takim prostym programatorze z LPT często pojawiaj się błędy 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 pawlik835

Witam. Pytanie może nie za

Witam. Pytanie może nie za bardzo elektroniczne jednak czy można zamiast portu LPT (ponieważ takiego nie posiadam) użyć nie porównując takich szpileczek pasujących w otwory gniazdowe od tego portu w komputerze oczywiście dobrze zaizolowanych i odizolowanych. Dzięki za odpowiedź i pozdrawiam.

Portret użytkownika mirley

Re: LPT

Rozumiem że chodzi Ci o to że nie posiadasz złącza DB25 które pasuje do portu LPT w komputerze, bo jeśli nie maszportu LPT to tragedia :)

Oczywiście możesz sobie poradzić wtykając piny bezpośrednio do komputera ale zrób to przy wyłączonym zasilaniu, port LPT jest dość delikatny i "nie lubi" nawet wtykania złącza na gorąco.

-

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 pawlik835

oki dziękuję za odpowiedź. A

oki dziękuję za odpowiedź. A Port takowy mam ;)

Portret użytkownika Paszo

attiny45

czy w tym układzie mógłbym zaprogramować attiny45 ??

Portret użytkownika mirley

Re: Programowanie

ATTiny45 posiada taki sam interfejs programujący jak jego więksi koledzy więc bez problemu zaprogramujesz

-

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 pawlik835

Witam. Chciałbym

Witam.
Chciałbym zaprogramować owy programator:
http://mirley.firlej.org/programator_na_usb_usbasp

muszę jednak zaprogramować sposobem opisanym powyzej jednak nie mogę znaleźć pliku wsadowego .hex ani też innego od programatora na USB
Dzięki za odpowiedź

----------

już odnalazłem :)

"W moim projekcie zastosowałem wersję programu usbasp.2006-12-29.tar.gz dla mikrokontrolera ATMega8. Do mikrokontrolera należy załadować plik usbasp.atmega8.2006-12-29.hex znajdujący się w katalogu "/bin/firmware/". "

----------

nie idzie go zaprogramować :(
jakieś błędy wyskakują :
"Difference at" z różną liczbą a kontroler atmega 8 wykrył odrazu.
Co może być nie tak?

---------

może trochę panikuję i wogóle ale czy może być coś takiego z FUSEBITAMI?
odnośnie programatora na USB?

[url=]http://www.fotosik.pl/pokaz_obrazek/2490632e30db31b0.html[/url]

Ps. Wpisy scaliłem nie wolno tak pisac wypowiedzi, zaloguj się aby uzyskać możliwość edytowania swoich wpisów a nie pisz swoich pytań w taki sposób. Albo czekasz na odpowiedź albo edytujesz ostatni wpis jeśli nie ma żadnego pod nim

Portret użytkownika mirley

Re: Programowanie

jeśli liczby po diference są różne to programuj kilka razy aż do skutku. Ten prosty programator tak ma że czasami można przy nim zwariować :) Zależy to od kabla i wielu innych czynników. Fusebity ustawisz na samym końcu jak już zaprogramujesz procesor plikiem hex i wyskoczy komunikat "chip and buffer are identical".

Fusebity należy ustawiać w układzie w którym procesor ma pracować bo musi być kwarc podłączony gdy zmieniasz ustawienia taktowania.

-

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 gosc

Quote: jeśli liczby po

Quote:
jeśli liczby po diference są różne to programuj kilka razy aż do skutku. Ten prosty programator tak ma że czasami można przy nim zwariować :) Zależy to od kabla i wielu innych czynników. Fusebity ustawisz na samym końcu jak już zaprogramujesz procesor plikiem hex i wyskoczy komunikat "chip and buffer are identical".

Fusebity należy ustawiać w układzie w którym procesor ma pracować bo musi być kwarc podłączony gdy zmieniasz ustawienia taktowania.

Mam rozumieć, ze programując USBAsb np. za pośrednictwem BASCOM nie w układzie tylko na podstawce dołączonej do programatora, po zaprogramowaniu ustawiam fuse bity na dołączonym takim kwarcu jaki będzie pracował w układzie, czyli, że nie mogę np. programować Atmega8 z kwarcem 12Mhz , po zaprogramowaniu ustawić fusebitami częstotliwość rezonatora na 8mhz i dopiero wtedy włożyć go do układu??

Pozdrawiam

Łukasz

Portret użytkownika mirley

Re: Programowanie

To wszystko zależy. Napisałem tak bo to jest najpewniejszy sposób że wszystko będzie działało. Cała sprawa polega na tym że procesor jak nie trudno zgadnąć potrzebuje takiego źródła taktowania na jaki zostały ustawione fusebity. Czyli jeśli podstawka w programatorze nie ma żadnego kwarcu to po przełączeniu fusebitów na kwarc procesor więcej nie odpowiada. Jeśli natomiast podstawka w programatorze ma dołączony dowolny kwarc np 12MHz to w większości przypadków nie będzie problemu i procesor ruszy jak przestawisz mu że ma pracować np na kwarcu 8MHz. Potem włożysz go do układu gdzie jest już te 12MHz i po problemie.

-

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 gosc

Dziękuję, swoją drogą świetna

Dziękuję, swoją drogą świetna stronka...Twoje artykuły bardzo mi pomogły..
Pozdrawiam

Portret użytkownika Farmi18

No to ja też zadam pytanie,

No to ja też zadam pytanie, bo BASCOM nie chce wykryć ATMEGAi16 (błąd ffffff)
1. zasadnicze pytanie, które rozmiesznie pinów jest poprawne?
http://www.datasheetcatalog.org/datasheet/atmel/2466S.pdf
czy
http://mirley.firlej.org/podstawka_programujaca

Chodzi +5V i GDN na pinie 30 i 31. Na datasheet na przeciwko pinu 1 jest pin 40, a wg Twojego schematu 40 jest naprzeciwko 21. Poprostu nie wiem jak liczyc te piny. (zastosowałem numerację datasheet)

2. Piny na uC liczymy trzymając go do siebie górą?

3. Zastosowany kabelek to skrętka - chyba sygnały w nim nie zakłucają się i wywołują brak komunikacji?

4. +5V i GDN z USB, czyli piny wtyczki LPT od 18 do 25, należy podłączyć do tego właśnie GDN (plus do tego GDN port 11, 31 Atmegi i kondensatory)

5. Patrząc na rozmieszcznie pinów wtyczki LPT, piny na schemacie są widoczne od strony lutowanych styków?
http://mirley.firlej.org/jak_zaprogramowac_pierwszy_avr

Jeśli tak, to nie zgadza się z tym rysunkiem:
http://slotcars.carlsoncomputers.com/Articles/lpttest/lpt02.jpg
który by mówił, ze piny na powyższym schemacie są widoczne od strony przedniej części wtyczki.

Portret użytkownika mirley

Re: Programowanie

1. W jednym i drugim miejscu rozmieszczenie pinów jest poprawne. Mylisz tutaj rozmieszczenie pinów symbolu na schemacie z fizycznymi wyprowadzeniami układu a jedno przeważnie nie ma nic wspólnego z drugim. Numery ze schematu pokrywają się z wyprowadzeniami fizycznymi ale na schemacie są umieszczone tak aby łatwo było zrobić rysunek połączeń (schemat wyglądał prosto). Fizyczne piny liczymy przeciwnie do ruchu wskazówek zegara począwszy od wcięcia lub kropki w obudowie (tak jak w karcie katalogowej).

2. Tak, napisami do góry, nóżkami w dół

3. Na pewno nie, mało prawdopodobne

4. GND z USB, piny wtyczki LPT od 18 do 25, oraz wyprowadzenia 11 i 31 M16 masz podłączyć razem. Natomiast +5V z USB ma być do pinów 10 i 30 M16 i nigdzie indziej.

5. Po pierwsze na rysunku który podajesz masz wtyczkę typu F a twój programator musi mieć wtyczkę typu M, wyprowadzenia jednej i drugiej są tak ponumerowane aby po włożeniu jednej do drugiej 1 pasował do 1 , 2 do 2 itd. Poza tym dla ciebie ważne są numery wyprowadzeń, kogo obchodzi od której strony widać wtyczkę na schemacie, sam tego nie wiem. Piny na wtyczce zarówno M jak i F są podpisane a te numery zgadzają się z numerami na schemacie. Symbol wtyczki może być narysowany bele jak podobnie jak uklad M16.

-

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 Farmi18

Niestety na mojej LPT typu M

Niestety na mojej LPT typu M nie ma oznaczeń pinów. Na gnieździe typu F w kompie też nie ma.
Patrząc na te gniazdo ze zdjecia i dorysowaną numerację, to tak to właśnie jest?

http://slotcars.carlsoncomputers.com/Articles/lpttest/lpt02.jpg

Na zdjeciu będe się wzorował, i odpowiednio liczył, bo jest bardziej czytelna.

Portret użytkownika McGiver1

RST

Czy przy pinie RST idącym do mikrokontrolera musi być rezystor 10k czy w czasie programowania nie? RST - reset. Robię projekt płytki i nie wiem czy wpakować tam ten rezystor :)
Pozdrawiam

Portret użytkownika mirley

Re: Programowanie

Jeśli chodzi Ci o rezystor 10k podciągający RST do +5V to nie musi go być

-

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 McGiver1

A podczas używania?

A podczas używania? Przepraszam za kłopot :)

Portret użytkownika mirley

Re: 10k

Teoretycznie powinien być w praktyce nigdy go nie stosuje.... czy dasz czy nie dasz to i tak prawdopodobnie nie zauważysz różnicy. Żeby jednak uniknąć wszystkich problemów na zapas dodaj sobie ten rezystor i po problemie

-

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 Farmi18

No to działa progamator

No to działa progamator :)
Jedyna różnica w opisie programowania, to taka że, po sprawdzeniu CHIP>>VERYFITY, na dole ekranu nie pojawia mi się "Bufer and chip are identical", tylko "Verifited OK", co chyba jest poprawne?

Tak więc wzorując się na rozmieszczeniu pinów w gnieździe LPT
http://slotcars.carlsoncomputers.com/Articles/lpttest/lpt02.jpg
udało się. Może właśnie numeracja sprawia problemy również Tym, któm programator nie działa.
Pozdrawiam i THX!

Portret użytkownika mirley

Re: Programowanie

Verifited OK może być. Zalezy to od wersji bascom

-

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 Qba

czy

Te oporniki to mają być 330 ohm tak?

Portret użytkownika mirley

Re: Rezystory

Tak, 330R to 330 Ohm

-

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 zymen

Problem z atmega8

Witam,

zbudowałem ten prosty programator i już nieźle dał mi w kość ;-)

Mianowicie:

- udaje mi się na nim zaprogramować attiny2313 (2 sztuki mam, zarówno jedna jak i druga nie sprawiają problemu), z "półki sklepowej" z zewnętrznym rezonatorem (12MHz jak i również 4MHz),
- mam problemy z atmega8 (po odłączeniu kwarcu od nóżek) w takiej postaci, że raz na jakiś czas (na kilkadziesiąt prób) udaje się skomunikować (zazwyczaj mam fffffff) i wtedy coś tam mogę wgrać,
- jednemu z atmeg8 (3 sztuki mam) udało mi się zmienić FuseBity na zewnętrzny kwarc i (uwaga!!!): po podpięciu rezonatora(tylko 4MHz, atmegi w wersji L) programuję go teraz za każdym razem bezproblemowo,
- jak tylko odepnę rezonator, to dwie pozostałe atmegi są baaaaardzo chimeryczne i nie wyrażają ochoty do współpracy :/

Co może być przyczyną? Jak załatwić kwestię "Atmeg8 z półki"? Nie wiem czy ich jakoś nie zblokowałem...

Rezonator odpinam poprzez odlutowanie od 4 i 5 nóżki kwarcu.

ps. Najlepsze, że na początku żadna z atmeg nie działała.. dopiero po jakimś czasie zrozumiałem, co znaczy 'L' w nazwie Atmega8L :)

Portret użytkownika mirley

Re; M8

Może płytka uniwersalna czy coś podobnego na czym masz M8 jest źle zrobiona i czasami działa. kwarc powinieneś mieć na takiej podstawce programującej zwasze bo nigdy nie wiadomo kiedy się przyda, nie powinno to wpływać na procesory pracujące na wewnętrznym taktowaniu. Czy podłaczyłeś oba zasilania i obie masy procesora? Wykluczam błędne działanie portu LPT bo przecież na tiny2313 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 zymen

Gdyby był problem z płytką,

Gdyby był problem z płytką, to nie programowałaby się ta jedna atmega (której jakimś cudem zmieniłem FuseBity).

Najśmieszniejsze, że śmiga ona praktycznie za każdym razem. Tak samo jak attiny2313.

Przy tych dwóch pozostałych atmegach8:

- odlutowywuję tylko przewody od kwarcu, nic w to miejsce nie dołączam,
- pozostałe połączenia pozostają niezmienione.

i niestety wtedy żadna z 2 sztuk nie wstaje.

Tak jak napisałeś, LPT działa poprawnie, bo inaczej 2313 by nie programował, ani też tej jednej z 3 atmeg.

Może to prędkość portu LPT? Albo coś jeszcze innego?

A jeśli zblokowałem te 2 sztuki, to da się odblokować? Jak?

pozdrawiam,

Portret użytkownika zymen

Podłączyłem tylko jedną masę

Podłączyłem tylko jedną masę i jedno zasilanie (piny 7 i 8). Na nich ta jedna z atmeg działa. Spróbuję jeszcze podpiąć do 8 - 22 i do 7 - 20.

pozdrawiam,

Portret użytkownika mirley

Re: Mega8

Mogłeś zablokować pozostałe M8, to że czasami po kliknięciu nie rozpoznaje procesora to normalne na tym prostym programatorze, jeśli jednak likasz kilkanaście razy i dalej nic to coś napewno jest nie tak. Niektóre procki będą działały bez podłączenia wszystkich pinów zasilających a niektóre mimo że te same nie będą działały. Co do odblokowania uC to może być problem bo nie wiadomo jak zablokowałeś, prawdopodobnie będzie potrzebny programator równoległy albo przynajmniej podanie taktowania z zewnętrznego generatora

-

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 zymen

Eh, jestem programistą i

Eh,
jestem programistą i przyznam szczerze, że programowanie jest znacznie prostsze. Jak coś stanowczo odmawia posłuszeństwa, to reinstaluje się system i problem znika. A tutaj? Trzeba kupić nowy procesor - $$$ :)

Spróbuję http://www.elektroda.pl/rtvforum/topic327004.html Dam znać, jak poszło.

Dzięki za pomoc,
fajna stronka,

pozdrawiam,

Portret użytkownika mirley

Re: Zablokowany Procesor

można też spróbować kupić generator kwarcowy, cena to około 4-5zł, wystarczy podłączyć zasilanie i wyjście częstotliwości do procesora

-

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 masta

atmega8

chce zaprogramowac atmega8 ale nie wiem czy potrzebuje tego rezonatora 1mhz i tych kondensatorów jesli tak to gdzie mam je podłączyć.

Portret użytkownika mirley

Re: M8 programowanie

Do czego chcesz zaprogramować ten procesor, będziesz ustawiał fusebity na zewnętrzny kwarc? Jeśli tak to kwarc podczas programowania będzie konieczny? Jeśli nie przestawisz fusebitów to na fabrycznych ustawieniach będzie 1MHz wewnętrznie generowane i kwarca nie potrzeba, a tak w ogóle to skąd wziąłeś ten informacje że trzeba rezonator 1MHz dokładać

-

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 Mateusz77892

Programator i podstawka

Zrobiłem programator AVR wg twojego projektu, podstawkę programującą, zasilane usb b GND podłączone do pinu GND podstawki programującej, +5V podłączone do UCC podstawki programującej, podstawka jest połączona z programatorem, a programator jest podłączony do portu LPT. Po włożeniu attiny2313 do podstawki, bascom nie identyfikuje nie wykrywa go, Nie wiem co jest nie tak, ścieżki sprawdzane po 20 razy dziennie bo już nie mam sily, i powiedziałbym że jest idealnie, nic nie znalazłem złego, przelutowałem to jeszcze raz poprawiłem luty i pokryłem ścieżki cyną. Dalej nic.
Powiedz mi co może być nie tak?
Jak wkoncu ma być ustawiony port LPT w biosie?
Normal? ECP? EPP? ECP&EPP? i inne ustawienia portu?
Poza tym trzeba mieć zainstalowane jakieś urządzenie na port LPT? Jakąś drukarke? Bo teaz już nie używa się LPT.
I czy jeśli mam układ (progamator->Podstawka) to czy należy z podstawki rezystory wyjąć i zamienić na zworki? Czy to że są jeszcze rezystoy w podstawce wraz gdy jest też progamator to może to być przyczyną słabszego sygnału i tym samym nie można zidentyfikować mikrokontrolera?
Może w bascomie jakieś inne ustawienia trzeba dać? ustawiłem tak jak opisałeś w tym temacie.
W bascomie klikam nowy, taką zieloną ikonkę, i chip --> identify , pokazuje się błąd ID:FFFFFF coś to oznacza?

Portret użytkownika mirley

Re: Programowanie

port LPT ma być na: ECP, żadnych urządzeń na LPT nie trzeba instalować i żadnych sterowników do lpt (broń boże).

W podstawce nie musi byc rezystorów, u mnie działa z rezystorami ale spotkałem już przypadki że nie działało więc rezystory z podstawki możesz zastąpić zworkami dla pewności.

jeśli masz programator a nie ten kabelek który ja tutaj opisuję to jasne że trzeba ustawic w bascomie inny typ programatora. Dla STK200 jest opcja STK200/300 Programmer czy coś podobnego. Same FF w ID oznaczają że wogóle nie ma żadnej komunikacji z prockiem prawdopodobnie na skutek złego typu programatora w menu. Jak są zera to często oznacza Zwarcie

-

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 gajowy

różne konfiguracje pinów LPT

witam

do tej pory nie wiele zrobiłem w kwestii uP. Nurtuje mnie taka sprawa.
Czy w aplikacjach umożliwiających programowanie uC przez ISP (np. AVRStudio) można ustawić do których pinów portu LPT podłączone są linie gniazda ISP?

Znalazłem różne konfiguracje na schematach:
(numery dotyczą pinów na LPT)
CLK MISO MOSI RST
STK200 6 10 7 9
Mirley 5 11 2 4
ZL9PROG 1 10 2 17
dioda.com.pl 7 10 6 9

to ciekawe, że nie ma tu jednego standardu, a każdy robi programatory na swoją modłę:)

pozdrawiam

Portret użytkownika mirley

Re: Piny LPT

Nic nie wiem na temat jakiegoś standardu w tym temacie. Każdy robi tak jak mu wygodnie jeśli potrafi to oprogramować a jeśli nie potrafi to korzysta z podłączeń jakie zrobili inni. To podłączenie które masz na schemacie w opisie jest bezpośrednio obsługiwane w bascomie jako "Sample electronic programmer", STK200 ma swoje wyprowadzenia ale też programuje się wybierając odpowiedni programator w Bascomie. Na temat innych podłączeń LPT do procesora się nie wypowiadam bo ich nie znam, tak samo jak nie znam i nie używam AVRStudio więc nie mogę się na jego temat wypowiadać

-

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 andrzej34

kompilacja

Witam, czy to możliwe, że "wsadu" do sterownika domowego nie chce program "darmowy" skompilować? (BASCOM). Z komunikatu chyba wynika, że jest za duży, może inna wersja?

Portret użytkownika mirley

Re: BASCOM

Darmowy kompiluje do 4kB

-

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 2ik0r

Problem z Atmega 88

Witam :)

Mam problem z Atmega88. Ładuje jej taki programik:

#include
#define F_CPU 1000000
#define LED_ONT1 sbi(DDRD,PD1);sbi(PORTD,PD1)
#define LED_ONT2 sbi(DDRC,PC2);sbi(PORTC,PC2)
#define LED_ONT3 sbi(DDRC,PC1);sbi(PORTC,PC1)
#define LED_ONT4 sbi(DDRC,PC0);sbi(PORTC,PC0)
#define LED_ONT5 sbi(DDRD,PD3);sbi(PORTD,PD3)

int main(void)
{
LED_ONT1;
LED_ONT2;
LED_ONT3;
LED_ONT4;
LED_ONT5;

for(;;)

{
}
return(0);

}

Wszystko ładnie pięknie się wgrywa. Fusuf nie ruszam więc powinno chodzić na wewnętrznym oscylatorze. Myślę że wina leży gdzieś w programiku który napisałem tylko nie wiem co jest źle :( Do pisania używam WinAVR-20040720. Programator USBasp z Avrdude 5.5 + nakładka AVR Burn-O-Mat

Portret użytkownika mirley

Re: Programowanie

Pytanie jest nie na temat, napisz na forum tak jak inni, patrz: regulamin strony. Nie pisałem nic w C dla mikrokontrolerów ale program według mnie nic nie robi poza jednorazowym ustawieniem stanu na porcie.

-

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 mordacz222

A jak programuje sie uklad

A jak programuje sie uklad at89s51 bo w notce pisze ze mozna przez isp bo posiada miso, mosi, sck, reset???

Portret użytkownika wojo

Witam. Jestem pierwszy raz na

Witam.
Jestem pierwszy raz na tym forum i bardzo wiele się dowiedziałem odnośnie programowania. ten temat był już poruszany ale kombinuje i nic się nie dzieje. mam pytanie: chce zaprogramować ATmega8 w bascom'ie . bascom wyszukuje poprawnie Uc ale przy programowaniu wyskakuje błąd "Difference at 00000" a potem od razu "READBL entrz not found" i pomimo programowania (Auto program clip) wyskakuje na dole w pasku "Verify failed"

Co się dzieje i dlaczego nie chce się zaprogramować Uc??

Pozdrawiam

Portret użytkownika mirley

Re: programowanie

... to że jesteś nowy nie zwalnia Cię od poczytania regulaminu, po co dodajesz kilka tych samych postów które potem muszę usuwać?.

Tak wogóle to czym programujesz ten procesor, jaki masz programator? to dziwne że identyfikuje poprawnie uc a potem wywala błąd. CO się dzieje po kliknięciu w "Identify Chip" w bascomie?

-

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 matrix

Re: programowanie

może kolega 2 posty wyżej nie ma podpiętego zasilania na programator. wtedy proca wykryje jak trzeba, ale po "zaprogramowaniu" mogą wyskoczyć takie kwiatki. miałem tak parę razy jak zapomniałem przepiąć przewód USB z drukarki do programatora.