همه چیز درباره شمارنده BCD- بخش اول
شمارنده BCD یک نوع ویژه از شمارندههای دیجیتال محسوب میشود که با استفاده از پالس کلاک، میتواند تا عدد ۹ بشمارد. در این مقاله قصد داریم به بررسی این نوع از شمارندهها پرداخته و اصول کار آنها را توضیح داده میشود.
سرویس آموزش و آزمون برق نیوز،شمارنده BCD یک نوع ویژه از شمارندههای دیجیتال محسوب میشود که با استفاده از پالس کلاک، میتواند تا عدد ۹ بشمارد. در این مقاله قصد داریم به بررسی این نوع از شمارندهها پرداخته و اصول کار آنها را توضیح داده می شود.
که یک فلیپ فلاپ نوع T میتواند در ایجاد شمارندههای مقسم بر دو مورد استفاده قرار گیرد. اما اگر چند عدد فلیپ فلاپ نوع T را به صورت یک زنجیره سری به یکدیگر متصل کنیم، آنگاه میتوانیم یک شمارنده دیجیتالی را تولید کنیم. این شمارنده دیجیتالی میتواند اعدادی که از یک دنباله شمارش خاص اتفاق میافتند را ذخیره کند و یا آنها را نمایش دهد.
فلیپ فلاپهای نوع T کلاکدار، مانند یک شمارنده باینری تقسیمکننده بر ۲ آسنکرون عمل میکنند. در شمارندههای آسنکرون (Asynchronous Counters) خروجی یک طبقه از شمارنده، میتواند پالس کلاک برای طبقه بعدی شمارنده را فراهم کند. بنابراین، یک شمارنده فلیپ فلاپ، دو حالت خروجی محتمل دارد. با اضافه کردن تعداد بیشتر از این فلیپ فلاپها به صورت سری، میتوان یک شمارنده مقسم بر ۲nایجاد کرد.
اما یک مشکل اساسی در یک شمارنده باینری ۴ بیتی وجود دارد. این شمارندهها، شمارش را از ۰۰۰۰ تا ۱۱۱۱ انجام میدهند که این حالت متناظر با اعداد ۰ تا ۱۵ در سیستم ده دهی یا دسیمال (Decimal) است. اما برای ایجاد یک شمارنده دیجیتال که شمارش را از ۰ تا ۹ انجام دهد، در واقع لازم است که یک شمارنده باینری داشته باشیم که فقط دنباله اعداد باینری متشکل از ۰۰۰۰ تا ۱۰۰۱ تولید کند. این اعداد باینری متناظر با اعداد ۰ تا ۹ در سیستم دسیمال هستند. خوشبختانه در حال حاضر چنین شمارندهای به صورت مدار مجتمع آماده استفاده است. ۷۴LS۹۰ یک آیسی با این کارکرد است و یک شمارنده ده دهی آسنکرون محسوب میشود.
شمارندههای دیجیتال شمارش را به صورت بالا شمار، از ۰ تا یک عدد از پیش تعیین شده انجام میدهند. این مدارات معمولا از یک پالس کلاک برای کارکرد خود استفاده میکنند. زمانی که شمارنده به مقدار شمارش از پیش تعیین شده رسید، مدار ریست میشود و دوباره شمارش را از صفر شروع میکند. یک شمارنده ده دهی، دنبالهای از ۱۰ عدد را میشمارد و در واقع بعد از شمارش عدد ۹، به مقدار صفر باز میگردد. واضح است که برای شمارش تا عدد باینری ۹، شمارنده باید حداقل چهار فلیپ فلاپ را در زنجیره خود داشته باشد تا اعداد ده دهی را مطابق با دیاگرام حالت زیر نمایش دهد.
دیاگرام حالتهای شمارنده BCD
بنابراین یک شمارنده ده دهی دارای چهار فلیپ فلاپ است و ۱۶ حالت شمارش بالقوه دارد که از این تعداد فقط ۱۰ مورد مورد استفاده قرار میگیرند. اگر یک سری از شمارندهها را به یکدیگر متصل کنیم، آنگاه میتوانیم تا ۱۰۰ یا ۱۰۰۰ و یا هر عدد دلخواه دیگری شمارش را انجام دهیم.
تعداد کل اعدادی که یک شمارنده میتواند در هر چرخه خود شمارش کند، ماژول یا Modulus آن شمارنده نام دارد. یک شمارنده که بعد از حالت x ام شمارش به عدد صفر باز میگردد، یک شمارنده ماژول x یا Modulo-x Counter گفته میشود، مثلا یک شمارنده modulo-۸ (یا MOD-۸) یا MOD-۱۶ بعد از پایان حالت ۸ام یا ۱۶ام شمارش به صفر ریست میشوند. برای یک شمارنده n بیتی، بازه کامل شمارش از ۰ تا ۲n−۱است.
یک شمارنده که بعد از ده شمارش به صفر ریست میشود و دارای یک دنباله شمارش از ۰۰۰۰ باینری (۰ دسیمال) تا ۱۰۰۱ باینری (۹ دسیمال) است، شمارنده دسیمال کد شده به باینری (Binary Coded Decimal Counter) یا به اختصار شمارنده BCD نامیده میشود. این شمارنده در واقع یک شمارنده با MOD-۱۰ است و میتواند با استفاده از حداقل چهار فلیپ فلاپ تاگل یا T ساخته شود.
این شمارنده، به این دلیل BCD نامیده میشود که دنباله ده حالتی آن همان کد BCD است و بر عکس یک شمارنده باینری دارای یک دنباله کامل نیست؛ بنابراین یک شمارنده یک طبقه BCD مانند ۷۴LS۹۰، از صفر دسیمال شروع به شمارش میکند و تا ۹ دسیمال آن را ادامه میدهد؛ بنابراین قادر است شمارش را حداکثر تا ۹ پالس انجام دهد. همچنین به این نکته توجه کنید که یک شمارنده دیجیتال هم میتواند در دو حالت بالا شمار و یا پایین شمار عمل کند و همچنین میتواند دو جهته (Bidirectional) شمارش را انجام دهد که در این صورت باید با استفاده از یک سیگنال ورودی کنترلی مد شمارش را تعیین کرد.
کد شمارنده BCD، یک کد ۸۴۲۱ است که از چهار عدد باینری تشکیل شده است. نمایش ۸۴۲۱ به وزنهای باینری متعلق به چهار رقم یا چهار بیت مورد استفاده اشاره دارد. وزنهای باینری به صورت 3^2=۸، 2^2=۴، 1^2=۲ و 0^2=۱هستند. مزیت اصلی استفاده از کد BCD در این است که اجازه میدهد راحتتر فرمتهای باینری و دسیمال را به یکدیگر تبدیل کنیم.
شمارنده ۷۴LS۹۰ BCD
مدار مجتمع ۷۴LS۹۰ در واقع یک شمارنده ده دهی یا MOD-۱۰ است که یک کد خروجی BCD تولید میکند. ۷۴LS۹۰ از چهار فلیپ فلاپ JK Master-Slave تشکیل شده است که به صورت داخلی به یکدیگر متصل شدهاند و یک شمارنده MOD-۲ (شمارش تا ۲) و یک شمارنده MOD-۵ (شمارش تا ۵) را ایجاد میکنند. ۷۴LS۹۰ دارای یک فلیپ فلاپ JK مستقل است که توسط یک سیگنال کلاک CLK A درایو میشود. همچنین این آیسی سه عدد فلیپ فلاپ JK دیگر در مدار خود دارد که با هم یک شمارنده آسنکرون را تشکیل میدهند و مطابق شکل زیر به آنها ورودی پالس کلاک CLK B اعمال میشود.
شمارنده ۷۴LS۹۰ BCD
چهار خروجی این شمارنده با حرف Q نمادگذاری شدهاند و دارای اندیسی هستند که نشاندهنده وزن باینری بیت متناظر در کد مدارات شمارنده BCD است. پس این خروجیها QA، QB، QC و QDهستند. دنباله شمارش ۷۴LS۹۰ در لبههای منفی شونده پالس کلاک تریگر میشود. به عبارت دیگر، در این زمانها پالس کلاک از سطح یک منطقی یا HIGH به سطح صفر منطقی یا LOW تغییر حالت میدهد و باعث تغییر خروجی شمارنده نیز میشود.
پینهای R۱و R۲ پایههای ریست شمارنده هستند. همچنین S۱ و S۲ پینهای ست کردن شمارنده محسوب میشوند. زمانی که پینهای ریست مدار یعنی S۱ و S۲ به ولتاژ یک منطقی متصل شوند، شمارنده به حالت شمارش ۰ (۰۰۰۰) بازگشته و یا ریست میشود. به صورت مشابه، زمانی که پایههای ست در شمارنده یعنی S۱ و S۲به ولتاژ یک منطقی متصل شوند، شمارنده را بدون توجه به حالت یا عدد شمارش کنونی، در بیشینه مقدار شمارش خود یعنی ۹ (۱۰۰۱) تنظیم میکنند.
همان طور که قبلا گفتیم، شمارنده ۷۴LS۹۰ از دو شمارنده تقسیمکننده بر ۲ و شمارنده تقسیمکننده بر ۵ در یک پکیج تشکیل شده است؛ بنابراین میتوانیم از شمارنده فقط برای تولید فرکانسهای تقسیم شده بر ۲ و یا فقط فرکانسهای تقسیم شده بر ۵ و یا هر دو با یکدیگر استفاده کنیم تا دنباله تقسیم شده بر ۱۰ مورد نظر را در خروجی به دست بیاوریم. توجه کنید که با استفاده از ۴ فلیپ فلاپ برای ساخت این شمارنده، میتوان به صورت زیر امکان تقسیم بر ۵ در آن را از بین برد. اگر یک پالس کلاک به پین ورودی شماره ۱۴ شمارنده یا CLK A اعمال کنیم و خروجی را از پین شماره ۱۲ یعنی QAدریافت کنیم، آنگاه میتوانیم یک شمارنده باینری استاندارد تقسیمکننده بر ۲ برای استفاده در مدارات مقسم فرکانسی ایجاد کنیم. نمایی از مدار شمارنده باینری استاندارد تقسیمکننده بر ۲ با استفاده از آیسی ۷۴LS۹۰ در شکل زیر نشان داده شده است.
شمارنده باینری استاندارد تقسیمکننده بر ۲ با استفاده از آیسی ۷۴LS۹۰
برای ایجاد یک شمارنده تقسیمکننده بر ۵، میتوانیم اولین فلیپ فلاپ از چهار فلیپ فلاپ را غیرفعال کنیم. سپس پالس کلاک ورودی را مستقیما به پین شماره یک آیسی یعنی CLK B اعمال کنیم. در این حالت باید خروجی را از پین شماره ۱۱ یا QDدریافت کنیم. نمایی از پیکربندی آیسی ۷۴LS۹۰ برای کار به عنوان شمارنده تقسیمکننده بر ۵ در تصویر زیر نشان داده شده است.
پیکربندی آیسی ۷۴LS۹۰ برای کار به عنوان شمارنده تقسیمکننده بر ۵
توجه کنید که توسط این پیکربندی شمارنده تقسیمکننده بر ۵، شکل موج خروجی متقارن نیست، بلکه دارای نسبت فضای مارک ۴:۱ (۴ به ۱) است که بدین معنی است که ۴ پالس کلاک ورودی میتوانند یک پالس خروجی سطح صفر منطقی یا LOW را بسازند و ورود پالس کلاک پنجم، خروجی سطح یک منطقی یا HIGH را ایجاد میکند.
برای تولید یک شمارنده ده دهی BCD تقسیمکننده بر ۱۰، هر دو مدار شمارنده داخلی مورد استفاده قرار میگیرند و در نهایت یک شمارنده با مقادیر تقسیمشده بر ۲ ضرب در ۵ ایجاد میشود. از آنجا که اولین خروجی از فلیپ فلاپ اول یعنی QAبه صورت داخلی به طبقات متوالی بعدی متصل نشده است، در نتیجه شمارنده میتواند برای ایجاد یک شمارنده BCD چهار بیتی مورد گسترش واقع شود. برای این کار باید خروجی فلیپ فلاپ اول یعنی QAرا به ورودی کلاک CLK B متصل کنیم. نحوه انجام این کار در تصویر زیر نشان داده شده است.
شمارنده تقسیمکننده بر ۱۰ با استفاده از آیسی ۷۴LS۹۰
پس میتوان گفت که شمارنده BCD در واقع یک شمارنده باینری است که از ۰۰۰۰ تا ۱۰۰۱ شمارش را انجام میدهد و سپس ریست میشود:، زیرا این توانایی را دارد که تمام فلیپ فلاپهای خود را بعد از رسیدن به عدد ۹ پاک (Clear) کند. اگر یک کلید فشاری SW۱ را به ورودی کلاک CLK A متصل کنیم، آنگاه هر بار که کلید فشاری فشار داده شود، شمارنده یکی یکی شمارش را انجام میدهد. اگر چهار دیود LED را به خروجیهای QAتا QDمتصل کنیم، آنگاه آنچه که در خروجی دیده میشود در واقع همان شمارش دسیمال کد شده به باینری است. تصویر یک شمارنده ده دهی BCD ۷۴LS۹۰ در زیر نشان داده شده است.
شمارنده ده دهی BCD ۷۴LS۹۰
با هر بار فشار دادن کلید فشاری SW۱، یک عدد به مقدار شمارش افزوده میشود تا اینکه در نهایت مقدار شمارش به عدد ۹ برسد که متناظر با ۱۰۰۱ باینری است. با اعمال دهمین فشار به کلید فشاری، خروجیهای QAتا QDبه مقدار صفر ریست میشوند و یک چرخه شمارش جدید را شروع میکنند. با استفاده از چنین پالسهایی میتوانیم از یک شمارنده ده دهی برای روشن کردن یک نمایشگر دیجیتالی استفاده کنیم.
اگر بخواهیم که دنباله شمارش را با استفاده از یک نمایشگر سون سگمنت نمایش دهیم، خروجیهای BCD باید ابتدا به صورت صحیح کد گشایی شوند تا در نمایشگر به صورت صحیح نشان داده شوند. یک مدار دیجیتالی که بتواند چهار خروجی شمارنده ۷۴LS۹۰ BCD را کد گشایی کند و سگمنتهای مورد نیاز در سون سگمنت را روشن کند، مدار دیکودر (Decoder) نام دارد.
از ارسال دیدگاه های نا مرتبط با متن خبر، تکرار نظر دیگران، توهین به سایر کاربران و ارسال متن های طولانی خودداری نمایید.
لطفا نظرات بدون بی احترامی، افترا و توهین به مسئولان، اقلیت ها، قومیت ها و ... باشد و به طور کلی مغایرتی با اصول اخلاقی و قوانین کشور نداشته باشد.
در غیر این صورت، «برق نیوز» مطلب مورد نظر را رد یا بنا به تشخیص خود با ممیزی منتشر خواهد کرد.