معرفی اجمالی رجیسترهای تایمر/کانترهای ۱۶ بیتی
در تایمر/کانترهای ۱۶ بیتی ، شمارنده اصلی تایمر/کانتر رجیستر TCNTx می باشد . این رجیستر یک رجیستر ۱۶ بیتی است که از دو رجیستر ۸ بیتی با نامهای TCNTXL و TCNTXH تشکیل شده است و به صورت خواندنی و نوشتنی قابل دسترسی است .
رجیستر های مقایسه خروجی تایمر/کانتر در تایمر/کانترهای ۱۶ بیتی به جای یک رجیستر ۸ بیتی ، از ۳ رجیستر ۱۶ بیتی با نامهای OCRxA ، OCRxB و OCRxC تشکیل شده است . این رجیسترها که به صورت خواندنی و نوشتنی هستند هر یک واحد مقایسه مجزایی دارند که خروجی آنها به واحد تولید شکل موج و نهایتا به یکی از پایه های میکروکنترولر به نامهای OCXA ، OCXB و OCXC متصل می شود .
نکته : رجیستر OCRXC فقط در برخی از میکروکنترلرهای AVR که دارای چهار یا پنج واحد تایمر/کانتر هستند نظیر Atmega128 و … وجود دارند . ( استثنا : Atmega162 که با وجود ۴ تایمر/کانتر این رجیستر را ندارد )
در تایمر/کانترهای ۱۶ بیتی به جای یک رجیستر تنظیمات سه رجیستر ۸ بیتی به نام های TCCRXA ، TCCRXB و TCCRXC وجود دارد . این سه رجیستر کلیه اعمال واحد تایمر/کانتر را نظیر حالت عملکرد ، ضریب پیش تقسیم کننده ، نحوه اتصال خروجی و … کنترل می کند .
رجیستر های TIFR و TIMSK در اینجا نیز به همان صورت و برای همان کاربردهای ذخیره پرچم ( Flag ) و پوشش وقفه وجود دارند .
رجیستر ۱۶ بیتی دیگری به نام ICxR مربوط به واحد تسخیر نیز وجود دارد که در زمان رخ دادن تسخیر محتوای رجیستر TCNTx به این رجیستر منتقل می شود.
تذکر : به علت اینکه از تایمر/کانتر ۱۶ بیتی ساده تنها در دو میکروکنترلر AtTiny13 و AtTiny2313 استفاده شده است از بیان آن اجتناب می کنیم زیرا با توضیح و بررسی تایمر/کانتر ۱۶ بیتی پیشرفته ، نوع ساده در این دو میکروکنترلر نیز پوشش داده می شود .
مقدمه یکی از مهمترین واحدهای میکروکنترلر واحد تایمر/کانتر می باشد که در اکثر پروژه های مهم وجود آن ضروری است. این واحد از نظر سخت افزاری متشکل از یک شمارنده اصلی و چندین رجیستر برای تنظیمات می باشد به طوری که با اعمال تنظیمات متفاوت چندین کاربرد مختلف از این سخت افزار خاص می شود. […]
electrovolt.ir