bayram's profilebayram adlı kullanıcının...PhotosBlogListsMore ![]() | Help |
|
|
bayram adlı kullanıcının alanıhepinize merhaba February 23 matemapıc
pıcPic
mikro işlemci
picNihayet en çok merak edilen konulardan bir tanesi olan PIC programlamaya gelebildik. Konuya girmeden önce, maillerine hala cevap yazamady?ym okurlardan özür diliyorum. Çok fazla sayyda mail geldi?i için, geri dönmem biraz zaman alyyor. Ynternet sayfamyzy da unuttu?umu söyleyen okurlar oldu. Gerçekten, synavlar, i? güç derken uzun süredir sayfa ile ilgilenemedim. Bunu ?ubat ayy içinde telafi edece?im. PIC programlama, öyle çok kysa bir ?ekilde anlatylacak bir konu de?il. Bu güne kadar ö?rendi?imiz bütün bilgiler, burada i?imize yarayacak. Yyide ho?ta, PIC te neyin nesi? diyen okurlarymyz olabilir. Bu sebeple biraz açyklamakta fayda görüyorum. PIC, giri? çyky? elemanlarynyn denetimini çok hyzly olarak yapabilecek bir ?ekilde dizayn edilmi? bir chip'tir. Örne?in, lamba, röle, motor, ysy ve benzeri sensörlerin denetimi bu chipler ile yapylabilir. Daha önceden geli?tirdi?miz uygulamalaryn, çaly?abilmesi için, bir bilgisayara ve üzerindeki paralel yada seri porta ihtiyaç duyuyorduk. PIC programlamayy ö?rendikten sonra bu uygulamalary, bilgisayardan ba?ymsyz bir hale getirebilece?iz. Bu chip'ler, RISC (Reduced Instruction Set Computer) mimarisi ady verilen bir yöntem kullanylarak üretildiklerinden, bu PIC leri programlamak için gereken komutlar oldukça basit ve sayy olarak azdyr.
Uygulamalarymyzy, PIC 16F84 serisi ile gerçekle?tirece?iz. Bu chip PIC16C84 olarakta bilinir. Ykisininde birbirinden hiçbir farky yoktur. Bu chip'i tercih etmemizin en büyük nedeni, FLASH teknolojisi ile üretilmi? olmasydyr. Flash memory 'e yüklenen bir program, chip'e uygulanan enerji kesilse bile silinmeyecektir. Flash bellekler, bu özellikleri ile EEPROM bellekler olarakta bilinirler. PIC lerde memory çe?itleri üç tiptir, EPROM (Erasable PROgrammable Memory): Bu bellek tipine, elektrik sinyali ile kayyt yapylyr. Silip yeniden ba?ka bir program yazabilmek için mor ötesi y?yk altynda bir süre tutmak gerekir. Bu i?lem EPROM silici denen cihazlarla yapylyr. PIC 16F84 üzerindeki flash memory sayesinde, chip üzerine bir program yazdyktan sonra, herhangi bir silici cihaza gereksinim duymadan ve beklemeden, kolayca programy silmek yada yeniden programlamak mümkündür. PIC 'ler, PIC Assembly ile programlanyr. Toplam 35 komuttan olu?ur. Herhangi bir text editörü ile kodlary yazmak mümkündür. Bu kodlary derleyecek birde programa ihtiyacymyz olacaktyr. Biz, Microchip firmasynyn üretti?i, www.microchip.com adresinden de ücretsiz olarak indirebilece?iniz MPASM derleyicisini kullanaca?yz. Tercih yinede size kalmy?. Ba?ka derleyicilerde bulmak mümkün.
MPASM ile, makina diline çevrilmi? olan bu program kodlaryny, PIC 'e yazmak için, bir PIC programlayycy devresine ihtiyacymyz var. Bu karty, kendimiz yapabilece?imiz gibi, hazyr olarakta almamyz mümkün. E?er hazyr bir PIC programlama kiti almak istiyorsanyz, ProtoPIC ady verilen ve www.tekno-market.com adresinde de satylan, Infogate firmasynyn üretti?i bu karty da almanyz mümkün. E?er satyn almak istemiyorsanyz, kendiniz de yapabilirsiniz. Bunun için, syk olarak kullanylan Sam J. Engstrom ' un geli?tirdi?i, seri port üzerinden PIC 16F84 programlayycy devresinin ?emasyny veriyorum.
PIC16F84, çok az enerji harcar. Flash belle?e sahip olmasy nedeni ile, clock giri?ine uygulanan sinyal kesildi?inde registerleri içerisindeki veri bozulmadan durur. Sinyal tekrar verildi?inde, program kaldy?y yerden devam eder. RA0-RA3 pinleri ile RB0-RB7 pinleri giri? çyky? portlarydyr. Ayny daha önceki paralel port uygulamalarymyz gibi çaly?yr. Bu portlar ile dy? ortama gönderilecek sinyaller, dü?ük olacaktyr. Bu nedenle, sinyalleri güçlendirmek için daha önce kullandy?ymyz, röle ve transistör gibi ek elemanlara ihtiyacymyz olacaktyr. Yinede bu enerji, ayny paralel porttaki gibi LED yakmak için yeterlidir. Portlaryn maksimum sink akymy 25mA, source akymy ise 20mA dyr. Kö?eye ve elektroni?e yeni giri?en arkada?laryn hevesini kyrmamak için kullandy?ym terimleri azda olsa açyklamaya çaly?aca?ym. Kendimdende biliyorum çünkü, ilk bu i?lere heves etti?imde nezaman elime bir elektronik kitaby alyp okumaya ba?lasaydym, mutlaka anlamady?ym bir sürü ?ey olurdu. Sonradan kastyryp dururdum nedir ne de?ildir diye.
Vss (5) -Vdd (14) uçlary (Besleme): Herneyse, Sink akymy gerilim kayna?yndan çyky? portuna do?ru akan akyma, Source akymy ise ise GND (toprak) ucuna do?ru akan akyma denir. PIC16F84 ün çekti?i akym, besleme gerilimine, portlardaki yüke ve clock giri?ine uygulanan saat sinyalinin frekansyna göre de?i?ir. Besleme gerilimi +5 Volt olarak, 5 numaraly Vdd ucundan, toprak ba?lantysyny ise 14 numaraly Vss ucundan girilir. PIC 'e ilk kez enerji verildi?inde, meydana gelebilecek gerilim dalgalanmalary nedeniyle olu?abilecek aryzalary önlemek amacy ile, Vdd ile Vss arasyna 0.1µf lik bir dekuplaj kondansatörü ba?lamakta fayda vardyr.
Daha önce seri portu anlatty?ymyz sayyda, saat (clock) sinyalinde bahsetmi?tik. Clock sinyali, pe?i syra gönderilen lojik "1" ve "0" darbelerinden olu?ur. Bu darbelerin araly?y, clock sinyalinin frekansyny belirler. Bu sinyali üretmek için osilatör devreleri kullanylyr. Bu devrelerin en klasi?i RC devreleridir. Bir RC devresi adyndanda anla?ylaca?y gibi, bir direnç ve kondansatörden olu?ur. Bu tip osilatörler, zamanlamanyn çok önemli olmady?y durumlarda kullanylyr. Sinyal üretme manty?y çok basittir. +5 Volt de?eri, kondansatör doluma ula?ana kadar topra?a akmak isteyecektir. Kondansatör doldu?u anda gerilim OSC1 giri?ine akar. Kondansatör tekrar bo?alyr ve i?lem ba?a döner. Böylece kondansatörün dolup bo?almasyna dayanan pe?isyra bir darbe sinyali üretilmi? olur. OSC1 ucuna uygulanan bu frekansyn dörtte biri OSC2 ucundan çykar. Bu sinyalle de di?er bir eleman sürülebilir. Clock sinyalli RC osilatör devrelerinin dy?ynda kristal kontrollü osilatörler yada seramik resonatörler kullanylabilir. Ylk ba?larda çok hassas zamanlama gerektiren devreler yapmayaca?ymyz için RC tipi osilatör bizim i?imizi görecektir. Giri?/Çyky? Portlary (RA0-RA3 ve RB0-RB7): PIC16F84 te 13 adet giri?/çyky? portu vardyr. Bunlardan 8 tanesi B portu (RB0-RB7) di?er 5 tanesi de A portudur (RA0-RA4). Bu portlar giri? veya çyky? için programlanabilir. Programlama kysmyny bir dahaki sayyda inceleyebilece?iz. Bu portlardan geçebilecek sink yada source akymlary bir LED i sürmek için yeterli enerjiyi verecektir. Çyky? akymynyn az geldi?i durumlarda yükseltici devreler kullanylabilir. B portunun 8 ucu sanki 50K ohm luk dirençlerle Pull-up yapylmy? gibi etki gösterir. Bu port uçlaryndan bir tanesi çyky? olarak ayarlandy?ynda o uçtaki pull-up direnci iptal edilir. Bu kysymlary uygulama syrasynda daha rahat kavramak mümkün olacaktyr. Reset Devresi ve ucu (4): PIC16F84 e gerilim uygulandy?ynda, programyn ba?langyç adresinden itibaren çaly?masyny sa?layan bir reset devresi vardyr. Terslenmi? olan MCLR (4) ucu ile, programyn kullanycy tarafyndan kesilip ba?tan ba?latylmasy sa?lanabilir. Bunun için MCLR ucuna +5V 'luk gerilim uygulamak gerekir. Bu i?lem bir buton ile yapylabilir. PIC Assembly Assembler, text editöründe yazdy?ymyz komutlary, PIC 'in anlayabilece?i hexadesimal kodlara çeviren bir programdyr. Bilgisayarynyzdaki i?lemicininde, programlanmasy yine bu dile dayanyr. Kysacasy Assembler bilgisayar dillerinin en kökte olanydyr. Assembly kodlaryny kavramak ve kullanmak oldukça zordur. Do?rudan adresler ile çaly?mak gerekir. Komut yerine ço?u zaman sadece rakam ve harf yazarsynyz. Kary?yk olsa bile anla?ylmaz de?ildir. Bir dahaki sayyda gerçekle?tirece?imiz ilk PIC programynda, bir çok komudun kullanymyny anlamanyz mümkün olacaktyr.
Alta? Yayynlary Bu kitap bize her zaman destek olan ERA Bilgi Sistemleri ve Yayyncylyk firmasynyn destekledi?i bir kitap. ERA 'nyn da bu konu ile ilgili güzel kitaplary bulunmakta. Size tavsiyem bu kitaby edinin. Gerçekten çok faydaly ve anla?ylabilir bilgiler içeriyor. Ayryca yine kaynak olarak kullandy?ym, Sam J. Engstrom 'un http://www.pp.clinet.fi/~newmedia/sengelec/index.html adresli sayfasyna bir göz atyn. Bu adresten ?emasyny verdi?im PIC programlama kiti hakkynda ve uygulamalar hakkynda linkler bulmanyz mümkün. Birde sitemize yeni eklenen bir link gözüme çarpty. http://picpro.cjb.net adresine de bir göz atyn bence. Uygulamaly yazylar sizler tarafyndan daha çok tutuldu?unu biliyorum. Paralel port ile olabilecek bir çok uygulamayy gerçekle?tirdik bu güne kadar. Gerisi sizin yaratycyly?ynyza kalyyor birazda. PIC programlamayy ö?rendikten sonra, biraz Yapay Zeka programlamadan bahsedece?iz ve örnek programlar geli?tirece?iz. Daha sonrada adym adym, bilgisayar kontrollü basit bir robot yapaca?yz. Daha sonra da bir ev otomasyonu projemiz olacak. Örne?in parmak iziniz ile evinizin kapysyny açabilece?iniz bir devre gerçekle?tirece?iz. Esasynda yapylabilecek çok fazla ?ey var ama, bir noktadan sonra i? tamamen maddi güce dayanyyor. www.robotstore.com adresine girdi?iniz zaman neredeyse bütün parçalary almak istiyorsunuz. Fakat kargosuyla birlikte oldukça pahalyya geliyor. O bakymdan robot tasarlarken, mümkün oldu?u kadar bulabilece?imiz malzemeleri seçmeye özen gösterece?im. Bu aylykta bu kadar. Bir dahaki sayyda yine PIC programlamayy anlatyyoruz. Bu sefer programlama kysmyna de?inece?im ve bir uygulamamyz olacak. Uygulama sever okurlara duyurulur :) . Görü?mek dile?iyle, ho?çakalyn. |
There are no categories in use.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
|