Önceden yazmış olduğumuz led_yakma (_delay_ms() ile olanı) programını mikrodenetleyicimize yükleyelim.
Programı yüklemeden önce devremizin kurulu ve usbasp programlayıcımızın gerekli bağlantıları yapılmış olduğundan emin olmalıyız.
Yazmış olduğumuz programı Atmel Studio 7'de açıyoruz. (Programımızın hatasız ve önceden derlenmiş olduğunu farz ediyorum - değil ise önce derleyiniz.)
Tools ----->> External Tools seçenklerini seçiyoruz.
karşımıza şöyle bir ekran gelecek
Burada
Title : burada bir isim veriyoruz. örneğin ben usbasp328p dedim.
Buraya yazılan isim otomatik olarak hemen yukarıdaki Menu contents kısmında görülecektir.
Command : kullanacağımız program olan avrdude.exe yazıyoruz.
Argument : buraya -c usbasp -p m328p -U flash:w: yazıp hemen devamında boşluk bırakmadan yan taraftaki ok işaretine basarak önce TargetDirectory sonra TargetName 'i seçiyoruz.
yaptığımızda
-c usbasp -p m328p -U flash:w:$(TargetDir)$(TargetName)
olacak hemen devamına .hex:i yazmalıyız.
son olarak Argument : -c usbasp -p m328p -U flash:w:$(TargetDir)$(TargetName).hex:i olmalı
bu şekilde Atmel Studio'ya programlayıcımızın (-c usbasp ) usbasp , programlanacak mikrodenetleyicinin atmega328p (-p m238p), programlama işleminin flash'a yazma (-U flash:w:)şeklinde olduğunu ve hedef hex dosyasının ($(TargetDir)$(TargetName).hex:i) ne olduğunu belirtmiş oluyoruz.
Use Output window seçeneğini seçiyoruz. böylece yükleme sonuçlarını Atmel Studio'nun Output kısmında görebiliriz.
Önce Apply ardından OK 'ye basıyoruz ve External Tools ekranı kapanıyor.
Tekrar Tools menusune giriyoruz. Bu sefer karşımıza biraz önce title kısmında yazdığımız usbasp328p seçeneği çıkıyor. Bu seçeneği seçtiğimizde yükleme işlemimiz yapılıyor. Yükleme sonucunu output kısmında görebiliyoruz.
devremiz üzerinde led'imizin yanıp söndüğünü görüyorsak yükeleme işlemini başarı ile yapmışız demektir. Bu konuda herhengi bir sigorta ve osialtör ayarı yapmadık. Atmega 328p'nin default ayarlarını kullandık. İlerki konularda yükleme sırasında bu tür ayarlamaları da yapacağız.
yöntem usbtiny için de geçerli,"usbasp" yazan yerleri "usbtiny" olarak değiştirin.
YanıtlaSilusbtiny kullanmadım ama sipariş verdim ebay dan gelecek inşallah. o zaman denerim teşekkür ederim :)
YanıtlaSilelimde klon avrisp mkii var, plastik kabı çatladı. sırf onun için 8 dolara USBTinyISP aldım. plastik kap tek satılıyor (2-3 dolar) ama DHL mi EPS mi ne 20-30 dolar kargo tutuyor. satıcıya mesaj attım olumsuz cevap verdi. satış adedi zaten "0". sonrasında kabı için aldığım ürün bu; http://www.ebay.com/itm/USBtinyISP-V4-AVR-ISP-Programmer-with-Reliable-Plastic-Enclosure-/330824700564?hash=item4d06b05294:m:mTSTddO1WY-YjyNQu2TCNFg
YanıtlaSilara sıra programlanacak devreyi bağlayınca kendini kapatıyor (3-5 defada bir)
AVRISP MK2 (klon) hızlı ve sorunsuz firmware upgrade oluyor.PicProjede mod konusunu da anlatmıştım; http://www.picproje.org/index.php/topic,62435.0.html
mesajlarımı okudum da sanki çok şey biliyormuş gibi olmuş :) herşeyi yeni öğreniyorum ve siten çok faydalı, arada konu ile ilgili yorumları yazıcam. Kolay gelsin..
YanıtlaSililk başlarda ben de AVRISP MK2 almayı düşünüyorduma ama fiyatı ahalı geldi. usbasp ucuzdu alıp deneyeyim dedim hoşuma gitti onunla devam ediyorum. şimdilik bana yetiyor.
YanıtlaSilyorum yazarsanız sevinirim.özellikle eksik veya yanlış gördüğünüz noktaları belirtirseniz faydalı olur.
barış bey aldıgım usb asp ile program yükleyemiyorum. yukardaki işlemleri yaptım, 328 ile bağlantıları kontrol ettim fakat program cannot set sck period rc = -1 hatası veriyor. usb driver falan da güncelledim ama sorunu bulamadım. yardımcı olabilir misiniz.
YanıtlaSiliki yerde hata olabilir. biri yukarıda anlattığım yazılımla ilgili kısımları tam yaptığınızdan emin olmalısınız. ikincisi devreyi breadboarda kuruyorsanız bu hatayı alma ihtimaliniz yüksek pinler tam oturmuyor veya gevşeklik oluyor bundan kaynaklanıyordur. Bir diğer nedende atmelin sigorta ayarlarıyla uğraştıysanız yanlış birşeyler yapmış olabilirsiniz. özellikle bazı sigorat ayarlarına dokunmamanız gerekiyor..
Silbarış öncelikle tesekkur ederim. daha önce pic ve arduino ile ufak tefek şeyler yaptım.
Silusbasp altındaki pinlerle 328 in pinleri arasını avometre ile kontrol ettim bir sorun yok. sigorta ayarlarını bilmiyorum dolayısıyla oynamadım. yazdığınız ayarları aynen yaptım. programlayıcının kartla bağlantısını çıkardığımdada aynı hatayı alıyorum 328 veya usbasp nin bozuk olabilirmi ve windowsun güvenlik ayarları ile ilgili olabilir mi
ben board üzerinde program yüklerken tüm bağlantılar doğru olduğu halde bu hatayı alıyordum. programlayıcıdan board tarafında programlayıcıdan gelen kabloları bastırarak program yüklüyordum. programlayıcıdan gelen kablo ile programlama pinleri arasında uzun kablolalama yapmayın. mümkün olduğu kadar programlayıcıdan çıkan kabloyu atmeganın programlama pinlerine yakın bir yere takın.
Silwindows güvenlik duvarıyla ilgili olduğunu düşünmüyorum . windows veya virüs koruma programlarını kapatıp deneyebilirsiniz.
ürünlerin bozuk olma ihtimali de olabilir. bunu da yeni bir atmega alıp deneyerek kontrol edebilirsiniz. ama ben hala bağlantı konusunda sıkıntı olduğunu düşünüyorum .Özellikle baord üzerinde işlem yapıyorsanız.
barış bey kabloları kısalttım ama sonuç aynı. -F parametresini kullanınca
YanıtlaSilavrdude: warning: cannot set sck period. please check for usbasp firmware update
.
avrdude: error: programm enable: target doesn't answer. 1
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions
avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
çıkıyor heralde benim 328 bozuk
aklıma başka birşey gelmiyor. dediğiniz gibi geriye 328 i değiştirmek kalıyor. sonuç aldığınızda haber verirseniz sevinirim.
YanıtlaSilbarıs bey uzun zaman oldu ama cevap veriyim dedim. 3. usbasp çalıştı hemde ilk seferde . diğerlerinde ne yanlıştı Anlamadım statik elektrikten falan bozulmus olabilir. İlginiz ve yardımlarınız için teşekkür ederim.
YanıtlaSilTeşekkürler kolay gelsin. Büyük ihtimalle usbasp yazılımı ile ilgili de olabilir.
SilSlm arkadaşlar. Ben arduino dip klon r3 un 16u2 cipini mkii olarak programladim. Bu yöntemle baglantilari kurarak arduino bootlarini islemciye yukleyebiliyorum.ancak ben atmega 8 e usbasp boot u yuklemek istiyorm. Elimde hex dosyasi var ancak arduino ide nin listesinde dogal olarak yok. Elimdeki imkanlar sınırlı ancak bu yöntemle yükleneceğini zannediyorm. Konu bilen varsa yardimci olursaniz cak memnun olurum :)
YanıtlaSilKusura bakmayın yorumunuzu yeni gördüm. Fazlasıyla meşguldüm ve blogu ihmal ettim biraz. :( dediğinizi yapabildiniz mi?
SilYükledim hatta bilgisayarada usbasp olarak tanıttım ancak sanırım sigorta ayarlarını yapamadım bu yüsden usbasp çalışmadı en sonunda da çipi bozdum:( ve halen mağdurum ve başka yollar araştırıyorum. Konuyu bilen arkadaşlardan yardım bekliyorum .
SilUsbasp yi başka cihazlarla çalıştırabildiniz mi? bazı usbasp lerin yazılım versiyonlarının güncellenmesi gerekiyor.
SilElimdeki son yazılimı 2011 yazılımı.usbasp olarak çalıstirmak istediğim çip ise atmega8a pu idi.okuttugum fuse ise L=0×E1 H=0×D9. Bu aslında fabrika ćıkışı. Olması gereken neydi deneyemedim çünki her kaynak farklı yaziyo.
YanıtlaSiliki farkli devrede denedim ama olmadı.ben saadece doğru fuse ayarlarini yükleyemedigimi düşünüyorum. Bi yerinde 8mhz secimi yaptim yükledim ve birden bilgisayar aygiti tanimaz oldu ve devremin ışığı söndü. Bana en yakin yer samsun ordada bu çip yoktu. Istanbulda bi arkadaşa siparis verdim ancak hala gelmedi. Ulkemi gerçekten bu konuda cok geride. Bilgi ve destek cok zayıf. :(((
Siliki farkli devrede denedim ama olmadı.ben saadece doğru fuse ayarlarini yükleyemedigimi düşünüyorum. Bi yerinde 8mhz secimi yaptim yükledim ve birden bilgisayar aygiti tanimaz oldu ve devremin ışığı söndü. Bana en yakin yer samsun ordada bu çip yoktu. Istanbulda bi arkadaşa siparis verdim ancak hala gelmedi. Ulkemi gerçekten bu konuda cok geride. Bilgi ve destek cok zayıf. :(((
SilFuse ayarları atmelde en sıkıntı olan ayarlar. ben mümkün olduğu kadar dokunmamaya çalışıyorum. değiştirmek istediğim zaman 5-10 defa abartısız kontrol ediyorum. en son emin olunca programlıyorum. fuse ayarları hatlı olunca programlayıcı entegreyi tanımıyor. bunun tek çaresi bu linkteki devreyi yapmanız .
Silhttps://320volt.com/atmel-avr-fuse-bit-onarim-devresi-atmega-fusebit-doctor/
Yardımlarınız için gerçekten çok teşekkür ederim. Bu devreyi daha önceden indirmiştim. İlerde denicem. Birde atmega8 usbasp için fuse ayarlarını yazarmısınız. Ayrıca bu fuse ayarı hex kodu yüklenmeden öncemi yapılmalı yoksa sonramı.
YanıtlaSilSon ćalıßmamda 8051 seri programci devresi kurdum. 4-5 tane parça eksik. Temin ettiğimde onuda denicem. Ćalışırsa burda paylaşıcam.ancak bir kac ayı bulur sanırım.
YanıtlaSilSon ćalıßmamda 8051 seri programci devresi kurdum. 4-5 tane parça eksik. Temin ettiğimde onuda denicem. Ćalışırsa burda paylaşıcam.ancak bir kac ayı bulur sanırım.
YanıtlaSilYardımlarınız için gerçekten çok teşekkür ederim. Bu devreyi daha önceden indirmiştim. İlerde denicem. Birde atmega8 usbasp için fuse ayarlarını yazarmısınız. Ayrıca bu fuse ayarı hex kodu yüklenmeden öncemi yapılmalı yoksa sonramı.
YanıtlaSilfuse ayarını neden yapmak istiyorsunuz ? default ayarları ile fuse ayarı yapmadan atmega 8 i kullanabilirsiniz. üzerinde hali hazırda fuse ayarları zaten vardır. veya fuse ayarlarında neyi değiştirmek istiyorsunuz.?
YanıtlaSilhttps://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-2486-8-bit-AVR-microcontroller-ATmega8_L_datasheet.pdf buradan atmega 8 in datasheet i var. sayfa 216ve 217 deki fuse ile ilgili bir tablo var bu tabloda fuse için kullanılan registerlar veriliyor. datasheet içersinde bu registerları bulup ayarlarını istediğiniz gibi yapabilirsiniz. fuse ayarları şöyle omalı böyle olmalı diye sabit bir ayar yok. bu sizin yapacağınız devre ile alakalı . dediğim gibi hali hazırda üzerinde zaten fuse ayarları var . datasheet sayfa 217 table 88in alt kısmında notes 2 de : The default setting of CKSEL3..0 results in internal RC Oscillator @ 1MHz. yazıyor . yani sizin atmega 8 iniz normalde dahili rc osilatörile 1MHz de çalışacak şekilde size geliyor. bu şekilde kullanabilirsiniz.
YanıtlaSilTeşekkür edrim ilgilendiğiniz için. Atmega8 i usbasp de kullanmak istiyorum. Bi sitede bunun ićin h fuse =0xc9 Lfuse =ef tavsiye etmiş. Baàka kaynaklarda baska yaziyo. Bilemedim fabrika çıkisını mı kullansam bunumu.zaten fabrika cikisinda çalistiramadim.bilgisayarda programda görüyo ancak programlama yapmak istediğimde aygitiniz arizali falan diyo...
YanıtlaSildediğim gibi hangi osilatörü kullanacağınıza ve hangi frekansta çalıştıracağınıza bağlı olarak hfuse ve lfuse değeri değişir. hassas bir zamanlama işi yapmayacaksanız veya hassas biryerde kulanmayacaksanız fabrika çıkış değerlerinde kullanabilirsiniz. eğer breadboard üzerinde deneme yapıyorsanız hata alma ihtimaliniz çok yüksek. Usbasp ile board arasındaki kablo kısa olsun ve kabloyu boarda taktığınız noktada elinizle konnektörü biraz basılı tutarak programlamayı deneyin.
Sil12 mhz kristal kullandim. Zaten saadeece onda taniyo bilgisayar.verdiniz bilgiler icin teşekkür edrim. Devre icin yenni yöntemler denemeye zamanim olmadi. Test ertiğimde sonucu sizinlede paylaşicam 😊
YanıtlaSilYeniden selamlar deneylere basladim atmega 8 i usbasp olarak ayni yöntemle progranlayip calistirdim biraz yavaş calisiyo ama calisiyo. Sigorta ayarlarini degistirmedende caliyo sanirim sorun a serisi olmasiymis😊
YanıtlaSilBilgilendirmeniz için teşekkürler.
SilSimdi at89s52 icin bi devre yaptim bitirdim ama bilgisayarin rs232 portu sanirim bozuk test edemiyorum.rs232 yi usbye dönüsturecek bi devre varsa bildiniz iyi olacak yardimlariniz icin simdiden tesekkürler😊
YanıtlaSilrs232 yi usb ye dönüştürecek hazır modüller var ondan kullanabilirsiniz..
Silhttps://www.robotistan.com/pl2303-usb-ttl-seri-donusturucu-karti-prolific-rs232-ftdi-donustucu
veya kablolar var
https://www.hepsiburada.com/alfais-4891-usb-rs232-cevirici-donusturucu-9-pin-uydu-receiver-guncelleme-kablosu-pm-HB00000CE88B
8051 tipi işlemcileri destekliyor mu acaba
YanıtlaSil