PIC Nedir? PIC Programlama

Teknoloji geliştikçe elimizdeki ürünler de küçülmeye ve küçüldükçe değerlenmeye başladı. Peki  bu ürünleri yöneten kim? İşte burada aklımıza gelen şey temeli oluşturan transistör ve transistör grubunun var ettiği mikro işlemcilerdir. Bugün evimizdeki bilgisayar, çamaşır makinesi ve hatta en basitinden dijital kol saatimizde bile karşılaşabiliriz bu küçük beyinlerle. Her elektronik sistem türlü bileşenlerden oluştuğu için mikro işlemcilerde bir başına anlam ifade etmiyor. Bunun için içerisine bir program yüklenmesi ve bu programı aktif hale getirecek diğer elemanların olması gerekir. Programlanabilir olması onu ayrıcalıklı kılan özelliği olduğu için adına PIC (peripheral interface controller) çevresel arayüz kontrol elemanı denmiştir.

PIC serisi entegreler; C, Basic ve Assembly dilleriyle programlanabilir özelliktedir. Arayüz ve yazılım kolaylığı bakımından en çok tercih edilen ise C dilidir. C dili genel olarak amatör program yazılımcılarının ekmek teknesi olmuş diyebiliriz. Ama işi profesyonelliğe dökecek olursak Assembly dili daha ağır basmaktadır. MicroLab isimli üretici firma Assembler dili programlamaya uygun bir yazılım geliştirmiştir.

   PIC Tarihçesi  

Harvard mimarisindeki ilk mikro denetleyici ünitesi, General Instruments firması tarafından 1970’lerin ortalarında üretilen Signetics 8X300 modeliydi. Bu 16 bitlik CP1600 MPU için programlanabilen giriş/çıkış portu olmak üzere Peripheral Interface Controller (Çevrebirim arayüz denetleyicisi – PIC) olarak tasarlandı.

General Instruments firması mikro elektronik bölümünü sattı ve bu bölüm 1988 yılında Arizona  Microchip Technology adıyla yeni bir firmaya dönüştü. Microchip’in ana ürünü, bugün de hala öyle olan, PIC serisi mikro kontrollerdir. 1989’da ilk piyasaya sürülen aile PIC16C5X serisiydi. Bu Harvard mikro kontrollörler 33 komutluydu. Bütün komutlar 12-bit word olarak kodlanıyordu. Azaltılmış Komut Kümesi (Reduced Instruction Set Computer – RISC) temelli olan komut seti hızlı, etkili ve ucuz işlemci üretimini sağladı. PIC16C5XX 12-bit çekirdekli ailede 512 ve 2048 komutluk tek sefer programlanabilen (One Time Programmable (OTP)) EEPROM Program belleği, 25-73 byte veri belleği,18- ve 28-pinli paketlerde 12 veya 20 giriş/çıkış pini ve 8-bit zamanlayıcı gibi özellikler bulunmaktaydı. PIC12CXXX ailesi bunların 8-pinlik eşdeğerleridir.

1992 yılında 14-bitlik çekirdeğe sahip PIC16CXXX ailesi daha fazla program alanının ve kesme işlemleri yanında A/D çeviriciler,16 bit sayıcılar gibi çevre birimlerinin kullanımına olanak sağladı. Bu ailedeki RISC komut seti de 12-bit çekirdektekilerle hemen hemen aynıydı ve 35 komuttan oluşuyordu.1997’de çarpma yapabilen bir ALU’e ve ileri arabirim yeteneklerine sahip 16-bit PIC17CXXX ailesi piyasaya sunuldu. Ardından 1999 yılında da genişletilmiş 16-bit çekirdekli PIC18CXXX ailesi sunuldu. Bu ailedeki işlemcilerde komut sayısı 77 idi ve bu yüksek-seviye dillerin derleyicilerin ihtiyaçlarını daha fazla karşılıyordu.

Bu 3 aile arasında, 14-bit çekirdekli olan aile hem kullanım kolaylığı hem de maliyet olarak en uygunudur.Burada ve birçok kaynakta hakkında bilgiler bulabileceğiniz PIC16F84 ,orta seviye ailesinin bir üyesidir. Yazılım açısından baktığımızda bugün birçok cihazlar aynı çekirdeğe sahiptirler. Ancak donanım açısından birçok ortak noktaları olmakla birlikte farklı giriş/çıkış birimlerinin karışımıdırlar. Örneğin 16C74’de 8 kanal analog giriş portu, PIC16C66’da senkronize seri port ve PIC16F84’de de kalıcı veri belleği.

PIC Derleme Düzeneği

  PIC Genel Yapısı

Mikroişlemci temel yapı kapsamına giren üniteleri anlatalım. Entegre içinde kalan bölüm ile işlemci ve bilgisayarın diğer birimleri arasındaki bağlantıyı sağlayan pin çıkışları girmektedir. İşlemcinin türü ne olursa olsun temel yapısı aynıdır ve şu kısımlardan oluşur:

  • İletişim Yolları
  • Aritmetik Mantık Birimi (ALU)
  • Sayıcı ve Kaydediciler
  • Kontrol Birimi
  • Giriş-Çıkış Devreleri

a) İletişim Yolları: Mikroişlemcilerden başlayarak, bilgisayar devre bağlantısını sağlayan iletkenlerden oluşur. Bir kısmı tek damarlı bazı kısımları işe çok damarlı iletkenlerden oluşur. Bunun nedeni farklı yollara sahip olmasıdır. Çünkü iletişimi sağlayan yollar veri, adres ve kontrol yolları olarak üçe ayrılır. Veri yolları işlemci programlarken girilen komut bilgisini iletmeye yarayan yollardır. Adres yolları; mikroişlemci ile bellek giriş-çıkışları arasındaki iletişimi sağlar. Kontrol yolları; mikroişlemcinin kontrol devresinden çıkarak bilgisayar içerisindeki devrelere kadar ağ gibi yapılanır ve anlaşmasını sağlar.

b) Aritmatik Mantık Birimi (ALU): Mikroişlemcinin kalbidir. Yazılımda yapılan akla gelebilecek tüm aritmetiksel, mantıksal ve çevresel değerlendirmeleri yapar. Çevresel değerlendirmeleri yaparken doğal olarak sensörlerden faydalanırlar.

c) Sayıcı ve Kaydediciler: CPU’nun ufak bilgi depolama birimleridir. Yapı olarak ikili(binary) hücrelerden ve flip-floplardan oluşmaktadırlar. Flip-floplar devre çalıştığı sürece çıkış durumunu koruyan kısımdır. İkili hücreler bilgi saklanmasını sağlar. Burada saklanan bilgiler bir komut, bir adres veya bir veri olabilir.Flip-flopların çıkış durumunu koruması demek işlemi sürekli hale getirerek sayıcı özelliğini göstermek demektir.

d) Kontrol Birimi: Bilgisayarın en önemli birimi olan bu bölümün ana görevi bilgi işlemektir. Dolayısı ile de merkezi işlem birimi olarak adlandırılır. Hepimizin bildiği meşhur CPU.Bir komutu yerine getirebilmek için şunları yapar:

  • Komutun adresini adres taşıtına çıkarır.
  • Komutu veri taşıtından alarak çözümleme yapar.
  • Bellekte veya kaydedicilerde olan adresleri ve verileri içeri alır.
  • Komut kodunun belirttiği işlemi yerine getirir.
  • Dışarıdan gelen kesme işaretlerini de değerlendirir.
  • Bellek ve giriş-çıkış bölümlerinin kullanım durumu için işaret üretir.

e) Giriş-Çıkış Devreleri: Bu devreler ise işlem sonucunda elde edeceğimiz bilgiyi bize gösteren devrelerdir. Örnek olarak sıcaklık kontrollü bir devre düşünelim. Bu devre 10 °C de yeşil, 20 °C de sarı 30°C de kırmızı ışık veren kontrol devresi olsun. Burada sonuca ulaştıran ışıklı kısım çıkış devresidir. Sıcaklığı algılayarak ilgili kısma ileten sensörler veya herhangi bir algılayıcılar da giriş devresidir.

Peki PIC ile neler yapabiliriz?

Günümüzde PIC’in kullanım alanı oldukça yaygındır. PIC ile dijital saat, termometre, nem ölçer v.s birçok devre hazırlanabilir. Sokaklarda gördüğümüz bir mağaza veya market önündeki reklam tabelalarında kayan yazıların temelini PIC oluşturur. Hatta bizi trafikte yöneten, uyulduğu sürece can ve mal kayıplarını engelleyen trafik lambaları tasarlayabilirsiniz. Romantik biriyseniz LCD ekranda aşkınızı itiraf edebilir veya evlilik teklifi yapabilirsiniz.

Tabi bunları yapabilmek için en düşük seviyeden bir lamba yakma ile başlayabiliriz. İlk aşamada harika devreler hazırlamak mümkün değildir. ISIS Professional programı ile bilgisayardan simülasyon yaparak kendimizi test edebiliriz. Çünkü her işin başlangıcı simülasyondur. Bunun için para ve zaman kaybınız olmaz bir sonraki aşamalar geçmek için cesaret verir.

Ebubekir Daşdemir

Ebubekir Psikopatoloji Bilimi platformunun teknoloji ve mekatronik alanından sorumlu yazarıdır. 1993, İstanbul'da Dünya'ya gelen Ebubekir, küçüklüğünden bu yana elektrik ve elektronik dahil pek çok alanda ilgilenmiş, bilim kitapları ve dergileri sürekli takip edip kendini geliştirmiştir. Bu sevgisini eğitim hayatına yansıtarak Bozok Üniversitesi elektrik elektronik mühendisliğine başlayıp ardından buradan mezun olmuştur. Şimdi tüm bilgisi ve tecrübesiyle Psikopatoloji Bilimi'nde yazmaya devam etmektedir.

You may also like...

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir