CCS-C ile PIC Programlama, ADC Fonksiyonları

Bu yazıda PIC Mikro Denetleyicilerinde bulunan ADC (Analog To Digital Converter) modüllerinin CCS-C derleyicisinde nasıl kullanıldığını anlatmaya çalışacağım. ADC modülü Analog sinyali Dijital bilgiye dönüştüren donanımdır. ADC girişine uygulanan analog sinyal bir More »

CCS-C ile PIC Programlama, İşlemci Kontrol Fonksiyonları

CCS-C Derleyici’sinde işlemci kontrol görevlerini yerine getirebilmek için aşağıdaki fonksiyonlar hazır olarak gelmektedir. disable_interrupts() enable_interrupts() clear_interrupt() interrupt_active() jump_to_isr() ext_int_edge() goto_adress() label_adress() read_bank() write_bank() brownout_enable() reset_cpu() restart_cause() sleep() setup_oscillator() getenv() disable_interrupts() enable_interrupts() clear_interrup() More »

CCS-C ile PIC Programlama, PIC Timer Modülleri ve Kullanımı – 3

Uzunca bir ara verdikten sonra ccs-c ile ilgili konu anlatımlarına devam ediyorum. En son Timer’lar konusunda kalmıştık, dolayısıyla bu yazıda Timer kullanımı ile ilgili bir kaç örneğe yer vereceğim. Denemelerimde sitenin sağında More »

CCS-C ile PIC Programlama, PIC Timer Modülleri ve Kullanımı – 2

Merhaba, uzunca bir aradan sonra tekrar birlikteyiz. CCS-C ile Pic programlama kategorisinde en son Timer’lar ve interrupt konularına değinmiştik, bu yazımızda da timer’lardan devam ediyoruz. Yazımızın amacı CCS-C derleyicisinde Timer modüllerinin nasıl More »

CCS-C ile PIC Programlama, PIC Interrupts (Kesmeler)

Giriş Kesme (Interrupt) Nedir Kesme Mekanizması Kesme kaynakları CCS-C’de kesmelerin kullanımı Kesmelerle ilgili fonksiyonlar Örnek Uygulama Kesmelerle alakalı register’lar Giriş Bildiğiniz gibi bundan önceki yazımızda Timer’lar konusuna giriş yapmıştık. Bu konuya biraz More »

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ı

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

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

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

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.