موضوع مقاله: شمارنده (دیجیتال) | مخاطب: عمومی | لحن: دانشنامه‌ای | ساختار: عنوان، مقدمه، 3 بخش، جمع‌بندی | مقاله: | # شمارنده (دیجیتال) | مقدمه: شمارنده در منطق دیجیتال و محاسبات، دستگاهی است که تعداد دفعاتی که یک رویداد یا فرایند خاص رخ داده است را ذخیره می‌کند (یا در برخی مواقع نمایش می‌دهد). | ## بخش 1: شمارنده (دیجیتال) | شمارنده الکترونیکی در الکترونیک، شمارنده‌ها می‌توانند به راحتی با استفاده از مدارهای رجیستر مانند فلیپ فلاپ، و طیف گسترده‌ای از مدارهایی که وجود دارند پیاده‌سازی شوند: شمارنده (موج دار شدن) آسنکرون - تغییر بیت‌های وضعیت به عنوان پالس ساعت برای تغییر حالت فلیپ فلاپ‌ها استفاده می‌شودشمارنده سنکرون (همزمان) - تمام بیت‌های وضعیت تحت کنترل یک پالس ساعت تغییر می‌کنند شمارنده ده تایی-هر ده وضعیت در یک مرحله را شمارش می‌کند شمارنده صعودی/نزولی- به هر دو صورت صعودی و نزولی تحت یک فرمان کنترل ورودی شمارش می‌کند شمارنده حلقوی- توسط یک شیفت رجیستر با اتصال ابتدا به انتهای شیفت رجیستر ایجاد می‌گردد شمارنده جانسون- یک شمارنده حلقوی دوتاییشمارنده آبشاریشمارنده مادوله هر کدام از شمارنده‌ها برای برنامه‌های مختلف مفید است. بسیاری از انواع مدارهای شمارنده به شکل بلوک‌های ساختمان‌های دیجیتال در دسترس هستند، به عنوان مثال تعدادی از تراشه‌ها در سری ۴۰۰۰ شمارنده‌های متفاوتی را پیاده‌سازی کرده‌اند. این چرخه می‌تواند بر روی یک بیت ذخیره گردد و از این رو می‌تواند از صفر تا رقمی قبل از سربار (overflows) شمارش نماید.این شمارنده با هر چرخه کلاک افزایش می یابد و دو چرخه کلاک تا رسیدن به سربار به طول می انجامد، بنابراین هر چرخه تناوب انتقال صفر به یک و از 1 به 0 می‌باشد . توجه کنید این باعث به وجود آمدن یک ساعت جدید با ظرفیت 50٪ در دقیقاً نیمی از فرکانس کلاک ورودی می‌شود. | ## بخش 2: شمارنده (دیجیتال) | اگر این خروجی به عنوان سیگنال کلاک برای یک فلیپ فلاپ D مشابه استفاده شود (خاطر نشان میگردد که خروجی به صورت معکوس به ورودی منتقل می‌شود)، یکی از آنها، شمارنده تک بیتی دیگری خواهد بود که نیمی سریع تر می‌شمارد.قرار دادن این‌ها در کنار هم تشکیل یک شمارنده دو بیتی را میدهد : Cycle Q1 Q0 (Q1:Q0)dec 0 0 0 0 1 0 1 1 2 1 0 2 3 1 1 3 4 0 0 0 میتوانید با افزایش فلیپ فلاپ‌ها ادامه دهید، همیشه خروجی معکوس را به ورودی خودش متصل نماید، و از خروجی فلیپ فلاپ فبلی به عنوان سیگنال کلاک استفاده نمایید. نتیجه آن شمارنده موجی نامیده می‌شود که می‌تواند تا بشمارد که n تعداد بیتها (مراحل فلیپ فلاپ) در شمارنده می‌باشد . شمارنده موجی دارای مشکل بی ثباتی خروجی به عنوان سربار موج از هر مرحله به مرحله دیگر می‌باشد. اما این شمارنده‌ها برنامه‌های متنوعی را به عنوان تقسیم‌کننده سیگنال‌های ساعت پیدا میکنند، که در آن شمارش فوری اهمیتی نداشته، اما تقسیم نسبی مجموع مهم می‌باشد (برای توضیح این مطلب، یک شمارنده تک بیتی دقیقاً برابر با تقسیم دو سیکل می‌باشد ، فرکانس خروجی دقیقاً نیمی از ورودی است که به وسیله یک دسته کلاک پالس‌های منظم تغذیه می‌شود) استفاده از خروجی فلیپ فلاپ به عنوان کلاک منجر به اختلال زمانی بین شمارش بیت‌ها داده می‌شود، ساخت این تکنیک موجی ناسازگار با طراحی مدار سنکرون می‌باشد . | ## بخش 3: شمارنده (دیجیتال) | یک راه ساده برای پیاده‌سازی منطق هر بیت شمارنده صعودی (که در شکل سمت راست نشان داده شده‌است) تغییر وضعیت زمانی هر بیت در لحظه ای که همه بیت‌های کم اهمیت در حالت منطقی بالا قرار دارند می‌باشد . به عنوان مثال، بیت 1 در لحظه ای که بیت 0 در حالت منطقی بالا قرار دارد تغییر وضعیت میدهد، بیت 2 زمانی که هر دو بیت 0 و 1 در حالت منطقی بالا می‌باشد تغییر وضعیت میدهد، بیت 3 زمانی که بیت 2، بیت 1 و بیت 0 در حات منطقی بالا قرار دارند وضعیت می‌دهد و این رویه به همین صورت ادامه پیدا می‌کند. | ## جمع‌بندی | شمارنده ده دهی (decade) شمارنده ده دهی شمارنده ای است که اعداد را در عوض باینری به صورت ده دهی می‌شمارد.