اطلاعیه

Collapse
No announcement yet.

کمک برای نمونه برداری از یک پالس با atmega16

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

    کمک برای نمونه برداری از یک پالس با atmega16

    با سلام خدمت دوستان گرامی .
    من میخواهم از یک پالس 10 تا نمونه یا بیشتر بردارم , در وا قع از خروجی اشمیت تریگر میخواهم نمونه بردارم تا بتونم شکل خروجی این مدار را در کامپیوتر باز سازی کنم .لطفا بچه ها هر کی میتونه کمک کنه برای پروژه کار شناسی لازم دارم و خیلی هم فوری.
    من خودم هم با codvision هم با bascom کار کردم ولی نتایج مشابه گرفتم. نتیجه این بود که با تاخیر قابل قبولی شروع به نمونه برداری کردم ودر یک ارایه ریختم بعد که روی lcd نمایش میدهم اعداد یک در میان 0 و 1023 میشوند در صورتی که باید پنج تا 1023 پشت یرهم باشند .(چون پالس است ) در زیر برنامه را میگزارم.
    البته در این جا چندتا بیشتر نمونه بر نداشتم همین ها هم جواب نمیدن.در ضمن در اینجا فرکانس پالس 2k است و تاخیر را هم چون 10 تا نمونه برداشتم 100u در نظر گرفتم (با تاخیر های دیگه هم کار کردم)
    unsigned int read_adc(unsigned char adc_input)
    {
    ADMUX=adc_input|ADC_VREF_TYPE;
    // Start the AD conversion
    ADCSRA|=0x40;
    // Wait for the AD conversion to complete
    while ((ADCSRA & 0x10)==0);
    ADCSRA|=0x10;
    return ADCW;
    }
    char buffer[4];
    float volt[5];
    unsigned int i;
    void main(void)
    {

    lcd_init(16);
    lcd_clear();
    for(i=0;i<10;i++){
    volt[i]=read_adc(0)*5/1023;
    delay_us(100);
    }
    sprintf(buffer,"a=%f",volt[0]);
    lcd_clear();
    lcd_puts(buffer);
    delay_ms(500);
    lcd_clear();
    sprintf(buffer,"b=%f",volt[1]);
    lcd_puts(buffer);
    delay_ms(500);
    lcd_clear();
    sprintf(buffer,"c=%d",volt[3]);
    lcd_puts(buffer);
    delay_ms(500);}
    پیشاپیش ممنون.

    #2
    پاسخ : کمک برای نمونه برداری از یک پالس با atmega16

    ایول بابا !!!!!!!
    کسی نیست به ما کمک کنه؟ من کلی به این سایت امید داشتم . :cry: :cry: :sad:

    دیدگاه


      #3
      پاسخ : کمک برای نمونه برداری از یک پالس با atmega16

      سلام دوست عزیز
      فکر کنم مشکل تو حلقه ی for باشه.آرایه ی volt رو 10 عنصری کن و
      اون خطی که adc رو می خونی به جای volt بزار[ volt[i

      دیدگاه

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