اطلاعیه

Collapse
No announcement yet.

مشکل در کار کردن با adcمیکروpic18f452 در کامپایلرc18

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

    مشکل در کار کردن با adcمیکروpic18f452 در کامپایلرc18

    دوستان سلام
    من می خوام یه برنامه ی ساده بنویسم که کانال an0میکرو pic18f452 در حالتی که با زمان نمونه برداری 16us و ولتاژ مرجعی برابر با ولتاژ تغذیه تنظیم شده است از ولتاژورودی به کانال که با یک پتانسیومتر 10کیلو اهم تنظیم می شود نمونه برداری کند و اگر مقدار هر نمونه از 125 بیشتر باشد الای دی شماره 1 را روشن و ال ای دی شماره ی 2 رو خاموش کند و اگر کمتر از 125 بود بر عکس این قضیه را انجام دهد.اما مشکل اینجاست که برنامه کار نمیکنه و با تغییر مولتی ترن هیچکدام از ال ای دی ها روشن نمیشن.دوستان اگر بتونیین کمکم کنید ممنون میشم.برنامه به صورت زیره.

    کد:
    #include<p18f452.h>
    #include<delays.h>
    #pragma config OSC = HS , OSCS = OFF
    #pragma config PWRT = OFF,BOR = ON , BORV = 45
    #pragma config WDT = OFF, LVP = OFF
    #pragma config DEBUG = OFF , STVR = OFF
    void main()
    {
    unsigned int ALI;
    unsigned int MOSI;
    unsigned int ALI1;
    TRISDbits.TRISD0=0;
    TRISDbits.TRISD1=0;
    TRISAbits.TRISA0=1;
    ADCON0=0x81;
    ADCON1=0XCE;
    while(1)
    {
      Delay1KTCYx(1);
      ADCON0bits.GO=1;
      while(ADCON0bits.DONE==1);
      ALI=ADRESL;
      MOSI=ADRESH;
      MOSI=MOSI<<8;
      ALI1=MOSI+ALI;
      Delay1KTCYx(250);
      if(ALI1<125)
      {
      PORTDbits.RD0=1;
      PORTDbits.RD1=0;
      }
      else
      {
      PORTDbits.RD0=0;
      PORTDbits.RD1=0;
      }
    }
    }

    #2
    پاسخ : مشکل در کار کردن با adcمیکروpic18f452 در کامپایلرc18

    مشکلم حل شد.باید تایمر pwrtرو روشن میکردم که نکرده بودم.

    دیدگاه

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