Anasayfa > Pic Programlama > PIC16F877 ile DC Motor Uygulaması

PIC16F877 ile DC Motor Uygulaması

/******************************************************

PIC16F877 ile DC Motor Uygulaması

*******************************************************/

#include <16f877.h> // Kullanılacak denetleyicinin başlık dosyası tanıtılıyor.

// Denetleyici konfigürasyon ayarları

#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD

#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör frekansı belirtiliyor.

// Giriş ve çıkış pinlerine isim atanıyor

#define buton_ileri pin_a0//mesela burada A portunun 0. bacağı buton_ileri diye tanıtılır

#define buton_geri pin_a1

#define buton_stop pin_a2

#define input1 pin_b0

#define input2 pin_b1

#define enable_a pin_b2

#define enable_b pin_b3

/********* ANA PROGRAM FONKSİYONU********/

void main ( )

{

setup_psp(PSP_DISABLED); // PSP birimi devre dışı

setup_timer_1(T1_DISABLED); // T1 zamanlayıcısı devre dışı

setup_timer_2(T2_DISABLED,0,1); // T2 zamanlayıcısı devre dışı

setup_adc_ports(NO_ANALOGS); // ANALOG giriş yok

setup_adc(ADC_OFF); // ADC birimi devre dışı

setup_CCP1(CCP_OFF); // CCP1 birimi devre dışı

setup_CCP2(CCP_OFF); // CCP2 birimi devre dışı

output_high(enable_a); // Köprü A seçili

output_low(enable_b); // Köprü B pasif

while(1) // Sonsuz döngü

{

if (input(buton_ileri)) // İLERİ Butonuna basılsı ise

{

output_high(input1); // L298 Input1 girişi lojik-1

output_low(input2); // L298 Input2 girişi lojik-0

}

if (input(buton_geri)) // GERİ Butonuna basılsı ise

{

output_low(input1); // L298 Input1 girişi lojik-0

output_high(input2); // L298 Input1 girişi lojik-1

}

if (input(buton_stop)) // HIZLI STOP Butonuna basılsı ise

{

output_low(input1); // L298 Input1 girişi lojik-0

output_low(input2); // L298 Input1 girişi lojik-0

// Hızlı stop için burada her iki girişte lojik-1 olabilirdi.

// Önemli olan Hızlı Stop için, her iki girişin aynı seviyede olması

}

}

}

Ek: CCS C , Proteus, Hex dosyaları

  1. Henüz yorum yapılmamış.
  1. No trackbacks yet.

Bir Cevap Yazın

Aşağıya bilgilerinizi girin veya oturum açmak için bir simgeye tıklayın:

WordPress.com Logosu

WordPress.com hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Twitter resmi

Twitter hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Facebook fotoğrafı

Facebook hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Google+ fotoğrafı

Google+ hesabınızı kullanarak yorum yapıyorsunuz. Log Out / Değiştir )

Connecting to %s

%d blogcu bunu beğendi: