تعریف شمارنده BCD در صنعت دیجیتال:
شمارنده BCD یک نوع ویژه از شمارنده های دیجیتال محسوب می شود که با استفاده از پالس کلاک، می تواند تا عدد 9 بشمارد.
یک فلیپ فلاپ نوع T می تواند در ایجاد شمارنده های مقسم بر دو مورد استفاده قرار گیرد. اما اگر چند عدد فلیپ فلاپ نوع T را به صورت یک زنجیره سری به یکدیگر متصل کنیم، آن گاه می توانیم یک شمارنده دیجیتالی را تولید کنیم.
این شمارنده دیجیتالی می تواند اعدادی که از یک دنباله شمارش خاص اتفاق می افتند را ذخیره کند و یا آن ها را نمایش دهد.
فلیپ فلاپ های نوع T کلاک دار، مانند یک شمارنده باینری تقسیم کننده بر 2 آسنکرون عمل می کنند. در شمارنده های آسنکرون (Asynchronous Counters) خروجی یک طبقه از شمارنده، می تواند پالس کلاک برای طبقه بعدی شمارنده را فراهم کند.
بنابراین، یک شمارنده فلیپ فلاپ، دو حالت خروجی محتمل دارد. با اضافه کردن تعداد بیشتر از این فلیپ فلاپ ها به صورت سری، می توان یک شمارنده مقسم بر2n ایجاد کرد.
اما یک مشکل اساسی در یک شمارنده باینری 4 بیتی وجود دارد. این شمارنده ها، شمارش را از 0000 تا 1111 انجام می دهند که این حالت متناظر با اعداد 0 تا 15 در سیستم ده دهی یا دسیمال (Decimal) است.
اما برای ایجاد یک شمارنده دیجیتال که شمارش را از 0 تا 9 انجام دهد، در واقع لازم است که یک شمارنده باینری داشته باشیم که فقط دنباله اعداد باینری متشکل از 0000 تا 1001 تولید کند. این اعداد باینری متناظر با اعداد 0 تا 9 در سیستم دسیمال هستند.
خوشبختانه در حال حاضر چنین شمارنده ای به صورت مدار مجتمع آماده استفاده است. 74LS90 یک آی سی با این کارکرد است و یک شمارنده ده دهی آسنکرون محسوب می شود.
شمارنده های دیجیتال شمارش را به صورت بالا شمار، از 0 تا یک عدد از پیش تعیین شده انجام می دهند. این مدارات معمولا از یک پالس کلاک برای کارکرد خود استفاده می کنند. زمانی که شمارنده به مقدار شمارش از پیش تعیین شده رسید، مدار ریست می شود و دوباره شمارش را از صفر شروع می کند.
یک شمارنده ده دهی، دنباله ای از 10 عدد را می شمارد و در واقع بعد از شمارش عدد 9، به مقدار صفر باز می گردد. واضح است که برای شمارش تا عدد باینری 9، شمارنده باید حداقل چهار فلیپ فلاپ را در زنجیره خود داشته باشد تا اعداد ده دهی را مطابق با دیاگرام حالت زیر نمایش دهد.
بنابراین یک شمارنده ده دهی دارای چهار فلیپ فلاپ است و 16 حالت شمارش بالقوه دارد که از این تعداد فقط 10 مورد مورد استفاده قرار می گیرند. اگر یک سری از شمارنده ها را به یکدیگر متصل کنیم، آن گاه می توانیم تا 100 یا 1000 و یا هر عدد دلخواه دیگری شمارش را انجام دهیم.
تعداد کل اعدادی که یک شمارنده می تواند در هر چرخه خود شمارش کند، ماژول یا Modulus آن شمارنده نام دارد.
یک شمارنده که بعد از حالت xام شمارش به عدد صفر باز می گردد، یک شمارنده ماژول x یا Modulo-x Counter گفته می شود، مثلا یک شمارنده modulo-8 (یا MOD-8) یا MOD-16 بعد از پایان حالت 8ام یا 16ام شمارش به صفر ریست می شوند.
برای یک شمارنده n بیتی، بازه کامل شمارش از 0 تا2n−1 است.
یک شمارنده که بعد از ده شمارش به صفر ریست می شود و دارای یک دنباله شمارش از 0000 باینری (0 دسیمال) تا 1001 باینری (9 دسیمال) است، شمارنده دسیمال کد شده به باینری (Binary Coded Decimal Counter) یا به اختصار شمارنده BCD نامیده می شود.
این شمارنده در واقع یک شمارنده با MOD-10 است و می تواند با استفاده از حداقل چهار فلیپ فلاپ تاگل یا T ساخته شود.
این شمارنده، به این دلیل BCD نامیده می شود که دنباله ده حالتی آن همان کد BCD است و بر عکس یک شمارنده باینری دارای یک دنباله کامل نیست. بنابراین یک شمارنده یک طبقه BCD مانند 74LS90، از صفر دسیمال شروع به شمارش می کند و تا 9 دسیمال آن را ادامه می دهد.
بنابراین قادر است شمارش را حداکثر تا 9 پالس انجام دهد. همچنین به این نکته توجه کنید که یک شمارنده دیجیتال هم می تواند در دو حالت بالا شمار و یا پایین شمار عمل کند و همچنین می تواند دو جهته (Bidirectional) شمارش را انجام دهد که در این صورت باید با استفاده از یک سیگنال ورودی کنترلی مد شمارش را تعیین کرد.
کد شمارنده BCD، یک کد 8421 است که از چهار عدد باینری تشکیل شده است. نمایش 8421 به وزن های باینری متعلق به چهار رقم یا چهار بیت مورد استفاده اشاره دارد. وزن های باینری به صورت 23=8، 22=4، 21=2 و 20=1 هستند.
مزیت اصلی استفاده از کد BCD در این است که اجازه می دهد راحت تر فرمت های باینری و دسیمال را به یکدیگر تبدیل کنیم.