CCS-C ile Buton & LED Kontrol Uygulaması

Standart

Merhaba Arkadaşlar, geçen yazımda CCS-C PIC Derleyici programı ile proje oluşturup, LED yakma-söndürme uygulamasını yapmıştık. Bu yazımda ise Buton ile LED Kontrol Uygulamasını göstericem.

  • İlk önce CCS-C programı ile proje oluşturalım. (Program Ayarları: PIC16F877, 4MHZ frekans ve Kristal osilatör).
  • Buton için x değişkeni oluşturalım.

#include <Butonlu LED Kontrol.h>
int x;
void main()

{

}

  • Port ayarlarını yapalım. Port A0: Giriş (Buton) olarak ayarlıcaz. Yani Butonun sayısal değeri 1 dir. Port B: Çıkış (LED) olarak ayarlıcaz. Yani LED’in değeri ise sıfırdır. Bunları geçen yazımda da söylemiştim 🙂

void main()
{

set_tris_a(0b00000001);          // RA0 ucu giriş olarak ayarlandı. 
set_tris_b(0x00);                        // RB portu tümüyle çıkış olarak ayarlandı.

}

  • Şimdi Proteus ile devre tasarımını yapalım. Yani PA0: buton ve PB: LED
27

Şekil-1.

  • Bu devrede Kristal osilatör dahil edilmiştir. Bu uygulamada 3 adet LED kontrolü yaptığım için 3 adet çıkış ayarı yapıcam.

output_b(0x00);       // B Portunun 0.pini çıkış yapıldı.
output_b(0x01);       // B Portunun 1.pini çıkış yapıldı.
output_b(0x02);      // B Portunun 2.pini çıkış yapıldı.

  • Şimdi Buton kontrolü yapıcaz. Yani Butonu tıkladığımızda LED’lerin hepsi “ON” olucak yani yanıcak.

buton:
x=input(pin_a0);     // RA0 girişi okunuyor, tersleniyor ve x değişkenine aktarılıyor.
output_bit(pin_b0,x);      // x değişkeni değeri RB0 pini çıkışına aktarılıyor.
output_bit(pin_b1,x);      // x değişkeni değeri RB1 pini çıkışına aktarılıyor.
output_bit(pin_b2,x);     // x değişkeni değeri RB2 pini çıkışına aktarılıyor.
goto buton;                         // buton etiketinin olduğu yere gidiyor.

  • Kodları yazdıktan sonra “Build” diyerek kodları derleyelim. Proteus programına, oluşturulan hex dosyasını yükleyelim ve çalıştıralım.
28.jpg

Şekil-2.

TÜM KODLAR:

#include <Butonlu LED Kontrol.h>
int x;
void main()
{

set_tris_a(0b00000001);               // RA0 ucu giriş olarak ayarlandı.
set_tris_b(0x00);                             // RB0 portu tümüyle çıkış olarak ayarlandı.

output_b(0x00);
output_b(0x01);
output_b(0x02);

buton:
x=input(pin_a0);             // RA0 girişi okunuyor, tersleniyor ve x değişkenine aktarılıyor.
output_bit(pin_b0,x);   // x değişkeni değeri RB0 pini çıkışına aktarılıyor.
output_bit(pin_b1,x);   // x değişkeni değeri RB1 pini çıkışına aktarılıyor.
output_bit(pin_b2,x);   // x değişkeni değeri RB2 pini çıkışına aktarılıyor.
goto buton;                       // buton etiketinin olduğu yere gidilir.

}

Proteus Devre Çizimi + CCS-C PIC Kodları + HEX Dosyası

Yorum bırakın