اطلاعیه

Collapse
No announcement yet.

تایمر

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

    تایمر

    سلام
    من بخش اموزش را خوندم و لی یکم قاطی کردم
    منظور از rtc چیه
    ایا همون کریستاله؟
    از کجا می فهمیم که تایمر پس از چه زمانی سرریز میشه
    مثلا وقتی مقدار preascale=256 و کریستال ما 8مگاهرتز است از کجا می فهمسم تایمر پس از چه زمانی سرریز خواهد شد
    فرق بین تایمر 0و 1 و 2 در چیه

    #2
    پاسخ : تایمر

    سلام :

    دوست عزیز تمام سوالات شما قبلاً جواب داده شده .
    لطفاً یک جستجو در سایت بکنید حتماً به جواب می رسید

    موفق باشید

    دیدگاه


      #3
      پاسخ : تایمر

      rtc => Real Time Clock

      خوب میکروهای avr البته نه همشون این مگا ها که داره , با قرار دادن یک کریستال 32768 هرتز که به کریستال ساعت معروفه میتونه این کار رو انجام بده.
      یعنی زمان واقعی رو بسازه.
      اما آی سی هایی هم هستند که از اینم دقیق ترند و هم ساعت و هم تاریخ رو برات نگه میدارند.
      مصرفشون کمه و با یه باطری بک پ.
      اون preascale هم یعنی تقسیم کلاک میکرو به این عدد.
      البته عدد دلبخواه نیست.
      فقط توان 2 ها.
      برای چک کردن سر ریز شدن هم چند راه هست.
      یکی وقفه و یکی هم پرچم overflow تایمر.
      فکر کنم آموزش داده شده باشه ها....
      الهم عجل لولیک الفرج

      دیدگاه


        #4
        پاسخ : تایمر

        نوشته اصلی توسط Iran-PC
        rtc => Real Time Clock

        خوب میکروهای avr البته نه همشون این مگا ها که داره , با قرار دادن یک کریستال 32768 هرتز که به کریستال ساعت معروفه میتونه این کار رو انجام بده.
        یعنی زمان واقعی رو بسازه.
        اما آی سی هایی هم هستند که از اینم دقیق ترند و هم ساعت و هم تاریخ رو برات نگه میدارند.
        مصرفشون کمه و با یه باطری بک پ.
        اون preascale هم یعنی تقسیم کلاک میکرو به این عدد.
        البته عدد دلبخواه نیست.
        فقط توان 2 ها.
        برای چک کردن سر ریز شدن هم چند راه هست.
        یکی وقفه و یکی هم پرچم overflow تایمر.
        فکر کنم آموزش داده شده باشه ها....
        می تونی بگی در تایمر 0یا 1از کجا می فهمیم کی سرریز میشه

        دیدگاه


          #5
          پاسخ : تایمر

          سلام :

          دوست عزیز ، یک بیت در AVR ها هست مخصوص هر تایمر ، به نام سرریز تایمر : Timer Over flow که نام رجیسترد آن OV1 یا Ov0 ویا ...
          با چک کردن آن می توانید بفهمید که کی تایمر سر ریز کرده .
          ضمناً با فعال کردن وقفه سر ریز تایمر ها می توانید با هر بار سر ریز تایمر زیر برنامه مورد نظر خود را اجرا کنید .

          موفق باشید

          دیدگاه


            #6
            پاسخ : تایمر

            نوشته اصلی توسط حامد پروشانی
            سلام :

            دوست عزیز ، یک بیت در AVR ها هست مخصوص هر تایمر ، به نام سرریز تایمر : Timer Over flow که نام رجیسترد آن OV1 یا Ov0 ویا ...
            با چک کردن آن می توانید بفهمید که کی تایمر سر ریز کرده .
            ضمناً با فعال کردن وقفه سر ریز تایمر ها می توانید با هر بار سر ریز تایمر زیر برنامه مورد نظر خود را اجرا کنید .

            موفق باشید
            سلام
            چه طور میشه ان را چک کرد
            منظورم اینه که ایا باید محاسبه کرد یا نه میشه توضیح بدی

            دیدگاه


              #7
              پاسخ : تایمر

              سلام :

              نه دوست عزیز این بیت بیتی است که جزو بیتهای اصلی میکرو است (SFR register ) و به راحتی می شود آنرا چک کرد .
              اول شما بگوئید با چه برنامه ایی کار می کنید تا من بتوانم راهنمائی لازم را انجام دهم .
              اما بطور کلی این را بدانید که سر ریز تامیرهای و بیت مربوط به آن کاملاً سخت افزاری است و شما فقط کافی است بیت مربوطه ( مثلاً ov1 ) را چک کنید که کار راحتی است .

              اگر با برنامه خاصی کار نمی کنید توصیه می کنم با bascom avr شروع کنید .
              ضمناً فراموش نکنید که اگر می خواهید با سر ریز تایمر کار کنید بهتر است که از وقفه تایمرها کار کنید که کار را راحت تر می کند .
              باز هم سوالی بود در خدمتم

              موفق باشید

              دیدگاه


                #8
                پاسخ : تایمر

                نوشته اصلی توسط حامد پروشانی
                سلام :

                نه دوست عزیز این بیت بیتی است که جزو بیتهای اصلی میکرو است (SFR register ) و به راحتی می شود آنرا چک کرد .
                اول شما بگوئید با چه برنامه ایی کار می کنید تا من بتوانم راهنمائی لازم را انجام دهم .
                اما بطور کلی این را بدانید که سر ریز تامیرهای و بیت مربوط به آن کاملاً سخت افزاری است و شما فقط کافی است بیت مربوطه ( مثلاً ov1 ) را چک کنید که کار راحتی است .

                اگر با برنامه خاصی کار نمی کنید توصیه می کنم با bascom avr شروع کنید .
                ضمناً فراموش نکنید که اگر می خواهید با سر ریز تایمر کار کنید بهتر است که از وقفه تایمرها کار کنید که کار را راحت تر می کند .
                باز هم سوالی بود در خدمتم

                موفق باشید
                ممنون
                من با بیسکام کار می کنم
                ولی نمی دونم چه طوری میشه این بیت را چک کرد اگه مر حله به مرحله توضیح بدی ممنون میشم
                در ضمن من با تایمر 2 کار کردکم و می تونم یک ساعت بسازم ولی با تایمر 0 و 1 مشکل دارم

                دیدگاه


                  #9
                  پاسخ : تایمر

                  سلام :

                  خیلی عجیبه که شما با تایمر 2 کار کردین اما با تایمرر 0 و 1 نمیتونید کار گنید . چون اصولاً فرق زیادی با هم ندارن ! oo:
                  به هر حال مرحله خاصی ندارد .
                  ابتدا تایمر را فعال می کنید و سپس با هر دستور شرطی که خواستید می توانید بیت سرریز را چک کنید .
                  اگر هم که از وقفه استفاده می کنید ، فقط کافیه وقفه تایمر را فعال کنید و سپس زیر روال مربوطه را طراحی کنید .
                  برای اطلاعات بهتر و مفید تر از help برنامه bascom استفاده کنید که با مثال عملی شما را راهنمائی می کند .

                  موفق باشید

                  دیدگاه


                    #10
                    پاسخ : تایمر

                    سلام دوست عزیز اینم یه مثال ساده برای استفاده از وقفه تایمر

                    left]$regfile = "M16def.dat"
                    $crystal = 8000000
                    $baud = 9600

                    '--------------------------------------------------------------------------
                    ' Dim Variable
                    Dim Count As Long
                    Dim I As Long

                    '--------------------------------------------------------------------------
                    ' Timer Setting

                    Config Timer0 = Timer , Prescale = 1

                    Enable Interrupts
                    Enable Timer0
                    On Ovf0 Timer0_isr

                    Stop Timer0
                    Start Timer0

                    Do
                    Loop

                    End

                    '--------------------------------------------------------------------
                    Timer0_isr:
                    'write your code Here'
                    Return[/left]
                    «اگر واقعیات با نظریات هماهنگی ندارند، واقعیتآ‌ها را تغییر بده.»
                    آلبرت انشتین

                    دیدگاه

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