اطلاعیه

Collapse
No announcement yet.

سوال در مورد برنامه فلاشر

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

    سوال در مورد برنامه فلاشر

    سلام
    من در حال ساخت یه فلاشر هستم
    فقط چند مشکل در نوشتن برنامه دارم
    فلاشر من 5کانال هستش!حالا من میخوام یک کلید قرار بدم تا با هر بار فشار دادن آن برنامه عوض بشه
    و به برنامه بعدی بره!و با ششم که فشار دادم برگرده به برنامه اول
    حالا نمیدونم این قسمت رو چجوری بنویسم
    ممنون میشم اگر کمکم کنید

    #2
    پاسخ : سوال در مورد برنامه فلاشر

    دوست عزیز میتونی از مدهای مختلف استفاده کنید برای متال
    یه متغیری تعریف کن
    کد:
    char mode;
    if(PINA.0==1&&mode==0)
    {
    دستوراتت رو که نوشتی آخرش متغیر مد را برابر یک قرار بده
    mode=1;
    
    }
    else if (PINA.0==1&&mode==1)
    {
    بعد دستوراتت 
    متغیر رو برابر 2 قرار بده و همینطور تا آخر آخرم برای اینکه برگردی باید دوباره برابر صفر قرار بدیش یعنی مثلا به مد 5 رسیدی چون بیشتر از 5 نمیخوای دسگه مساوی 6 قرار نده مد رو صفر کن 
    
    }
    و همینطور تا آخر
    با دستور switch case میشه ولی چون مدهاتون کمه مشکلی بوحجود نمیاره با if هم میشه چون تعداد if iها که بالا میره و توردتو میشه خوانایی برنامه میاد پایین اما اینجا مشکلی بوجود نمیاد چون تورد تو و زیاد نیست !!!

    موفق باشید
    زنان به خوبیه مردان می توانند اسرار را حفظ کنند اما آنان را به یکدیگر میگویند تا در حفظ آن شریک باشند !!!

    دیدگاه


      #3
      پاسخ : سوال در مورد برنامه فلاشر

      میشه با bascom هم یه مثال بزنید!
      ممنون

      دیدگاه


        #4
        پاسخ : سوال در مورد برنامه فلاشر

        سلام

        می تونید شرط بزارید که اگر متغیر بیشتر از 6 شد بشه 1 اگه برنامه رو توی یه حلقه نوشته باشی و 5 تا مد رو یه چیزی مثل زیر برنامه باشه این کار جواب میده اما مثل اینکه اینطوری نیست :mrgreen:

        برنامه هم رو بزارید :biggrin:

        دیدگاه


          #5
          پاسخ : سوال در مورد برنامه فلاشر

          سلام
          یه نگاه به این بنداز
          کد:
          $regfile = "m8def.dat"
          $crystal = 1000000
          Config Pinb.0 = Input
          Config Portd = Output
          Dim A As Byte
          A = 0
          Do
          Main:
          Set Portb.0
          If Pinb.0 = 0 Then
          Incr A
          End If
          If A = 0 Then Gosub Flasher0
          If A = 1 Then Gosub Flasher1
          If A = 2 Then Gosub Flasher2
          If A = 3 Then Gosub Flasher3
          If A = 4 Then Gosub Flasher4
          If A = 5 Then Gosub Flasher5
          If A > 5 Then
          A = 0
          Loop
          End If
          End
          Flasher0:
          Portd = &B00000001
          Waitms 100
          Portd = &B00000010
          Waitms 100
          Portd = &B00000100
          Waitms 100
          Portd = &B00001000
          Waitms 100
          Goto Main
          Return
          
          
          
          Flasher1:
          Portd = &B00000011
          Waitms 100
          Portd = &B00000110
          Waitms 100
          Portd = &B00001100
          Waitms 100
          Portd = &B00011000
          Waitms 100
          Goto Main
          Return
          
          Flasher2:
          Portd = &B10000001
          Waitms 100
          Portd = &B01000010
          Waitms 100
          Portd = &B00100100
          Waitms 100
          Portd = &B00011000
          Waitms 100
          Goto Main
          Return
          
          Flasher3:
          Portd = &B00000111
          Waitms 100
          Portd = &B00001110
          Waitms 100
          Portd = &B00011100
          Waitms 100
          Portd = &B00111000
          Waitms 100
          Goto Main
          Return
          
          Flasher4:
          Portd = 0
          Waitms 100
          Portd = 255
          Waitms 100
          Portd = 0
          Waitms 100
          Portd = 255
          Waitms 100
          Goto Main
          Return
          
          Flasher5:
          Portd = &B00001111
          Waitms 100
          Portd = &B00110010
          Waitms 100
          Portd = &B00001100
          Waitms 100
          Portd = &B10001000
          Waitms 100
          Goto Main
          Return

          دیدگاه

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