CCS – C ile LED Yakma-Söndürme

Standart

Geçen yazımda CCS-S nedir? ve Program kurulumu hakkında anlatmıştım. Bu yazımın amacı PIC16F877 ile LED’i Yakmak ve Söndürmek. Yani belirlediğimiz zaman içerisinde LED’in yanması ve kapanmasıdır. Burada CCS-C PIC C Derleyici programı ile c tabanında bir kodların yazılışını göstericem. Serdar ÇİÇEK Hocamızın “CCS C İle PIC Programlama” kitabını tavsiye ederim. Bu kitapta hem CCS-C PIC derleyici hemde PIC16F877 ve PIC16F877A mikrodenetleyicilerin donanım mimarisi de güzel bir şekilde anlatılmıştır.

Proje Oluşturma;

  • Kurduğumuz CCS-C PIC derleyici programını açıyoruz ve File >> New >> Project Wizard diyoruz. (Şekil-1)

 

14

Şekil-1.

 

  • Oluşturduğumuz projeyi istediğimiz klasöre istediğimiz isimle kaydediyoruz. (Şekil-2)

 

15

Şekil-2.

 

  • Kaydetdikten sonra açılan pencereden PIC seçimini, Osilatör tipini (Dahili veya harici seçimini) ve Kristal frekansını ayarlamamız gerekiyor. Ben bu projede PIC16F877, Kristal osilatör  ve 4MHZ frekans ayarladım. Ayarları yaptıktan sonra “Create Project” tıklıyoruz.(Şekil-3)

 

16.jpg

Şekil-3.

 

  • Aşağıdaki şekildeki gibi proje oluşturmuş olduk. (Şekil-4)

 

17.jpg

Şekil-4.

 

Proteus Çizimi;

  • Proteus programını açalım ve Kütüphaneden 1 adet PIC16F877 seçelim. (Şekil-5)

 

18.jpg

Şekil-5.

 

  • Kütüphaneden 1 adet RES (Direnç) alalım. (Şekil-6)

 

19.jpg

Şekil-6.

 

  • Yine kütüphaneden 1 adet LED alalım. (Şekil-7)

 

20.jpg

Şekil-7.

 

  • Ve şekildeki gibi devreyi oluşturalım. (Şekil-8)

 

21.jpg

Şekil-8.

 

  • Bu devrede RB0 pinine LED’i bağlamış olduk. Yani kodu yazarken Mikrodenetleyicinin B Protunun 0.pinini LED olarak ayarlıyoruz. LED her zaman çıkıştır bunu unutmayalım. Yani değeri sıfırdır (0x00). Buton ise her zaman giriştir ve değeri 1’dir (0x01).

 

YAZILIM;

  • İlk önce ANA PROGRAM ayarlarını yapalım. Yani Port B’ yi çıkış olarak ayarlayalım.

#include <LED.h>

                   /************ ANA PROGRAM ********/
void main()
{
set_tris_b(0x00);            // B PORTU tümüyle çıkış olarak ayarlandı

/*********** SONSUZ DÖNGÜ ********/
while(TRUE)                     // while(1) demektir.
{

}

}

 

  • Şimdi SONSUZ DÖNGÜ (while) ayarlarını yapalım. Yani LED’ i yakma ve söndürme işlemini yapalım.

#include <LED.h>

/************ ANA PROGRAM ********/
void main()
{
set_tris_b(0x00);                               // B PORTU tümüyle çıkış olarak ayarlandı.

             /*********** SONSUZ DÖNGÜ ********/
while(TRUE)                              // while(1) demektir.
{
output_high(pin_b0);           // Çıkış yüksek yapıldı. Yani LED yandı.
delay_ms(500);                       // Gecikme zaman ayarlandı.
output_low(pin_b0);            // Çıkış düşük yapıldı. Yani LED söndü.
delay_ms(500);                      // Gecikme zaman ayarlandı.
}

}

 

  • Kodları yazdıktan sonra doğru olup olmadığını Build diyerek kontrol ediyoruz ve derleme yaparken kendi, program HEX dosyasını oluşturuyor. (Şekil9)

 

22.jpg

Şekil-9.

 

  • Derledikten sonra aşağıdaki mesajları alırsak sıkıntı yok demektir. (Şekil-10)

 

23.jpg

Şekil-10.

 

Proteus’e HEX Dosyasının yüklenmesi;

 

  • Proteus programına gelelim ve Mikrodenetleyicinin üzerine çift tıklayalım. (Şekil-11)

 

24.jpg

Şekil-11.

 

  • Açılan pencereden “Program File:” tıklayalım ve CCS-C projeyi kaydettiğimiz klasörden .hex uzantılı dosyayı seçelim. Projeyi oluştururken Kristal frekans ayarını kaç yapmışsak, “Processor Clock Frequency:” kutucuğuna da ayarladığımız frekans değerini girelim ve “OK” diyelim. (Şekil-12)

 

25.jpg

Şekil-12.

 

  • Şimdi Proteus programını Run yapalım ve LED’in 500ms yandığını ve 500ms söndüğünü görebiliyoruz. (Şekil-13)

 

26.jpg

Şekil-13.

Projenin CCS-C kodu ve Proteus dosyalarına Buradan ulaşabilirsiniz.

CCS – C ile LED Yakma-Söndürme’ için 2 yanıt

  1. Türk program, lar tasarlayıp kendimize
    Özgü olsun
    Bir de Logic Çizim
    Pıc program tasarlayıp
    Bu gün Alman
    Var bu PLC Program, ları
    Tükçe Menü Olursa
    Benim gibi kardeşim
    Daha kolay kavrar
    Yani dek istediğim
    PLC programı Dönüştürün
    Tum Micro işlemci,lere
    Atmel Mikrocip,ve sayre
    Kısaca Dunyada olan.

    Beğen

Yorum bırakın