July, 2008Ayı için arşiv

SAW Rezonatörlü 433 Mhz RF Verici Devresi

Daha önce tek yüzlü bir PCB çizerek kurduğum bu verici, kısa mesafe RF iletişim için güzel bir devre. Devre çok az komponent gerektiriyor ve anten direkt PCB’ye çiziliyor. Dijital kısımda MC 145026D entegresi kullanılmış.

Devreyi olduğu gibi kurabilir veya dijital kısmı kafanıza göre düzenleyebilirsiniz. Mesela MC 145026 yerine PIC12F675 gibi küçük bir Mikro Denetleyici kullanabilirsiniz. Önemli olan R3 Direncinden Data sinyalinin ve R4′ten VCC’nin girilmes. Aşağıdaki “Sadece RF Kısım” resmini incelerseniz ne demekistediğimi daha iyi anlarsınız.

Bu vericiyi UDEA’nın veya başka firmaların ASK alıcı modülleri ile rahatlıkla kullanabilirsiniz.

Devrenin Orijianl Şeması


Devamını Oku…

CCS-C ile PIC Programlama, Bit ve Byte İşlemleri Dahili Fonksiyonları

Giriş

Bu yazımızda Bit / Byte seviyesi işlemleri yapmak için CCS-C’nin bize sunduğu hazır fonksiyonları anlatacağız. Öncelikle bir noktayı belirtelim;

CCS-C derleyicisinin dahili fonksiyonlarının hiç birini kullanmadan da kod yazabilirsiniz. Dahili fonksiyonlar daha hızlı kod yazmanızı sağlarlar, Optimizasyon (üretilecek ASM kodunun büyüklüğü) önemli ise dahili fonksiyonları kullanmamaya çalışın. Dahili fonksiyonları kullanmadan nasıl kod yazılacağını ilerki yazılarımızda anlatacağız. Hani şu DataSheet’e bakıp kod yazma dedikleri olay :)

İçindekiler

bit_clear()
bit_set()
bit_test()
rotate_left()
rotate_right()
shift_left()
shift_right()
make8()
make16()
make32()
_mul()
swap()
#fuse
#use delay
Örnek Kodlar

Devamını Oku…

CCS-C ile PIC Programlama, Dahili Giriş Çıkış Komutları ile PIC Portlarının Kullanımı

Bu yazımızda CCS-C derleyicisinin dahili giriş / çıkış fonksiyonlarını anlatacağız. Bildiğiniz gibi PIC’ler giriş/çıkış (I/O) portlarına sahipler. Bu portların sayısı PIC modeline göre değişiklik göstermektedir. CCS-C’nin dahili fonksiyonlarını kullanarak bu portlara kolayca erişebilirsiniz. Şimdi sırasıyla bu fonksiyonların ne işe yaradıklarını tek tek anlatalım ve örnekler verelim. Yazı sonundaki PIC16F877 ile yapılmış olan ISIS Projesi ve örnek kodlar konuyu daha iyi anlamanıza yardımcı olacaktır.

Yazı İçeriği

set_tris_x()
get_tris_x()
input_x()
output_x()
input()
input_state()
output_bit()
output_high()
output_low()
output_toggle()
output_float()
output_drive()
port_x_pullups
#use_standart_io
#use_fixed_io
#use_fast_io
ISIS ile yapılmış örnek proje ve kodlar

Devamını Oku…

CCS-C ile PIC Programlama, Temel C Bilgisi – 3

Genel C anlatımı hakkındaki 3. yazımızla karşınızdayız, Hızımızı artırıyoruz :) Bu yazımızda kontrol yapıları ve fonksiyon kullanımı hakkında bilgiler aktaracağız.

KONTROL YAPILARI

IF,ELSE,ELSE IF

if kontrol yapısı istenilen durumun oluşup oluşmadığının kontrolü için kullanılır. if, else ile beraber kullanılabileceği gibi yalnız başına da kullanılabilir.

if(koşul)
{
yapılacaklar
....
....
}

örnek
Devamını Oku…

CCS-C ile PIC Programlama, Temel C Bilgisi – 2

Değişkenler, Veri Yapıları ve Operatörler

Malumunuz derslerimiz biraz yavaş gidiyor.:) Konuyla ilgili yayınladığım yazılar hep işin teori yönündeydi. Bu yazımızdan sonra Temel C ile ilgili bir kaç konu anlatımı içeren bir adet yazı daha yayınladıktan sonra, işin zevkli kısmına geçeceğiz. PIC, CCS-C ve Proteus üçlüsüyle çok güzel çalışmalar yapacağız inşallah.

Değişkenler

Değişkenler programların olmazsa olmazlarıdır, belirli tipte verileri tutmak amacıyla programcı tarafından tanımlanırlar. Teknik olarak değişkenler, RAM’deki adres bölgeleri için verilen isimlerdir diyebiliriz. Örneğin long x_degeri; şeklinde bir tanımlama yaptığımızda, x_degeri adında 2 byte uzunluğunda bir değişken kullanacağımızı derleyiciye bildirmiş oluyoruz. Derleyici programı derlerken, x_degeri değişkeni için RAM’de 2 Byte (16 Bit) uzunluğunda bir adres bölgesini x_degeri değişkenine atar.

Aşağıdaki kodda x_degeri değişkenine 12345 değeri atanıyor.

x_degeri = 12345;

Bu komut işletildiğinde hafızada x_degeri değişkeni için ayrılan alana 12345 değeri yazılmış olur.

CCS-C Derleyicisinde tanımlanabilecek değişken türleri ve alabilecekleri değerlerlere bir göz atalalım.

Devamını Oku…