Ana Sayfa Elektronik Öğrenin Programlama genel C ile programlama uygulamaları-16

C ile programlama uygulamaları-16

0

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.

YORUM YOK

CEVAP VER

Please enter your comment!
Please enter your name here

Exit mobile version