اطلاعیه

Collapse
No announcement yet.

قطع و وصل مدار با یک کلید

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

    قطع و وصل مدار با یک کلید

    چطور با بیسیک یه برنامه بنویسیم ک با یک کلید مدار روشن و با فشار دادن دوباره همان کلید مدار خاموش بشود ، یعنی مثلا با فشار دادن کلید لامپ روشن و با فشار دادن دوباره همان کلید لامپ خاموش و این چرخه ادامه داشته باشد !
    [img width=65 height=100]http://s1.picofile.com/file/7243484622/untitled.bmp[/img]

    #2
    پاسخ : قطع و وصل مدار با یک کلید

    سلام
    خدمت شما

    کد:
    $regfile = "m32def.dat"
    $crystal = 1000000
    '====================
    Config Portb.0 = Output
    Config Pinb.1 = Input
    '=================
    Dim S As Bit
    
    Do
    
    If Pinb.1 = 1 Then
    
    Select Case S
    Case 0:
    Set S
    Set Portb.0
    Case 1:
    Reset S
    reset portb.0
    End Select
    Wait 1
    
    End If
    Loop
    
    End
    هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

    دیدگاه


      #3
      پاسخ : قطع و وصل مدار با یک کلید

      مرسی بابت جواب
      [img width=65 height=100]http://s1.picofile.com/file/7243484622/untitled.bmp[/img]

      دیدگاه


        #4
        پاسخ : قطع و وصل مدار با یک کلید

        یه مشکل ک دارم ، وقتی تو پروتئوس بستم با یه بار زدن کلید ، مدار حالت چشمک زن داره ، شاید مدار رو اشتباه بسته باشم ، اونطرف کلید باید به 1 وصل باشه اونطرفش هم به ورودی میکرو ، دیگه ، حالا با یه بار فشاردادن کلید برمیگرده : حالا یه بار روشن و یه بار خاموش ، ولی انگار با این برنامه صدق نمیکنه !
        [img width=65 height=100]http://s1.picofile.com/file/7243484622/untitled.bmp[/img]

        دیدگاه


          #5
          پاسخ : قطع و وصل مدار با یک کلید

          سلام

          برنامه به همراه فایل پروتئوس
          http://vip.eca.ir/sharing/uploads/13397491951.rar

          توجه داشته باشین من 1 ثانیه بعد از هر دکمه فشار دادن تاخیر دادم که اگر کاربر دستش رو تند بر نداشت خروجی تند به وضعیت قبلیش بر نگرده یعنی باید به ازاری هر بار کلیک کردن روی دکمه یک ثانیه توقف کنین بعد دکمه رو بزنین

          این مشکل رو با دو دکمه بودن حل می شه و عملکرد مطمئن تری داره

          البته می شد همین برنامه رو با وقفه بهینه اش کرد که بشه با لبه تنها عکس العمل داشته باشه اما برای سادگی و متوجه شدن این برنامه رو قرار دادم
          هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

          دیدگاه


            #6
            پاسخ : قطع و وصل مدار با یک کلید

            سلام.
            ببخشید ولی فکر کنم مدار شما یه مشکل داره اون هم اینکه اگه کسی دستشو روی کلید بگیره همینجور مدار قطع و وصل میشه.
            من برنامه رو جوری نوشتم که با نگه داشتن کلید خروجی به صورت چشمک زن نباشه به صورت زیر
            کد:
            Config Portb.0 = Input
            Config Portb.1 = Output
            Set Portb.0
            Do
            If Pinb.0 = 0 Then
            Waitms 50
            If Pinb.0 = 1 Then
            Toggle Portb.1
            End If
            End If
            Loop
            اون تاخیر 50 میلی ثانیه هم برای از بین بردن نویز کلید هست
            در ضمن مقاومت pullup داخلی هم فعال شده که میتونید برای کاهش نویز از پول پ خارجی استفاده کنید
            این هم برنامه با فایل شبیه سازی
            http://uplod.ir/vrmiifi7f7lk/m3r.zip.htm
            سوالی بود در خدمتم

            دیدگاه


              #7
              پاسخ : قطع و وصل مدار با یک کلید

              سلام M3R
              دقیقا همین مشکل رو در پست قبلی خدمت دوستمون عرض کردم که این مشکل وجود داره.
              از تصحیح برنامه و شکل زیبای برنامتون و شیوه برنامه نویسیتون لذت بردم
              موفق باشین
              هیچ دانش آموزی نیست که به در خانۀ دانشمندی آمد و شد کند, مگر این که خداوند برای هر گامی که برمی دارد عبادت یک سال را برایش رقم زند.

              دیدگاه


                #8
                پاسخ : قطع و وصل مدار با یک کلید

                اینم یه تستش بکن ببین چطوره ؟
                $regfile = "m8def.dat"
                $crystal = 1000000
                Config Portc = Input
                Config Portb = Output
                Reset Portb
                Do
                If Pinc.1 = 1 Then
                Toggle Portb.1
                Bitwait Pinc.1 , Reset
                Waitms 50
                End If
                Loop
                End 'end program
                روزی که درک کردیم همه چیز به خدا تعلق دارد . آن روز .روز طلوع دانش است

                دیدگاه

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