بازدیدها: 1138
در این پروژه با استفاده از میکروکنترلر AVR و تایمر یک، ساعت دقیقی طراحی کرده ایم که دارای نکات آموزشی بسیار خوبی می باشد. با استفاده از وقفه تایمر یک، محتوای یک متغییر long int را افزایش می دهیم و سپس توسط یک تابع محاسباتی مقدار متغییر cc که یک عدد می باشد را به متغییر های ساعت و دقیقه و ثانیه تبدیل می کنیم. فکر میکنیم که این روش تبدیل عدد به اطلاعات ساعت در جاهایی که واقعا حتی گذر 1 میکرو ثانیه از وقت میکرو برای ما مهم باشه روش بسیار جالبی است. بنابراین بدون کوچکترین اختلالی در زمان سنجی ما قادر خواهیم با کمک وقفه تایمر یک ساعت دقیق بسازیم.
تابع محاسبه عدد به اطلاعات ساعت:
void calc_time(){ unsigned long int h1=0,m1=0,s1=0; s1=cc%60; m1=cc/60; h1=m1/60; m1=m1%60; h=h1; m=m1; s=s1; }
این پروژه بر اساس مطلب قبلی که در همین صفحه لینک آن ضمیمه شده است نوشته شده. بنابراین جهت یادگیری محاسبات تایمر به مطلب ذکر شده مراجعه بفرمایید. با تشکر سید محسن قاسمیان picpars.com
این مقاله تنها در وب سایت برنامه نویسی میکروکنترلرها منتشر شده است و هر گونه کپی برداری از مطالب و فایل ها تنها با درج منبع و نام سایت مجاز می باشد!
1 Comments
خب اگر من بخوام وقفه ایجاد بشه . اون وقفه دقیقا کجاشه ؟ چه جوری اجرا میشه ؟
و اینکه اگر بخوام یک شمارنده داشته باشم پایین کار که هز زمان که وقفه ایجاد کردم بهش اضافه بشه چیکار کنم ؟