انکدر دیجیتال یک مدارمنطقی ترکیبی است که در پاسخ به یک یا چند ورودی فعال یک کد خاص مانند باینری یا BCD در خروجی تولید میکند. دو نوع اصلی از انکدرها وجود دارد: انکدر باینری و انکدر اولویتدار.
دیکدر باینری نوع دیگری از مدارات منطقی ترکیبی است که از گیتهای منطقی جداگانه ساخته شده و عملکرد آن برعکس انکدر است.
نام دیکدر یا رمزگشا به معنای مترجم یا رمزگشای اطلاعات کد شده از یک ساختار به ساختار دیگر است. یک دیکدر سیگنالهای ورودی n بیتی باینری را با استفاده از 2n خروجی به کد معادل آن تبدیل میکند.
دیکدرها
رمزگذارهای اولویتدار دادههای ورودی را یکی یکی دریافت کرده و معادل باینری آن را در خروجی ایجاد میکنند.
برخلاف مالتیپلکسرها که یک خط داده ورودی واحد را دریافت میکنند و آن را به یک خط خروجی یا سوئیچ ارسال میکنند، رمزگذارهای دیجیتال که عموما به نام انکدرهای باینری شناخته میشوند، ورودیهای داده را یکجا دریافت کرده و آنها را به یک سیگنال رمزگذاری شده در خروجی تبدیل میکنند. بنابراین میتوان گفت رمزگذار باینری یک مدار منطقی ترکیبی چند ورودی است که بیتهای “1” ورودی را به کد باینری معادل در خروجی تبدیل میکند.
رمزگذارهای دیجیتال بسته به تعداد خطوط داده ورودی معمولا در خروجی کدهای 2 بیتی، 3 بیتی یا 4 بیتی ایجاد میکنند. یک انکدر باینری n بیتی، 2n خط ورودی و خطوط خروجی n بیتی دارد که در ساختارهای متداول 4 به 2، 8 به 3 و 16 به 4 وجود دارند.
در یک رمزگذار دیجیتال، خطوط خروجی معادل باینری برای آن ورودی را تولید میکند که مقدار آن مساوی “1” بوده و در انواع مختلفی برای انکد کردن ورودی دهدهی، هگزادسیمال به خروجی باینری یا BCD موجود هستند.
انکدر باینری 4 به 2
یکی از مشکلات مهم انکدرهای دیجیتال استاندارد این است که هنگامیکه بیشتر از یک ورودی در سطح منطقی “1” قرار داشته باشد، امکان ایجاد کد اشتباه در خروجی وجود دارد. برای مثال هنگامیکه دو ورودی D1 و D2 همزمان در سطح منطقی “1” یا HIGH قرار داشته باشند، خروجی در “01” یا “10” نیست و برابر “11” خواهد بود که معادل باینری ورودی نیست. همچنین یک کد خروجی سراسر “0” منطقی زمانی تولید میشود که همه ورودیها “0” باشند یا اینکه D0 برابر با 1 باشد.
یک روش ساده برای حل این مشکل اولویتبندی سطح پینهای ورودی است. در این روش هنگامیکه در یک زمان بیش از یک ورودی در سطح منطقی “1” باشد، کد خروجی مطابق با آن ورودی خواهد بود که بالاترین اولویت تعیین شده را دارد. این نوع از انکدرها با عنوان رمزگذارهای اولویتدار یا به اختصار P-encoder شناخته میشوند.
انکدر اولویتدار
رمزگذار اولویتدار با اختصاص دادن سطح اولویت به هر ورودی مشکل ذکر شده فوق را حل میکند. خروجی رمزگذارهای اولویتدار به ورودی فعالی که بالاترین سطح اولویت را دارد وابسته است. بنابراین هرگاه یک ورودی با اولویت بالاتر وجود داشته باشد همه ورودیهای با اولویت پایینتر نادیده گرفته خواهند شد. رمزگذار اولویتدار در شکلهای مختلفی وجود دارد، در ادامه یک رمزگذار 8 ورودی همراه با جدول صحت آن نشان داده شده است:
انکدر اولویتدار 8 به 3 بیت
انکدرهای اولویتدار به شکل ICهای استاندارد وجود دارند. تراشه TTL 74LS148 یک رمزگذار اولویتدار ۸ به ۳ بیتی است که ۸ ورودی فعال LOW (“0” منطقی) دارد و متناظر با ورودی که بالاترین رتبه را دارد، یک کد ۳ بیتی در خروجی ایجاد میکند.
رمزگذارهای اولویتدار ابتدا خروجی را برای ورودی با بالاترین اولویت ایجاد میکنند؛ برای مثال اگر ورودی D2 و D3 و D5 همزمان اعمال شوند، کد خروجی برای ورودی D5 (“101”) خواهد بود که بالاترین رتبه را در بین سه ورودی دارد. وقتی ورودی D5 حذف شود، بالاترین کد خروجی برای ورودی D3 (“011”) خواهد بود و به همین صورت برای دیگر ورودیها کد خروجی ایجاد میشود.
جدول صحت برای رمزگذار اولویتدار 8 به 3 بیتی به صورت زیر است:
در جدول فوق X معادل با بیاهمیت (don’t care) بودن مقدار ورودی است که میتواند 0″” یا “1” منطقی باشد.
از این جدول صحت، عبارت بولی برای رمزگذار بالا با ورودیهای D0 تا D7 و خروجیهای Q0و Q1 و Q2به صورت زیر نوشته میشود:
خروجی Q0
خروجی Q1
خروجی Q2
و نهایتا عبارت بولی برای انکدر اولویتدار به صورت زیر تعریف میشود:
عبارت خروجی انکدر اولویتدار
در عمل این ورودیهای صفر نادیده گرفته میشوند و اجازه میدهند عبارت بولی نهایی، برای خروجیهای رمزگذار اولویتدار 8 به 3 بیتی اجرا شود. از عبارت فوق میتوان تنها با استفاده از گیتهای OR یک رمزگذار ساده ساخت.
انکدر دیجیتال با استفاده از گیتهای منطقی
کاربردهای انکدر دیجیتال
انکدر صفحه کلید
در مدارات یا کاربردهای خاص که ورودیهای چندگانه دارند برای کاهش تعداد سیمهای مورد نیاز میتوان از رمزگذارهای اولویتدار استفاده کرد. برای مثال یک میکروکامپیوتر را در نظر بگیرید که لازم است 104 کلید یک کیبورد استاندارد QWERTY را بخواند و در هر لحظه تنها یک کلید، چه”HIGH” یا “LOW”، میتواند فشرده شود.
یک راه این است که همه 104 کلید کیبورد یکی یکی با سیم مستقیما به ورودی کامپیوتر وصل شوند که این روش برای یک کامپیوتر کوچک خانگی عملی نیست. روش جایگزین و بهتر این است که با استفاده از رمزگذار اولویتدار کیبورد به کامپیوتر وصل شود. هر کلید کیبورد به یک کد استاندارد ASCII، 7 بیتی (0 تا 127 دهدهی) جداگانه کدگذاری میشود تا هر کد بیانگر یک کلید یا کاراکتر کیبورد باشد، سپس به عنوان یک کد باینری 7 بیتی (که خیلی کوچکتر از 104 ورودی است!) مستقیما به کامپیوتر وارد میشوند. در حال حاضر رمزگذارهای کیبورد مانند رمز گذار 20 کلیدی74C923 برای انجام این کار وجود دارند.
انکدر موقعیتی
از دیگر کاربردهای رایج انکدر موقعیتی، کنترل موقعیت مکانی مغناطیسی است که در ناوبری کشتیها یا موقعیتیابی یک بازوی ربات و غیره کاربرد دارند. برای مثال زاویه یا موقعیت چرخش قطبنما با استفاده از رمزگذار 8 به 3 بیتی 74LS148 به یک کد دیجیتال تبدیل میشود و به ورودی کامپیوترهای سیستم اعمال میشود تا دادههای ناوبری و جهتیابی را فراهم کند. در شکل زیر یک نمونه ساده رمزگذار قطب نما 8 به 3 بیتی نشان داده شده است. میتوان از آهنرباها و ریدسوئیچها در هر نقطه قطبنما استفاده کرد تا موقعیت زاویهای عقربه را نشان دهند.
درخواست وقفه
یکی دیگر از کاربردهای انکدر اولویتدار تشخیص وقفه در کاربردهای ریزپردازندهها است. ریزپردازنده با استفاده از وقفه به وسایل جانبی از جمله درایودیسک، اسکنر، موس، پرینتر و … اجازه میدهد با آن ارتباط برقرار کنند، ولی ریزپزدازنده در یک زمان تنها میتواند با یک دستگاه ارتباط داشته باشد و بنابراین روشی را نیاز دارد تا تشخیص دهد چه موقع یک دستگاه جانبی خاص میخواهد با آن ارتباط برقرار کند.
پردازنده این کار را با استفاده از سیگنالهای درخواست وقفه یا IRQ انجام میدهد تا به همه دستگاههای جانبی اولویت تخصیص دهد و مطمئن شود ابتدا دستگاه جانبی با اولویت بالاتر سرویس میگیرد. رتبه اهمیت دستگاهها به اتصال آنها به رمزگذار اولویتدار بستگی دارد.
با توجه به اینکه اجرای چنین سیستمی با استفاده از رمزگذارهای اولویتدار مانند آیسی 74LS148 به مدارات منطقی اضافی نیاز دارد، مدارهای مجتمع با این هدف ساخته شدند مانند 8259 که یک کنترلکننده وقفه اولویتدار و قابل پروگرام کردن است.
همانطور که مشاهده شد رمزگذار باینری یکی از2n ورودی خود را به یک خروجی n بیتی تبدیل میکند و تعداد بیتهای خروجی آن کمتر از کد ورودی هستند. رمزگذارهای باینری برای فشردهسازی اطلاعات مناسبند و با استفاده از گیتهای AND یا OR قابل ساخت هستند. یکی از معایب اصلی این رمزگذارها این است وقتی در یک زمان بیش از یک ورودی فعال باشد،خروجی دچار خطا میشود. برای غلبه بر این مشکل رمزگذارهای الویتدار توسعه یافتند.
رمزگذار الویتدار نوع دیگری از مدارات منطقی ترکیبی و مشابه انکدر باینری است، با این تفاوت که کد خروجی را بر اساس ورودی با بیشترین الویت ایجاد میکند. رمزگذارهای الویتدار به طور گسترده در سیستمهای دیجیتال و کامپیوتری استفاده میشوند و وظیفه کنترلکننده وقفه را بر عهده دارند؛ بدین صورت که بالاترین الویت ورودی را شناسایی میکنند.
در ادامه مقاله در مورد قطعات منطقی ترکیبی، به عملکرد تکمیلی رمزگذار یا انکدر خواهیم پرداخت که رمزگشا یا دیکدر نامیده میشود و یک کد ورودی n بیتی در ورودی را در یکی از2n خروجی تبدیل میکند.
دیکدر باینری
دیکدرهای باینری نوع دیگری از مدارات منطقی دیجیتالی هستند که بسته به تعداد خطوط داده ورودی، کدهای 2، 3 یا 4 بیتی در ورودی خود دریافت میکنند. بنابراین یک دیکدر که 2 یا چند خط ورودی دارد به عنوان انکدر n بیتی تعریف میشود و می تواند 2n مقدار ممکن را نشان دهد. دیکدر با تنظیم دقیق یکی از n خروجی خود روی منطق “1”، یک مقدار باینری را به مقدار غیرباینری رمزگشایی میکند.
اگر دیکدر باینری n ورودی دریافت کند (که معمولا به صورت یک عدد باینری یا بولی گروهبندی میشود)، در خروجی فقط یکی از 2n خروجی فعال (1) میشود و همه خروجیهای دیگر غیرفعال (0) خواهند بود.
برای مثال یک معکوسکننده (گیت NOT) میتواند در گروه دیکدرهای 1 به 2 قرار گیرد چراکه 1 ورودی و 2 خروجی (21) دارد و همانطور که در شکل زیر نشان داده شده است یک ورودی A میتواند در خروجی به صورت A و A-not ظاهر شود.
بنابراین میتوان گفت یک دیکدر منطقی استاندارد، یک دیکدر n به m است که درآن m ≤ 2n است و خروجی Q فقط به حالت ورودی فعلی آن بستگی دارد. به عبارت دیگر دیکدر باینری به ورودی فعلی خود نگاه میکند، عدد باینری موجود را مشخص کرده و خروجی متناسب با ورودی باینری را انتخاب میکند.
دیکدرها برای رمزگشایی ورودیهای باینری یا BCD (کد 8421) به خروجی دهدهی استفاده میشوند. از دیکدرهای رایج برای رمزگشایی BCD به دهدهی میتوان TTL 7442 یا CMOS 4028 را نام برد. عموما خروجی دیکدرها شامل تعداد بیت بیشتری نسبت به ورودی هستند و خطوط ورودی به خروجی دیکدرهای باینری دارای ساختار 2 به 4، 3 به 8 یا 4 به 16 میباشد.
یک نمونه دیکدر 2 به 4 با جدول صحت آن در ادامه نشان داده شده است:
دیکدر باینری 2 به 4
نمونه ساده فوق از دیکدر باینری 2 به 4، شامل یک آرایه از چهار گیت AND است. دو ورودی باینری که با A و B نشان داده شدهاند، به یکی از چهار خروجی رمزگشایی میشوند، ازاینرو به دیکدر باینری 2 به 4 توصیف میشود. هر خروجی یکی از مینترمهای دو متغیر ورودی را نشان میدهد (هر خروجی=یک مینترم).
ورودیهای A و B تعیین میکنند کدام خروجی از Q0 تا Q3 در منطق “1” یا HIGH باشد در حالیکه خروجیهای دیگر در وضعیت LOW و منطق “0” نگه داشته شدهاند، بنابراین در هر لحظه یک خروجی میتواند فعال (HIGH) باشد. هر کدام از خطوط خروجی HIGH باشد، کد باینری موجود در ورودی را شناسایی کرده و به عبارت دیگر ورودی باینری را رمزگشایی (دیکود) میکند.
برخی دیکدرهای باینری یک پین ورودی اضافه دارند که پین Enable (فعالسازی) نام دارد و وظیفه کنترل خروجیهای قطعه را برعهده دارد. این ورودی اضافی خروجیهای دیکدر را در صورت لزوم ON یا OFF میکند. این نوع از دیکدرهای باینری معمولا به عنوان “دیکدر آدرس حافظه” در حافظه ریزپردازندهها استفاده میشوند.
دیکدرهای باینری در واقع یک دیمالتیپلکسر با یک خط داده اضافی هستند که این خط داده برای فعال کردن دیکدر استفاده میشود. با نگاهی دیگر میتوان ورودیهای A و B و C را به عنوان سیگنالهای آدرس در نظر گرفت که هر ترکیب از A و B و C یک آدرس منحصربفرد از حافظه را تعریف میکند.
همانطور که مشاهده شد دیکدر باینری 2 به 4 (TTL 74155) برای رمزگشایی هر کد باینری دوبیتی بهکار میرود و دارای 4 خروجی است که هر خروجی برای یکی از ترکیبهای ممکن ورودی استفاده میشود. به همین شکل دیکدرهای با n ورودی، تعداد 2n خروجی ارائه میدهند.
برای مثال یک دیکدر با 3 ورودی باینری (n=3) یک دیکدر 3 به 8 خط ایجاد میکند (TTL 74138) و با 4 ورودی (n=4) دیکدر 4 به 16 (TTL 74154) خواهیم داشت و به همین صورت با اضافه شدن ورودی، تعداد خطوط دیکدر افزایش مییابد. همچنین دیکدر میتواند کمتر از 2n خروجی داشته باشد؛ مانند دیکدر BCDبه سون سگمنت (TTL 7447) که برای راهاندازی نمایشگر، 4 ورودی و فقط 7 خروجی فعال به جای 16 خروجی مورد انتظار (24) دارد.
در اینجا با استفاده از دو دیکدر 3 به 8، یک دیکدر باینری بزرگتر با 4 ورودی (3 خط داده و 1 فعالساز) و 16 خروجی ایجاد شده است:
ساختار دیکدر باینری 4 به 16
در دیکدرها از ورودیهای A، B و C برای انتخاب خروجی در منطق 1 (HIGH) استفاده میشود و ورودی D به عنوان ورودی فعالساز بهکار میرود و انتخاب میکند دیکدر اول یا دوم، خروجی “1” را میدهد.
با اینحال برای تعداد ورودیهایی که میتوان برای یک دیکدر خاص استفاده کرد محدودیت وجود دارد، زیرا با افزایش n تعداد گیتهای AND مورد نیاز برای تولید خروجی نیز افزایش مییابد؛ در نتیجه گیتهای مورد نیاز برای راهاندازی آنها افزایش مییابد.
این نوع دیکدرهای active-“HIGH” تنها با استفاده از معکوسکنندهها (گیت NOT) و گیتهای AND قابل اجرا هستند. استفاده از یک گیت AND به عنوان عنصر اصلی رمزگشایی برای خروجی مناسب است زیرا هنگامیکه همه ورودیهای آن در منطق “1” هستند، خروجی “1” یا “HIGH” تولید میکند.
در ساختار برخی دیکدرهای باینری به جای گیتهای AND از گیتهای NAND برای خروجی رمزگشایی شده استفاده میشود، زیرا گیتهای NAND ارزانتر از گیتهای AND هستند و برای پیادهسازی آنها ترانزیستورهای کمتری لازم است.
استفاده از گیتهای NAND به عنوان عنصر رمزگشایی، باعث ایجاد خروجی active-“LOW” میشود و به عبارت دیگر خروجی فعال در حالت “LOW” قرار دارد در حالیکه بقیه “HIGH” خواهند بود. همانطور که گیت NAND، عملیات گیت AND را با خروجی معکوس تولید میکند، جدول صحت دیکدر NAND نیز به صورت معکوس نوشته میشود.
دیکدر باینری 2 به 4 با استفاده از گیت NAND
برای دیکدر NAND، در هر لحظه تنها یک خروجی میتواند LOW و در منطق “0” باشد و در این حال خروجیهای دیگر HIGH بوده و در منطق “1” قرار دارند.
دیکدرهای فعال صفر نیز میتوانند یک پین ورودی اضافی به عنوان فعالساز داشته باشند که با بهکارگیری منطق “1” و “0”به خروجی رمزگشایی شده این اجازه را میدهد به ترتیب “ON” یا “OFF” شود. برای مثال وقتی ورودی فعالسازی در سطح منطقی “0” باشد (EN=0)، برای گیت AND ، بدون توجه به وضعیت ورودیهای A و B؛ همه خروجیها “OFF” و در منطق “0” هستند. بهطور کلی برای اجرای قابلیت فعالسازی، گیتهای دو ورودی AND و NAND با گیتهای سهورودی ANDو NAND جایگزین میشوند که پین ورودی اضافه وظیفه فعالسازی را برعهده دارد.
دیکدر آدرس حافظه
در سیستمهای دیجیتال پیچیدهتر، دیکدرهای باینری اغلب برای دستیابی به یک مکان خاص حافظه بر اساس آدرس تولید شده توسط یک دستگاه محاسباتی استفاده میشوند. در سیستمهای ریزپردازندههای مدرن، مقدار حافظه مورد نیاز میتواند بسیار زیاد و بیشتر از یک تراشه حافظه به تنهایی باشد.
یک راه غلبه بر این مشکل این است که تعداد زیادی تراشه حافظه جداگانه را به یکدیگر متصل کرده و برای خواندن دادههای آنها از یک “گذرگاه داده” (باس) مشترک استفاده کرد. برای جلوگیری از خواندن داده به صورت همزمان از تراشهها، در هر زمان یک تراشه حافظه به صورت جداگانه انتخاب میشود که این فرآیند با عنوان رمزگشایی (دیکود کردن) آدرس شناخته میشود.
در این نوع برنامهها، آدرس نمایانگر دادههای ورودی کدگذاری شده است، و خروجیها شامل سیگنالهای انتخاب تراشه حافظه مدنظر هستند. هر تراشه حافظه، یک ورودی دارد که انتخاب تراشه یا به اختصار CS( مخفف chip select) نامیده میشود و از این ورودی برای انتخاب تراشه حافظه مناسب توسط MPU (واحد ریزپردازنده) استفاده میشود. معمولا “1” منطقی در ورودی CS، دستگاه حافظه را انتخاب میکند و ورودی “0” منطقی آن را از حالت انتخاب خارج میکند.
بنابراین با انتخاب یا عدم انتخاب هر تراشه در هر لحظه، میتوان برای یک مکان آدرس خاص، دستگاه آدرس حافظه صحیح را انتخاب کرد. مزیت رمزگشایی آدرس این است که برای یک آدرس حافظه مشخص، مکان حافظه مربوطه فقط در یکی از تراشهها وجود دارد.
برای مثال، فرض کنید یک میکروپروسسور خیلی ساده با 1kb(هزار بایت) حافظه RAM و 10 خط آدرس حافظه در دسترس است. حافظه شامل دستگاههای 128*8 بیتی (8*128=1024 Bit) و برای 1kb، هشت تراشه حافظه جداگانه لازم است، ولی برای انتخاب تراشه حافظه صحیح به یک دیکدر باینری 3 به 8 هم نیاز داریم که در شکل زیر نشان داده شده است:
رمزگشایی آدرس حافظه
دیکدر باینری برای انتخاب هر یک از 8 تراشه به 3 خط آدرس ( A0 تا A2 ) نیاز دارد ( قسمت پایین آدرس)، و 8 خط آدرس باقیمانده (A3 تا A10) مکان صحیح حافظه را در آن تراشه انتخاب میکند (قسمت بالای آدرس).
پس از انتخاب مکان حافظه با استفاده از گذرگاه آدرس؛ اطلاعات موجود در آن حافظه برای استفاده توسط ریزپردازنده به یک “گذرگاه داده” مشترک ارسال میشوند. البته این یک مثال ساده است ولی برای همه ماژولها و تراشههای حافظه اصول آن به همین صورت است.
دیکدرهای باینری دستگاههای مفیدی برای تبدیل یک فرمت دیجیتال به فرمت دیگر هستند، مانند دادههای باینری یا BCD به دهدهی یا اکتال و غیره. آیسیهای دیکدر رایج موجود عبارتند از TTL 74LS138 که یک دیکدر 3 به 8 و یا 74ALS154 که یک دیکدر 4 به 16 است. دیکدرها همچنین برای اتصال به نمایشگرهای سونسگمنت کاربرد دارند مانند TTL 74LS47، که در مقاله بعدی به آنها خواهیم پرداخت.
دیکدر نمایشگر
دیکدر نمایشگر یک مدار ترکیبی است که برای درایو کردن یک نمایشگر، مقادیر ورودی n بیتی را به تعدادی خطوط خروجی رمزگشایی میکند.
یک آیسی دیکدر دیجیتال قطعهای است که یک فرمت دیجیتال را به فرمت دیگر تبدیل میکند و یکی از کاربردهای رایج آنها دیکدر کد BCD (دهدهی کد شده به باینری) به نمایشگر سونسگمنت است.
نمایشگرهای سونسگمنت LED (دیود نوری) و LCD(نمایشگر کریستال مایع)، برای نشان دادن اطلاعات یا دادههای دیجیتال در قالب اعداد، حروف و حتی کاراکترهای حرفی-عددی (alpha-numerical) روش بسیار سادهای فراهم میکنند.
نمایشگرهای سونسگمنت معمولا از هفت LED رنگی جداگانه (که جزء یا سگمنت نام دارند) تشکیل شدهاند که در یک پکیج نمایشگر واحد قرار دارند. برای تولید عدد مورد نظر یا کاراکترهای HEX به ترتیب از 0 تا 9 و A تا F ، سگمنتهای LED باید با ترکیب صحیح روشن شوند و این کار توسط دیکدرهای نمایش BCD به سونسگمنت از قبیل 74LS47 انجام میشود.
یک نمایشگر LED سونسگمنت استاندارد معمولا 8 پایه ورودی دارد، برای هر یک از قسمتهای LED یک پایه ورودی و یک پایه به عنوان ترمینال یا اتصال مشترک برای همه اجزای داخلی نمایشگر عمل میکند. بهعلاوه بعضی نمایشگرها یک پین ورودی اضافی برای نمایش نقطه اعداد اعشاری نیز دارند که در گوشه سمت چپ یا راست پایین نمایشگر قرار دارد.
در الکترونیک دو نوع مهم از نمایشگرهای دیجیتالی LED سونسگمنت وجود دارد:
۱. نمایشگرهای کاتدمشترک (CCD): در نمایشگرهای کاتدمشترک، پایه کاتد همه LEDها به یکدیگر وصل هستند و به منطق “0” یا زمین متصل شدهاند. با اعمال منطق “1” یا HIGH به ورودی آند هر LED، آن جزء جداگانه روشن میشود.
۲. نمایشگرهای آندمشترک (CAD): در نمایشگرهای آندمشترک، پایه آند همه LEDها به یکدیگر و به منطق “1” وصل شدهاند و با اتصال پایه آند هر جزء به منطق “0” یا LOW سگمنتها جداگانه روشن میشوند.
ساختار کاتدمشترک و آندمشترک
با اتصال الکتریکی دیودهای مجزا برای نمایشگر کاتدمشترک و آندمشترک و با روشن کردن هر LED به صورت جداگانه، میتوان اعداد یاکاراکترهای مختلف را نمایش داد.
ساختار نمایشگر سونسگمنت
برای مثال به منظور نمایش عدد 3، جزءها یا همان سگمنتهای a و b وc و d باید روشن شوند ولی برای نمایش یک عدد یا حرف دیگرمجموعه متفاوتی از سگمنتها باید روشن شود. برای نمایشگر سونسگمنت میتوان یک جدول صحت طبق شکل زیر تولید کرد که بخشهایی را که برای تولید کاراکتر مورد نظر باید روشن شوند نشان میدهد:
جدول صحت برای نمایشگر سونسگمنت
عناصر نمایشگر سونسگمنت برای همه اعداد
././
همانطور که مشاهده میشود برای نمایش اعداد تکرقمی از 0 تا 9 در باینری یا هر حرف از A تا F در هگزادسیمال، هفت اتصال جداگانه برای سگمنتها و یک اتصال اضافی برای پایه مشترک LEDها لازم است. همچنین از آنجاییکه سگمنتها عملا دیودهای نوری هستند، برای روشن شدن هر یک از آنها به صورت جداگانه مدار درایور باید 20mA جریان تولید کند و با توجه به اینکه برای نمایش عدد 8، هر هفت سگمنت باید روشن شوند جریان کل نزدیک به 160mA (20mA×8) خواهد شد.
واضح است استفاده از اتصالات و مصرف برق زیاد برای بعضی مدارات الکترونیکی و ریزپردازندهها غیرعملی است. به منظور کاهش تعداد خطوط سیگنال برای راهاندازی یک نمایشگر، از دیکدرهای نمایشگر مانند دیکدر BCDبه سونسگمنت و آیسی درایور استفاده میشود.
دهدهی کد شده به باینری
اعداد دهدهی کد شده به باینری (BCD یا “8421” BCD) با استفاده از4 بیت داده، همانند اعداد هگزادسیمال ساخته میشوند (نصف بایت)؛ ولی برخلاف اعداد هگزادسیمال که در محدوده 0 تا F قرار دارند، اعداد BCD از 0 تا 9 هستند، که الگوهای اعداد باینری از 1010 تا 1111 (A تا F) برای این نمایشگرها همانطور که در زیر نشان داده شده ورودی نامعتبر (invalid) بهشمار میروند.
دیکدر نمایش BCD به سونسگمنت
دیکدر BCD به سونسگمنت مانند TTL 74LS47 یا 74LS48، دارای 4 ورودی BCD و 7 خط خروجی است که هر یک برای یک سگمنت LED بهکار میرود. بنابراین با استفاده از یک عدد باینری 4 بیتی (نصف بایت) همه اعداد 0 تا 9 قابل نمایشند و با اضافه کردن دو نمایشگر در کنار یکدیگر همه اعداد از 00 تا 99 را میتوان نمایش داد و تنها از یک بایت یا 8 بیت داده استفاده کرد.
دیکدر BCD به سونسگمنت
با استفاده از پکیج BCD این امکان ایجاد میشود تا دو رقم باینری در یک بایت داده (8 بیت) ذخیره شوند، در نتیجه یک بایت داده میتواند یک عدد BCD در محدوده 00 تا 99 را نگه دارد.
نمونهای از ورودی باینری (BCD) 4بیتی (0100) که عدد 4 را نشان میدهد، در زیر نشان داده شده است:
مثال 1- دیکدر نمایش
در عمل مقاومت محدودکننده جریان حدود 150Ω تا 220Ω به صورت سری بین تراشه دیکدر/درایور و هرکدام از LEDهای سونسگمنت متصل میشود تا ماکزیمم جریان را محدود کند. دیکدرها و درایورهای نمایشگر برای نمایشگرهای مختلف اعم از LEDو LCD وجود دارند. برای مثال 74LS48 برای نوع LED کاتدمشترک و 74LS47 برای نوع LED آندمشترک و یا CMOS CD4543 برای انواع نمایشگر LCD در دسترسند. نمایشگرهای کریستال مایع (LCDها) نسبت به نوع LED یک مزیت بزرگ دارند و آن این است که انرژی کمتری مصرف میکنند، امروزه با ترکیب LED و LCD با یکدیگر به فرمت بزرگتر نمایشگرهای داتماتریس (Dot-Matrix Alphanumeric) تبدیل میشوند که میتوانند حروف و کاراکترها را به خوبی اعداد نمایش دهند و با خروجیهای قرمز یا سهرنگ استاندارد وجود دارند.
در این مقاله شما به طور کامل با انواع انکدرهای الویتدار و دیکدرها آشنا شدید، امیدواریم از این آموزش لذت برده باشید، برای آموزشها و پروژههای بیشتر میتوانید مقالات وبلاگ ما را مطالعه کنید.
شما میتوانید با ثبتنام د روبلاگ ما، به عنوان یک نویسنده با ما همکاری کنید، مقالات شما پس از بررسی، با نام خودتان منتشر خواهد شد.
هرگونه سوال و نظرات خود را در بخش دیدگاه با ما درمیان بگذارید.