سلام عرض می کنم خدمت همه دوستای خوبم
امیدوارم که خوش وخرم باشید و این غیبت طولانی منو هم ببخشید
.حالا ببینم شما ها که اینقدر خوب نظر می دین چرا قبلاْ از این کارا نمی کردید!!
دوستان تا اونجایی که یادمه در پست قبلی نحوه پیکربندی تایمر های میکرو را به صورت تایمر توضیح دادم و قرار شد که در این پست اونا رو به صورت کانتر پیکربندی کنیم.ببنید هر مدلی از میکروهای avr که دارای چند تا از این تایمر ها هستند هرکدام از این تایمر ها یک پایه به عنوان ورودی به نام های T0و T1 و... دارند که عدد بعد از T نشان دهنده تایمر مورد نظر می باشد مثلاْ : T0 نشان دهنده پایه ورودی پالس به تایمر صفر است که با هر پالسی که(یک سیکل)که به این پایه می رسد محتوای این کانتر یک واحد افزایش می یابد.
برای پیکر بندی تایمر ها در مد کانتر از دستور زیر استفاده می کنیم که در آن x شماره تایمر مورد نظر(مثلاْ TIMER0) می باشد و با انتخاب Edge=Rising محتوای کانتر با لبه بالا رونده سیگنال ورودی افزایش می یابد و با انتخاب Edge=Falling محتوای کانتر با لبه پایین رونده سیگنال ورودی افزایش می یابد.
Config Timerx = Counter , Edge = Rising / Falling
همانطور که در پست قبل به آن اشاره شد تایمر بر اساس اینکه هشت بیتی باشد یا شانزده بیتی می تواند تا حداکثر ۲۵۵(هشت بیتی) و ۶۵۵۳۵(شانزده بیتی) را بشمرد که وقتی کانتر تا این مقدار را شمرد یکی از پرچم های وقفه ovfx را یک می کند که در آن x شماره تایمر مورد نظر است که با استفاده ار دستوراتی که در پست قبل به آن ها اشاره شد می توان بر آن ها نظارت کرد.
دوستان همانطوری که قولش رو داده بودم در پست بعد پروژه فرکانس متر رو خواهیم داشت که با استفاده از تایمر-کانتر های موجود در میکرو به طراحی آن ها می پردازیم. اما نکاتی که قبل از این پروژه باید بدانید این است که فرکانس چیست؟ و فرکانس متر چه کاری انجام می دهد؟ در پاسخ به این دو سوال باید بگویم که ما دو نوع جریان الکتریکی داریم ۱-جریان ثابت ۲DC-جریان متناوب AC . که مقدار DC کاملاً ثابت است و تغییری نمی کند مانند باتری. اما جریان AC جریانی است که مقدار آن متناسب با زمان تغییر می کند و از مقدار صفر به ماکزیمم(حداکثر) و از ماکزیمم به صفر و از صفر به مینیمم(حداقل)و از مینیمم به صفر می رسد که به این حلقه که دائماً تکرار می شود یک سیکل می گویند و فرکانس عبارت است از: تعداد سیکل هایی که در یک ثانیه تکرار می شوند و واحد آن هرتز(HZ ) است. وقتی می گوییم فرکانس موجی 50 (HZ) است یعنی در یک ثانیه 50 سیکل وجود دارد.
از بحث فوق نتیجه می گیریم که ما برای اندازه گیری فرکانس باید تعداد سیکل ها را در یک ثانیه بشمریم که می توانیم این یک ثانیه را توسط تایمر بسازیم و سپس با استفاده از کانتر تعداد سیکل ها را اندازه بگیریم.فقط این وسط می مونه اینکه میکرو فقط می تونه فرکانس موج مربعی را اندازه بگیره که اینم مشکل بزرگی نیست و به راحتی حل شدنیه که به امید خدا در پست بعد به آن اشاره خواهیم کرد.
ضمن نوید این که به احتمال زیاد در پست بعد ضمن ساخت فرکانس متر یه پروژه توپ دیگه هم داریم که مطمئنم خوشتون میاد.(ساخت ماوس کامپیوتر با میکرو).
راستی اینم بگم ها تا نظرات بالای 10 تا نشه از پست بعد و پروژه ها خبری نیست.
شب همتون خوش.
موفق و سربلند باشید ![]()
به امید روزی که ایران هم در عرصه الکترونیک چون ستاره ای بدرخشد.![]()
