اطلاعیه

Collapse
No announcement yet.

مشکل در کسینوس فی متر

Collapse
X
 
  • فیلتر
  • زمان
  • Show
Clear All
new posts

    مشکل در کسینوس فی متر

    سلام
    یه برنامه داریم قراره اختلاف فاز رو بدست بیاره حالا میخوایم زمانی که پالسمون یک میشه تا وقتی که صفر میشه رو اندازه بگیریم یعنی یه وقفه خارجی به لبه بالال رونده حساسه و یه وقفه هم به لبه پایین رونده ، وقتی که وقفه اول اتفاق میوفته تایمر صفر روشن میشه و تا وقتی که وقفه دوم اتفاق بیوفته میخوایم زمان رو اندازه بگیره حالا همه چیز درست کار میکنه فقط گاهی اوقات این زمان عدد های غیر عادی نشون میده که علتش رو نمیدونم
    حالا مشکل کجاس که چنین اتفاقی میوفته؟؟؟؟


    http://mjs1990s.ooq.ir/wp-content/uploads/2012/07/GccApplication2.rar



    /*
    * GccApplication2.c
    *
    * Created: 1433/08/22 0342 PM
    * Author: MJI
    */

    #define F_CPU 4000000
    #include <avr/io.h>
    #include "lcd4bit.c"
    #include <avr/interrupt.h>
    #include <util/delay.h>

    unsigned char t,x,x2,c;
    int main(void)
    {

    _delay_ms(500);
    DDRA=0b11111111;
    PORTD=0b11111111;
    DDRB=0b11111111;
    LCDinit();
    LCDcursorOFF();

    GICR=GICR | 0b11000000;

    MCUCR=MCUCR | 0b00001011;
    sei();
    while(1)
    {
    cli();
    x=180*t/156;
    x2=180-x;
    LCDGotoXY(0,0);
    LCDprintData("x=%d",x2);
    sei();
    }
    }

    ISR (INT0_vect)
    {
    TCCR0=TCCR0 | 0b00000100;
    TCNT0=0b00000000;
    PORTA=0b11111111;
    }
    ISR (INT1_vect)
    {
    t=TCNT0;
    TCCR0=TCCR0 | 0b00000000;
    cli();
    PORTA=0b00000000;
    }

    نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

    #2
    پاسخ : مشکل در کسینوس فی متر

    چرا معمولا سوالای من بدون جواب میمونه؟؟؟
    یا جواب قانع کننده ای داده نمیشه :angry:
    نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

    دیدگاه


      #3
      پاسخ : مشکل در کسینوس فی متر

      سلام

      اگر پالستون tr کمی و اعوجاج کمی داشته باشه:
      دقیقا منم همچین مشکلی در رابطه با شمارش سرعت دور به وسیله طول عرض پالس داشتم ، و برنامه مشکلی نداشت(البته من با bascom می نویسم) و تنها مشکلش زمان نشون دادن روی lcd بود که با تاخیر بین نوشتن روی ال سی دی و انجام قسمت های بعد برنامه بعد از lcd مشکل حل شد ، شما هم یه تاخیر 5 میلی ثانیه ای اگر می تونین اضافه کنین بعد از نوشتن.

      اگر پالستون اعوجاج ، گلیچ و ... داشته باشه باید قبل از اعمال به میکرو صاف و تصحیح بشه ، با اسکوپ ورودی وقفه های میکرو رو چک کنین


      هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

      دیدگاه


        #4
        پاسخ : مشکل در کسینوس فی متر

        سلام ببخشید برنامه یه کم مشکل داشت اگه میشه این رو برسی کنید
        تاخیر هم گذاشتم درست نشد
        دقت موج هم خیلی بالاس


        http://mjs1990s.ooq.ir/wp-content/uploads/2012/07/GccApplication21.rar



        /*
        * GccApplication2.c
        *
        * Created: 1433/08/22 0342 PM
        * Author: MJI
        */

        #define F_CPU 4000000
        #include <avr/io.h>
        #include "lcd4bit.c"
        #include <avr/interrupt.h>
        #include <util/delay.h>

        unsigned char t,x,x2,c;
        int main(void)
        {

        _delay_ms(500);
        DDRA=0b11111111;
        PORTD=0b11111111;
        DDRB=0b11111111;
        LCDinit();
        LCDcursorOFF();

        GICR=GICR | 0b11000000;

        MCUCR=MCUCR | 0b00001011;
        sei();
        while(1)
        {
        x=180*t/156;
        x2=180-x;
        LCDGotoXY(0,0);
        LCDprintData("x=%d",x2);
        }
        }

        ISR (INT0_vect)
        {
        TCCR0=TCCR0 | 0b00000100;
        TCNT0=0b00000000;
        PORTA=0b11111111;
        }
        ISR (INT1_vect)
        {
        t=TCNT0;
        TCCR0=TCCR0 | 0b00000000;
        cli();
        PORTA=0b00000000;
        }


        نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

        دیدگاه


          #5
          پاسخ : مشکل در کسینوس فی متر

          خودم مشکلش رو فهمیدم
          برای اینکه مقدار تایمر رو بریزه تو t یه شرط براش گذاشتم که اگر از 2 بیشتر شد بریزه درست شد
          همیطور که baby گفت مثل اینکه موج لبه های تیزی نداشت برای همین این اتفاق میوفتاد
          نــــ_ـــمـــ_ــــیــــ_ـــدونـــــ_ــم.....

          دیدگاه

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