اطلاعیه

Collapse
No announcement yet.

External Event Counter___یه سوال درباره عملکرد کانتر در تایمر/کانتر 0

Collapse
این موضوع بسته شده است.
X
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    External Event Counter___یه سوال درباره عملکرد کانتر در تایمر/کانتر 0

    سلام
    من میخوام از تایمر 0 به عنوان کانتر استفاده کنم....لذا کاک تایمر 0 رو روی کلاک خارجی با لبه بالا رونده گزاشتم.

    حالا یه سوال : من TCNT0 رو 0 کردم و OCR0 رو 1 و داخل وقفه مقایسه کد زیر رو گزاشتم
    OCR0 = TCNT0 + 1;
    PORTA = TCNT0;

    یعنی باس تو هر 1 دوره تناوب کلاکمون این مقایسه رخ بده....ولی مثل این که پایه PORTA مقدارش تغییر نمیکنه...چرا؟

    اصلا تو بحث کانتر عمل مقایسه به صورت خودکار انجام میشه یا دستی؟



    این از کدهای پروژه
    [code=c]
    #include <mega16.h>

    interrupt[TIM0_OVF] void Timer_Counter0_ovf()
    {
    TCNT0 = 0;
    }

    interrupt[TIM0_COMP] void Timer_Counter0_comp()
    {
    OCR0 = TCNT0 + 1;
    PORTA = TCNT0;
    }

    void main(void)
    {
    DDRA = 0XFF;
    PORTA = 0X00;

    // TIMER0
    // External clock source on T0 pin (Clock on rising edge) >>>>> CS00 = 1, CS01 = 1, CS02 = 1
    // Mode = Normal >>>>> WGM00 = 0, WGM01 = 0
    // Timer/Counter Overflow Interrupt Enable >>>>> TOIE0 = 1
    //Timer/Counter0 Output Compare Match Interrupt Enable >>>>> OCIE0 = 1
    TCCR0 = (0<<FOC0) | (0<<WGM00) | (0<<COM01) | (0<<COM00) | (0<<WGM01) | (1<<CS02) | (1<<CS01) | (1<<CS00);
    TIMSK = (0<<OCIE2) | (0<<TOIE2) | (0<<TICIE1) | (0<<OCIE1A) | (0<<OCIE1B) | (0<<TOIE1) | (1<<OCIE0) | (1<<TOIE0);
    //TIFR = (0<<OCF2) | (0<<TOV2) | (0<<ICF1) | (0<<OCF1A) | (0<<OCF1B) | (0<<TOV1) | (0<<OCF0) | (0<<TOV0);
    TCNT0 = 0;
    OCR0 = 1;

    #asm("sei&quot

    while(1);
    }
    [/code]

    اینم از شماتیک پروژه
    اللَّهُمَّ صَلِّ عَلَى مُحَمَّدٍ وآلِ مُحَمَّدٍ وعَجِّلْ فَرَجَهُمْ

    اگه دوس دارید سریع به جواب برسید :
    1) قبل از پرسیدن سوال، بسرچید.
    2) سوالاتون رو با جزئیات کامل مطرح کنید.

    #2
    پاسخ : External Event Counter___یه سوال درباره عملکرد کانتر در تایمر/کانتر 0

    با توجه به این که این موضوع بارها در انجمن مطرح شده و یا جهت ساماندهی انجمن AVR موضوع قفل میشود

    دیدگاه

    لطفا صبر کنید...
    X