اطلاعیه

Collapse
No announcement yet.

مشکل با adc میکروی mega64

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

    مشکل با adc میکروی mega64



    دوستان عزیز سلام

    کار با adc میکرو mega64 هم مثل mega8, 16 , 32 هست دیگه ؟

    یعنی من میخوام 0 تا 5 ولت را با اون اندازه گیری کنم ولی همش 0 را بر می گردونه
    پایه های avcc , refآ‌را به +5 ولت متصل کردم .

    و توی برنامه
    Config Adc = Single , Prescaler = Auto , Reference = Avcc
    Start Adc


    هم به این شکل دقیقا مثل mega8 , 16 , 32 قسمت adc میکرو را پیکربندی کردم و مقدار اونو میخوانم ولی 0 هست .

    فیوز بیتی چیزی باید تنظیم بشه ؟؟؟؟؟؟/

    یا این کلا قاط زده ؟

    #2
    پاسخ : مشکل با adc میکروی mega64

    با سلام نه چیز خاصی نداره اما میخواید برنامتون را بذارید ببینم بهتون کمک کنم

    دیدگاه


      #3
      پاسخ : مشکل با adc میکروی mega64

      تا جایی که من میدونم فرقی نداره.برنامه رو با چی نوشتی؟ توی تنظیمات خود برنامه باید ADC رو فعال کنی.

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

      دیدگاه


        #4
        پاسخ : مشکل با adc میکروی mega64

        $regfile = "m64def.dat"
        $crystal = 8000000
        Open "comb.5:9600,8,n,1" For Input As #2
        Open "comb.6:9600,8,n,1" For Output As #3
        Config Portg.0 = Output
        Reset Portg.0
        Config Portd.0 = Output , Portd.1 = Output
        Reset Portd.0 : Reset Portd.1
        Config Adc = Single , Prescaler = Auto , Reference = Avcc
        Enable Adc
        Start Adc
        Dim W As Word , M As Single , S As String * 5
        Config Pine.0 = Input
        Set Porte.0

        $lib "glcdKS108.lbx"
        Config Graphlcd = 128 * 64sed , Dataport = Portf , Controlport = _
        Porte , Ce = 6 , Ce2 = 5 , Cd = 2 , Rd = 3 , Reset = 7 , Enable = 4
        Setfont Font8x8
        Cls
        Do

        W = Getadc(0)
        M = W / 2
        Lcdat 1 , 0 , M , 0
        Loop

        دیدگاه


          #5
          پاسخ : مشکل با adc میکروی mega64

          با سلام اینم برنامه شما من تو پروتئوس تست کردم کار کرد مشکلش اینه که شما portf را برای دیتای lcd استفاده کردی در صورتی که portf ورودی adc میباشد من از portd استفاده کردم اما شما میتونی از هر پورتی غیر از f استفاده کنی اینم اصلاح شده برنامه
          $regfile = "m64def.dat"
          $crystal = 8000000
          Open "comb.5:9600,8,n,1" For Input As #2
          Open "comb.6:9600,8,n,1" For Output As #3
          Config Portg.0 = Output
          Reset Portg.0
          Config Portd.0 = Output , Portd.1 = Output
          Reset Portd.0 : Reset Portd.1
          Config Adc = Single , Prescaler = Auto , Reference = Avcc
          Enable Adc
          Start Adc
          Dim W As Word , M As Single , S As String * 5
          Config Pine.0 = Input
          Set Porte.0

          $lib "glcdKS108.lbx"
          Config Graphlcd = 128 * 64sed , Dataport = Portd , Controlport = _
          Porte , Ce = 6 , Ce2 = 5 , Cd = 2 , Rd = 3 , Reset = 7 , Enable = 4
          Setfont Font8x8
          Cls
          Do

          W = Getadc(0)
          M = W / 2
          Lcdat 1 , 0 , M , 0
          Loop
          End
          $include "font8x8.font"

          دیدگاه

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