Adim Pic Dersleri! <hr style="COLOR: #e2e1e1" SIZE=1>
Arkadaşlar alıntı olarak hazırladığım bu pic dersleri mutlaka işinize çok yarayacak...TAM 15 derste anlatılmaya çalışılmış belli bir kısmı.Mutlaka bakın derim...
PIC DERSLERI BURDA:PIC DERSLERI_1004_KBYTEMİKROİŞLEMCİ NEDİR?
Türkçepaylaş sitesinde şuan sorun var sanırım site açılmıyo yani link kırık diil site açılınca kontrol eden arkadaşlar sağlam olup olmadığını belirtsinler lütfen...
--------------------------------------------------------------------------------
Genel bir ifadeyle bir esas işi yapan kısmı olarak isimlendirilebilecek olan mikroişlemciler hakkında biraz daha ayrıntılı bir açıklama şu şekilde yapılabilir:
Bir dijital bilgisayar üç temel kısımdan oluşmaktadır.
Merkezi İşlem Birimi - MİB (Central Processing Unit – CPU)
Program ve Veri Hafızaları (Program and Data Memory)
Giriş – Çıkış Birimleri (Input – Output Units)
Merkezi İşlem Birimi (MİB / CPU), verileri işleme ve sistemi oluşturan çeşitli birimler arasında bilgi akışı kontrolü işlemlerini gerçekleştirir. Veri işlemenin büyük çoğunluğu MİB de yer alan Aritmetik Lojik Birim üzerinde gerçekleştirilir.
Ancak bu işlemlerin gerçekleştirilmesi sırasında Kod Çözme Kontrol Birimleri ile çeşitli Saklayıcılar (Registers) da çok yoğun olarak kullanılır. İşte bu merkezi işlem birimini oluşturan çeşitli alt birimlerin tek bir entegre devre üzerinde gerçekleştirilmiş – üretilmiş haline Mikroişlemci (Microprocessor) adı verilir. Bir mikroişlemci kullanılarak hazırlanmış bilgisayarlara mikrobilgisayar denilmektedir. Hafıza ve giriş-çıkış birimlerinin miktarı, türü ve kapasitesi uygulamaya bağlı olarak değişir.
İsimlendirmede kullanılan mikro adı ise işlemcinin veya bilgisayarın yeteneğinin kısıtlılığını değil, boyutlarının küçüklüğünü belirtmek için kullanılır. Modern gelişmiş mikroişlemcilerde bir kaç milimetre karelik alanda milyonlarca transistör yer almaktadır. Örneğin Pentium II işlemcisinde (ön hafıza, cache memory) hariç 7.5 milyon adet transistör bulunmaktadır.
Mikroişlemcilerin tarihsel gelişimine kısaca bir göz atılacak olursa ilk mikroişlemcinin bir hesap makinesinde kullanılmak üzere INTEL firması tarafından 1971 de I4004 adıyla üretilen 4 bitlik bir işlemci olduğu görülür. Bu tarihten önce bilgisayarların MİB leri önceleri elektron tüpleri ve röleler daha sonraki dönemde ise transistörler ve çeşitli elektronik devreler kullanılarak hazırlanıyordu.
Çok büyük yer kaplayan ve çok güç tüketen bu eski bilgisayarlar ortam şartlarına karşı da çok duyarlıydılar. İşlem kapasitelerinin çok kısıtlı olmasının yanı sıra sürekli bakım gerektiriyorlardı.
Bir fikir vermesi açısından 1945 de Pennsylvania Üniversitesinde tamamlanan ENIAC isimli ilk bilgisayarın 30 metre boyu ve 30 ton ağırlığı olduğunu söyleyebiliriz. 18,000 radyo tüpünden oluşan cihaz 100 Kwatt güç harcamaktaydı. 1971 deki, bilgisayarın temel elemanı kabul edilen MİB ‘in tek bir entegre devre içine sığdırılarak üretimi, yarı-iletken teknolojisinde, transistörün keşfi gibi bir sıçrama gerçekleştirmiştir.
INTEL, özel sipariş üzerine geliştirdiği 4 bitlik I4004 (1971) ve 8 bitlik I8008 (1972) entegre devrelerine ilk müşterilerinden başka bir ilgi beklemediği için üretim hattını düşük kapasitede tutmuştu. Ancak aksine bu işlemciler büyük bir ilgi gördü ve 1974 de genel amaçlı ilk 8 bitlik MİB olan I8080 işlemcisini üretti. Bu işlemciye büyük bir talep oldu ve kısa bir zamanda I8080 endüstri standardı oldu.
İki yıl sonra 1976 da daha gelişmiş bir model olan I8085 üretildi. Bu arada 1975 yılında sektörün ikinci önemli ismi olan Motorola firması da MC6800 adındaki işlemciyi piyasaya sürerek o günden itibaren süre gelen bir yarışa katılmış oldu. Mikroişlemcilerin sınıflandırılmasında önemli bir ölçü olan bit sayısı işlemcinin üzerinde işlem yapabildiği en uzun verinin bit sayısını gösterir.
Kelime uzunluğu (word lenght) de denilen bu parametre 4 bit, 8 bit, 16 bit, 32 bit gibi değerler alabilmektedir. Bu değer aynı zamanda işlemcinin saklayıcılarının ve veri yolunun genişliğini de gösterir. Ancak bazen harici ve dahili veri yolları farklı genişliklerde olabilir. 1978 yılında ilk 16 bitlik işlemcisi olan 8086 yı üreten INTEL bir yıl sonra 1979 da harici veri yolu genişliği 8 bit olmanın dışında 8086 ile aynı yapıya sahip olan 8088 i piyasaya sürdü. 8088, 1981 de üretilmeye başlanan IBM PC (Personel Computer – Kişisel Bilgisayarların) ilk işlemcisi olmuştur.
16 bitlik işlemcilerde endüstri standardı olan 8086 / 8088 günümüze kadar gelen çeşitli ürünlerle X86 ailesi diye isimlendirilen mikroişlemci ailesinin çekirdeği (core) olmuştur.
MİKROKONTROLÖRLER (MCU)
Bir mikrokontrolör, komple bir bilgisayarın (MİB, hafıza ve giriş - çıkışlar) tek bir entegre devre üzerinde üretilmiş halidir. Kısıtlı miktarda olmakla birlikte yeterince hafıza birimlerine ve giriş – çıkış uçlarına sahip olmaları sayesinde tek başlarına (stand alone) çalışabildikleri gibi donanımı oluşturan diğer elektronik devrelerle irtibat kurabilir, uygulamanın gerektirdiği fonksiyonları gerçekleştirebilirler.
Mikrokontrolörler çoğunlukla, yer aldıkları uygulama devresinin içine gömülmüş, sadece oraya adanmış olarak kullanılırlar. Bu özellikleri nedeniyle bilgisayarlardaki kullanıcı uygulama programlarını çalıştırma gibi esneklikleri olmamakla birlikte kontrol ağırlıklı uygulamalarda alternatifsiz seçenek olarak karşımıza çıkarlar.
Onları böyle cazip kılan, çok düşük boyutlu olmaları (az yer kaplamaları), düşük güç tüketimleri, düşük maliyetlerine karşın yüksek performansa sahip olmaları gibi özellikleridir. Motor kontrolünden fotoğraf makinesi ışık ve fokus ayarına, cep telefonlarından merkezi klima sistemlerine, faks ve fotokopi makinelerinden radyo teyp ve TV lere, fabrika otomasyonundan hayat kurtaran biyomedikal cihazlara, oyuncaklardan askeri cihazlara, cebinizdeki elektronik bilet uygulamasından cüzdanınızdaki banka kartlarına varıncaya kadar akla gelebilecek her yerde mikrokontrolörler yer almaktadır.
Bu tür uygulamalarda kullanıldıkları için hafıza ve paralel/seri giriş-çıkış birimlerinin yanı sıra zamanlayıcılar (timers), sayıcılar (counters), kesme kontrol birimleri (Interrupt Control), Analog-Sayısal dönüştürücüler (A/D Converters) gibi çeşitli çevre birimleri de mikrokontrolör entegre devrelerinin içinde yer almaktadır. Ayrıca genellikle gerçek zamanlı uygulamalarda çalışmalarıyla mikrokontrolörler, mikroişlemcilerden ayrılmaktadırlar.
Gerçek zamanlı uygulamalarda dış dünyadan (işlemcinin dışındaki elektronik ortamdan) gelen işaretler çok hızlı değişim gösterebilir ve bunları işleyip gereken çıkışları aynı hızlılıkta dış dünyaya uygulamak gerekebilir. Böyle bir performansı, çok küçük boyutlarda ve çok daha az güç tüketerek sadece mikrokontrolörler aracılığıyla gerçekleştirmek mümkündür. Diğer taraftan matematik işlem yapma yeteneklerinin kısıtlı oluşu, çok çeşitli on-chip çevre birimlerine sahip olmakla birlikte bunların kapasitelerinin de sınırlı olması nedeniyle bir mikroişlemcinin kullanıldığı (örn: bir kişisel bilgisayar gibi) yerler için uygun bir seçenek oluşturmazlar.
Sonuç olarak mikroişlemciler ve mikrokontrolörler temelde aynı alt yapı çalışma mantığına sahip olmakla birlikte kullanım yeri ve amacına göre iki ayrı grup ürün olarak değerlendirilebilir. Mikroişlemciler ve mikrokontrolörler günlük hayatta kullanılan sayısız cihaz ve sistemin içinde yer almakta olup, bu ürünleri kullanarak gerçekleştirilebilecek uygulamalar insanın hayal gücü ile sınırlıdır. Günümüzde Mikroişlemci ve mikrokontrolörler üreten irili ufaklı pek çok firma bulunmaktadır.
Bunlara örnek olarak INTEL, MOTOROLA, AMD, PHILIPS, SIEMENS, TEXAS INS., DALLAS, ATMEL, MICROCHIP, HITACHI, MITSUBISHI, SGS-THOMSON, ANALOG DEVICES, NATIONAL gibi firmalar sayılabilir. Bu firmaların bazıları sadece kendilerine özgü işlemcileri piyasaya sürerken bazıları da ilk üretimi ve patenti bir başka firmaya ait olmakla birlikte, orijinal işlemci ile uyumlu fakat çeşitli başka ek özelliklere de sahip türev ürünler (derivatives) üretebilmektedir.
PIC nedir?
PIC Serisi mikroişlemciler MICROCHIP firması tarafından geliştirilmiş ve üretim amacı çok fonksiyonlu logic uygulamalarının hızlı ve ucuz bir Mikroişlemci ile yazılım yoluyla karşılanmasıdır.
PIC�in kelime anlamı -PERIPHERAL INTERFACE CONTROLLER- Giriş Çıkış işlemcisidir. İlk olarak 1994 yılında 16 bitlik ve 32 bitlik büyük işlemcilerin giriş ve çıkışlarındaki yükü azaltmak ve denetlemek amacıyla çok hızlı ve ucuz bir çözüme ihtiyaç duyulduğu için geliştirilmiştir.
Çok geniş bir ürün ailesinin ilk üyesi olan PIC16C54 bu ihtiyacın ilk meyvesidir. PIC işlemcileri RISC benzeri işlemciler olarak anılır.
PIC16C54 12 Bit komut hafıza genişliği olan 8 bitlik CMOS bir işlemcidir.18 bacaklı dip kılıfta 13 I/O bacağına sahiptir ve 20 Mhz osilator hızına kadar kullanılabilir. 33 adet komut içermektedir. 512 byte program epromu ve 25 byte RAM`i bulunmaktadır. Bu hafıza kapasitesi birçok insanı güldürmüştür sanırım ama bir risc işlemci olması birçok işin bu kapasitede uygulanmasına olanak vermektedir.
PIC serisi tüm işlemciler herhangi bir ek bellek veya giriş/çıkış elemanı gerektirmeden sadece 2 adet kondansatör, 1 adet direnç ve bir kristal ile çalıştırılabilmektedir. Tek bacaktan 40 mA akım çekilebilmekte ve entegre toplamı olarak 150 mA akım akıtma kapasitesine sahiptir. Entegrenin 4 Mhz osilator frekansında çektiği akım çalışırken 2 mA stand-by durumunda ise 20uA kadardır.
PIC 16C54 �un mensup olduğu işlemci ailesi 12Bit core 16C5X olarak anılır. Bu gruba temel grup adı verilir. Bu ailenin üyesi diğer işlemciler PIC16C57, PIC16C58 ve dünyanın en küçük işlemcisi olarak anilan 8 bacakli PIC12C508 ve PIC 12C509�dur.
Interrupt kapasitesi ilk işlemci ailesi olan 12Bit Core 16C5X ailesinde bulunmamaktadır. Daha sonra üretilen ve Orta sınıf olarak tanınan 14Bit Core- 16CXX ailesi birçok açıdan daha yetenekli bir grup işlemcidir.
Bu ailenin temel özelliği interrupt kapasitesi ve 14 bitlik komut işleme hafızasıdır. Bu özellikler Pic�i gerçek bir işlemci olmaya ve karmaşık işlemlerde kullanılmaya yatkın hale getirmiştir. PIC16CXX ailesi en geniş ürün yelpazesine sahip ailedir. 16CXX ailesinin en önemli özellikleri seri olarak devre üstünde(ICSP) dahi programlanmasıdır. Bu özellik PIC16C5x de epey karmaşıktı , paralel programlanabiliyordu interrupt kabul edebilmesi, 33 I/O,AD Converter, USART, I2C, SPI gibi endüstri standardı giriş çıkışları kabul edecek işlemcilere ürün yelpazesinde yer vermesi.
PIC 16CXX ailesinin amatör elektronikçiler arasında en çok tanınan ve dünyada üzerinde ençok proje üretilmiş, internetin gözdesi olan bireyi PIC16C84 veya yeni adıyla PIC16F84 dur.
PIC 16F84 un bu kadar popüler olması onun çok iyi bir işlemci olmasından ziyade program belleğinin Eeprom - Elektrikle silinip yazılabilen bellek -olmasından kaynaklanmaktadır. Seri olarak dört adet kabloyla programlanması da diğer önemli avantajıdır. Bugüne kadar amatörce bir işlemciyle uğraşmış herkesin en büyük sıkıntısı eprom veya eprom tabanlı işlemcileri programladıktan sonra UltraViole ışık kaynağı ile silip tekrar programlamaktır. Bu çok zahmetli ve bir amatör için ekipman gerektiren yöntem olmustur. Evde üretilmesi zor olan özel bir programlayıcı da madalyonun diğer yüzüdür.
PIC16F84 amatörler tarafından internette en bol programlayıcısı bulunan işlemcidir herhalde. Ben şu ana kadar 50 den fazla PC ve MAC tabanlı evde yapabileceğiniz programlayıcıya rastladım. Eprom silmek diye birşey zaten söz konusu değil zira eeprom belleği programlayan programlayıcı devre 1 saniye içinde aynı belleği silebilmektedir. Bu özellik size çok hızlı ve defalarca deneyerek program geliştirme avantajını getirmektedir ki bu amatör elektronikçi için bulunmaz bir nimettir. Bu denemeleri yaparken işlemciyi devrenizden sökmeniz dahi gerekmez. Bu tip programlamaya ICSP -In Circuit Serial Programming- denmektedir.
Amatör bir elektronikçi PIC16F84 ile Program geliştirmek için aşağıdaki ekipmana ihtiyaç duyacaktır:
PIC16F84
Windows tabanlı PC
ASCII Editör (Örneğin Windows-Notepad)
MPASM Assembler
Programlayıcı/silici
Programlayıcı için yazılım
PIC Serisi işlemciler ile ilgili daha geniş bilgi için
ReDirect adresine başvurabilirsiniz.
Hazırlayan İsmail Karakaya