Timer تایمر یا واحد شمارنده جزو واحدهایی است که در تمام میکروها وجود دارد و بسیار پر کاربرد میباشد، هرجا نیاز بود که زمان را به صورت دقیق محاسبه کنیم به سراغ تایمر میرویم، تعداد بیتهای شمارنده در تمام میکروها ۸.۱۶ و ۳۲ بیت است و ممکن است میکرو از چند واحد تایمر مجزا تشکیل شده باشد، PIC و AVR به طور معمول از یک تایمر ۸ بیتی و یک دو یا چند تایمر ۱۶ بیتی استفاده میکنند ولی در Armها ممکن است تعداد تایمرها بیشتر باشد و همه ۱۶ بیت هستند ولی همهی آنها مثل هم نیستند و به سه دسته basic که قابلیتهای کمتری دارد و General-Purpose Timers که مقدار بیشتری امکانات دارند و Advance که کاملترین نوع تایمر هستند تقسیم میشوند.
اما به این معنی نیست که تایمر زیاد داریم چون تایمر در تمام میکروها مکمل واحدهای دیگر است و آن واحدها مثل PWM، Capture به هر تعداد که راه اندازی شوند به همان تعداد نیاز به تایمر دارند و کاملا تایمر را دراختیار میگیرند در PIC و AVR واحدهایی مثل Capture و Compare مجزا هستند (بازم به تایمر نیاز دارند) ولی در Armها باید با همان تایمرها این واحدها را ساخت. تایمرها کلاک خود را از منابع مختلفی میتوانند بگیرند مثل کلاک داخلی یا خارجی میکرو و یا از واحدهای مختلف دیگر یا بصورت خارجی و مستقل کلاک دریافت کنند.