Programlanmış Mikrokontrolörü Çalıştaracak Devre

lamneth

Üye
Katılım
8 Şub 2010
Mesajlar
40
Puanları
1
Yaş
36
Merhaba arkadaşlar,

Burada Pic veya Mikrokontrolörler nasıl programlanır çok güzel konular var. Fakat ben bu mikrokontrolörü çalıştırmak için nasıl bir devre yapmam gerekir? Mesela PIC16F84'ü programladım, bunun içindeki programın işlenmesi için nasıl bir devre tasarlamam gerekir?

Teşekkürler.
 
Öcelikle tam aradığın sorunun cevabı için a dan z ye cevapları megep sitesindeki mikrodenetleyici ve mikroişlemci konu başlıkları altında anlatılan dökümanlarda bulabilirsin bu dökümanlarda mikrodenetleyiciyi programlamak için kullanılan mplab programının bilgisayara kurulumu ve kullanımı, basit bir seri port programlayıcı yapımı ve yazdığın programları denemek için bir deney devresi yapımı dahil anlatılıyor, link vermeme gerek yok nette megep mikrodenetleyici vs. şeklinde aratırsan heryerde bulabilirsin. Bende genel olarak bahsedecek olursam; mikrodenetleyici küçük bir bilgisayar gibidir, içerisinde işlemci, hafıza, giriş çıkış birimleri ( bilgisayara benzetme yaparsak klavye bağlamak için usb girişi, veya ses almak için hoparlör çıkışı gibi) bulunur. Mikrodenetleyici aileleri çok çeşitlidir, birkaç üretici vardır ama genel olarak rahatlıkla örnek bulabileceğin microchip firmasının ürettiği mikrodenetleyicilerdir, pic olarak adlandırılmıştır pic 16f84 , pic 16f877 gibi mikrodenetleyiciler microchip firması tarafından üretilmişlerdir. Mikrodenenetleyiciyi programlamak için bilgisayar programı olarak mplab kullanılır bu programın kullanımını bahsettiğim kaynaktan veya başka kaynaklardan incelemek gerekir, programlama için en temel dil assembler dilidir bu dilde makina dilinin bir üstüdür yani makina 1 0 ile çalışır bu dilin komutlarıda kullanılan mikrodenetleyiciye göre bu 1 0 ların belli uzunlukta (14 bit yani 14 tane 1 0 gibi instruction set (komut seti) olarak hazır paketler haline getirilmiş insanların işlevlerini kolaylıkla anlayabileceği aklında tutabileceği bir sistem geliştirilmiştir, assembly dilinden sonra yüksek seviyeli diller diye tabir edilen c, c++, basic, proton gibi diller gelir (ben bu dilleri hiç kullanmadım) bu dillerle program yazmak daha kolaydır çünki bu dillerde programcının yapmak isteyeceği genel işlemler assembler dili ile yazılmış ve küçük paket programlar haline getirilmiş ve bu paketler komut gibi kullanılacak şekilde programcıya sunulmuştur örneğin assembler ile program yazıp 1 saniiyelik bir gecikme oluşturmak için temel komutları kullanıp 5-10 satır lık bir algoritma- mantık dizisi oluşturmak gerekirken yüksek seviyeli dillerde bu programcıya atıyorum delay 1sn yazıp bu gecikmeyi tek satırda halletmesine olanak tanır. eğer bir program yazıldıysa yine bu kullanılan dile göre mplab içerisinde uygun ayarlarla derlenir derleme bizim anladığımız dilde yazılan programın makinanın yani mikrodenetleyicinin anlayacağı dile çevrilmesi işlemidir bu iş temelinde epey karışıktır ama korkmaya gerek yok çünkü mplab programı bu işi bizim tek tıklamamızla halleder, derlenmiş program bir hex dosyası oluşturur bu hex dosyasının mikrodenetleyiciye aktarımıda çoğu mikrodenetleyici için farklı farklı işlemler gerektirir fakat bu işlemleride bizim için yerine getiren mikrodenetleyici ile bilgisayarı birbirine bağlayan ve bu program aktarımı işini bizim için birkaç tıklama kadar basit hale getiren hazır programlayıcılar mevcuttur (benim tavsiyem pickit2 adındaki usb programlayıcıyı (50-60 lira) almanız, ben kullanıyorum hiç sorun yaşamadım. Programı mikrodenetleyiciye attıktan sonra ya hazır deneme kartı alıp yazmış olduğunuz programı denersiniz yada bunun için başlangıç olarak breadboard a kullanılan picin datasheetinde belirtilen besleme ve kristal bacak bağlantısına uygun bir devre kurup hangi bacağa ne işlev atadıysanız onunla ilgili bağlantıları yapıp deneme yapabilirsiniz. Bu anlattıklarımdan aslında pek birşey anlamamış olmanız gerekli eğer böyleyse normaldir, ancak mikrodenetleyici ile ilgili biraz uğraşıp zaman geçirdikten sonra anlattıklarımın çok basit şeyler olduğunu görebilirsiniz. Bunların haricinde hazır yazılmış hex dosyası oluşturulmuş programları pice atmak bahsettiğim pic programlayıcı devreleriyle halledilmesi çok kolay bir iştir ve bu gibi hazır yazılmış programların isis vs. şeklinde devre şemalarıda mevcut olan örnekler nette bolca bulunur, pic programlamayı hiç bilmedende elinize bir pic programlayıcı alıp hazır bir hex dosyasını pice atmak 1-2 dk nızı almayacak sürede öğrenilebilir, ve devreyi kurmakta sizin elektronik bilginize kalmış birşeydir ve diğer entegrelerle devre kurmaktan hiçbir farkı yoktur isterseniz öncelikle böyle denemel yapıp konu hakkındaki hevesinizide arttırabilirsiniz fakat bu şekilde devam etmeye kalkarsanız yapabilecekleriniz ancak halihazırda yapılmış olanlarla sınırlı kalır diğer taraftan mikrodenetleyici ile yapılabilecekler neredeyse hayalgücünüzle sınırlıdır.
 
karaapak çok teşekkür ederim kardeşim. mikrodenetleyiciyi çok güzel özetlemişsin. yalnız bunları ben biliyorum yani mikrodenetleyici konusunda sıfır değilim.

sanırım senin demek istediğin şöyle bir şey; ben mikrodenetleyici programını yazdım, derledim, hex dosyasını da mikrodenetleyiciye attım. elimde hazır mikrodenetleyici bulunuyor. tamam buraya kadar her şey güzel.

benim sormak istediğim, bu içerisinde program bulunan mikrodenetleyiciyi çalıştırmak için, her mikrodenetleyici için, kristal, kapasitör gibi elemanların bağlanması gerekiyor ya, bunlar standart mıdır? yani PIC16F84 veya başka bir mikrodenetleyici için her birinde bu devreler standart mıdır? tabi diğer yandan ben bu mikrodenetleyici ile ne yapmak istiyorsam, ilgili portuna input veya outputları bağlamam gerekecek. bunlar ayrı mesele. sadece sormak istediğim benim, herhangi bir mikrodenetleyicinin çalışabilmesi için, besleme, kristal ve kapasitör ve başka bir donanım gerekliyse, bunları bağlama şekli hep standart mıdır?

teşekkür ederim.
 
RC, kristal, rezonatör gibi osilatörler vardır bu osilatörlerin tiplerine göre bağlantı şekilleri bulunur, ayrıca kullanılan osilatör tipine göre mikrodenetleyici konfügürasyon ayarlarında ilgili ayarlama yapılır, ayrıca bazı MD.lerde dahili osilatörde bulunur buda configuration ayarlarında belirtilip kullanılabilir, yine besleme ve osilatör dışında MCLR diye bir bacak vardır (master clear) bu bacağı 4.7 k gibi bir dirençle +5 V çekmek gerekir eğer bu bacak 0 V a çekilirse md. ye reset atılır, bu yüzden bu bacağı +5V ta tutmak gerekiyor bazı md.lerde bu bacakta normal giriş çıkış pini olarak kullanılabiliyor sadece bu ayar yapıldığında + ya bağlamadanda md. çalışır ama böyle bir durumla pek karşılaşmazsınız. Yine başta bahsettiğim bağlantı şekilleri için birönceki mesajımda söylediğim gibi megep dökümanlarından faydalanabilirsiniz, veya nette mevcut örneklere bakıp bağlantıları inceleyebilirsiniz, veya bu bağlantıların esas kaynağı olan elinizdeki picin datasheetindeki ilgili bölümleri inceleyebilirsiniz. Bunların dışında şunu söylemek istiyorum öncelikle bir pic mesela bahsettiğiniz 16f84 gibi bir picin tüm özelliklerini nasıl kullanıldığını anlarsanasız zaten genel olarak diğer piclerde bağlantı aynımıdır ne farklar vardır gibi soruların cevapları kendiliğinden gelir açıkca söylemek gerekirse ben bu güne kadar sadece 3 farklı pic için program yazdım fakat genel olarak hepsi hakkında fikir sahibi oldum herhangibir pice program yazacak olsam bir picte uzmanlaşmış olduğum ve dilinden anladığım için diğerlerininde az çok ne gerektirdiğini tahmin edebiliyorum.
 

Forum istatistikleri

Konular
128,407
Mesajlar
917,352
Kullanıcılar
450,312
Son üye
ErkanGlc

Yeni konular

Geri
Üst