çalışmayan program

Başlatan mcan, 24 Mayıs 2005, 17:32:57

mcan

#include <16f84a.h>
#fuses xt,NOWDT,NOPROTECT
#use delay(clock=4000000)
#byte   PORTB  =  6        

main(void)
{
unsigned char z=900;
sET_TRIS_B(0);
PORTB = 0;

for(;;)
{
z=z+100;
if(z=2000)
z=900;
else
{output_high(PIN_B0);
delay_us(z);
output_low(PIN_B0);
delay_ms(19);}
}
}


yapmak istediğim delay komutunun içindeki sayıyı değişken yapmak for ile else arasını silip z yerine sayı koydugumda çalışıyor ama diğerlerinde hata ne olabilirki?

program bana şunu sağlayacak delay komutunun içindeki değer değişken olup her döngüde 100 artacak 2000 i geçerse 900 e geri dönecek

ahmetu

char değişken türü 0-255 arası bir değer alabilir, ikinci sorun delay_us komutunun kullanmı ile ilgili delay_us komutunu değişkenle birlikte kullanırken verilebilecek değerler 0-255 arasıdır.