اطلاعیه

Collapse
No announcement yet.

تکمیل و عیب یابی برنامه کنترلر rgb

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

    تکمیل و عیب یابی برنامه کنترلر rgb

    سلام به همه دوستان موجود در eca :mrgreen:
    من یه برنامه برای کنترلر rgb نوشتم توی یه جاش گیر کردم
    این برنامشه
    [code=qbasic]$regfile = "m8def.dat"
    $crystal = 8000000
    '________________________________ADC & PWM______________________________________
    Config Adc = Single , Prescaler = Auto , Reference = Avcc

    Config Timer1 = Pwm , Pwm = 10 , Compare A Pwm = Clear Down , Compare B Pwm = Clear Down , Prescale = 1

    Config Timer2 = Pwm , Pwm = On , Compare Pwm = Clear Down , Prescale = 1
    '________________________________Variables___ ___________________________________
    Dim R As Word
    Dim G As Word
    Dim B As Word
    '____________________________________________ ___________________________________

    Config Int0 = Falling
    On Int0 _int0
    Enable Int0
    Enable Interrupts

    Dim A As Byte


    Do
    Waitms 200
    While A = 0

    Start Adc
    R = Getadc(0)
    G = Getadc(1)
    B = Getadc(2)
    R = R / 3.99
    G = G / 3.99
    B = B / 3.99

    Pwm1a = R
    Pwm1b = G
    Ocr2 = B

    Wend
    '=================
    While A = 1

    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    G = 0
    B = 0
    R = 255
    Wait 1
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    G = 60
    R = 255
    B = 0
    Wait 1
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    G = 255
    R = 255
    B = 0
    Wait 1
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    G = 255
    R = 0
    B = 0
    Wait 1
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    G = 255
    B = 15
    R = 0
    Wait 1
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    R = 255
    B = 50
    G = 0
    Wait 1
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    R = 100
    B = 110
    G = 0
    Wait 1
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    B = 255
    R = 0
    G = 0
    Wait 1
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    R = 255
    G = 255
    B = 255
    Wait 1


    Wend
    '=================
    While A = 2


    R = 100
    G = 0
    B = 0
    Do
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    Decr R
    Incr G
    Waitms 170
    Loop Until G = 100

    R = 0
    G = 100
    B = 0
    Do
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    Decr G
    Incr B
    Waitms 170
    Loop Until B = 100


    R = 0
    G = 0
    B = 100
    Do
    Pwm1a = R
    Pwm1b = G
    Ocr2 = B
    Decr B
    Incr R
    Waitms 170
    Loop Until R = 100

    Wend
    '=================

    Loop
    End


    _int0:
    Incr A
    If A = 3 Then A = 0
    Return[/code]
    مشکلش اینه که زمانی که من میکرو سوییچ رو(که به اینتراپت وصله) برای تغغیر حالت افکت led ها فشار میدم به خاطر وجود wait هایی که دو دوتا افکت آخر هست کنترلر دیر دستور رو انجام میده و تا زمانی که یک دور کامل افکت تموم نشه ازش خارج نمیشه و به افکت بعدی نمیره ولی من می خوام به محض فشردن سوییچ افکت عوض شه حالا شما یه لطفی بکنید و بگید کجای برنامرو تغیر بدم(شرمنده زیاد زریدم )

    #2
    پاسخ : تکمیل و عیب یابی برنامه کنترلر rgb

    کسی نبود کمک کنه دوستان نا امیدم نکید :cry2:

    دیدگاه


      #3
      پاسخ : تکمیل و عیب یابی برنامه کنترلر rgb

      :angry: :angry: :angry: :angry: :cry2:

      دیدگاه

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