#include<16f877.h>
#fuses xt,nowdt,noprotect,nobrownout,nolvp,noput,nowrt,nodebug,nocpd
#use delay(clock=4000000)
#use fast_io(b)
#use fast_io(a)
#use fast_io(e)
#define enc1 pin_b4 //1.MOTOR ENKODER GİRİŞİ
#define enc2 pin_b5 //2.MOTOR ENKODER GİRİŞİ
#define enc3 pin_b7 //3.MOTOR ENKODER GİRİŞİ
#define motor1yon1 pin_a0 //MOTOR 1 L298 çıkışı + yöne
#define motor1yon2 pin_a1 //MOTOR 1 L298 çıkışı - yöne
#define motor2yon1 pin_a2 //MOTOR 2 L298 çıkışı + yöne
#define motor2yon2 pin_a3 //MOTOR 2 L298 çıkışı - yöne
#define motor3yon1 pin_e0 //MOTOR 3 L298 çıkışı + yöne
#define motor3yon2 pin_e1 //MOTOR 3 L298 çıkışı - yöne
char t=10;
int16 say1=0,say2=0,say3=0; // say1,say2,say3 sayaç parametrelerim
void main()
{
set_tris_b(0xB0);
set_tris_a(0x00);
set_tris_e(0x00);
output_high(motor1yon1);
output_low(motor1yon2);
output_high(motor2yon1);
output_low(motor2yon2);
output_high(motor3yon1);
output_low(motor3yon2);
while(1)
{
if (input(enc1)) //1 nolu enkoder
{
delay_ms(t);
say1++;
if (say1==500){
output_low(motor1yon1);
output_low(motor1yon2);
} }
if (input(enc2)) //2 nolu enkoder
{
delay_ms(t);
say2++;
if (say2==500){
output_low(motor2yon1);
output_low(motor2yon2);
} }
if (input(enc3)) //3 nolu enkoder
{
delay_ms(t);
say3++;
if (say3==500){
output_low(motor3yon1);
output_low(motor3yon2);
}
}
}
}