اطلاعیه

Collapse
No announcement yet.

راهنمایی در مورد برنامه بسکام

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

    راهنمایی در مورد برنامه بسکام

    سلام خدمت دوستان
    من یه مداری با avrبستم که اول میگم میخوام چیکار کنم .بعد هم یه تکه از ب نامه را میذارم .اگه کسی تونست کمکم کنه.
    متشکرم
    فرض کنید یه ولتاژی به کانال صفر انالوگ به دیجیتال avr وصله یعنی پایه adc0.
    لحظه اول توسط برنامه زیر یه نمونه گیری از ولتاژ ورودی میشه و بعد از تاخیر 2 ثانیه ای .دوباره میخوام همون ولتاژ پایه adc0 را اندازه بگیرم و مقدار این عدد را با عدد اولی مقایسه کنم و در نهایت اگر مقدار دومی بیشتر از اولی بود یه پایهبرام ست کنه.ولی در عمل نتونستم اینکارو انجام بدم.میشه راهنماییم کنید.(

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

    کد:
    Dim A As Word , B As Word
    
    A = Getadc(0)
    Wait 2
    B = Getadc(0)
    
    If B > A Then set portx.y

    دیدگاه


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

      نوشته اصلی توسط اشکان غفارزاده.
      کد:
      Dim A As Word , B As Word
      
      A = Getadc(0)
      Wait 2
      B = Getadc(0)
      
      If B > A Then set portx.y
      منم تقریبا همین کارو کردم.ولی جواب نگرفتم
      dim a as word
      dim e1 as word
      dim e2 as word
      dim c as byte


      start adc
      for c=0 to 10
      a=getadc(0)
      e1=a+e1
      next
      stop adc
      e1=e1/10
      wait 2
      a=0
      start adc
      for c=0 to 10
      a=getadc(0)
      e2=a+e2
      next
      stop adc
      e2=e2/10



      if e2>e1 then set portb.3
      if e2<e1 then set portb.4

      دیدگاه


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

        نوشته اصلی توسط mostafa6369
        منم تقریبا همین کارو کردم.ولی جواب نگرفتم
        dim a as word
        dim e1 as word
        dim e2 as word
        dim c as byte


        start adc
        for c=0 to 10
        a=getadc(0)
        e1=a+e1
        next
        stop adc
        e1=e1/10
        wait 2
        a=0
        start adc
        for c=0 to 10
        a=getadc(0)
        e2=a+e2
        next
        stop adc
        e2=e2/10



        if e2>e1 then set portb.3
        if e2<e1 then set portb.4
        سلام
        دوست عزیز e1 , e2 رو از نوع single تعریف کن
        برد جوجه کشی:
        مطالعه پست 1 (حتما مطالعه کنید)


        مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

        دانلود

        توجه:
        این برد نیمه صنعتی و خانگی هست...
        برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

        آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

        دیدگاه


          #5
          پاسخ : راهنمایی در مورد برنامه بسکام

          نوشته اصلی توسط mohammad...
          سلام
          دوست عزیز e1 , e2 رو از نوع single تعریف کن
          میشه دلیلشو بدونم.چه فرقی میکنه.نوع singleشامل اعداد مثبت و منفی میباشه.در حالی که ولتاژ من همیشه مقدار مثبت هستش.میشه یه کم بیشتر توضیح بدین

          دیدگاه


            #6
            پاسخ : راهنمایی در مورد برنامه بسکام

            نوشته اصلی توسط mostafa6369
            میشه دلیلشو بدونم.چه فرقی میکنه.نوع singleشامل اعداد مثبت و منفی میباشه.در حالی که ولتاژ من همیشه مقدار مثبت هستش.میشه یه کم بیشتر توضیح بدین
            دوست عزیز فکر کردم چون تقسیم هست برا همون کار نمی کنه ببخشید :rolleyes: ولی من برنامتو چک کردم زیاد تغییر ندادم طوری تغییر دادم که بشه تو ال سی دی تغییرات رو مشاهده کرد مدارت رو عین این ببند بعد این برنامه رو چک کن بدین صورت عمل کن که بعد نشان دادن e1 , e2 پتانسیومتر رو تغییر بده اگر e2 بزرگتر از e1 باشد ال ای دی روشن می شود و دیگر خاموش نمی شود
            این عکس



            اینم برنامه:
            کد:
            $regfile = "m32def.dat"
            $crystal = 1000000
            Dim A As Word
            Dim B As Word
            Dim E1 As Word
            Dim E2 As Word
            Config Portb = Output
            Config Lcdpin = Pin , Db4 = Portb.4 , Db5 = Portb.5 , Db6 = Portb.6 , Db7 = Portb.7 , Rs = Portb.0 , E = Portb.1
            Dim C As Byte
            Ddrd.0 = 1
            Config Adc = Single , Prescaler = Auto
            Cursor Off
            Do
            Start Adc
            For C = 1 To 10
            A = Getadc(0)
            E1 = E1 + A
            Next
            Stop Adc
            E1 = E1 / 10
            Locate 1 , 1
            Lcd "E1=" ; E1 ; "  "
            A = 0
            Wait 2
            Start Adc
            For C = 1 To 10
            A = Getadc(0)
            E2 = E2 + A
            Next
            Stop Adc
            E2 = E2 / 10
            Locate 2 , 1
            Lcd "E2=" ; E2 ; "  "
            
            If E2 > E1 Then Set Portd.0
            Wait 1
            A = 0
            E2 = 0
            E1 = 0
            Loop
            برد جوجه کشی:
            مطالعه پست 1 (حتما مطالعه کنید)


            مطالعه پست 2 (برای مطلع شدن از تغییرات برنامه مطالعه کنید)

            دانلود

            توجه:
            این برد نیمه صنعتی و خانگی هست...
            برای صنعتی شدن حتما برد مخصوص خودتون رو بزنید...

            آی دی کانال تلگرامی مربوط به برد جوجه کشی : electr0o0nic@

            دیدگاه

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