اما باز هم نشد من برنامه رو اینطوری نوشتم که هر 50us یک اینتراپت over flow بده و داخل روتین اینتراپت یک متغیری که هر بار یکی اضافه بشه،و بعد تابع if به اینصورت:
int count=0;
interrupt [TIM0_OVF] void timer0_ovf_isr(void)
{
TCNT0=0xC2;
count++;
if (count==1)
{
PORTA.1=1;
}
if (count==2)
{
PORTA.1=0;
}
if (count==3)
{
PORTA.1=1;
}
if (count==4)
{
PORTA.1=0;
count=0;
}
if (count==5)
{
PORTA.1=0;
count=0;
}
و انتظار داشتم دو پالس به صورت:50 - 50 و 50 - 300 بسازه اما چیزی که ساخت یک پالس 50- 50 که تازه پالس هم نیست تغییر بین 0و1 بصورت شیبداره و دامنه اش 1 ولت روی سطح dc چهار ولت هستش