CCS C ile DC Motor Uygulaması

pr_01_37_max

 

Bu uygulamada l298 entegresi ile ileri geri motor kontrolü yapılmıştır.

/******************************************************
 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
#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ı
 }

 }
}

DC Motor Uygulaması

Bu yazı CCS C Örnekleri kategorisine gönderilmiş ve , , ile etiketlenmiş. Kalıcı bağlantıyı yer imlerinize ekleyin.