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)
- Oluşturduğumuz projeyi istediğimiz klasöre istediğimiz isimle kaydediyoruz. (Ş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)
- Aşağıdaki şekildeki gibi proje oluşturmuş olduk. (Şekil-4)
Proteus Çizimi;
- Proteus programını açalım ve Kütüphaneden 1 adet PIC16F877 seçelim. (Şekil-5)
- Kütüphaneden 1 adet RES (Direnç) alalım. (Şekil-6)
- Yine kütüphaneden 1 adet LED alalım. (Şekil-7)
- Ve şekildeki gibi devreyi oluşturalım. (Ş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)
- Derledikten sonra aşağıdaki mesajları alırsak sıkıntı yok demektir. (Şekil-10)
Proteus’e HEX Dosyasının yüklenmesi;
- Proteus programına gelelim ve Mikrodenetleyicinin üzerine çift tıklayalım. (Ş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)
- Şimdi Proteus programını Run yapalım ve LED’in 500ms yandığını ve 500ms söndüğünü görebiliyoruz. (Şekil-13)
Projenin CCS-C kodu ve Proteus dosyalarına Buradan ulaşabilirsiniz.
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ğenBeğen