Professional Documents
Culture Documents
#include <main.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000) // Gecikme fonksiyonu için kullanılacak osilatör
frekansı belirtiliyor.
#use rs232 (baud=9600, xmit=pin_C6, rcv=pin_C7, parity=N, stop=1)
while(1)
{
output_b(0x00); // B portu sıfırlanıyor
islem="null"; // islem değişkeninin içi boş olarak ayarlanıyor.
gets(islem); // yazılan metni islem değişkenine aktar.
puts(islem); // yazılan değeri ekrana yaz
printf("\n\rDERECE ve YÖN GİRİNİZ:"); // receive kısmına yazdır.
// 360 DERECE SAĞA KOMUTU
if (islem[0]=='3' && islem[1] =='6' && islem[2]=='0'&&islem[3]=='R' )
{
for(a=0;a<=11;a++) // 12x4=48 adım atıyor 48x7.5=90 derece sağa hareket
edecek
{
output_b(0b00001001);
delay_ms(10);
output_b(0b00000011);
delay_ms(10);
output_b(0b00000110);
delay_ms(10);
output_b(0b00001100);
delay_ms(10);
}
}
// 180 DERECE SAĞA KOMUTU
if (islem[0]=='1' && islem[1] =='8' && islem[2]=='0'&&islem[3]=='R' )
{
for(a=0;a<=5;a++) // 6x4=24 adım atıyor 24x7.5=90 derece sağa hareket
edecek
{
output_b(0b00001001);
delay_ms(10);
output_b(0b00000011);
delay_ms(10);
output_b(0b00000110);
delay_ms(10);
output_b(0b00001100);
delay_ms(10);
}
}
// 90 DERECE SAĞA KOMUTU
if (islem[0]=='9' && islem[1] =='0'&&islem[2]=='R' )
{
for(a=0;a<=2;a++) // 3x4=12 adım atıyor 12x7.5=90 derece sağa hareket
edecek
{
output_b(0b00001001);
delay_ms(10);
output_b(0b00000011);
delay_ms(10);
output_b(0b00000110);
delay_ms(10);
output_b(0b00001100);
delay_ms(10);
}
}
//60 DERECE SAĞA KOMUTU
if (islem[0]=='6' && islem[1] =='0'&&islem[2]=='R')
{
for(a=0;a<=1;a++)
{
output_b(0b00001001);
delay_ms(10);
output_b(0b00000011);
delay_ms(10);
output_b(0b00000110);
delay_ms(10);
output_b(0b00001100);
delay_ms(10);
}
}
//30 DERECE SAĞA KOMUTU
if (islem[0]=='3' && islem[1] =='0'&&islem[2]=='R')
{
for(a=0;a<=0;a++)
{
output_b(0b00001001);
delay_ms(10);
output_b(0b00000011);
delay_ms(10);
output_b(0b00000110);
delay_ms(10);
output_b(0b00001100);
delay_ms(10);
}
}
// 360 DERECE SOLA KOMUTU
if (islem[0]=='3' && islem[1] =='6' && islem[2]=='0' && islem[3]=='L')
{
for(a=0;a<=11;a++)
{
output_b(0b00001100);
delay_ms(10);
output_b(0b00000110);
delay_ms(10);
output_b(0b00000011);
delay_ms(10);
output_b(0b00001001);
delay_ms(10);
}
}
// 180 DERECE SOLA KOMUTU
if (islem[0]=='1' && islem[1] =='8' && islem[2]=='0' && islem[3]=='L')
{
for(a=0;a<=5;a++)
{
output_b(0b00001100);
delay_ms(10);
output_b(0b00000110);
delay_ms(10);
output_b(0b00000011);
delay_ms(10);
output_b(0b00001001);
delay_ms(10);
}
}
// 90 DERECE SOLA KOMUTU
if (islem[0]=='9' && islem[1] =='0' && islem[2]=='L' )
{
for(a=0;a<=2;a++)
{
output_b(0b00001100);
delay_ms(10);
output_b(0b00000110);
delay_ms(10);
output_b(0b00000011);
delay_ms(10);
output_b(0b00001001);
delay_ms(10);
}
}
// 60 DERECE SOLA KOMUTU
if (islem[0]=='6' && islem[1] =='0' && islem[2]=='L')
{
for(a=0;a<=1;a++)
{
output_b(0b00001100);
delay_ms(10);
output_b(0b00000110);
delay_ms(10);
output_b(0b00000011);
delay_ms(10);
output_b(0b00001001);
delay_ms(10);
}
}
// 30 DERECE SOLA KOMUTU
if (islem[0]=='3' && islem[1] =='0' && islem[2]=='L')
{
for(a=0;a<=0;a++)
{
output_b(0b00001100);
delay_ms(10);
output_b(0b00000110);
delay_ms(10);
output_b(0b00000011);
delay_ms(10);
output_b(0b00001001);
delay_ms(10);
}
}
}
}