معرفی شمارنده MOD-m در مدار:
شمارنده ها (سنکرون و آسنکرون) در هر لحظه یک شمارش را در مجموعه اعداد باینری انجام می دهند. یک شمارنده n بیتی در حالت طبیعی به عنوان شمارنده با پیمانه2n عمل می کند.
اما این امکان وجود دارد که شمارنده MOD را برای شمارش تا هر عدد دلخواه ایجاد کرد. برای این کار لازم است که از یک یا دو گیت منطقی خارجی اضافه در مدار شمارنده استفاده کنیم.
این گیت های منطقی باعث می شوند که شمارنده از بعضی از حالت های خروجی صرف نظر کند و شمارش را در عدد دلخواه مورد نظر کاربر به پایان برساند و سپس به حالت صفر ریست شود.
در حالت اول، خروجی Q تمام فلیپ فلاپ ها صفر است.
در این حالت شمارنده ای که ایجاد می شود، یک شمارنده MOD-m است. این شمارنده تمام حالت های ممکن را شمارش نمی کند، بلکه شمارش را تا حالت mام انجام داده و به صفر باز می گردد.
واضح است که در اینجا m باید عددی کوچک تر از2nباشد. حال چگونه باید چنین شمارنده ای را به وجود بیاوریم.
شمارنده ها علاوه بر امکان شمارش رو به بالا و یا شمارش رو به پایین، ورودی های اضافه ای دارند که CLEAR و PRESET نام دارند.
این ورودی ها باعث می شوند که شمارنده بتواند شمارش را به صفر ریست کند (تمام Qها برابر با 0) و یا شمارنده را در یک مقدار اولیه از پیش تعیین شده تنظیم می کنند. آی سی TTL 74LS74 دارای ورودی PRESET و ورودی CLEAR فعال در سطح پایین (Active-Low) است.
برای سادگی فرض کنید که ورودی های CLEAR همگی به یکدیگر متصل شده اند و از نوع ورودی های Active-High هستند. در نتیجه، این ورودی ها به فلیپ فلاپ ها اجازه می دهند تا زمانی که ورودی CLEAR برابر با 0 یا سطح LOW است، عملکرد عادی داشته باشند.
اما اگر ورودی CLEAR به سطح یک منطقی یا HIGH تغییر یابد، لبه مثبت بعدی پالس کلاک، تمام فلیپ فلاپ ها را بدون توجه به مقدار سیگنال کلاک بعدی، به حالت صفر (Q=0) ریست می کند.
به یاد داشته باشید که چون تمام ورودی های CLEAR به یکدیگر متصل شده اند، در نتیجه یک پالس تکی می تواند برای پاک کردن خروجی های تمام فلیپ فلاپ ها به صفر مورد استفاده قرار گیرد.
این کار قبل از شروع شمارش از این جهت ضروری است که اطمینان حاصل شود شمارش از مقدار 0 شروع می شود.
البته برخی شمارنده ها با بیت های بزرگ تر، دارای پایه اضافه ENABLE یا INHIBIT نیز هستند که به شمارنده اجازه می دهند شمارش را در هر نقطه از چرخه شمارش متوقف کند و تا قبل از شروع مجدد شمارش، حالت کنونی خود را حفظ کند.
در واقع چنین توانایی به این معنی است که شمارنده بدون اینکه الزاما به صفر ریست شود، متوقف (Stop) و سپس از همان نقطه شروع به کار (Start) کند.