16F84 ile Basit Devre Kurmak
Elektronik dünyasında, otomatik işlevleri yerine getirmesi istenen birçok uygulamada kullanılan PIC(programmable integrated chip) aygıtlarından en yaygın kullanılanlarından birisi olan 16F84 modeli ile bir devre hazırlayacağız.
İlk önce bilinmesi gereken birkaç noktayı belirtmekte fayda var; piclerle hazırlanan devrelerde kesinlikle bir osilatör devresi olmalıdır. Bunu cristal dediğimiz, elektrik akımını aldığında titreşim üreten devre elemanı yardımıyla, yada biraz daha basit direnç ve kondansatörlerle yapabilriz. Ancak cristal kullanılarak hazırlanan devreler daha kararlıdır. Cristal osilatör kullanıldığında, osilatör salınımda oluşan grafiğin kenarları daha doğrusal olacaktır, buda daha kararlı ve düzgün çalışan bir devre anlamına gelir. Osilatör modelleri aşağıda verilmiştir
PIC16F84 dört değişik tip osilatör ile çalışabilir. Bunlar
LP : Düşük güç kristal ile (Low Power crystal) yaklaşık 40KHz
XT : Kristal / Rezanatör ile (Crystal / Resonator) 0 – 10MHz
HS : Yüksek hız kristali (High Speed Crystal / Resonator) 4 – 10MHz
RC : Direnç / Kondansatör ile (Resistor / Capacitor) 0 – 4MHz
Bunun yanı sıra yine unutulmamalıdır ki, MCLR ucu her zaman +5V da bağlanmalıdır, MCLR da 0V olduğu zaman pic kendini resetler.
Devreyi kurma aşamsına gelirsek, öncelikle bu basit devremiz için gerekli olan, parçaları sıralayalım;
16F84A pic
Crystal Osilatör
2 tane 22pf kondansatör
330 R direnç
10k direnç
kırmızı led
Şimdi devremizi kurabiliriz, öncelikle resimde görüldüğü gibi, mikroişlemci üzerine osilatör devresini yerleştirmeliyiz, daha sonra MCLR ucunu 10k dirençle +5V a çekmeliyiz. Daha sonra RA0 portuna 330R direnç ve Ledimizi bağlayarak bunu toprakla bitirmeliyiz.
Devrenin CCS te hazırlanmış kodları aşağıdadır.
#include “C:\Program Files\PICC\Examples\bilgiustam.h”
#use delay(clock=4000000)//osilatör frekansı belirtiliyor
#use fast_io(a)//port yönlendirme komutu A portunu yönlendirmek için
void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
// TODO: USER CODE!!
set_tris_a(0×00); //A portu çıkış olarak ayarlandı
output_a(0×00); //A portunun bütün uçları sıfırlandı
basla:
output_high(pin_a0); //A portunun birinci ucu 1 yapıldı
delay_ms(500); //500ms gecikme
output_low(pin_a0); //A portunun birinci ucu tekrar sıfır yapıldı
delay_ms(500); //500ms gecikme
goto basla;
}
Bu kodları CCs programını kullanarak compile ettikten sonra, oluşan HEX. dosyasını ISIS 7 Prof. programında pic’e yüklerseniz, similasyonu çalıştırabilirsiniz. Yükleme yapmak için picin üzerine çift tıklayıp, resimdeki mause iconunun olduğu yere tıklayarak, hex. dosyasının olduğu adresi bulup, yükleme yapınız. Bir kolaylık olsun diye söylüyorum, genellikle hex dosyaları 1kb boyutundadır, direk en küçük boyutlu dosyayı seçebilirsiniz.
Yüklemeyi yaptıktan sonra similatörde deneyiniz, çalıştığını göreceksiniz..
iyi çalışmalar 🙂
Meslek lisemizde bu devrenizi kullanmak istiyoruz.