نویز | آموزش AVR | آموزش میکرو | میکروکنترلر

وبلاگ آموزشی احسان نوری ::: Ehsan Nouri's Weblog

نویز | آموزش AVR | آموزش میکرو | میکروکنترلر

وبلاگ آموزشی احسان نوری ::: Ehsan Nouri's Weblog

" نویز رسانه ای است برای آموزش آسان مفاهیم میکروکنترلر و الکترونیک "

دریافت مستندات
آخرین نظرات
  • ۲۰ خرداد ۰۰، ۲۰:۴۹ - حسام الدین سلطانی
    خعلی عالی
  • ۲ ارديبهشت ۰۰، ۱۸:۱۱ - حسام الدین سلطانی
    خیلی عالی

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

 

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

 

به نام خدا

سلام،حالتون خوبه ؟

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

آقایون و خانوما التماس دعای خیر جهت قبولی در امتحانات با نمره بالا !!!

 

بخش بعدی آموزش رو شروع میکنیم.

 

آنچه گذشت ... :

 

در بخش قبلی اومدیم و تایمر/کانتر رو معرفی کردیم و نشون دادیم که چجوری محاسبات زمانی رو انجام میده و چندتا فرمول و ...

یادتون نمیاد لطفا برگردید و یه بار دیگه دوره کنید ...

 

خدمتتون عرض کردم که میکروکنترلرهای AVR دارای سه تایمر/کانتر :

 

1.تایمر/کانتر 0 ==> 8 بیتی

2.تایمر/کانتر 1 ==> 16 بیتی

3.تایمر/کانتر 2 ==> 8 بیتی

 

میباشند.


همچنین گفتیم که چجوری ضریب تقسیم رو انتخاب کنیم و چطور زمان دلخواهمون رو بسازیم !

 

بررسی تایمر/کانتر شماره صفر در میکروکنترلرهای AVR :

 

لازم بذکره که تایمر/کانتر شماره صفر خود بر 3 نوع تقسیم بندی میشه :

 

1.ساده 8 بیتی ==> مثلا ATmega8

2.پیشرفته 8 بیتی ==> مثلا ATmega16 , 32

3.پیشرفته 16 بیتی ==> مثلا ATTiny13

 

پس دقت داشته باشید که تقسیم بندی پیشین ما یک تقسیم بندی کلی بوده و میکروکنترلرهای مختلف دارای خصوصیات متفاوت میباشند.

اما چون بررسی رو برای ATmega32 فرض کردیم،در این بخش نوع "پیشرفته 8 بیتی" رو مورد بحث قرار می دهیم.

منتهی چون بحث طولانیه،مجبورم که در چندین قسمت موضوع رو کامل کنم !

 

طرح یک مثال؛

برای اینکه مباحثمون بهتر و ملموس تر پیش بره میایم و یک مثال طرح میکنیم و فرض رو بر این میگیریم که میخواهیم این مثال رو عملی کنیم :

 

قصد داریم یک فلاشر بسازیم که هر 6 میلی ثانیه یکبار چشمک بزنه !

همچنین فرکانس کاری میکرو رو 32 کیلوهرتز در نظر میگیریم (توجه داشته باشید که این فقط یک مثاله !)

 

تو این مثال فرکانس کاری میکرو رو بسیار پایین در نظر گرفتیم.میدونید که میکرو در فرکانس هایی در حد مگاهرتز کار میکنه !

اما چون قصد داریم که مثال در ساده ترین شکل ممکن باشه و نیازی به استفاده از ضریب تقسیم نباشه،فرکانس رو پایین فرض کردیم.

 

خب ...

میریم سراغ محاسباتی که نیاز داریم :

 

جلسه قبل یه فرمول دادم خدمتتون به این قرار :

توضیحات رو هم بصورت کامل در مورد پارامترهای فرمول دادم !

 

تایمر شماره صفر همونظور که گفتم 8 بیتیه و میتونه حداکثر تا عدد 255 شمارش کنه و تاخیری حداکثر به اندازه 8 میلی ثانیه برامون بسازه !

 

برای ساختن مدت زمان 6 میلی ثانیه نیاز هست که 191 شمارش انجام بشه.(طبق فرمول !)

 

بررسی رجیسترهای مربوط به تایمر/کانتر شماره صفر در میکروکنترلرهای AVR :

 

بررسی رجیستر TCNT0 :

Timer/Counter Register

 

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

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

اطلاعات این رجیستر رو هم میشه خوند و هم میشه بصورت دستی نوشت !

 

ساده اش این میشه که : این رجیستر به شمارنده 8 بیتی تایمر/کانتر صفر دسترسی مستقیم داره و هم خواندنی است و هم نوشتنی.

هنگام خواندن مقدار شمارش شده رو برمیگردونه و به هنگام نوشتن مقدار جدید رو به شمارنده انتقال میدهد.

 

بررسی رجیستر کنترلی TCCR0 :

Timer/Counter Control Register

 

در این بخش فقط بیتهای شماره 0و1و2 رو بررسی میکنیم و بقیه رو در بخش های بعدی !

 

بیت های 0 و 1 و 2 ؛CS02:00 - Clock Select Bits :

با استفاده از این سه بیت میشه چندتا کار انجام داد :

 

1.یکی اینکه تایمر/کانتر صفر رو فعال یا غیرفعال کرد.

2.بعدی اینکه فرکانس پالس تایمر/کانتر صفر رو که تقسیم فرکانسی از فرکانس اصلی میکرو هست رو تعیین کرد.

3.میشه حساسیت تایمر/کانتر صفر رو به لبه بالارونده یا پایین رونده اعمالی به پایه T0 رو کنترل کرد.

 

اگه هم هیچ منبع پالس ساعتی انتخاب نشه،تایمر/کانتر غیر فعال خواهد شد.

 


 

چون ما فرکانس کاری میکرو 32 کیلوهرتز فرض کردیم (در مثال) و این فرکانس،فرکانس مناسبی برای کارکرد تایمر/کانتر هم هست،در نتیجه ما سطر دوم رو انتخاب میکنیم.یعنی نیازی به استفاده از تقسیم فرکانسی نداریم !

حواستون باشه داریم در مورد مثالی که مطرح شد بحث میکنیم نه چیز دیگه !!!

 

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

Timer/Counter Interrupt Mask Register

 

این رجیستر یک رجیستر مشترک میان تمامی تایمر/کانترها میباشد.

که برای تایمر/کانتر صفر فقط از بیتهای 0 و 1 آن استفاده میشود و دیگر بیتها مربوط به تایمر/کانترهای دیگر میباشد !

 

بیت 0 ؛TOIE0 - Timer/Counter0 Overflow Interrupt Enable :

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

لازم بذکر است که شرط فعال شدن این وقفه آن است که بیت فعال ساز وقفه (I) در رجیستر SREG نیز فعال باشد.

 

 

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

Timer/Counter Interrupt Flag Register

 

 

این رجیستر هم بین تمامی تایمر/کانترها مشترک میباشد.

که برای تایمر/کانتر صفر فقط از بیتهای 0 و 1 آن استفاده میشود !

 

بیت 0 ؛ TOV0 : Timer/Counter0 Overflow Flag :

این بیت هنگامی که تایمر/کانتر صفر سرریز بشه یک میشه و وقتی هنوز زیر روال وقفه در حال انجامه مقدار صفر داره.

اگر هیچ زیر روالی در حال انجام نباشد با نوشتن یک در آن،بصورت دستی میتوان آن را پاک کرد.

 

 

کلام پایانی ؛

این پست،اونجور که دوست داشتم نشد !

علتش رو هم میدونم چیه !؟

وقفه رو که هنوز نگفتم و میدونم اونایی که باهاش آشنایی ندارن،الان چه قدر بد و بیراه بهم میگن که این چه نوع توضیح دادنه!

ولی باور کنید که خودم حواسم به این چیزا هست ولی چه کنم که مبحث وقفه رو اگه بخوام کامل توضیح بدم،مطمئنم همه رو کلافه میکنه و اگه بخوام ناقص و فرمالیته در موردش بحث کنم،خودمو ارضاء نمیکنه !

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

دارم فکر میکنم ببینم چجوری میتونم مطالب رو بیان کنم که همه متوجه بشند.

فقط صبور باشید و پشتکار داشته باشید ... به منم یکم اعتماد کنید !!!

 

و در پایان :

چرا اینقدر نظرات کمه؟!

خواهشا دوستانی که مباحث رو پیگیری میکنند،اعلام حضور کنند تا یه قوت قلبی باشه برای من.که برای آپدیت منظم تر وبلاگ مصمم تر بشم.

لطفا اگه شده با یک کلمه،فقط یک کلمه (فحش ندیدا ! laughcheeky) بگید که آقا ما خوندیم مطلبو ...

 

به قول رضا صادقی،همین ...

سلام دوست من...کارت واقعا عالیه من از نوشتهات واقعا لذت میبرم تقریبا کل امروز رو نشستم و تمام نوشتهات رو خوندم واقعا شیرفهم شدم. از کمبود نظرات دلسرد نشو چونکه تازه شروع کردی کم کم درست میشه. پس خواهش میکنم به نوشتن و تولید محتوا ادامه بده. راستی فقط یک مشکلی هست ایکاش بکمم کد مینوشتی مثلا من متوجه شدم که برای ایجاد تاخیر های بیشتر از 16 میلی ثانیه بایدضریب تقسیم فرکانس رو بالا ببرم و اینکار از طریق prescaling انجام میشه اما اصلا توضیحی نداده بودی که چطور میشه این ضریب رو مشخص کرد...فکر میکنم اگه یکمی برای بعضی مسایل مثال با کد بزنی خیلی بهتر باشه. کارتو ادامه بده واقعا خوب مینویسی.
پاسخ:
سلام
تشکر از اینکه با نظرتون بنده رو خوشحال میکنید !
قطعا آموزش کدنویسی در برنامه کاری ام هست و مطمئن باشید که پست های آینده حتما در مورد کدنویسی خواهند بود !
کدنویسی موازی با آموزش بخش های AVR پیش خواهد رفت.
متاسفانه یه مقدار پیچ در پیچ بودن مطالب و کمبود وقت اینجانب مخصوصا در این زمان که امتحانات هم در اون قرار داره باعث شده که به کدنویسی نپردازیم.
انشاالله با همراهی شما دوستان،آموزشات رو پیش ببریم.
به امید روزی که تو دنیا بگند ایرانیا،در مباحث میکروکنترلر و ابزار دقیق خبره اند !

موفق باشید.
عالی بود، منتظر آموزش های بعدی هستیم
پاسخ:
ممنون
بنده هم منتظر نظرات سازنده شما هستم !
دستت درد نکنه کارمو راه انداختی خدا خیرت بده

مثل همیشه عالی بود. برای شما آروزی موفقیت دارم.

بازهم سپاسگذارم.

پاسخ:
ممنونم.
شما هم موفق باشید.
salam,
very good
good luck
پاسخ:
Hi
Have a nice time...
سلام
دوست عزیز یه چیزی:
اینکه برای استفاده از هر قسمت جانبی که در داخل هر میکرو هست مثلadc یاusart  یا isp یا twi  و...
ابتدا باید از رجیستر های همه منظوره استفاده کنیم تا اون قسمت از میکرو که نیاز داریم رو فعال کنیم (البته کلاکش رو راه بندازیم)
بعدش اینکه بیایم از رجیستر کنترل مربوط به اون قسمت که به صورت فردی هست ینی مخصوص اون قسمته استفاده کنیم )
بعدش هم از رجیستر دیتاش استفاده کنیم تا مقدار دیتا یا برای ارسال یا برای دریافت توی اون قسمت باشه)

اگه کمی کاسی داشت دوستان اضافه کنید .


پاسخ:
البته من متوجه نشدم که این سوال بود یا توضیح !؟
رجیستر همه منظوره رو هم نشنیده بودم تا حالا !
سلام خدمت برادر عزیز اقای نوری
ممنون از مطالب بسیار خوب و خواندنی شما
من چون به میکرو علاقه پیدا کردم شرع به جستجو درباره میکرو توی اینترنت کردم
به جرات میگم نحوه ارائه خیلی خوبی دارید این مطالب تو کتابها هم هست ولی نه به این سلیسی و راحتی بیان
ممنون از مطالبتون
پاسخ:
با سلام
نظر لطف شماست !
موفق باشید
۲۹ دی ۹۲ ، ۱۶:۰۱ وحید فرهمند
سلام بر احسان عزیز :

امروز بصورت اتفاقی ، به وبلاگت رسیدم و از اونجائیکه نحوهء ارائهء توضیحات و نوع نگارش مطالبت ، کاملاً طبق رویه و سلیقهء خودم بود ، مشتاق شدم و تمام مطالب وبلاگتو خوندم ... اگرچه یه جاهایی از بعضی موارد مهم صرفنظر کرده بودی ، اما در کُل ، قشنگ توضیح دادی .

من هم همیشه معتقدم برای آموزش ،‌ باید از بیانی ساده ، روان و عامیانه استفاده کرد تا مطلب برای نوآموز قابل درک و قابل لمس باشه ... بهت تبریک میگم .

امیدوارم امتحانات رو با موفقیت پشت سر بذاری و بتونی راهی که رفتی رو به مقصد برسونی ...
پاسخ:
سلام بر شما آقا وحید
خیلی ممنون از لطفت.
بنده هم قبلنا به وبسایت شما سر میزدم و بی شک شما هم در کارتون تک هستید !
بنده سعی کردم که یک روال کلی برای مطالب وبلاگ داشته باشم و اینکه میفرمایید از بعضی مطالب مهم صرفنظر شده رو ممنون میشم گوشزد کنید تا اگه واقعا جا افتاده توضیحاتم رو کامل کنم.
بالاخره ما هم ادعایی نداریم و ممکنه که اشتباه کنیم.
گرچه که قبلا هم گفتم خدمت دوستان،که خودشون هم دست به کار بشند و مطالب بنده در این وبلاگ مرجع کارشون قرار نگیره !
چون اینجوری اگه بخوایم پیش بریم باید یه کتاب 1000 صفحه ای توضیح بدیم !!!
۳۰ دی ۹۲ ، ۰۲:۵۴ وحید فرهمند
درود احسان جان :

شما لطف داری ... خُب من ترجیح میدم مثل بقیه خوانندگان وبلاگت ، مطالبتو دنبال کنم . خودت هر طور که صلاح میدونی همینو ادامه بده . کارت عالیه ...
بازم از مطالبتون مچکرم آقای نوری.
من که از دیشب وبتون رو دیدم کارامو تعطیل کردم تا مطالبتون رو بخونم و بی صبرانه منتظر مطالب بعدیتون هستم تا وارد عمل شم .
فکر کنم الان دیگه امتحاناتتون تموم شده ؛امیدوارم که خوب داده باشید ٰما که خدارو شکر خوب دادیم.

پاسخ:
خواهش میکنم !
بله،امتحانات که تموم شده ولی نوشتن مطلب در وبلاگ هم کم زمان نمیبره.
قرار نیست که از جایی مطالب کپی بشه و داخل وبلاگ پیست بشه !!!
بنابراین کلیه تصاویر،فرمولها،فیلمها و ... باید تهیه بشه و بصورت منظم در بین مطالب وبلاگ قرار داده بشه.
نگران نباشید !

موفق باشید.
مثال بیشتر بزنید لطفا
پاسخ:
انشاالله در قسمت کارگاه عملی مربوط به تایمر/کانتر ، مثال برنامه نویسی خواهیم داشت.

موفق باشید.

سلام مهندس باید بگم به معنی واقعی کلمه باید بگم "دمـــــــــت مذاب " آموزشات خیلی خوبن چون از صفر شروع میشه و به بالا میره!!!! فقط خواستم بگم اگه آموزشتون با مثال برنامه نویسی همراه باشه خیلی بهتره چون همه اینه آخرش باید به مثال خطم بشه که بشه تو برنامه ها ازش استفاده کرد...

بازم میگم دمت داغ ادامه بده

پاسخ:
سلام قربون
شرمندمون نکن ...
وظیفه است.

موفق باشید.
سلام..خسته نباشید
مطالبتون خوب بود اما من در مورد تایمر 3 می خواستم بدونم..که چیزی ننوشته بودین..
به هر حال ممنون
پاسخ:
سلام،ممنون
در مورد تایمر 3 مشترکا در بحث تایمر شماره یک،در مورد آن توضیحاتی خواهم داد.

موفق باشید.
۲۹ بهمن ۹۲ ، ۱۴:۴۶ علی داد حسینی
از نوع بیان مطالبتون خیلی خوشم اومد ایشالا همیشه موفق باشید
پاسخ:
ممنون،به همچنین.
ایووووووووووووول
پاسخ:
ممنون.

فقط میتونم بگم دمــــت گرم ...

 ای کاش هر چند وقت یکبار یه فایل پی دی اف ام از مطالبتون میزاشتید .

اولین باره میام اینجا من کتابهای پرتویی فر ، کاهه، ره افروز همچنین آموزشهای ویدئویی سایت نولج پلاس رو دارم. در همین برخورد اول متوجه شدم که اینجا یه جایه دیگه اس و کاش که زودتر پیداش کرده بودم.

ولی خوب الانم خیلی دیر نیست.اینکه گفتم فایل پی دی اف بزارید بخاطر اینه که هم منسجم تر میشه و هم اینکه مشکل لود نشدن عکسها دیگه وجود نداره چون همین الانی که من دارم نظر میدم یکی از عکسها لود نشده

ممنونم از زحمتی که میکشید . حق یارتون باشه

پاسخ:
از اظهار لطفتون سپاسگذارم !
در مورد پی دی اف هم دوستان قبلا پیشنهاد داده بودند،اما در موردش فکر نکردم !
پی دی اف ساختن که کاری نداره،اما بزارید یکم بیشتر فکر کنم.
بالاخره وبلاگ ما هم یه سیاست کاری خاصی داره برای خودش !!!

موفق یاشید.
اقا دمت گرم مطلبت و خوندم
پاسخ:
قربانت !
20
عالی بود
پاسخ:
خواهش میکنم.
۲۹ فروردين ۹۳ ، ۰۲:۲۴ مهندس کامپیوتر
مطالب عالی اند.فقط لطف کن اسمبلی هم بزار برای تاخیر
پاسخ:
داداش
مث اینکه دوست داری همین 4 تا بازدید کننده رو هم از دست بدیم ؟!  D;
سلام.ای کاش یه مثال هم ازش داشتین
پاسخ:
در پست کارگاه عملی میتونید نمونه برنامه نویسی رو هم ازش ببینید.

salam

omidvaram khoda omre ba ezzat behet bede & dele khosh & jibe por az pool

(joda az inke zakate elmeto dadi,haale asasi be barobaxe mohandes bad az in  ham dadi)

پاسخ:
مخلصم !!!

ممنون

عالییییییی

منتظریم

پاسخ:
ممنون
سلام!!اقا هرچی بگم دستتون درد نکنه کمه!!!!ایشاا... همیشه موفق و پیروز باشین
پاسخ:
ممنون

شما هم موفق باشید.
سلام واقعا کارت حرف نداره! مونده بودم که برای امتحان چیکار کنم و چی بخونم و چه جوری بخونم که وبلاگ شما رو دیدم! به avr علاقه مندتر شدم... بازم ادامه بده. تشکر
پاسخ:
موفق باشید.
سلام دوست عزیز. واقعا فوق العاده ای!!!! مونده بودم با avr چیکار کنم که با وبلاگ شما اشنا شدم. بازم ادامه بده منتظر یادگیری مطالب جدید هستیم... تشکر!
پاسخ:
باعث افتخار ماست.
خوش اومدی ...
فدایی داری...
آقای نوری واقعا کارت عالیه.اگه روش تدریس اساتید دانشگاه ها مثل شما باشه دانشگاه ها خروجی های خوبی خواهند داشت.
راستی میدونم این پیشنهاد زیاد تکرار شده ولی اینکه بچه ها گفتن برای مباحث مثال برنامه نویسی بیارید خیلی خوبه.
تازه داره یک چیزایی دسبگیرم می شه
ممتون از توضیحات کامل.
۲۵ مرداد ۹۳ ، ۱۷:۱۸ مسعود یزدانی راد
دمت گرم داشی
خسته نباشی عالیه
۳۱ مرداد ۹۳ ، ۰۰:۱۶ رسول حسین پور
سلام دوست عزیز
بفرما اینم نظر نگین نذاشتیا
استفاده کردیم استاد
واقعا خوب توضیح میدید
این همه وقت واسه رواج علوم الکترونیک گذاشتن سخته...آخه هم پیچیدس که آدم از این می تونه بگذره اما تو در توهههههه که اکه به قول شما آدم ناقص یاد بگیره گاهی بی فایده یا وقت گذروندنه.....
و در کل ممنون بابت آموزش های خوبتون در مورد تایمرکانتر
پاسخ:
ممنون :)))

موفق باشید.
سلام اقای احسان نوری
       ممنون به خاطره مطلبتون.
  
پاسخ:
تشکر
مگالب عالی بود.بع نظر شما پروتوس بهتره یا آلتیوم دیزاینر
پاسخ:
?!
عالی
پاسخ:
ممنون
بسیار عالی مطالب واقعاً مفید و قشنگ بیان شدن
ازتون ممنونم انشالله موفق باشید
عالی بود، منتظر آموزش های بعدی هستیم


عالی.مرسی.ادامه بدید
ازت ممنونم
آقا عالی بود....... خیلی خیلی ممنونم ازت......... تا به حال آموزش به این سادگی برای AVR ندیده بودم!
انشالله همیشه موفق باشی
واقعن عالی توضیح میدید به ساده ترین و قابل فهم ترین شکل ممکن.
پاینده باشید
پاسخ:
تشکر
سلام 
خسته نباشی
ولی این جلسه خوب نبود
پاسخ:
ممنون
عالی
پاسخ:
ممنون
ما خومدیم مطلب و !!!!!!!   و خیلی هم خوب بود ... ممنوووووون
پاسخ:
:)
دمت قیژ...
پاسخ:
دم خودت قیژ !!! D:
یعنی خیلی گلی :-) شب امتحانی چقد به دادم رسیدی
اصلا حوصله دیتا شیت خوندن نداشتم
پاسخ:
شب امتحان نخونید ! :)))))))))))
مرسی داداش 
خوندم اما زیاد نهفمیدم:-/
شاید من خنگم:-/
پاسخ:
:)
سلام عسیسم

ما که جز یه مفهوم کلی ، چیز دیگری توی ذهنمون شکل نگرفت .

ضمنا به سایت ما هم اگه وقت کردی (که فکر نکنم داشته باشی) یه سری بزن و یه نظر بده

ممنون
پاسخ:
ممنون ;)
۲۰ بهمن ۹۳ ، ۱۴:۰۴ علی اکبر صالحه
خوب بود

پاسخ:
ممنون
سلام. دستت درد نکنه داداش. خیلی زحمت میکشی.
راضیم ازت!
پاسخ:
مرسی :)
آقا دمت گرم.عالیه
پاسخ:
ممنون
خیلی خوب بود
ممنون
پاسخ:
سپاس
۰۱ اسفند ۹۳ ، ۰۹:۳۵ محمد حسین حسینیان
داداش عالی بود

پاسخ:
خواهش
سلام دم شما گرم ما دنبال میکنیم مطالبتونو 
پاسخ:
تشکر
میخوامد. (مختصر و مفید یه کلمه که خودت گفتی)
پاسخ:
خخخخ ...
ممنون
عااااالی بود ولی به قول خودتون اصلا خوب در مورد تایمر/کانتر ها مبحثو دنبال نکردین

پاسخ:
شاید !
عالی بود....
پاسخ:
:)
سلام
خوب بود ولی
ولی نداره، خوب بود دیگه
پاسخ:
مرسی
Hello
Thanks very much for your excellent posts.
پاسخ:
Tnx
پیر بشی مهندس
پاسخ:
تشکر :)
سلام، مطالب خیلی عالیه
پاسخ:
ممنون
باسلام
راستش من تاز کار با avr رو شروع کردم یکسری سوال برام پیش اومد که با مطالعه کتاب و مراجعه به سایتهای مختلف نتونستم به جوابی که میخوام برسم خواستم کمکم کنید
یه عکسی به لینک زیر اپلود کردم:
http://8pic.ir/images/0dggbc1uk7bkdpq8pc63.png
1)منظور از bottom همون tcnt هستش؟
2)تایمر این مقدار tcntرو میشمره بعداز اون هم تا 256 میشماره یا نه بعد از مقدار tcnt  رو شروع به شمارش میکنه اگه اینطوره چجوری با مقدار ocro مقایسه میشه؟
3)این شکل رو از فیلم اموزشی اقای کی نژاد کشیدم.که مربوط به مد نرماله(تو کتاب از مد نرمال عکسی نیست)
تو مد نرمال بعد از مقایسه شمارش تا 256 ادامه پیدامیکنه اگا اینطور باشه یعنی مقدار شمارش از2 تا 3 به پالس که دارای لبه بال رونده یا پایین رونده هستش اضافه میشه درنتیجه مقدارپالسی که میخوایم مقارش زیادترمیشه یا نه این مقار تو پالس حساب نمیشه پس چرا توشکل اضافه کرده
4)تو سایت خوندم تو مد نرمال فرکانس ثابته و فقط مقدار فاز تغییر میکنه ولی تو این شکل که مقدار ocr0 که از 2 تا 11 تغییر کرده فرکانس تغییر کرده وفقط از مقدار 11 به که ocro  ثابته فرکانس هم ثابته ممکنه توضیح بدین (البته اقای کی نژاد هم گفتن که با تغییرات  ocr0 هم ثابتهولی شکل چیز دیگه ای میگه) ممکنه راهنمییم کنین
پاسخ:
خانم محمدی عزیز

لازم به تکرار نظرتون نبود.
حدود5-6 بار نظرتونو ارسال کردید.یه بار کافیه.

با توجه به موارد پرسش شده معلوم میشه که اساسا و از پایه،به درک درستی از تایمر کانتر نرسیدید.
حتی شاید هم مطالب وبلاگو نخوندین !
یه بار کامل مطالبو بخونین و اون چیزایی هم که از قبل تو ذهنتونه رو بزارید کنار !

موفق باشید.
سلام وااااقعا ممنون  خداخیرتون بده خیییییلی ممنون به خودتون افتخار کنید که انقدر به ما دانشجو ها کمک می کنید
مرسیییییییییییییییییییییییییییییییییییییی
پاسخ:
تشکر
خیلی خوب بود .ممنونم .من فردا امتحان میکرو دارم و این مطالب واقعا کمکم کرد:)
پاسخ:
ممنون
عاااالیه آقا من که می فهمم ادامه بدین ممنون
پاسخ:
تشکر
واقعا ممنونم ازتون به من که به شخصه مطالبتون کمک زیادی کرد..
پاسخ:
سپاس
دمت گرم
دارم کل جلساتو میخونم دمت گرم خیییییییلی خوبه خیلی لازم داشتم این مبحثو :)

سلام وقعا ممنون از زحماتتون
راجبه بیت ocf0 اخرین رجیستر توضیح ندادین؟
باتشکر خیلی عالی خدا خیرت بده
سلام 
مطالبتون واقعاً عالی ، پـُر بار و آموزنده  ، من یه سئوال داشتم ، در رجیستر TCCR0 

در قسمت بیت های 0 و 1 و 2 : CS02:00 - Clock Select Bits  (در مبحث مربوط به prescaling   مقدار N در تقسیم فرکانسی بر حسب چه مبنا و منطقی صورت می گیرد ؟؟

چه زمانی از تقسیم فرکانسی 8 ، چه زمانی از تقسیم فرکانسی 64 و ... استفاده می کنیم ؟؟


خسته نباشی عااااااالی
جزاءک الله الخیر
دمت گرم با ای آموزشهای بسیار عالی ممنون

خداقوت

آقا ما خوندیم مطلبو ...
:))
mersi mofid bod
سلام. واقعا ممنون از زحمت هاتون. عالی گفتین. خدا خیرتون بده. یددونه ای بخدااا !!
سلام
خسته نباشید
واقعا عالی آموزش می دید
ولی چرا دیگه چیزی نمیزارید؟
agha damet garm harf nadari.
خدا خیرت بده.
۲۳ آبان ۹۴ ، ۱۲:۳۷ امیر آرمان
سلام مهدس جان
دم شما واقعا گرم
یه چند روزیه که مطالبتون رو دارم میخونم و به بقیه دوستان هم معرفی میکنم
واقعا دستمریزاد 
عالیه
ای کاش ادامه دار باشه و قطع نشه
خییییییییییییییلیییییییییییییییی ممنون از بابت همه زحماتت
۲۳ آبان ۹۴ ، ۱۸:۲۱ امیر آرمان
اقا فقط عرض کنم یک کلمه

دمت گرم

به قول رضا صادقی،همین ...




آقا ممنون
مطالب خیلی عالی
موفق باشید
با سلام و تشکر خدمت شما
یه سوال داشتم چجوری گفتین :"تایمر شماره صفر همونظور که گفتم 8 بیتیه و میتونه حداکثر تا عدد 255 شمارش کنه و تاخیری حداکثر به اندازه 8 میلی ثانیه برامون بسازه !"
8 میلی ثانیه رو از کجا آوردین فرکانس میکرو رو چند درنظر گرفتین؟؟؟
جوری که من حساب کردم فرکانس 32KHz در اومد...
اونوقت چرا؟؟؟
انصافا کارت درسته....
سلام انشاءالله همیشه موفق باشین خخخخییییللللییی توضیحاتتون خوبه

عالی

 عالی بوده.
موفق باشید.
خیلی خوب بود دوست عزیز
لطفا مطابو ادامه بده
بازم ممنون
سلام ,
اقا دمت گرم 
یعنی اینقد خوب توضیح میدی که ادم دوس داره 2 3 بار بخونه در صورتی که کامل قابل فهم و یادگیریه

خلاصه ممنون :*

منتظر اموزش های بعدی
چرا دیگ مطلب نمیزاری 
خیلی مطالبت عالین
خواهشن ادامه بده
بسیار ممنون و متشکر از توضیحات کاملتون.
بنده میخوام کار با میکرو رو شروع کنم و در ابتدای کارم
مطالب شما بسیار عالی بیان شده
فقط بفرمایید چطور میشه تمام جلسات رو از اول دونه به دونه ببینم و بیام جلو؟
مطالب خیلی پراکنده است

اگر سایر کاربران هم میدونن ممنون میشم سریعتر جواب بنده رو بدن
عالیییییییی 
بیست
دمت گرم 
آقا عااااااااالیه
حرف نداره 
دمت گرم فقط یه خواهش. من دنبال نحوه محاسبه ی دیوتی سایکل پالس دریافتی با استفاده از تایمر میگردم .
درمورد این هم مطلب بذار.
اقا دمت گرم .مرسی بابت زحماتت
اگه مبحث وقفه رو خیلی کامل و جامع توضیح بدید واقعا ممنون میشم چون این مبحث رو از هر جا که میخونم به مشکل برمیخورم

ممنون
فوق العاده ای
سلام
کارتون عالی هست
عالییییییییییییییییییییییییییییی
عالی بود مرسییییییییییییییییییییی
داداش کی میخوای برگردی به وب سایتت........بیا و یه دستی به سر و روش بکش....یا حداقل بگو که چرا دیگه مطالب رو بروز نمیکنی.... منتظرتیم پسر :)

عالی
سلام...خیلی ممنون از زحمت ها و کمکت
پیر شی مادر
عالی بود...
awlie mateleb
damet garm dadash
ajret ba agha

خیلی آقایی

عالی ، واقعن جای همچین توضیحاتی خصوصن در مورد تایمرها به این شیوه خالی بود، ممنون و موفق باشی
دمت گرم

عالیه
من همچنان دارم ادامه میدم
دوست عزیز دمت گرم، مطالبت بی نظیره
ممنون
سلام 
خیلی ممنونم بابت وقتی که میزاری
سلااااااااااااااااااااااااااااااام..دستتون درد نکنه...قوت قلب داشته باشید
سلام.با تشکر فراوان از زحماتتون.
سلام
مطالب خیلی خوبه.
عالی
ممنون
سلام ممنون واقعا توضیحاتون عالیه
سلام
مطالبتونو خوندم ..عالیه
خدا قوت

داداش دمت گرم خداییش عالی توضیح میدی 
فوق العاده ملاحضه گری "ممنون از اموزشی که اراٹه میدی"
باسلام و خسته نباشید خدمت مهندس عزیز  مهندس جان کارت خیلی درسته واقعا زحمت می کشید و تشکر فراوان خدمت شما
سلام ممنون از زحمتتون. خدا خیرتون بده.
دمت گرم خیلی واظح توضیح داده بودی تو پروژم خیلی کمکم کرد. توضیح به این قشنگی و خودمونی تا حالا ندیده بودم
پرررررررفکت!
برادر عالللللللیههه 
دمت گرم

اقا دمت گرم خیلی عالیه.

عالیه توضیحاتتون
من خلاصه برداری میکنم بعد برای بچه های کلاس توضیح میدم
ی کلاس دعاتون میکنن
دمتون گرم
یا علی
دمتون گرم خیلی خوبه فقط یکم  بیشتر همه مباحث رو توضیح بدید معرکه س
سلام  خدا خیرتون بده
عالیه خیلی کامل بود تشکر

عالی و بسیار روان :)
سلام عالی بود
ولی چرا بیت 1 رجیستر TIMSK و TIFR رو توضیح ندادی؟
چرا تو برنامه نویسی از تنظیمات codevision استفادع نمی کنید؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟
سلام
از این که روان توضیح میدید ممنونم.
لطفا ادامه دهید
۳۰ آذر ۹۶ ، ۱۸:۰۲ سیروان احمدپور
سلام
کد وریلاگ تایمر صفرش چجوری میشه؟
از روی دیاگرامش

آقا ما خوندیم مطلبو!

دمت گرم خیلی باحالی

ممنون 🌹🌹
مطالب عالیه...دیگه خودت نیستی!!!
عاااااااااالییی هست. ممنونم
فیض بردیم ممنون 
سلام و خسته نباشی به شما دوست عزیز
فعلا کیج شدم اساسی :)
قسمت قبلی ک اومدین راجب تایمر و اون فرمولا صحبت کردینم خوندم
و قسمت مربوط به adc
سوالم اینه
برای تایمر/کانتر0
led بعد از 100 میلی ثانیه روشن شود
فرکانس میکرو 1مگاهرتز
 و پیش تقسیم کننده8
حالا استاد ما یکجور فرمول دیگه داره ک ازش استفاده کردم

F(Timer)=F(Cpu)/p
بعد یک تناسب میبندیم
و مقدار ocr بدست میاد ک اینجا شد 12500
خب تایمر 0 از 0 تا 255 میشماره
بعد از اونجاییکه فهمیدم فرکانس 1مگا هرتز برای کل میکرو
و خوب نباید فرکانس کم کرد
ممنون میشم راهنمایی کنین
و امیدوارم امیدوارم شما بتونین زود جوابمو بدین :)))
۰۶ دی ۹۷ ، ۰۱:۳۴ امین سیرغانی
آقا ممنونم. خیلی دمت گرم ک وقت میداری و اطلاعاتتو نشر میدی. من دارم مطالبتو دنبال میکنم ایشالا ک ب جاهای مطلوب برسم.
خیلی گلی.
man pasfarda emtehane micro daram
b jaye jozveye cherte ostadam daram matlabaye shoma ro mikhonam
age paas sham kolli doat mikonam javun :)
۱۱ بهمن ۹۷ ، ۰۰:۱۸ پوریا حیدری
دادا فدایی داری...

عاقا دمت گرم. 
دمت جیز.☻

احسنت

ممنون 

عالی بود

فقط من نمیونم چجوری نویز هنگام کار با کانترو حذف کنم

با هر پالسی که میدم یک مقدار دلخواه میشمره 

مطالب سایت در مورد pwm کاملا مفیده ،خیلی به دردم خورد .دست مریزاد

عالی دمت گرم

 ث همیشه عالیییییییی خدا خیرت بده

سلام مرسی و خسته نباشید

فقط میخوام بدونم این مطالب مروبط ب atmega 16   هست یا ن ؟ مرسی

چن ساله هر از چند گاهی میام به این وبلاگ به این امید که شاید ادامه بدین نوشتنو اما.....

به هر حال از شما خیلی ممنونم برای این بیان عالی

ممنون از زحمات شما

داداش نظرات کم نیست کارتو ادامه بده

ارسال نظر

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