6.a - Dc motor yön kontrolü


/***** DC-MOTOR YÖN KONTROLÜ Yazan: Burak TASASIZ *****/
/************************************************
YAZILIMIN İŞLEVİ: B portunun RB0, RB1, RB2 ve RB3
bacakları L293D entegresinin sırasıyla IN1, IN2,
IN3 ve IN4 bacaklarına bağlanıyor. Ayrıca
Mikrodenetleyicinin RA7 bacağına buton bağlanıyor.
Böylelikle butona basılmadığı zaman motorlarımız
saat yönünün tersine, butona basıldığı zaman ise
saat yönüne dönüyor.
************************************************/

#include <16f628a.h>
#FUSES NOWDT, INTRC, NOPUT, NOPROTECT, NOBROWNOUT, NOMCLR, NOLVP, NOCPD
#use delay(clock=4000000)

void main()
{
setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
setup_timer_1(T1_DISABLED);
setup_timer_2(T2_DISABLED,0,1);
setup_comparator(NC_NC_NC_NC);
setup_vref(FALSE);

set_tris_b(0x00); /*B Portunun tüm bacakları çıkış olarak ayarlanıyor.*/
output_b(0x00); //Port temizlemesi

set_tris_a(0xFF); /*A Portunun 7. bacağı giriş olarak ayarlanıyor.*/
output_a(0x00); //Port temizlemesi

While(1)//Sonsuz döngü
{
if(input(pin_a7))//Butona basılmışsa,
output_b(0x05);
/* L293D için in1=1,in2=0 ve in3=1,in4=0 ayarlanıyor.
Böylelikle iki motorda saat yönüne döner. */
else//Butona basılmamışsa,
output_b(0x0A);
/*L293D için in1=0,in2=1 ve in3=0,in4=1 ayarlanıyor.
Böylelikle iki motorda saat yönünün tersine döner. */
}

}

Hiç yorum yok:

Yorum Gönder