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