1 / 10

AVR

AVR. Session 3. 2010, Autumn. Timer & Counter. تایمر يکي از مهم ترين بخشهاي ميکروکنترلر است که وظيفه اصلي آن زمان سنجي و شمارش می باشد؛از اين ويژگي ميکرو در اکثر سيستم هاي کنترلي استفاده مي شود . کانتر هم که هميشه در کنار تايمر به کار ميرود وظیفه ی شمارش وقايع خارجي را دارد .

natala
Download Presentation

AVR

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. AVR Session 3 2010, Autumn

  2. Timer & Counter • تایمر يکي از مهم ترين بخشهاي ميکروکنترلر است که وظيفه اصلي آن زمان سنجي و شمارش می باشد؛از اين ويژگي ميکرو در اکثر سيستم هاي کنترلي استفاده مي شود . • کانتر هم که هميشه در کنار تايمر به کار ميرود وظیفه ی شمارش وقايع خارجي را دارد . • در ميکروهاي AVR تعدادي تايمر-کانتر 8 بيتي يا 16 بيتي بسته به مدل ميکرو وجود دارد ؛ براي مثال ATmega16دو تايمر 8 بيتي و يک تايمر 16 بيتي دارد .

  3. مدهاي کاري تايمر-کانتر • Normal Mode • CTC (Clear Timer On Compare Match) • Fast PWM (Fast Pulse Width Modulation) • Phase Correct PWM

  4. معرفي رجيستر هاي تايمر-کانتر • TCNTn • محتواي تايمر - کانتر شماره n در هر لحظه در اين رجيستر قرار مي گيرد . • OCRn • محتواي اين رجيستر در هر لحظه با محتواي رجيستر TCNTn مقايسه مي شود و بسته به مد کاري تايمر , کاربردهاي مختلفي پيدا مي کند . • TCCRn • اين رجيستر اطلاعاتي نظير مد کاري تايمر , فرکانس تايمر و غيره را در خود نگه ميدارد .

  5. مد نرمال در این حالت تایمر به عنوان یک شمارنده 8 بیتی بکار می رود. تایمر با یک عدد اولیه در قسمتTCNT0 بارگذاری می شود و با هر کلاک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار نهایی خود یعنی 255 برسد و با یک کلاک دیگر تايمر سرریز می کند. پس از سرریز شدن، پرچمTOVOیک می شود.. با فعال کردن گزینه Overflowinterrupt یک روال سرویس وقفه به نام timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.

  6. Fast PWMمد در اين مد مي توان يک موج مربي با DC دلخواه ايجاد کرد . در اين مد محتواي تايمر از صفر شروع به افزايش کرده و پس از رسيدن به مقدار حداکثر خود دوباره صفر ميشود . در اين حين , محتواي تايمر مدام با محتواي رجيستر OCR نيز مقايسه مي شود و زماني که اين دو با هم مساوي گردند , پايه خروجي تغيير وضعيت خواهد داد .

  7. Fast PWMدیاگرام مد مقدار OCR0 مقدار TCNT0 خروجی PWM

  8. مد CTC در اين مد زماني که محتواي تايمر – کانتر (رجيستر TCNT) با رجيستر OCR برابر شود , محتواي تايمر صفر مي شود . براي توليد يک پالس مربعي با فرکانس دلخواه , معمولا از اين مد کاري تايمر استفاده مي گردد . در اين حالت فرکانس موج مربعي از رابطه زير بدست مي آيد : همچنين براي توليد PWM16 بيتي مي توان از اين مد تايمر استفاده نمود .

  9. مد Phase Correct PWM • اين مد نيز بسيار شبيه به مد Fast PWM است با اين تفاوت که : • هنگاميکه محتواي تايمر به حداکثر مقدار ممکن خود مي رسد،تايمر بصورت معکوس مي شمرد تا هنگاميکه محتواي آن صفر شود . • در اين مد فرکانس کاري نصف حالت Fast PWMخواهد بود .

  10. :پروژه 3 يک موتور DC را با دو سرعت مختلف راه اندازي کنيد .

More Related