سلام دوستان
یه برنامه نوشتم که خود به خود مقدار دیوتی سایکلو زیاد کنه ولی خروجی هیچی ندارم :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;
}
; {
{






دیدگاه