اطلاعیه

Collapse
No announcement yet.

ایجاد تاخیر 5 دقیقه

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

    ایجاد تاخیر 5 دقیقه

    سلام
    خسته نباشید
    من می خوام یک تایمر داشته باشم تا 5 دقیقه برام تاخیر ایجاد کنه
    نمی دونم چه طوری باید از تایمر/کانتر AVR استفاده کنم
    ممنون
    موفق باشید

    #2
    پاسخ : ایجاد تاخیر 5 دقیقه

    اگر می خواهید 5 دقیقه ی بسیار دقیق بسازید از تایمر 2 در مد آسنکرون استفاده کنید. در وقفه ی سرریز تایمر با پیش تقسیم کننده ی 128، تعداد سرریزها رو بشمارید و هر زمان که به 300 رسید، 5 دقیقه شده است.
    There is nothing so practical as a good theory. — Kurt Lewin, 1951

    دیدگاه


      #3
      پاسخ : ایجاد تاخیر 5 دقیقه

      شما با استفاده از تایمر 1 و با تقسیم فرکانس 1024میتونید یک تاخیر 5ثانیه ایجاد کنید و با گذاشتن یک شرط 60بار این 5ثانیه را تکرار کنید.فرکانس کریستال 8مگاهرتز است.
      در اینجا با گذاشتن led در پورت Bخاموش و روشن شدن آن را احساس کرد(هر 5دقیقه یک بار)


      Dim A As Byte
      A = 0
      Config Portb = Output
      Portb = 0
      Config Timer1 = Timer , Prescale = 1024
      Enable Interrupts
      Enable Timer1
      Enable Ovf1
      On Timer1 Ali
      Timer1 = 26473
      Do
      Loop
      End
      :Ali
      Incr A
      If A = 60 Then
      Toggle Portb : A = 0
      End If
      Timer1 = 26473
      Return
      Speech Enhancement

      دیدگاه


        #4
        پاسخ : ایجاد تاخیر 5 دقیقه

        من با shockley موافقم
        خدا گفت : به جهنم ببریدش، او برگشت و با تعجب به خدا نگاه کرد. خدا گفت : به بهشت ببریدش. فرشتگان پرسیدند: چرا؟! خدا گفت : او هنوز به من امیدوار است...

        دیدگاه


          #5
          پاسخ : ایجاد تاخیر 5 دقیقه

          درسته شاکلی چون درغیر اینصورت وقفه ها زیاد میشه واین جالب نیست
          بعدا یه جمله قشنگ مینویسم

          دیدگاه


            #6
            پاسخ : ایجاد تاخیر 5 دقیقه

            اگه بیسکام کار می کنه و بخوای با تایمر دو تو حالت آسنکرون کار کنی بهتره از RTC استفاده کنی . پیکره بندی و استفاده از اون هم خیلی راحته.
            اگه نیاز بود بگو تا یه برنامه ساده بنویسم.

            دیدگاه


              #7
              پاسخ : ایجاد تاخیر 5 دقیقه

              سلام
              مرسی از لطف همتون
              ممنون
              من می خوام برایه یه برنامه که اگه دو تا از ÷ایه هایه ورودی یک بود
              یک تایمر 5 دقیقه بعد که سریز شود
              وقفه فعال شود
              یک کار دیگه انخام بده
              فکر کنم با برنامه آقای بهذادی مشکلم حل بشه
              موفق باشید و باز هم ممنون

              دیدگاه


                #8
                پاسخ : ایجاد تاخیر 5 دقیقه

                سلام ، خسته نباشید
                من می خوام دو تا سنسور به avr متصل کنم که وقتی شئی رو سنس کردن یعنی یک شدن هردوشون باید با هم یک بشند واون وقت یک پایه خروجی یک می شه به مدت 5 دقیقه بعد از اون باید اون پایه خروجی صفر بشه
                این هم برنامه است:
                $regfile = "2323def.dat"
                $regfile = "8000000"
                Dim A As Byte
                A = 0
                Config Porta = Output
                Config Pinb.0 = Input
                Config Pinb.1 = Input
                Config Timer1 = Timer, Prescale = 1024
                Enable Interrupts
                Enable Timer1
                Enable Ovf1
                Debounce Pinb.0 , 1 , Sen1
                Sen1:
                Debounce Pinb.1 , 1 , Key
                Key:
                Set Porta.0
                On Timer1 D
                Timer1 = 26473
                End
                D:
                Timer1 = 26472
                Incr A
                If A = 60 Then
                Toggle Porta.0
                A = 0
                End If
                Timer1 = 26472
                Return
                یکی از error ها برای Config Porta = Output که من اگه اسم پورت رو عوض کنم و اسمش b مشکل حل در واقع فقط از پورت b ایراد نمی گیره!
                Error های دیگه مربوط به Enable Timer1 و Enable Ovf1 و On Timer1 D
                کلا 4 error داره
                ممنون
                موفق باشید

                دیدگاه


                  #9
                  پاسخ : ایجاد تاخیر 5 دقیقه

                  فکر کنم مدل میکروتون مشکل داره
                  چون به جای 2323,M32(مگا32)گذاشتم دیگه ERROE نمیده...
                  Speech Enhancement

                  دیدگاه


                    #10
                    پاسخ : ایجاد تاخیر 5 دقیقه

                    سلام
                    ممنون

                    دیدگاه


                      #11
                      پاسخ : ایجاد تاخیر 5 دقیقه

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

                      برنامه ای که خودم هم نوشتم کار نمیکنه نمیدونم مشکل از کجاست من اینجا ی کپی میزارم اگه میشه بهم بگین مشکل چیه؟ تایمر میشمره ولی دستور on timer1 D کار نمیکنه

                      Dim A As Byte
                      A = 0
                      Config Portb = Output
                      Portb = 0
                      Config Timer1 = Timer , Prescale = 1024
                      Enable Interrupts
                      Enable Timer1
                      Enable Ovf1
                      On Timer1 Ali
                      Timer1 = 26473
                      Do
                      Loop
                      End
                      Ali:
                      Incr A
                      If A = 1 Then
                      Toggle Portb : A = 0
                      End If
                      Timer1 = 26473
                      Return

                      ===============================

                      اینم برنامه خودم

                      Config Kbd = Portd
                      Config Timer1 = Timer , Prescale = 1
                      Enable Interrupts
                      Enable Timer1

                      On Timer1 D
                      Start Timer1


                      End

                      D:
                      Stop Timer1
                      Timer1 = 15536
                      Lcd "aa"
                      Wait 2
                      Start Timer1
                      Y = Y + 1
                      If Y = 2 Then
                      Lcd Y
                      End If
                      Return

                      دیدگاه


                        #12
                        پاسخ : ایجاد تاخیر 5 دقیقه

                        دستور end برای پایان برنامه است
                        در واقع با رسیدن به این دستور وقفه ها غیر فعال میشن و کلاک cpu از کار میفته

                        راه حل : قبل از دستور end از دستور do loop استفاده کن


                        اگه مردم می دونستن زمان چقدر با ارزشه دیگه هیچ وقت کفش بند دار نمی خریدن البرت انیشتن

                        دیدگاه

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