اطلاعیه

Collapse
No announcement yet.

تایمر چیست ؟

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

    تایمر چیست ؟

    سلام دوستان ، من مدت کوتاهیه که با الکترونیک آشنا شدم و از Bascom هم شروع کردم . قبلا کار من برنامه نویسی به زبان VisualBasic6.0 بوده . تا به حال در برنامه نویسی bascom مشکلی نداشتم تا وقتیکه به تایمر ها رسیدم اصلا متوجه نمی شم کار اونا چیه ! برای درک بهتر در زبان vb یک تایمر همراه خود یک ساب دارد که با زمانی که ما به آن میدهیم یک ساب را اجرا می کند . خوب حالا bascom هم به همین صورته یعنی ساب مخصوصی رو اجرا می کنه ؟ اصلا چه جوری کار میکنه ؟

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

    خوب سوال شما خیلی کلیه

    تایمر ها وظایف مختلفی میتونند داشته باشند که اصلی ترین آنها اندازه گیری زمان است . مثلا شما با یک میکرو AVR در فرکانس 1 مگ میتونی تایمر را جوری تنظیم کنی که هر یک میکروثانیه ، یک عدد اضافه بشه .
    تایمر ها میتونند هنگام overflow ( گذشتن از 255 در تایمر های 8 بیتی یا 65535 در تایمر های 16 بیتی) وقفه را بکار بندازند و عمل مشخصی را درست در زمان معین برای شما انجام دهند.

    مود های متنوعی هم دارند . می توانند بعنوان کانتر استفاده شوند . میتوانند بعنوان PWM استفاده شوند و .....

    به نظر من شما هر جایی که متوجه نشدی سوال کن . اینطوری بهتر به نتیجه می رسید .

    سوالی داشتید حتما مطرح کنید

    موفق باشید.

    دیدگاه


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

      واقعا ممنونم _ مهم قسمت OverFlow بود _ خوب حالا 8بیتی یا 16 بیتی این تایمر ها رو چه جوری تشخیص بدم _ همچنین در مورد تایمر درون PWM هم توضیح بدین _ خیلی ممنون

      دیدگاه


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

        تایمر 0 و 2 8بیتی است و تایمر 1 16 بیتی(البته معمولا)

        باید دیتا شیت هر میکرو رو بخونین
        علم چندانکه بیشتر خوانی چون عمل در تو نیست نادانی

        دیدگاه


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

          نوشته اصلی توسط hjsoft
          واقعا ممنونم _ مهم قسمت OverFlow بود _ خوب حالا 8بیتی یا 16 بیتی این تایمر ها رو چه جوری تشخیص بدم _ همچنین در مورد تایمر درون PWM هم توضیح بدین _ خیلی ممنون
          خواهش می کنم .

          قسمت اول را که omega جان فرمودند. 8 بیتی یا 16 بیتی بودن آن یک چیز ذاتی است و قابل تغییر نیست .

          از تایمر برای تعیین فرکانس PWM استفاده می شود . ( البته Duty Cycle از جای دیگری تنظیم می شود. )


          دیدگاه


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

            میشه یک مثال ساده برای PWM ( منظورم برنامه ) بزنید یک کد خیلی کوتاه که نور یک led رو رو یک فرکانس مشخص نگه داره

            دیدگاه


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

              سلام
              دوست عزیز این لینک را یک نگاهی بنداز:
              http://www.eca.ir/forum2/index.php?topic=24541.0
              این لینک هم حتما نگاه کن:
              http://www.eca.ir/forum2/index.php?topic=25476.0;topicseen
              در سایت یک سرچی بزنی مطالب خوبی در این زمینه پیدا خواهی کرد.

              دیدگاه


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

                جناب hjsoft

                $regfile = "M16DEF.DAT"

                $crystal = 8000000

                Config Timer1 = Pwm , Pwm = 8 , Prescale = 1

                Enable Timer1

                Start Timer1

                Pwm1a = 127

                پایه OC1A میکرو کنترلر ، خروجی pwm شماست

                فرکانس pwm از رابطه زیر بدست می آید ( در مود 8 بیتی)

                (F.PWM=F.OSC/(510*Prescale

                مقدار duty cycle با مقدار دهی به pwm1a تنظیم می شود (که در مود 8 بیتی میتواند بین 0 تا 255 باشد) . برای تغییر در نور led ، کافیست مقدار duty cycle را تغییر دهید.

                موفق باشید

                دیدگاه


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

                  جناب مجید نصراله زاده واقعا من رو شرمنده کردید . مرسی از پاسخ های کامل و درست شما واقعا ممنونم !
                  فقط آخرین سوال رو می پرسم اونم اینه که pwm1a رو که مقدار می دیم یعنی ما چی رو برای برنامه تعریف میکنیم ! و یک سوال دیگه اینکه من بعضی جا ها دیدم که از این عبارت استفاده می کنند کاربرد آن چیست : timer1=6

                  دیدگاه


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

                    یک سوال دیگه هم دارم ( ببخشید ) Compare a = clear down / clear up چه کاربردی دارند ؟

                    دیدگاه


                      #11
                      پاسخ : تایمر چیست ؟

                      نظر لطف شماست

                      شما با مقدار دهی pwm1 در واقع نسبت زمان low به high خروجی OC1A زا تغییر می دهید . با مقدار 255 ( در حالت 8 بیتی ) شما حداکثر زمان high بودن پایه را دارید و با 127 پنجاه درصد On و پنجاه درصد off و با مقدار دهی 0 شما حداقل را خواهید داشت .

                      دقت بفرمایید duty cycle یعنی مدت زمان high به زمان کل سیکل .

                      (زمان کل سیکل برابر است با مدت زمان high + مدت زمان Low ).

                      فرکانس شما ثابت است .

                      موفق باشید

                      دیدگاه


                        #12
                        پاسخ : تایمر چیست ؟

                        نوشته اصلی توسط hjsoft
                        یک سوال دیگه هم دارم ( ببخشید ) Compare a = clear down / clear up چه کاربردی دارند ؟
                        جناب hjsoft

                        وقتی Compare a pwm =clear up است یعنی در حالتی که رجیستر pwm بیشترین مقدار خود را دارد خروجی oc1a شما بیشترین پهنای خود ( موج dc ) رادارد.

                        وقتی Compare a pwm =clear Down است یعنی در حالتی که رجیستر pwm بیشترین مقدار خود را دارد خروجی oc1a شما کمترین پهنای خود ( موج dc ) رادارد.

                        وقتی Compare a pwm =disconnect است یعنی خروجی oc1a شما قطع میشود

                        منظور از بیشترین پهنای خروجی ، مقدار زمان High بودن خروجی Pwm نسبت به کل زمان است

                        موفق باشید

                        دیدگاه


                          #13
                          پاسخ : تایمر چیست ؟

                          ببخشید اون کد pwm که قرار دادین کار نمیکنه ! البته من خودم هم خیلی تغییر ش دادم اما بازم کار نکرد.

                          دیدگاه


                            #14
                            پاسخ : تایمر چیست ؟

                            دوستان اگه امکان داره این سوال های آخرمو هم جواب بدین

                            دیدگاه


                              #15
                              پاسخ : تایمر چیست ؟

                              کسی نیست جواب بده ؟

                              دیدگاه

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