Klavyeah
Üye
- Katılım
- 28 Ağu 2006
- Mesajlar
- 269
- Puanları
- 1
- Yaş
- 39
MiKROişLEMCi NEDiR?
Günümüzde kullanılan bilgisayarların özelliklerinden bahsedilirken duyduğunuz 80386, 80486, Pentium-ll,
Pentium-lll birer mikroişlemcidir (Microprocessor). Mikroişlemciler bilgisayar programlarının yapmak istediği tüm işlemleri
yerine getirdiği için, çoğu zaman merkezi işlem ünitesi (CPU- Central Processing Unit) olarak da adlandırılır. PC adını
verdiğimiz kişisel bilgisayarlarda kullanıldığı gibi, bilgisayarla kontrol edilen sanayi tezgahlarında ve ev aygıtlarında da
kullanılabilmektedir. Bir mikroişlemci işlevini yerine getirebilmesi için aşağıdaki yardımcı elemanlara ihtiyaç duyar. Bunlar:
1. Input (Giriş) ünitesi.
2. Output (çıkış) ünitesi.
3. Memory (Bellek) ünitesi.
Bu üniteler CPU chip'inin dışında, bilgisayarın ana kartı üzerinde bir yerde farklı chip'lerden veya elektronik
elemanlardan oluşur. Aralarındaki iletişimi ise veri yolu (Data bus), adres yolu (Address bus) denilen iletim hatları yapar.
Intel, Cyrix, AMD, Motorola mikroişlemci üreticilerden birkaçıdır, Günümüzde mikroişlemciler genellikle PC
adını verdiğimiz kişisel bilgisayarlarda kullanılmaktadır.
MiKRODENETLEYiCi NEDiR?
Bir bilgisayar içerisinde bulunması gereken temel bileşenlerden RAM, I/O ünitesinin tek bir chip içerisinde
üretilmiş biçimine mikrodenetleyici (Microcontroller) denir. Bilgisayar teknolojisi gerektiren uygulamalarda kullanılmak
üzere tasarlanmış olan mikrodenetleyiciler, mikroişlemcilere göre çok daha basit ve ucuzdur. Günümüz mikrodenetleyicileri
otomobillerde, kameralarda, cep telefonlarında, fax-modem cihazlarında, fotokopi, radyo, TV, bazı oyuncaklar gibi
sayılamayacak kadar pek çok alanda kullanılmaktadır.
Günümüz mikrodenetleyicileri birçok chip üreticisi tarafından üretilmektedir. Her firma ürettiği chip'e farklı isimler
vermektedir. örneğin Microchip firması ürettiklerine PIC adını verirken, Intel'in ürettiği ve 1980'lerin başında piyasaya
sürdüğü 8051, bazen MCS-51 olarak da adlandırılır.
Neden Mikroişlemci Değil de Mikrodenetleyici Kullanılıyor?
Mikro işlemci ile kontrol edilecek bir sistemi kurmak için en azından şu üniteler bulunmalıdır; CPU, RAM, I/O ve
bu ünitelerin arasındaki veri alış verişini kurmak için DATA BUS (data yolu) gerekmektedir. Elbette bu üniteleri
yerleştirmek için baskılı devreyi de unutmamak gerekmektedir. Mikrodenetleyici ile kontrol edilecek sistemde ise yukarıda
saydığımız ünitelerin yerine geçecek tek bir chip (Mikrodenetleyici) ve bir de devre kartı kullanmak yetecektir. Tek chip
kullanarak elektronik çözümler üretmenin maliyetinin daha düşük olacağı kesindir. Ayrıca da kullanım ve programlama
kolaylığı da ikinci bir avantajıdır. işte yukarda saydığımız nedenlerden dolayı son zamanlarda bilgisayar kontrolü gerektiren
elektronik uygulamalarda mikrodenetleyici kullanmaya eğilimin artmasının haklılığını ortaya koyuyor.
MiKRODENETLEYiCiLER HAKKINDA GENEL BiLGiLER
Neredeyse her mikroişlemci (CPU) üreticisinin ürettiği birkaç mikrodenetleyicisi bulunmaktadır. Bu
denetleyicilerin mimarileri arasında çok küçük farklar olmasına rağmen aşağı yukarı aynı işlemleri yapabilmektedirler. Her
firma ürettiği chip'e bir isim ve özelliklerini birbirinden ayırmak için de parça numarası vermektedir. örneğin Microchip
ürettiklerine PIC adını, parça numarası olarak da 12C508, 16C84, 16F84, 16C711 gibi kodlamalar verir. Intel ise ürettiği
mikrodenetleyicilere MCS-51 ailesi adını vermektedir. Genel olarak bu adla anılan mikrodenetleyici ailesinde farklı
özellikleri bulunan ürünleri birbirinden ayırt etmek için parça numarası olarak da 8031AH, 8051AH, 8751AHP, 8052AH,
80C51FA gibi kodlamalar kullanılmaktadır.
Bir uygulamaya başlamadan önce hangi firmanın ürünü kullanılacağına, daha sonra da hangi numaralı denetleyicinin
kullanılacağına karar vermek gerekir. Bunun için mikrodenetleyici gerektiren uygulamada hangi özelliklerin olması gerektiği
önceden bilinmesi gereklidir. Aşağıda bu özellikler sıralanmıştır:
• Programlanabilir dijital paralel giriş/çıkış.
• Programlanabilir analog giriş/çıkış.
• Seri giriş/çıkış ( senkron, asenkron ve cihaz denetimi gibi).
• Motor veya servo kontrol için pals sinyali çıkışı.
• Harici giriş vasıtasıyla kesme.
• Timer vasıtasıyla ile kesme.
• Harici bellek arabirimi.
• Harici bus arabirimi (PC ISA gibi).
• Dahili bellek tipi seçenekleri(ROM, EPROM, PROM ve EEPROM).
• Dahili RAM seçeneği.
• Kayan nokta hesaplaması.
Daha da ayrıntıya girecek olursak bu listede sıralanacak özellikler uzayıp gidecektir. şimdi de bizim bu kitapta ele
aldığımız Microchip'in ürünü olan PIC'i neden seçtiğimize değinelim. Microchip, 8-bit'lik mikrodenetleyici ve EEPROM
üreten bir Amerikan şirketidir. Arizona eyaletinde iki, Tayland ve Tayvan'da da birer tane olmak üzere toplam dört fabrika ile
kendi alanında dünyada söz sahibi olan bir chip üreticisidir.
Neden PIC?
Bilgisayar denetimi gerektiren bir uygulamayı geliştirirken seçilecek mikrodenetleyicinin ilk olarak tüm isteklerinizi
yerine getirip getirmeyeceğine, daha sonra da maliyetinin düşüklüğüne bakmalısınız. Ayrıca, yapacağınız uygulamanın
devresini kurmadan önce seçtiğiniz mikrodenetleyicinin desteklediği bir yazılım üzerinde simülasyonunu yapıp
yapamayacağınızı da dikkate almalısınız.
Yukarda saydığımız özellikleri göz önüne aldığımızda Microchip'in ürettiği PIC'leri kullanmak en akılcı bir yol olduğunu
görülmektedir. işte, bu kitapta PIC'leri ele alınmamızın nedenlerini şöyle sıralayabiliriz.
• Yazılımın Microchip'ten veya internetten parasız olarak elde edilebilmesi.
• çok geniş bir kullanıcı kitlesinin bulunması.
• PIC'lerin çok kolaylıkla ve ucuz olarak elde edilebilmesi.
• Elektronikle hobi olarak uğraşanların bile kullanabildikleri basit elemanları kullanarak yapılan donanımla
programlanabilmesi.
• çok basit reset, clock sinyali ve güç devreleri gerektirmeleri.
PIC, adını ingilizce'deki Peripheral Interface Controller cümlesindeki kelimelerin baş harflerinden almış olan bir
mikrodenetleyicidir. Eğer bu cümleyi Türkçe'ye çevirirsek, çevresel üniteleri denetleyici arabirim gibi bir anlam çıkacaktır.
PIC gerçekten de çevresel üniteler adı verilen lamba, motor, role, ısı ve ışık sensörü gibi 1/0 elemanların denetimini çok hızlı
olarak yapabilecek şekilde dizayn edilmiş bir chip'tir. RISC mimarisi adı verilen bir yöntem kullanılarak üretildiklerinden bir
PIC'i programlamak için kullanılacak olan komutlar oldukça basit ve sayı olarak da azdır. 1980'lerin başından itibaren
uygulanan bir tasarım yöntemi olan RISC (Reduced Instruction Set Computer) mimarisindeki temel düşünce, daha basit ve
daha az komut kullanılmasıdır. örneğin PIC16F84 microdenetleyicisi toplam 35 komut kullanılarak programlanabilmektedir.
Neden PIC16F84?
Bu kitapta programlanması ve örnek uygulamaları verilen PlC'in 16F84 serisi olmasının en önemli nedeni: PIC16F84
(veya PIC16F84A) mikrodenetleyicisinin program belleğinin flash teknolojisi ile üretilmiş olmasıdır.
Flash memory teknolojisi ile üretilen bir belleğe yüklenen program, chip'e uygulanan enerji kesilse bile silinmez. Yine
bu tip bir belleğe istenirse yeniden yazılabilir. Flash bellekler bu özellikleri ile EEPROM bellekler ile aynı görünmektedirler.
Gerçekten de Flash ile EEPROM bellek aynı şeylerdir. Ancak bazı üreticiler tarafından EEPROM belleğe Flash ROM da
denilmektedir.
Flash belleğe sahip olan PIC16F84'i programlayıp ve deneylerde kullandıktan sonra, silip yeniden program yazmak
PIC ile yeni çalışmaya başlayanlar için büyük kolaylıktır. Böylece işe yeni başlayanlar yaptıkları programlama hataları
nedeniyle chip'i atmak zorunda kalmayacaklardır. Gerçi EPROM program memory'si olan chip'lere de yeniden yazmak
mümkündür ama, bu durumda bir EPROM silici cihazına ihtiyaç vardır. Bir silici cihaz bulunsa bile programı bellekten
silmek için en azından 10-15 dk beklemek zorunda kalınacaktır. işte PIC16F84'ün bu özelliği mikrodenetleyici kullanmaya
yeni başlayanlar için ideal bir seçenektir.
PIC16F84'ü seçmemizin ikinci nedeni de, programlama donanımının çok ucuz ve kullanışlı olması ve hatta çoğu
meraklı elektronik kullanıcı tarafından bile üretilebilmesidir. Kitabın Ekler bölümünde adresini verdiğimiz firmanın ürettiği
programlayıcı donanımı ve yazılımı ödemeli olarak istenebilmesi Türkiye'deki kullanıcılar için çok büyük bir avantajdır.
PIC16F84'ü programlamak için öğrendiğiniz her şeyi diğer PIC 16/17 mikrodenetleyicilerinin uygulamalarında da
'kullanabilmeniz, yapılan seçimin doğruluğunu göstermektedir.
PIC PROGRAMLAMAK içiN NELERE iHTiYACINIZ VAR?
PIC 16/17 mikrodenetleyicilerin programlamasını ve uygulamalarda nasıl kullanılacağını öğrenmek için neleri bilmek
ve nelere sahip olunması gerekenler aşağıda sıralanmıştır:
• IBM uyumlu bir bilgisayara sahip olmak ve temel kullanımları bilmek.
• Bir metin editörünü kullanmasını bilmek.
• Bir assembler programına sahip olmak.
• PIC programlayıcı donanımına sahip olmak.
• PIC programlayıcı yazılımı.
• PIC
• Programlanmış PIC'i denemek için breadboard, güç kaynağı ve elektronik elemanlar.
• Programlanmış bir PIC'i deneme kartı.
IBM Uyumlu Bilgisayar
Assembly program kodlarını kolayca yazabilmek, doğru ve hızlı bir şekilde PIC'in program belleğine gönderebilmek
için bilgisayara ihtiyaç vardır. Bir metin editörü kullanarak yazılan program kodları, derlendikten sonra PIC'e gönderilmesi
gerekir. Program kodlarının PIC'e yazdırma işlemi paralel veya seri porta bağlanan bir elektronik devre aracılığı ile yapılır.
Bu işleri yapabilmek için bilgisayarın temel kullanım fonksiyonlarını bilmeniz gerekir. Aşağıda bilmeniz gereken bazı temel
işlemleri ve sahip olmanız gereken minimum konfigürasyonu veriyoruz:
• DOS ya da VVINDOVVS işletim sistemi bildiğinizi, bu işletim sistemi. komutlarıyla klasör oluşturma, dosya
kopyalama ve silme, listeleme gibi işlemleri yapabildiğinizi.
• Basit bir editör (EDIT, Notpad gibi) kullanabildiğinizi, bu editörde bir text dosyası oluşturup disket ya da hard
diske kaydedebildiğinizi, diskteki bir dosyayı yükleyip üzerinde düzeltmeler yapabileceğinizi,
• Minimum 80486 CPU, 4 MB RAM, 100 MB harddisk ve CD-ROM sürücüsü (Microchip'in CD'lerini
kullanabilmek için) bulunan bir PC'ye sahip olduğunuzu kabul ediyoruz.
Metin Editörü
Assembly dili komutlarını yazıp bir metin dosyası oluşturmak için EDIT veya NotPad gibi bir editörü
kullanabilmeniz gerekir. isterseniz ASM uzantılı metin dosyalarınızı yazabileceğiniz PFE editörünü de kullanabilirsiniz. Bu
editörün hem DOS hem de VVINDOVVS altında çalışan versiyonları bulunmaktadır ve PIC konusunda destek veren bir
internet sitesinden alınmıştır. Ekler bölümünde adını verdiğimiz firma da bu programı disket içerisinde sunmaktadır.
Assembler Programı
PIC Assembly dili adı verilen ve toplam 35 komuttan oluşan programlama dilini bu kitapta öğreneceksiniz. Bu
komutları basit bir editörde yazabiliyoruz. Ancak, ingilizce'deki bazı kelimelerin kısaltmasından oluşan bu dilin komutlarını
PIC'in anlayabileceği makine diline çeviren bir programa ihtiyacımız vardır. Bu programa assembler adını veriyoruz. Text
dosyası biçiminde kaydedilmiş olan assembly dili komutlarını makine diline çeviren MPASM'nin hem DOS altında hem de
WINDOWS altında çalışan versiyonu bulunmaktadır. Bu program Microchip firmasının internetteki www.microchip.com
adlı sitesinden parasız olarak download edilebileceği gibi kitabın Ekler bölümünde adresi verilen firmadan da elde
edebilirsiniz. MPASM'nin kullanımı hakkında detaylı bilgiyi 5. bölümde bulacaksınız.
Microchip bir de içerisinde hem metin editörü hem MPASM assembler programını bulunduran MPLAB programını
PIC programlayıcılarının kullanımına sunmaktadır. Bu programın bulunduğu CD-ROM yine www.microchip.com adresinden
parasız olarak istenebilir. MPLAB'ın kurulumu ve kullanılmasıyla ilgili gerekli detay bilgiyi Ekler bölümünde bulacaksınız.
Yukarıda (sağda) PIC16F84 ve PIC16C84 mikrodenetleyicileri programlayabileceğiniz, çok basit bir donanımı
bulunan programlama kartı resmi verilmiştir. Bu kartla ilgili detaylı bilgiyi Ekler bölümünde bulacaksınız.
PIC Programlayıcı Yazılımı
MPASM tarafından derlenerek makine diline dönüştürülmüş assembly programı kodlarının PIC'e yazdırılmasında
kullanılan bir programa gereksinim vardır. Programlayıcı yazılımları, PIC'i programlamak için kullanılan elektronik karta
bağımlıdır. Yani her programlayıcı yazılımı ile elinizde bulunan karta kod gönderemeyebilirsiniz. Genellikle programlama
kartı üreticileri, ürettikleri karta uygun yazılımı da birlikte sunarlar. Biz bu kitapta ProtoPIC programlama kartına gönderdiği
kodlarla PIC'ieri sorunsuz olarak programlayan P16PRO adlı yazılımı kullandık ve nasıl kullanılacağını anlattık. P16PRO'yu
Windows ortamından da çalıştırabileceğiniz için bu size büyük kolaylık sağlayacaktır.
Programlanmış PIC'i Deneme Kartı
Programladığınız PIC'i breadboard üzerinde kendi kurduğunuz devre de deneyebileceğiniz gibi şekilde görülen özel
bir deneme kartı üzerinde de deneyebilirsiniz. Başlangıç ve orta düzey PIC programlayıcılara hitap etmek üzere geliştirilen
bu kart üzerinde deneme yapmak, breadbord üzerinde devre kurmaktan çok daha kolaydır. PIC'in port çıkışlarındaki
sinyalleri izlemek amacıyla 8 tane LED, bir tane de 7 segmentli LED yerleştirilmiştir. Kart üzerindeki, butonlar,
potansiyometre ve LED'ler aracılığıyla farklı şekilde programlanan PIC'lerin kolayca denenmesini sağlanır. Bu kartın yapısı
ve kullanılması hakkında Ekler bölümünde geniş bilgi bulacaksınız.
Günümüzde kullanılan bilgisayarların özelliklerinden bahsedilirken duyduğunuz 80386, 80486, Pentium-ll,
Pentium-lll birer mikroişlemcidir (Microprocessor). Mikroişlemciler bilgisayar programlarının yapmak istediği tüm işlemleri
yerine getirdiği için, çoğu zaman merkezi işlem ünitesi (CPU- Central Processing Unit) olarak da adlandırılır. PC adını
verdiğimiz kişisel bilgisayarlarda kullanıldığı gibi, bilgisayarla kontrol edilen sanayi tezgahlarında ve ev aygıtlarında da
kullanılabilmektedir. Bir mikroişlemci işlevini yerine getirebilmesi için aşağıdaki yardımcı elemanlara ihtiyaç duyar. Bunlar:
1. Input (Giriş) ünitesi.
2. Output (çıkış) ünitesi.
3. Memory (Bellek) ünitesi.
Bu üniteler CPU chip'inin dışında, bilgisayarın ana kartı üzerinde bir yerde farklı chip'lerden veya elektronik
elemanlardan oluşur. Aralarındaki iletişimi ise veri yolu (Data bus), adres yolu (Address bus) denilen iletim hatları yapar.
Intel, Cyrix, AMD, Motorola mikroişlemci üreticilerden birkaçıdır, Günümüzde mikroişlemciler genellikle PC
adını verdiğimiz kişisel bilgisayarlarda kullanılmaktadır.
MiKRODENETLEYiCi NEDiR?
Bir bilgisayar içerisinde bulunması gereken temel bileşenlerden RAM, I/O ünitesinin tek bir chip içerisinde
üretilmiş biçimine mikrodenetleyici (Microcontroller) denir. Bilgisayar teknolojisi gerektiren uygulamalarda kullanılmak
üzere tasarlanmış olan mikrodenetleyiciler, mikroişlemcilere göre çok daha basit ve ucuzdur. Günümüz mikrodenetleyicileri
otomobillerde, kameralarda, cep telefonlarında, fax-modem cihazlarında, fotokopi, radyo, TV, bazı oyuncaklar gibi
sayılamayacak kadar pek çok alanda kullanılmaktadır.
Günümüz mikrodenetleyicileri birçok chip üreticisi tarafından üretilmektedir. Her firma ürettiği chip'e farklı isimler
vermektedir. örneğin Microchip firması ürettiklerine PIC adını verirken, Intel'in ürettiği ve 1980'lerin başında piyasaya
sürdüğü 8051, bazen MCS-51 olarak da adlandırılır.
Neden Mikroişlemci Değil de Mikrodenetleyici Kullanılıyor?
Mikro işlemci ile kontrol edilecek bir sistemi kurmak için en azından şu üniteler bulunmalıdır; CPU, RAM, I/O ve
bu ünitelerin arasındaki veri alış verişini kurmak için DATA BUS (data yolu) gerekmektedir. Elbette bu üniteleri
yerleştirmek için baskılı devreyi de unutmamak gerekmektedir. Mikrodenetleyici ile kontrol edilecek sistemde ise yukarıda
saydığımız ünitelerin yerine geçecek tek bir chip (Mikrodenetleyici) ve bir de devre kartı kullanmak yetecektir. Tek chip
kullanarak elektronik çözümler üretmenin maliyetinin daha düşük olacağı kesindir. Ayrıca da kullanım ve programlama
kolaylığı da ikinci bir avantajıdır. işte yukarda saydığımız nedenlerden dolayı son zamanlarda bilgisayar kontrolü gerektiren
elektronik uygulamalarda mikrodenetleyici kullanmaya eğilimin artmasının haklılığını ortaya koyuyor.
MiKRODENETLEYiCiLER HAKKINDA GENEL BiLGiLER
Neredeyse her mikroişlemci (CPU) üreticisinin ürettiği birkaç mikrodenetleyicisi bulunmaktadır. Bu
denetleyicilerin mimarileri arasında çok küçük farklar olmasına rağmen aşağı yukarı aynı işlemleri yapabilmektedirler. Her
firma ürettiği chip'e bir isim ve özelliklerini birbirinden ayırmak için de parça numarası vermektedir. örneğin Microchip
ürettiklerine PIC adını, parça numarası olarak da 12C508, 16C84, 16F84, 16C711 gibi kodlamalar verir. Intel ise ürettiği
mikrodenetleyicilere MCS-51 ailesi adını vermektedir. Genel olarak bu adla anılan mikrodenetleyici ailesinde farklı
özellikleri bulunan ürünleri birbirinden ayırt etmek için parça numarası olarak da 8031AH, 8051AH, 8751AHP, 8052AH,
80C51FA gibi kodlamalar kullanılmaktadır.
Bir uygulamaya başlamadan önce hangi firmanın ürünü kullanılacağına, daha sonra da hangi numaralı denetleyicinin
kullanılacağına karar vermek gerekir. Bunun için mikrodenetleyici gerektiren uygulamada hangi özelliklerin olması gerektiği
önceden bilinmesi gereklidir. Aşağıda bu özellikler sıralanmıştır:
• Programlanabilir dijital paralel giriş/çıkış.
• Programlanabilir analog giriş/çıkış.
• Seri giriş/çıkış ( senkron, asenkron ve cihaz denetimi gibi).
• Motor veya servo kontrol için pals sinyali çıkışı.
• Harici giriş vasıtasıyla kesme.
• Timer vasıtasıyla ile kesme.
• Harici bellek arabirimi.
• Harici bus arabirimi (PC ISA gibi).
• Dahili bellek tipi seçenekleri(ROM, EPROM, PROM ve EEPROM).
• Dahili RAM seçeneği.
• Kayan nokta hesaplaması.
Daha da ayrıntıya girecek olursak bu listede sıralanacak özellikler uzayıp gidecektir. şimdi de bizim bu kitapta ele
aldığımız Microchip'in ürünü olan PIC'i neden seçtiğimize değinelim. Microchip, 8-bit'lik mikrodenetleyici ve EEPROM
üreten bir Amerikan şirketidir. Arizona eyaletinde iki, Tayland ve Tayvan'da da birer tane olmak üzere toplam dört fabrika ile
kendi alanında dünyada söz sahibi olan bir chip üreticisidir.
Neden PIC?
Bilgisayar denetimi gerektiren bir uygulamayı geliştirirken seçilecek mikrodenetleyicinin ilk olarak tüm isteklerinizi
yerine getirip getirmeyeceğine, daha sonra da maliyetinin düşüklüğüne bakmalısınız. Ayrıca, yapacağınız uygulamanın
devresini kurmadan önce seçtiğiniz mikrodenetleyicinin desteklediği bir yazılım üzerinde simülasyonunu yapıp
yapamayacağınızı da dikkate almalısınız.
Yukarda saydığımız özellikleri göz önüne aldığımızda Microchip'in ürettiği PIC'leri kullanmak en akılcı bir yol olduğunu
görülmektedir. işte, bu kitapta PIC'leri ele alınmamızın nedenlerini şöyle sıralayabiliriz.
• Yazılımın Microchip'ten veya internetten parasız olarak elde edilebilmesi.
• çok geniş bir kullanıcı kitlesinin bulunması.
• PIC'lerin çok kolaylıkla ve ucuz olarak elde edilebilmesi.
• Elektronikle hobi olarak uğraşanların bile kullanabildikleri basit elemanları kullanarak yapılan donanımla
programlanabilmesi.
• çok basit reset, clock sinyali ve güç devreleri gerektirmeleri.
PIC, adını ingilizce'deki Peripheral Interface Controller cümlesindeki kelimelerin baş harflerinden almış olan bir
mikrodenetleyicidir. Eğer bu cümleyi Türkçe'ye çevirirsek, çevresel üniteleri denetleyici arabirim gibi bir anlam çıkacaktır.
PIC gerçekten de çevresel üniteler adı verilen lamba, motor, role, ısı ve ışık sensörü gibi 1/0 elemanların denetimini çok hızlı
olarak yapabilecek şekilde dizayn edilmiş bir chip'tir. RISC mimarisi adı verilen bir yöntem kullanılarak üretildiklerinden bir
PIC'i programlamak için kullanılacak olan komutlar oldukça basit ve sayı olarak da azdır. 1980'lerin başından itibaren
uygulanan bir tasarım yöntemi olan RISC (Reduced Instruction Set Computer) mimarisindeki temel düşünce, daha basit ve
daha az komut kullanılmasıdır. örneğin PIC16F84 microdenetleyicisi toplam 35 komut kullanılarak programlanabilmektedir.
Neden PIC16F84?
Bu kitapta programlanması ve örnek uygulamaları verilen PlC'in 16F84 serisi olmasının en önemli nedeni: PIC16F84
(veya PIC16F84A) mikrodenetleyicisinin program belleğinin flash teknolojisi ile üretilmiş olmasıdır.
Flash memory teknolojisi ile üretilen bir belleğe yüklenen program, chip'e uygulanan enerji kesilse bile silinmez. Yine
bu tip bir belleğe istenirse yeniden yazılabilir. Flash bellekler bu özellikleri ile EEPROM bellekler ile aynı görünmektedirler.
Gerçekten de Flash ile EEPROM bellek aynı şeylerdir. Ancak bazı üreticiler tarafından EEPROM belleğe Flash ROM da
denilmektedir.
Flash belleğe sahip olan PIC16F84'i programlayıp ve deneylerde kullandıktan sonra, silip yeniden program yazmak
PIC ile yeni çalışmaya başlayanlar için büyük kolaylıktır. Böylece işe yeni başlayanlar yaptıkları programlama hataları
nedeniyle chip'i atmak zorunda kalmayacaklardır. Gerçi EPROM program memory'si olan chip'lere de yeniden yazmak
mümkündür ama, bu durumda bir EPROM silici cihazına ihtiyaç vardır. Bir silici cihaz bulunsa bile programı bellekten
silmek için en azından 10-15 dk beklemek zorunda kalınacaktır. işte PIC16F84'ün bu özelliği mikrodenetleyici kullanmaya
yeni başlayanlar için ideal bir seçenektir.
PIC16F84'ü seçmemizin ikinci nedeni de, programlama donanımının çok ucuz ve kullanışlı olması ve hatta çoğu
meraklı elektronik kullanıcı tarafından bile üretilebilmesidir. Kitabın Ekler bölümünde adresini verdiğimiz firmanın ürettiği
programlayıcı donanımı ve yazılımı ödemeli olarak istenebilmesi Türkiye'deki kullanıcılar için çok büyük bir avantajdır.
PIC16F84'ü programlamak için öğrendiğiniz her şeyi diğer PIC 16/17 mikrodenetleyicilerinin uygulamalarında da
'kullanabilmeniz, yapılan seçimin doğruluğunu göstermektedir.
PIC PROGRAMLAMAK içiN NELERE iHTiYACINIZ VAR?
PIC 16/17 mikrodenetleyicilerin programlamasını ve uygulamalarda nasıl kullanılacağını öğrenmek için neleri bilmek
ve nelere sahip olunması gerekenler aşağıda sıralanmıştır:
• IBM uyumlu bir bilgisayara sahip olmak ve temel kullanımları bilmek.
• Bir metin editörünü kullanmasını bilmek.
• Bir assembler programına sahip olmak.
• PIC programlayıcı donanımına sahip olmak.
• PIC programlayıcı yazılımı.
• PIC
• Programlanmış PIC'i denemek için breadboard, güç kaynağı ve elektronik elemanlar.
• Programlanmış bir PIC'i deneme kartı.
IBM Uyumlu Bilgisayar
Assembly program kodlarını kolayca yazabilmek, doğru ve hızlı bir şekilde PIC'in program belleğine gönderebilmek
için bilgisayara ihtiyaç vardır. Bir metin editörü kullanarak yazılan program kodları, derlendikten sonra PIC'e gönderilmesi
gerekir. Program kodlarının PIC'e yazdırma işlemi paralel veya seri porta bağlanan bir elektronik devre aracılığı ile yapılır.
Bu işleri yapabilmek için bilgisayarın temel kullanım fonksiyonlarını bilmeniz gerekir. Aşağıda bilmeniz gereken bazı temel
işlemleri ve sahip olmanız gereken minimum konfigürasyonu veriyoruz:
• DOS ya da VVINDOVVS işletim sistemi bildiğinizi, bu işletim sistemi. komutlarıyla klasör oluşturma, dosya
kopyalama ve silme, listeleme gibi işlemleri yapabildiğinizi.
• Basit bir editör (EDIT, Notpad gibi) kullanabildiğinizi, bu editörde bir text dosyası oluşturup disket ya da hard
diske kaydedebildiğinizi, diskteki bir dosyayı yükleyip üzerinde düzeltmeler yapabileceğinizi,
• Minimum 80486 CPU, 4 MB RAM, 100 MB harddisk ve CD-ROM sürücüsü (Microchip'in CD'lerini
kullanabilmek için) bulunan bir PC'ye sahip olduğunuzu kabul ediyoruz.
Metin Editörü
Assembly dili komutlarını yazıp bir metin dosyası oluşturmak için EDIT veya NotPad gibi bir editörü
kullanabilmeniz gerekir. isterseniz ASM uzantılı metin dosyalarınızı yazabileceğiniz PFE editörünü de kullanabilirsiniz. Bu
editörün hem DOS hem de VVINDOVVS altında çalışan versiyonları bulunmaktadır ve PIC konusunda destek veren bir
internet sitesinden alınmıştır. Ekler bölümünde adını verdiğimiz firma da bu programı disket içerisinde sunmaktadır.
Assembler Programı
PIC Assembly dili adı verilen ve toplam 35 komuttan oluşan programlama dilini bu kitapta öğreneceksiniz. Bu
komutları basit bir editörde yazabiliyoruz. Ancak, ingilizce'deki bazı kelimelerin kısaltmasından oluşan bu dilin komutlarını
PIC'in anlayabileceği makine diline çeviren bir programa ihtiyacımız vardır. Bu programa assembler adını veriyoruz. Text
dosyası biçiminde kaydedilmiş olan assembly dili komutlarını makine diline çeviren MPASM'nin hem DOS altında hem de
WINDOWS altında çalışan versiyonu bulunmaktadır. Bu program Microchip firmasının internetteki www.microchip.com
adlı sitesinden parasız olarak download edilebileceği gibi kitabın Ekler bölümünde adresi verilen firmadan da elde
edebilirsiniz. MPASM'nin kullanımı hakkında detaylı bilgiyi 5. bölümde bulacaksınız.
Microchip bir de içerisinde hem metin editörü hem MPASM assembler programını bulunduran MPLAB programını
PIC programlayıcılarının kullanımına sunmaktadır. Bu programın bulunduğu CD-ROM yine www.microchip.com adresinden
parasız olarak istenebilir. MPLAB'ın kurulumu ve kullanılmasıyla ilgili gerekli detay bilgiyi Ekler bölümünde bulacaksınız.
Yukarıda (sağda) PIC16F84 ve PIC16C84 mikrodenetleyicileri programlayabileceğiniz, çok basit bir donanımı
bulunan programlama kartı resmi verilmiştir. Bu kartla ilgili detaylı bilgiyi Ekler bölümünde bulacaksınız.
PIC Programlayıcı Yazılımı
MPASM tarafından derlenerek makine diline dönüştürülmüş assembly programı kodlarının PIC'e yazdırılmasında
kullanılan bir programa gereksinim vardır. Programlayıcı yazılımları, PIC'i programlamak için kullanılan elektronik karta
bağımlıdır. Yani her programlayıcı yazılımı ile elinizde bulunan karta kod gönderemeyebilirsiniz. Genellikle programlama
kartı üreticileri, ürettikleri karta uygun yazılımı da birlikte sunarlar. Biz bu kitapta ProtoPIC programlama kartına gönderdiği
kodlarla PIC'ieri sorunsuz olarak programlayan P16PRO adlı yazılımı kullandık ve nasıl kullanılacağını anlattık. P16PRO'yu
Windows ortamından da çalıştırabileceğiniz için bu size büyük kolaylık sağlayacaktır.
Programlanmış PIC'i Deneme Kartı
Programladığınız PIC'i breadboard üzerinde kendi kurduğunuz devre de deneyebileceğiniz gibi şekilde görülen özel
bir deneme kartı üzerinde de deneyebilirsiniz. Başlangıç ve orta düzey PIC programlayıcılara hitap etmek üzere geliştirilen
bu kart üzerinde deneme yapmak, breadbord üzerinde devre kurmaktan çok daha kolaydır. PIC'in port çıkışlarındaki
sinyalleri izlemek amacıyla 8 tane LED, bir tane de 7 segmentli LED yerleştirilmiştir. Kart üzerindeki, butonlar,
potansiyometre ve LED'ler aracılığıyla farklı şekilde programlanan PIC'lerin kolayca denenmesini sağlanır. Bu kartın yapısı
ve kullanılması hakkında Ekler bölümünde geniş bilgi bulacaksınız.