اطلاعیه

Collapse
No announcement yet.

تبدیل خودکار ADC

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

    تبدیل خودکار ADC

    سلام به همه دوستان
    راستش من دارم از مدFREE RUNNING ADC در کدویژن استفاده می کنم. تمام رجیسترها رو در حالت مناسب تنظیم کردم. فرکانس کلاکم 16MHz است و بر 128 تقسیم میشود. اما فقط یکبار تبدیل انجام میشه و دیگه با تغییر ولتاژ ورودی خروجی تغییر نمیکنه. حالا نمیدونم اشکال از کجاست . اگه کسی یه برنامه c برای راه اندازی ADC در مد تبدیل خودکار داره بذاره ممنون میشم . خیلی گیرم.

    #2
    پاسخ : تبدیل خودکار ADC

    من در مورد C دقیق نمی دونم. ولی باید تو برنامه ات چرخش بذاری. DO و loop. هر کی تو C وارده بگه بهتره.
    کنکوری 90 دیروز،آ‌دانشجو مهندسی نرم افزار پلی تکنیک امروز!

    دیدگاه


      #3
      پاسخ : تبدیل خودکار ADC

      با سلام.در این مد ابتدا باید یک بار فرمان شروع را بدهید بعد در یک whileمنتظر بمانید فلاگ اتمام تبدیل یک شود . یک شدن این فلاگ فرمان برای شروع مجدد باشد. برنامه زیر یک پتانسیومتر را به کانل 2 وصل کردیم و مقدار ولتاژرا روی ال سی دی می بینیم
      #include<mega16.h>
      #include<delay.h>
      #include<stdio.h>
      #include<stdlib.h>
      #asm
      .equ __lcd_port=0x12 ;PORTD
      #endasm
      #include <lcd.h>
      unsigned char data;
      unsigned char lcd[30],ali[30];
      float v;

      void main(void)
      {
      SFIOR=0b00000000;
      ADMUX=0b11100010;
      ADCSRA=0b11100110;یک بار فرمان شروع صادر شده.
      lcd_init(16);
      while(1){ while ((ADCSRA & 0x10)==0);صبر تا فلاگ اتمام یک شود
      ADCSRA|=0x10; فلاگ را پاک کرده
      data=ADCH; مقدار را خوانده

      v=(data/50.0);
      ftoa(v,2,ali);
      sprintf(lcd,"V=%4s",ali);
      lcd_puts(lcd);
      lcd_gotoxy(0,0);
      delay_ms(1000);}
      }

      دیدگاه

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