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

516-kristal-osilator

 

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.

516-c

 

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.

516-Devre

 

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.

11

 

Yüklemeyi yaptıktan sonra similatörde deneyiniz, çalıştığını göreceksiniz..

 

iyi çalışmalar 🙂

About Ferhat Çelik

Elektronik mühendisliği için kitaplarla savaşan ve arası hiç iyi olmayan kişi. Kendi gibi elektronik ile ilgileneler için devre arşiv'i kuran Ferhat ÇELİK..

Check Also

Arduino ile Polifonik Ses Oluşturma

    Merhaba arkadaşlar, Polifonik ses diye tabir edilen şey aynı anda birden fazla ses …

One comment

  1. Bedirhan aslancık

    Meslek lisemizde bu devrenizi kullanmak istiyoruz.

Bir cevap yazın

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

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Arduino