اطلاعیه

Collapse
No announcement yet.

اتصال دیپ سوییچ به میکرو

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

    اتصال دیپ سوییچ به میکرو

    سلام.من یه دیپ سوییچ رو دادم به پورت a اتمگا 32 و به بقیه پورت هام led وصله.ولی مشکل اینه که در do-loop فقط حالتی که شرطش صفره اجرا میشه.انگار دیپ سوییج نمی تونه به جز صفر عدد دیگه ای رو به میکرو بده.پورتهای دیگه رو هم به عنوان ورودی امتحان کردم نشد.نحوی اتصال دیپ رو توی نقشه خارجی دیدم این جوریه.مشکل کجاست؟
    مغز منو تیلیت کرده! :angry: :angry:

    $regfile = "m32def.dat"
    $crystal = 1000000

    Config Porta = Input
    Config Portb = Output
    Config Portc = Output
    Config Portd = Output


    Dim A As Byte
    Dim B As Byte
    Dim T1 As Word
    Dim T2 As Word
    Dim T3 As Word

    T1 = 50
    T2 = 100
    T3 = 300

    '******************************************** ***********************************
    Do
    If Porta = 0 Then Gosub M
    If Porta = 15 Then Gosub N
    Loop
    End 'end program



    Table1:
    Data &B00000001 , &B00000011 , &B00000111 , &B00001111 , &B00011111 , &B00111111 , &B01111111 , &B11111111 ,
    Data &B11111111 , &B01111111 , &B00111111 , &B00011111 , &B00001111 , &B00000111 , &B00000011 , &B00000001 ,


    Table3:
    Data &B00000000 , &B11111111 , &B00000000 , &B11111111 , &B00000000 , &B11111111 , &B00000000 , &B11111111 ,



    M:
    '---------------------------------------------
    Num1:
    For B = 0 To 2
    For A = 0 To 15
    Portb = Lookup(a , Table1)
    Portc = Lookup(a , Table1)
    Portd = Lookup(a , Table1)
    Waitms T1
    Next A
    Next B

    Return
    '---------------------------------------------

    N:
    Num5:
    For B = 0 To 4

    Portc = 255
    Portd = 255

    For A = 0 To 4
    Portb = Lookup(a , Table3)
    Waitms T2
    Next A
    Next B

    Return
    انا لله و انا اليه الراجعون

    #2
    پاسخ : اتصال دیپ سوییچ به میکرو

    یه کاری کن. هر4 تا پایه متصل به دیپ سوئیچ رو بدون مقاومت وصل کن به Vcc اگر جواب نگرفتی اشکال از برنامه است.
    اگر هم جواب داد پس باید مقاومت هات رو کمتر بذاری
    ... و (بدانيد) گرفتن تصميمهاى محكم (براى رسيدن به اهداف بزرگ) با خوش گذرانى و سفرهآ‌هاى رنگين سازگار نيست و چه بسيار كه خواب شبانه تصميمهاى محكم روز را از ميان برده و تاريكيآ‌ها، خاطره همتآ‌هاى بلند را از يادها محو كرده است. (نهجآ‌البلاغه، خطبه211)

    امام علي (ع):کسي که به وقت ياري رهبرش در خواب باشد، با لگد دشمنش بيدار مي شود (غررالحکم،ص 422)

    دیدگاه


      #3
      پاسخ : اتصال دیپ سوییچ به میکرو

      آره اشکال از برنامه اس ولی ظاهرا مشکلی نباید داشته باشه ولی من نمی فهم چرا پورت ورودی فقط شرط صفر رو اجرا می کنه؟! :eek:
      انا لله و انا اليه الراجعون

      دیدگاه


        #4
        پاسخ : اتصال دیپ سوییچ به میکرو

        سلام
        وقتی می خوای پورتی رو ورودی در نظر بگیری باید به جای port ب pin معرفی کنی
        یعنی
        config pina = input
        توی اون حلقه هم بنویس
        If pina = 0 Then Gosub M
        If pina = 15 Then Gosub N

        فکر کنم به جای پول پ باید پول دون وصل کنی یعنی اون مقاومتایی که به مثبت وصل کردی وصل کن به منفی و پایه مشترک دیپ سوئیچ رو به مثبت وصل کن

        دیدگاه


          #5
          پاسخ : اتصال دیپ سوییچ به میکرو

          احسنت رئیس....احسنت! :job:
          درست شد مشکل با تغییر عبارت port به pin حل شد!
          انا لله و انا اليه الراجعون

          دیدگاه


            #6
            پاسخ : اتصال دیپ سوییچ به میکرو

            پورتای آزاد پورت a رو به زمین وصل کن
            زیباترین لبخند لبخند خداست

            دیدگاه

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