الکترونیک، رباتیک و مکانیک

آموزش به زبان بسیار ساده و روان (از صفر تا بینهایت)

الکترونیک، رباتیک و مکانیک

آموزش به زبان بسیار ساده و روان (از صفر تا بینهایت)

الکترونیک، رباتیک و مکانیک

با سلام و عرض ادب خدمت هموطنان عزیز
در این سایت قصد داریم موضوعاتی که در حیطه الکترونیک ،مکانیک و برنامه نویسی ربات ها دارای جذابیت خاصی می باشد رو آموزش بدیم. امیدواریم که با نظرات شما عزیزان شاهد آموزشهای جامعی در این زمینه باشیم.
با تشکر

نویسندگان
پیوندهای روزانه
طبقه بندی موضوعی
آخرین نظرات

چهارشنبه, ۹ دی ۱۳۹۴، ۰۸:۱۲ ق.ظ

۰

اینبار با "بررسی تایمر/کانتر دو" در خدمتتون هستم.

 

پس با ما در ادامه مطلب همراه باشید ...

به نام خدا

سلام

حالتون خوبه ؟!

نزدیک به 50 روز از آخرین پستی که گذاشتم میگذره و بابت تاخیری که در روند آموزش بوجود اومده از همتون عذرخواهی میکنم.

فوق العاده سرم شلوغ بود و فکرم درگیر ...

بالاخره میشد یه وقتی پیدا کرد و پست گذاشت،اما اینکارو نکردم ! چون خدا میدونست که چه پستی از آب در میومد !!!

با ذهنی درگیر و پر از دغدغه و استرس، AVR کیلویی چنده ؟؟؟!!!! cheeky

شما هم برای ما دعا کنید که هم درس و زندگیمون اوکی بشه و هم انگیزه مون بیشتر بشه برای پست زدن !!!

به هرحال اومدم !

 

امروز یه بحث تکراری رو پیش رو داریم.

اونم چیزی نیست جز بررسی تایمر/کانتر دو !

در بخش های گذشته آموزش تایمر/کانترهای صفر و یک رو بررسی کردیم و امروز نوبت تایمر/کانتر شماره دو شده ...

 

تایمر/کانتر شماره دو مثل تایمر/کانتر شماره صفر، 8 بیتیه !

رجیسترهاش هم مثل همونه.

تنها یه ویژگی بارز داره تایمر/کانتر دو،اون هم Asynchronous Operation یا عملیات آسنکرونه !

البته فعلا زوده که راجع به این ویژگی بخوایم بحث بکنیم و برای اینکه منتظر بحث های آینده وبلاگ بمونید،نمیگم چیه ! (دلتووووون بسوزه !!! laugh)

 

طرح مسئله :

 

مایل هستیم که یک فلاشر طراحی کنیم که هر 50 میلی ثانیه برامون چشمک بزنه ! (اینجوری :wink). هههههههه

از کریستال خارجی 16 مگاهرتز استفاده میکنیم.

 

 

حل مسئله :

 


با انتخاب ضریب تقسیم 256،زمان سرریز 4.096 میلی ثانیه میشه !

با 12 بار سرریز شدن تایمر/کانتر،و شمرده شدن تا گام 53 در 13 اُمین سرریز مدت زمان 50 میلی ثانیه طی خواهد شد.

 

تمامی صحبتهایی که شد تکراریه و از توضیح مجدد خودداری میکنم !

 

 

میریم سروقت معرفی رجیسترهای مربوطه ؛

 

بررسی رجیسترها :

 

بررسی رجیستر TCCR2 :


Timer/Counter2 Control Register

 

بیت های 0 و 1 و 2 ؛ Bit 2:0 – CS22:0: Clock Select :

از این بیتها استفاده میکنیم برای انتخاب ضریب تقسیم مورد علاقه مون.

طبق جدول زیر :

 

 

ما 256 رو انتخاب کردیم.

 

بررسی رجیستر TCNT2 :

Timer/Counter2

 

این رجیستر هم مقدار تایمر/کانتر شماره 2 رو در خودش نگه میداره.

 

بررسی رجیستر TIMSK :

Timer/Counter-Interrupt Mask-Register

در اینجا تنها بیت TOIE2 مد نظر ماست که با یک کردنش وقفه سرریز تایمر/کانتر دو رو فعال میکنه !

 

 

بررسی رجیستر TIFR :

Timer/Counter Interrupt Flag Register – TIFR

 

در اینجا هم تنها بیت TOV2 مد نظر ماست.

هنگامی که تایمر/کانتر یک سرریز میشه،این بیت 1 میشه و پس از اینکه زیرروال مربوط به وقفه بصورت کامل انجام شد صفر میشه و اگه زیرروالی وجود نداشت،با نوشتن یه یک دیگه روی اون،صفر میشه !!!

 

 

خب اینم از این قسمت !

دیدید که حرف جدیدی برای گفتن نداشتیم.

اما برای اینکه بحث کامل باشه،مجبور شدم که مطرحش کنم.

 

وقتشه که بریم سراغ کدنویسی !

بیاین تا بریم ...


منبع : www.noise.blog.ir

نظرات  (۰)

هیچ نظری هنوز ثبت نشده است

ارسال نظر

ارسال نظر آزاد است، اما اگر قبلا در بیان ثبت نام کرده اید می توانید ابتدا وارد شوید.
شما میتوانید از این تگهای html استفاده کنید:
<b> یا <strong>، <em> یا <i>، <u>، <strike> یا <s>، <sup>، <sub>، <blockquote>، <code>، <pre>، <hr>، <br>، <p>، <a href="" title="">، <span style="">، <div align="">
تجدید کد امنیتی