اطلاعیه

Collapse
No announcement yet.

دستور if

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

    دستور if

    با سلام
    من میخوام یه ledرو با یه کلید از طریق میکرو با دستور ایف راه اندازی کنم
    وقتی کلید زده میشود led روشن و وقتی دستم رو از روی کلید برمیدارم led خاموش شود
    لطفا کمک کنید
    ممنون
    + کد بسکام

    #2
    پاسخ : دستور if

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

    www.intelart.ir


    ساخت کنترلر دما PID فازی با AVR [آموزشی]

    دیدگاه


      #3
      پاسخ : دستور if

      این برنامه کجاش مشکل داره
      $regfile = "m8def.dat"
      $crystal = 8000000
      Config Pinb.1 = Output
      Config Pinb.5 = Input
      Do
      If Pinb.5 = 1 Then Set Pinb.1
      Loop
      End
      عمل نمیکنه

      دیدگاه


        #4
        پاسخ : دستور if

        با بسکام کار نکردم اگه C بود مشکلی نبود...ببینید دوستان بسکامی بلد میتونن کمک کنن...
        تولید کننده تجهیزات برنامه پذیر اتوماسیون صنعتی

        www.intelart.ir


        ساخت کنترلر دما PID فازی با AVR [آموزشی]

        دیدگاه


          #5
          پاسخ : دستور if

          نوشته اصلی توسط mahdi e
          این برنامه کجاش مشکل داره
          $regfile = "m8def.dat"
          $crystal = 8000000
          Config Pinb.1 = Output
          Config Pinb.5 = Input
          Do
          If Pinb.5 = 1 Then Set Pinb.1
          Loop
          End
          عمل نمیکنه
          اولا باید این نکته توجه داشت کد ها برنامه رو همینطوری پیست نکنیم و اونو بین # قرار بدیم تو گزینه های بالا # قابل مشاهده است
          نکته دوم اینکه عبارت pinبرای ورودی ها بکار میره وportبرای خروج ها اگر با رعایت همین نکته به برنامه شما نگاه کنیم میبینیم که شما برای تعریف پایه به عنوان خروجی از عبارتpinاستاده کردید که غلطه مثلما کار نمیده
          شما باید کد رو به این صورت تغیر بدید
          کد:
          $regfile = "m8def.dat"
          $crystal = 8000000
          Config Portb.1 = Output
          Config Pinb.5 = Input
          Do
          If Pinb.5 = 1 Then Set portb.1
          Loop
          End
          الان این برنامه اینطوری عمل میکنه هر وقت پین تعریف شده 1 بشه portb.1 رو 1 میکنه و عبارتی برای برگرداندن ان به 0 نیست
          به عبارت دیگر هنگامی که یک پالس مثبت به pinb.5برسه portb.1 مقدار 1 میگیرد و در همین حالت میماند تا میکرو ریست شود
          اما فکر میکنم منظور شما طوری بوده که هر وقت Pinb.5 برابر 1 شدportb.1 مقدار 1 بگیرد و هرقت pinb.5 با 0 برابر شد portb.1 مقدار 0 بگیرد
          برای این کار کد رو به شکل زیر تغییر میدیم
          کد:
          $regfile = "m8def.dat"
          $crystal = 8000000
          Config Portb.1 = Output
          Config Pinb.5 = Input
          Do
          Portb.1 = Pinb.5
          Loop
          End
          امید وارم اطلاعات ناقص بنده بدرد شما خورده باشد
          موفق باشید
          http://s6.uplod.ir/i/00674/9cm41hm4inx0.jpg

          دیدگاه


            #6
            پاسخ : دستور if

            بیا این برنامه روش جدیدی بهت یاد میده

            کد:
            $regfile = "m8def.dat"
            $crystal = 8000000
            Config Portb.0 = Output
            Config Portb.1 = Input
            Do
            Debounce Pinb.1 , 1 , on1 , Sub
            Debounce Pinb.1 , 0 , off1 , Sub
            Loop
            End
            
            on1:
            set PORTB.0
            Return
            
            off1:
            reset PORTB.0
            Return

            دیدگاه


              #7
              پاسخ : دستور if

              نوشته اصلی توسط RahimEdison
              بیا این برنامه روش جدیدی بهت یاد میده

              کد:
              $regfile = "m8def.dat"
              $crystal = 8000000
              Config Portb.0 = Output
              Config Portb.1 = Input
              Do
              Debounce Pinb.1 , 1 , on1 , Sub
              Debounce Pinb.1 , 0 , off1 , Sub
              Loop
              End
              
              on1:
              set PORTB.0
              Return
              
              off1:
              reset PORTB.0
              Return
              نیازی به اینقد پیچوندن برنامه هست عایا؟ وقتی با یه خط دستور میشه همینکار رو کرد چرا باید چندیدن خط نوشت!!؟ :sad:
              http://s6.uplod.ir/i/00674/9cm41hm4inx0.jpg

              دیدگاه


                #8
                پاسخ : دستور if

                نوشته اصلی توسط MAHDI ZAMANI
                نیازی به اینقد پیچوندن برنامه هست عایا؟ وقتی با یه خط دستور میشه همینکار رو کرد چرا باید چندیدن خط نوشت!!؟ :sad:
                گفتم شاید مبتدی باشن و با این جور دستورات آشنا بشن
                وگر نه دوست قبلیمون توضیح دادن

                دیدگاه


                  #9
                  پاسخ : دستور if

                  [right][center][left][pre]سلام دوست عزیز :
                  نمیدونم به جوابت رسیدی یا نه ، ولی ساختار کلی دستور if در بسکام به صورت زیر است ، شاید کمکت کنه :

                  1) IF شرط Then دستور
                  Example:
                  If a=0 then set portd.1

                  2) IF شروط Then دستور
                  Example:
                  If a=0 and b=0 then set portd.1

                  3) IF شروط شرط یا Then
                  دستورات
                  end if

                  4) IF شروط شرط یا Then
                  دستور یا دستورات 1
                  else
                  2 دستور یا دستورات
                  end if

                  Example:
                  If alarm =1 then
                  Set port a.4
                  Else
                  Reset port a.4
                  End if

                  5 ) IF شروط 1 شرط یا Then
                  دستور یا دستورات 1
                  else IF شروط 2 شرط یا Then
                  دستور یا دستورات 2

                  Else
                  n دستور یا دستورات
                  End if

                  آرزوی سرافرازی برای ایران عزیز . . .


                  دیدگاه


                    #10
                    پاسخ : دستور if

                    ممنون از همه شما
                    برنامه رو چک میکن ببینم چی میشه
                    !!

                    دیدگاه

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