AVR Session 3 2010, Autumn Timer & Counter تا ا يکي ا ا از مه ااي ت اايي ااه ميکيوکنترل ااي ا ا ا.
Download ReportTranscript AVR Session 3 2010, Autumn Timer & Counter تا ا يکي ا ا از مه ااي ت اايي ااه ميکيوکنترل ااي ا ا ا.
Slide 1
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 2
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 3
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 4
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 5
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 6
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 7
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 8
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 9
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 10
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 2
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 3
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 4
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 5
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 6
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 7
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 8
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 9
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .
Slide 10
AVR
Session 3
2010, Autumn
Timer & Counter
تا ا يکي ا ا از مه ااي ت اايي
ااه ميکيوکنترل ااي ا ا ا ک ااي و ي ااي اصا الي آن
زم ا ن اان ي و شااک م مااش ش ا از ا ا وي م ا ميکاايو
کنترلي ا
اکماار
ا ي ها
ه م شو .
ک ا تر هااي کااي هک ااي کن ا ت ا کي ااي ک ا مياارو و
ااي ش شااک م وق ا
خ جي ا ا .
ميکيوها ا AVRتع ا ا ا
ميک اايو و ااو ا
16يت ا .
تا ا کي-ک ا ا تر 8يتا ا ا ا 16يتا ا ب ا ا ي ا ااي م ا ا
ايا م ا ATmega16و ت ا کي 8يت ا و ا ت ا کي
کانتر-مدهاي کاري تايمر
Normal Mode
CTC (Clear Timer On Compare Match)
Fast PWM (Fast Pulse Width Modulation)
Phase Correct PWM
معرفي رجيستر هاي تايمر-کانتر
TCNTn
مح وا ت کي -ک تر شک ه n
هي لحظي
ا
تر قيا م گير .
OCRn
تر TCNTnمق ي
تر هي لحظي مح وا
مح وا ا
م شو و ب ي ي م ک ت کي ,ک بي ه م ل پي ا م کن .
TCCRn
تر اطالع ت ظير م ک
ا
گي مي ا .
ت کي ,فيک نس ت کي و غيره ا
خو
مد نرمال
در این حالت تایمر به عنوان یک شمارنده 8بیتی بکار می رود.
تایمر با یک عدد اولیه در قسمت TCNT0بارگذاری می شود و با
هر کالک یک واحد به مقدار آن اضافه می شود تا اینکه به مقدار
نهایی خود یعنی 255برسد و با یک کالک دیگر تایمر سرریز می
کند .پس از سرریز شدن ،پرچم TOVOیک می شود ..با فعال
کردن گزینه Overflow interruptیک روال سرویس وقفه به نام
timer0_ovf_isrبه برنامه اضافه مي شود که با هر بار سرریز
شدن تایمر صفر کدهای داخل این قسمت اجرا خواهند شد.
مد Fast PWM
ا م م توان
موج ميب
DCلخواه ا ج کي .
ا م مح وا ت کي از ص ي شيوع ي افزا ش کي ه و پس از ي ن ي
مق ا ح اکمر خو وب ه ص ي م و .ا حين ,مح وا ت کي م ام
تر OCRيز مق ي م شو و زم ن کي ا و هي م و
مح وا
گي ,پ ي خيوجي تغيير وضعي خواه ا .
دياگرام مد Fast PWM
مقدار OCR0
مقدار TCNT0
خروجی PWM
مد CTC
در این مد زماني که محتواي تایمر – کانتر (رجیستر )TCNTبا
رجیستر OCRبرابر شود ,محتواي تایمر صفر مي شود .
براي تولید یک پالس مربعي با فرکانس دلخواه ,معموال از این مد
کاري تایمر استفاده مي گردد .
در این حالت فرکانس موج مربعي از رابطه زیر بدست مي آید :
همچنین براي تولید 16 PWMبیتي مي توان از این مد تایمر استفاده
نمود .
مد Phase Correct PWM
این مد نیز بسیار شبیه به مد Fast PWMاست با این تفاوت که :
هنگامیکه محتواي تایمر به حداکثر مقدار ممکن خود مي رسد،تایمر
بصورت معکوس مي شمرد تا هنگامیکه محتواي آن صفر شود .
در این مد فرکانس کاري نصف حالت Fast PWMخواهد بود .
پروژه :3
يک موتور DCرا با دو سرعت مختلف راه اندازي کنيد .