سلام دوستان
یه برنامه نوشتم که خود به خود مقدار دیوتی سایکلو زیاد کنه ولی خروجی هیچی ندارم :cry2:
مشکل از کجاست
دوستان ببخشید دیگه تو اینجا کدا یخورده بهم ریخته
من تا اینجاشو فقط مرتب کرد.
یه برنامه نوشتم که خود به خود مقدار دیوتی سایکلو زیاد کنه ولی خروجی هیچی ندارم :cry2:
مشکل از کجاست
کد:
<include <mega16.h# <include <delay.h# char a ; interrupt [TIM0_OVF] void timer0_ovf_isr(void) { } void main(void) { PORTA=0x00; DDRA=0x00; PORTB=0x00; DDRB=0x00; PORTC=0x00; DDRC=0x00; PORTD=0x00; DDRD=0x00; // Timer/Counter 0 initialization // Clock source: System Clock // Clock value: 62.500 kHz // Mode: Fast PWM top=0xFF // OC0 output: Non-Inverted PWM TCCR0=0x6C; TCNT0=0x00; OCR0=0x00; TCCR1A=0x00; TCCR1B=0x00; TCNT1H=0x00; TCNT1L=0x00; ICR1H=0x00; ICR1L=0x00; OCR1AH=0x00; OCR1AL=0x00; OCR1BH=0x00; OCR1BL=0x00; ASSR=0x00; TCCR2=0x00; TCNT2=0x00; OCR2=0x00; MCUCR=0x00; MCUCSR=0x00; TIMSK=0x01; UCSRB=0x00; ACSR=0x80; SFIOR=0x00; ADCSRA=0x00; SPCR=0x00; TWCR=0x00; // Global enable interrupts #asm("sei") while (1) { } (++for (TCNT0=131;a=0;a }(++for (OCR0=12.5;TCNT0=131;OCR0 ;(delay_ms(1 ;if(OCR0>125) break } } (++for (OCR0=6.25;TCNT0=193.5;OCR0 ;(delay_ms(1 ;if(OCR0<62.5)break { ; {

کد:
for (TCNT0=193.5;a=1;a--) { for (OCR0=62.5;OCR0>6.25&&TCNT0=193.5;OCR0--){ delay_ms(1); if (OCR0>6.25)break; } TCNT0=131; for (OCR0=125;TCNT0=131;OCR0--){ delay_ms(1); if (OCR0>12.5)break; } ; { {
دیدگاه