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
}
}
0 Yorumlar