5 Mart 2014 Çarşamba

C ile programlama uygulamaları-16

DC Motor Uygulaması



AMAÇ:



Mikrodeneleyicilerin çalışma sistemini öğrenmek, C dili ile program yazabilme ve 16F877A entegresini programlayabilme yeteneğini kazanmak.


YAPILACAK İŞ:



12V’luk DC motorun yön kontrolünün gerçekleştirilmesi.


DENEYİN BAĞLANTI ŞEMASI




    PROGRAM KODU:



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



#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);         setup_timer_1(T1_DISABLED);



setup_timer_2(T2_DISABLED,0,1);          setup_adc_ports(NO_ANALOGS);



setup_adc(ADC_OFF); setup_CCP1(CCP_OFF); setup_CCP2(CCP_OFF);



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









İŞLEM BASAMAKLARI



1.Devreyi bord üzerine kurunuz.



2. Kodu yazıp derleyiniz.Hex kodunu Pice yükleyiniz.



3.Devrenin çalışmasını inceleyiniz.





C ile programlama uygulamaları-16

Hiç yorum yok:

Yorum Gönder