CCS C’ye Giriş ve Temel Yapılar

CCS C Dersleri - Bölüm 1

CCS C Dersleri - Bölüm 1

📌 CCS C’ye Giriş ve Temel Yapılar

CCS C, PIC mikrodenetleyicileri programlamak için kullanılan özel bir C dili türevidir. Standart C ile büyük benzerlik gösterir, ancak mikrodenetleyicilere özel kütüphaneler ve makrolar içerir.

🔹 CCS C Programlarının Genel Yapısı

CCS C programları genellikle aşağıdaki gibi bir yapıya sahiptir:


#include <16F877A.h>  // Kullanılacak mikrodenetleyiciyi belirtir
#fuses XT, NOWDT, NOPROTECT, BROWNOUT
#use delay(clock=4000000)  // 4 MHz kristal frekansı

void main() {
    while(TRUE) {
        // Buraya kodlar yazılır
    }
}
        

📌 Açıklamalar

  • #include <16F877A.h> → Kullanılan PIC modelini tanımlar.
  • #fuses → Mikrodenetleyicinin sigorta (fuse) ayarlarını belirler.
  • #use delay(clock=4000000) → Kristal osilatör frekansını ayarlar.
  • while(TRUE) → Sonsuz döngü oluşturarak sürekli çalışmasını sağlar.

📌 1.1. Giriş / Çıkış Pinlerini Kullanma

CCS C ile PIC’in giriş ve çıkış pinlerini yönetmek oldukça kolaydır. İşte temel komutlar:

🔹 Pin Modlarını Ayarlama


set_tris_b(0x00);  // PORTB'nin tüm pinlerini çıkış olarak ayarla
set_tris_a(0xFF);  // PORTA'nın tüm pinlerini giriş olarak ayarla
        

🔹 Pinleri Aç/Kapat (LED Yakma)


output_high(PIN_B0);  // RB0 pinini 1 yap (LED yanar)
output_low(PIN_B0);   // RB0 pinini 0 yap (LED söner)
        

🔹 Buton Okuma


if(input(PIN_A0)) {  // Buton basılı mı kontrol et
    output_high(PIN_B0);  // Butona basıldığında LED’i yak
} else {
    output_low(PIN_B0);   // Butona basılmadığında LED’i söndür
}
        

Bu kodlar sayesinde PIC mikrodenetleyiciye bağlı LED’leri ve butonları kontrol edebiliriz.

📌 1.2. Gecikme (Delay) Kullanımı

CCS C’de zamanlama işlemleri için gecikme fonksiyonları kullanılır.

🔹 Sabit Süreli Gecikme


delay_ms(1000);  // 1 saniye bekler
delay_us(500);   // 500 mikrosaniye bekler
        

🔹 LED Yanıp Sönme Örneği


void main() {
    set_tris_b(0x00);  // PORTB çıkış
    while(TRUE) {
        output_high(PIN_B0);  // LED’i yak
        delay_ms(500);        // 500 ms bekle
        output_low(PIN_B0);   // LED’i söndür
        delay_ms(500);        // 500 ms bekle
    }
}
        

🚀 Devamı

Bölüm 2'ye Git

Yorum Gönder

0 Yorumlar