اطلاعیه

Collapse
No announcement yet.

لطفا در مورد تفاوت این دو کد راهنمایی بفرمایید

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

    لطفا در مورد تفاوت این دو کد راهنمایی بفرمایید

    سلام
    برای یک پروژه سعی دارم از یک سنسور مادون قرمز استفاده کنم
    و روشی رو برای حذف نور محیط استفاده کردم که طبق اون یک بار گیرنده مادون قرمز با روشن بودن فرستنده مادون قرمز مقدار رو محاسبه میکنه و بار دیگه با خاموش بودن فرستنده محاسبه میکنه و تفاوت اون رو ثبت میکنه..
    وقتی این برنامه رو با بیسیک نوشتم کاملا جواب داد و مشکلی نداشت.
    اما همون رو با سی نوشتم ،، دچار مشکل شد و دیگه مقدار تفاوت بین دو حالت روشن و خاموش رو احساس نکرد..(در ال سی دی مقدار 0 نشان داده شد)
    کسی در این مورد میتونه راهنمایی کنه؟؟؟
    بیسیک:
    Main:

    Mcount = 0

    Miangin2 = 0

    While Mcount < 200

    ''''''''&# 039;'''''''&#03 9;'''''''' ''''''sensor 2
    Portb.1 = 1
    After2 = Getadc(0)
    Portb.1 = 0
    Before2 = Getadc(0)
    Pure2 = Before2 - After2
    Pure2 = Abs(pure2)
    Miangin2 = Miangin2 + Pure2

    Incr Mcount

    Wend

    Miangin2 = Miangin2 / 200
    Cls
    Locate 1 , 1
    Lcd Miangin2
    Waitms 25
    Goto Main

    سی:
    int main(void)
    {
    DDRB=0x03;
    lcdInit();
    ADCSRA|=(1<<ADSC);
    adc_init();

    while(1)
    {
    d=0;

    sh=0;

    while (sh<200){

    sh++;
    while (!(ADCSRA&(1<<ADIF)));
    PORTB=0x02;
    a=ADCW;
    PORTB=0x00;
    b=ADCW;
    c=b-a;
    c=abs(c);

    d=+c;

    }

    d=(d/200);
    lcdClear();
    lcdGotoxy(1,1);
    itoa(d,buffer,10);
    lcdPuts(buffer);
    _delay_ms(25);

    }
    }

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

    آقایون اساتید لطفا نظر بدید ؟؟؟؟؟

    دیدگاه


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

      نوشته اصلی توسط rezash86
      آقایون اساتید لطفا نظر بدید ؟؟؟؟؟
      فکر کنم توی قسمت ADC مشکل داره یه دفه بدون میانگین گرفتن هر دو تا مقدار رو روی LCD بریز ببین چی نشون میده

      دیدگاه


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

        نوشته اصلی توسط ehsanbagheri
        فکر کنم توی قسمت ADC مشکل داره یه دفه بدون میانگین گرفتن هر دو تا مقدار رو روی LCD بریز ببین چی نشون میده
        ممنون از پاسختون
        آره گرفتم
        درست کار میکنه

        دیدگاه

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