اطلاعیه

Collapse
No announcement yet.

سوال در مورد کلاک تایمر0

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

    سوال در مورد کلاک تایمر0

    سلام خدمت دوستان
    سوال داشتم در مورد کلاک رجیستر تایمر.رجیستر تایمر 8 بیتیه . این 8 بیت با 255 تا کلاک پر میشه. حالا سوال اینه که فرکانس هر کلاک چقدره ؟ 1 هرتز؟؟
    و اینکه مثلا اگه فرکانس بشه 1 مگاهرتز این 8 بیت با 1000000*255 پر میشه ؟
    ممنون

    #2
    پاسخ : سوال در مورد کلاک تایمر0

    ببینید 255 کلاک لازمه تا برسه به 255 و با یک کلاک دیگه میشه 0 و به اصطلاح سرریز( over flow ) میکنه.

    برای تعیین فرکانس کلاک تایمر در صورتی که از کلاکش را از کلاک cpu میگیرید باید ببینید مقادیر بیت های 0 و 1 و 2 رجیستر TCCR0 را چند دادید. مقدار این بیت ها پیش تقسیم کننده ( pre scaller ) را مشخص میکند . (یه جدول تو دیتاشیت وجود داره)
    حالا شما برای محاسبه کلاک تایمر باید کلاک سی پی یو را تقسیم بر این پری اسکیلر کنید تا کلاک تایمر بدست آید.
    به عنوان مثال اگر کلاک سی پی یو 1MHz باشد و مقدار این پری اسکیلر 8 باشد، کلاک تایمر میشود :
    1MHZ / 8 = 125 KHz

    که یعنی به ازای هر 1 تقسیم بر 125KHz یکبار کلاک میزند( یعنی هر 8 میکرو ثانیه یکبار)
    پس سر ریز تایمر 256 ضربدر 8 میکرو ثانیه طول میکشد( 2.048 میلی ثانیه)
    راه اندازي ماژول nrf24l01p براي codevision (ارتباط بيسيم بين دو ميکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
    کوچ کردن از کدويژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
    نحوه نوشتن اصولي يک لايبرري و درايور نرم افزاري( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
    http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول هاي مختلف توسط اعضاي انجمن
    انشالله به زودي تاپيک ها به روز رساني خواهد شد،

    دیدگاه


      #3
      پاسخ : سوال در مورد کلاک تایمر0

      بسیار ممنون

      دیدگاه


        #4
        پاسخ : سوال در مورد کلاک تایمر0

        نوشته اصلی توسط RubeuS
        ببینید 255 کلاک لازمه تا برسه به 255 و با یک کلاک دیگه میشه 0 و به اصطلاح سرریز( over flow ) میکنه.
        شاید بهتر باشه بگیم سرریز میشه(over flow) و بعد 0

        دیدگاه


          #5
          پاسخ : سوال در مورد کلاک تایمر0

          نه ، همیشه سرریز زمانی رخ میدهد که کری ( carry ) رخ دهد.
          ببینید رجیستر TCNT0 یک رجیستر 8 بیتی است و حداکثر مقدار 255 به دسیمال یا 1111,1111 باینری یا ff هگز میگیرد ( هنوز کری نداریم) وقتی یک کلاک دیگه میخورد جواب میشه 1,0000,0000 یا 100 هگز که اون یک مقدار کری است و چون رجیستر 8 بیتیه داخل رجیستر تمام صفر میشود و بیت V از رجیستر SREG ست میشود.(که به معنی سرریز میباشد)
          راه اندازي ماژول nrf24l01p براي codevision (ارتباط بيسيم بين دو ميکرو) : http://www.eca.ir/forum2/index.php?topic=78587.0
          کوچ کردن از کدويژن به http://www.eca.ir/forum2/index.php?topic=81025.0 : AtmelStudio
          نحوه نوشتن اصولي يک لايبرري و درايور نرم افزاري( بصورت ساده) : http://www.eca.ir/forum2/index.php?topic=81071
          http://www.eca.ir/forum2/index.php?topic=82130.0 سفارش راه انداز ماژول هاي مختلف توسط اعضاي انجمن
          انشالله به زودي تاپيک ها به روز رساني خواهد شد،

          دیدگاه


            #6
            پاسخ : سوال در مورد کلاک تایمر0

            نوشته اصلی توسط RubeuS
            نه ، همیشه سرریز زمانی رخ میدهد که کری ( carry ) رخ دهد.
            ببینید رجیستر TCNT0 یک رجیستر 8 بیتی است و حداکثر مقدار 255 به دسیمال یا 1111,1111 باینری یا ff هگز به باینری میگیرد ( هنوز کری نداریم) وقتی یک کلاک دیگه میخورد جواب میشه 1,0000,0000 یا 1ff هگز که اون یک مقدار کری است و چون رجیستر 8 بیتیه داخل رجیستر تمام صفر میشود و بیت V از رجیستر SREG ست میشود.(که به معنی سرریز میباشد)
            کاملا درسته.

            دیدگاه

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