آموزش تایمر به صورت پروژه محور

این تقریبا پروژه مربوط به جلسه 3 لینک بالا هستش که من یه کم ویرایشش کردم و…

کار این پروژه اینه که هر 20ms یه led رو روشن خاموش میکنه.>>>led به PORTB.0 وصل هستش.

1) فرکانس کاری میکرو 8MHZ هستش.

2) فرکانس کاری تایمر/کانتر : ما تقسیم فرکانسی 256 رو براتایمر/کانتر انتخاب میکنیم.>>>لذا 8 مگا هرتز(فرکانس کل) رو بر 256 تقسیم میکنیم و عدد حاصل فرکانس کاری تایمر/کانتر هستش.

3) به دست ابردن تعداد کلاک مورد نیاز برای تولید زمان مورد نیاز ما : >>>>زمان مورد نیازمون رو بر فرکانس تایمر/کانتر تقسیم میکنیم(یا زمان مورد نیازمون رو بر دوره تناوبتایمر/کانتر ضرب میکنیم)>>>و بعد مقدار به دست اومده رو منهای 1 میکنیم>>>و بعد عدد رو رند میکنیم.>>>عدد حاصل در این پروژه تقریبا میشه 249 تا کلاک.

توجه : تایمر/کانتر 0  هشت بیتی فقط میتونه از 0 تا 255 تا کلاک رو بره.


تایمر/کانتر در کدویزارد نرم افزار کدویژن

در کدویژارد باید تنظیمات مطابق شکل زیر باشه(دو پروژه ای که در زیر گزاشتم به صورت شکل زیر هستن.)

1) انتخاب Timer0

2) Clock Source : انتخاب منبع فرکانسی…>>>>ما فرکانس کاری میکرو رو انتخاب کردیم.

3) Clock Value : فرکانس کاری تایمر هستش>>>با فرض این که تقسیم فرکانسی 256 هستش و فرکانس کاری میکرو 8 مگا هرتز هستش.

4) Mode : انتخاب مد نرمال. (جلسات بعد در مورد بقیه مد ها پروژه هایی رو میزارد انشاالله)

5) Output : گفتم که خروجی تغییر نکنه (منظور PORTB.0 یا همون T0 در میکروکنترلر هستش)

6) Overflow Interrupt : وقفه سر ریز رو فعال کردم>>>>یعنی هر موقع به کلاک 255 رسیدیم >>>وقفه رخ میده.

اگه در مورد وقفه چیزی نمیدونید مطلب مقابل رو بخونید : آموزش جامع میکروکنترلر AVR جلسه۳

 

تایمر/کانتر در کدویزارد نرم افزار کدویژن

 

 

پروژه 1 >>>مد نرمال>>>تقسیم فرکانسی 256>>خروجی تغییر نمیکند>>>فرکانس کل میکرو 8 MHZ

تولید 1 ثانیه واقعی با تایمر

توضیح پروژه : تو کد به میکرو میگم هر موقع تایمر/کانتر 125 بار به کلاک 255 رسید(شمارش کلاک ها از 7 آغاز میشود) شما! led رو اگه خاموشه  روشن کن و اگه روشنه خاموشش کن.تو این پروژه led هر 1 ثانیه روشن میشه(البته اگه خاموش باشه و اگه خاموش باشه روشن میشه)

 

اینم از مدار پروژه

آموزش جامع میکروکنترلر AVR جلسه25

 

اینم از کد های پروژه

 پروژه 2 >>>مد نرمال>>>تقسیم فرکانسی 256>>خروجی تغییر نمیکند>>>فرکانس کل میکرو 8 MHZ