Merhaba,
"Step motorda adım sayısını lcd ekranda gösterecek bir kod yazınız." soru bu. Kodu yarım adım sayacak şekilde ayarladım. Adım sayısını yazdırırken her 2 yarım adımdan sonra yazdıracak şekilde mi ayarlamalıyım. Sanırım adım mantığını yeterince anlayamadım ya da soruyu tam anlamadım.. Biraz açıklayabilir misiniz? Kolay gelsin.
#include <16f877A.h>
#fuses XT,NOWDT,NOPROTECT,NOBROWNOUT,NOLVP,NOPUT,NOWRT,NODEBUG,NOCPD
#use delay (clock=4000000)
#define use_portb_lcd TRUE
#include <lcd.c>
#define buton_ileri pin_a0
#define buton_geri pin_a1
int i=0;
const int yarim_adim[]={0x01,0x03,0x02,0x06,0x04,0x0C,0x08,0x09};
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_b(0x00);
output_d(0x00);
while(1)
{
if (input(buton_ileri))
{
output_d(yarim_adim[i]);
while(input(buton_ileri));
delay_ms(hiz);
if (i==7)
i=-1;
i++;
}
if (input(buton_geri))
{
if (i==0)
i=8;
i--;
output_d(yarim_adim[i]);
while(input(buton_geri));
delay_ms(hiz);
}
}
}
Motorun 1 tık dönüşünü 1 adım olarak alabilirsin. Yarım adım olarak dönüyor alması sonucu değiştirmez sisteme dışarından bakan o program ile sürülen yarım adımı 1 adım olarak algılayacaktır.
Teşekkür ederim. Dediğiniz gibi ve araştırarak sorunu çözdüm.