کد BCD — به زبان ساده (+ دانلود فیلم آموزش گام به گام)

۱۱۰۰۵ بازدید
آخرین به‌روزرسانی: ۲۳ اردیبهشت ۱۴۰۲
زمان مطالعه: ۳۵ دقیقه
کد BCD — به زبان ساده (+ دانلود فیلم آموزش گام به گام)

پیش از شروع لازم به ذکر است که قسمت‌های اول، دوم، سوم و چهارم این مطلب را می‌توانید از طریق کلیک کردن روی لینک مرتبط به هر بخش مطالعه کنید؛ «دهدهی کد شده به باینری» یا کد Binary Coded Decimal) BCD) روشی برای تبدیل اعداد دهدهی به معادل باینری آنهاست. همانگونه که در آموزش نخست اعداد باینری دیدیم، در مدارهای الکتریکی و دیجیتالی از کدهای باینری مختلفی استفاده می‌شود که هرکدام کاربرد خاص خود را دارند.

محتوای این مطلب جهت یادگیری بهتر و سریع‌تر آن، در انتهای متن به صورت ویدیویی نیز ارائه شده است.

از آنجایی که در محاسبات روزمره از اعداد مبنای 10 یا دهدهی استفاده می‌شود اما کامپیوترها و دستگاه‌های دیجیتالی تنها اعداد باینری را درک می‌کنند، به روشی نیاز داریم که اعداد دهدهی را به باینری یا مبنای 2 تبدیل کنیم. استفاده از کد BCD یکی از بهترین روش‌ها برای این کار است.

همانطور که می‌دانیم یک کد باینری n بیتی، مجموعه‌ای از n بیت است که با آن می‌توان تا 2n ترکیب متمایز ایجاد کرد. مزیت استفاده از سیستم BCD در این است که همانند سیستم هگزادسیمال، هر رقم دهدهی نماینده‌ی 4 بیت است؛ لذا برای نمایش هر رقم دهدهی (0 تا 9) از یک کد باینری چهار بیتی استفاده می‌شود.

البته کدهای BCD دقیقاً مانند اعداد هگزادسیمال نیستند و تفاوت‌هایی نیز وجود دارد. به عنوان مثال، حداکثر مقداری که یک عدد هگزادسیمال چهار بیتی می‌تواند اختیار کند F16 یا 11112 است که معادل 15 دهدهی است. اما یک کد BCD حداکثر می‌تواند تا عدد 9 یا 10012 باشد. این مسئله بدان معنی است که با وجود اینکه با چهار رقم باینری می‌توان تا 16 عدد را نشان داد (24)، اما در سیستم شمارش BCD شش ترکیب آخر کاربردی ندارند؛ یعنی استفاده از اعداد 1010 (10 دهدهی)، 1011 (11 دهدهی)، 1100 (12 دهدهی)، 1101 (13 دهدهی)، 1110 (14 دهدهی) و 1111 (15 دهدهی) ممنوع است.

بزرگترین مزیت استفاده از کد BCD، راحت‌تر کردن تبدیل اعداد باینری و دهدهی به یکدیگر است. اگرچه کد BCD بدی‌هایی نیز دارد که مهم‌ترین آن، عدم استفاده از اعداد 1010 (10 دهدهی) تا 1111 (15 دهدهی) است. با این وجود کد BCD کاربردهای بسیار مهمی مخصوصاً در نمایش‌دهنده‌های دیجیتال دارد.

در سیستم شماره‌گذاری BCD، هر رقم از اعداد دهدهی به چهار بیت تقسیم می‌شود. برای ساخت یک کد BCD، تنها کافی است معادل باینری هر رقم دهدهی را در قالب چهار بیتی بنویسیم. لذا یک گروه چهار بیتی 10 حالت مختلف خواهد داشت که از 0000 برای صفر تا 1001 برای نه را شامل می‌شود.

به عنوان مثال، عدد دهدهی 35710 در کد BCD به شکل زیر نمایش داده می‌شود:

35710 = 0011 0101 0111 (BCD)

همانگونه که می‌بینیم، در سیستم BCD از «کدگذاری وزنی» استفاده می‌شود، زیرا جایگاه هر گروه چهار بیتی، وزنی دارد که در مقدار نهایی تأثیرگذار است. به عبارت دیگر، BCD یک کد وزن‌دار است و وزن‌های استفاده شده در کد BCD عبارتند از 8، 4، 2 و 1. لذا از آنجایی که کد BCD نشان‌دهنده‌ی معادل باینری رقم دهدهی مربوطه است، عموماً به آن «کد 8421» نیز گفته می‌شود.

نمایش کد BCD یک عدد دهدهی

20212223توان باینری
1248وزن باینری

در اعداد دهدهی با حرکت به سمت چپ، وزن هر رقم دهدهی با ضریب ده افزایش می‌یابد. اما همانگونه که نشان داده شده، در سیستم شماره‌گذاری BCD، وزن باینری هر رقم با ضریبی از دو افزایش پیدا می‌کند. لذا اولین رقم وزنی معادل 1 (20)، دومین رقم وزنی معادل 2 (21)، سومین رقم وزنی معادل 4 (22) و چهارمین رقم وزنی معادل 8 (23) دارد.

جدول زیر رابطه‌ی بین اعداد دهدهی و ارقام BCD وزن‌دار را نشان می‌دهد.

جدول صحت BCD

عدد دهدهیکد BCD 8421
00000 0000
10000 0001
20000 0010
30000 0011
40000 0100
50000 0101
60000 0110
70000 0111
80000 1000
90000 1001
10 (1+0)0001 0000
11 (1+1)0001 0001
12 (1+2)0001 0010
20 (2+0)0010 0000
21 (2+1)0010 0001
22 (2+2)0010 0010
.....

همانگونه که می‌بینیم، کد 8421 BCD همان وزن‌های ارقام باینری است که در آن هر رقم دهدهی با معادل باینری چهار بیتی آن نمایش داده می‌شود.

تبدیل دهدهی به BCD

با توجه به جدول بالا قوانین تبدیل اعداد دهدهی به BCD، شباهت بسیار زیادی به قوانین تبدیل اعداد هگزادسیمال به باینری دارد. ابتدا، ارقام وزن‌دار عدد دهدهی را جدا کرده و سپس معادل باینری هر رقم را در قالب چهار بیت می‌نویسیم. با کنار هم قرار دادن بیت‌های مربوط به هر رقم، کد 8421 BCD عدد به دست می‌آید.

مثال شماره 1 کد BCD

با استفاده از جدول بالا، اعداد دهدهی زیر را به معادل 8421 BCD آنها تبدیل کنید.

8510 = 1000 0101 (BCD)

57210 = 0101 0111 0010 (BCD)

857910 = 1000 0101 0111 1001 (BCD)

توجه کنید که عدد باینری تولید شده بعد از تبدیل هر رقم دهدهی، باید چهار بیت باشد. اگر معادل باینری رقمی کمتر از چهار بیت بود، در سمت چپ آن به تعداد مورد نیاز صفر قرار می‌دهیم تا به چهار بیت برسد.

تبدیل BCD به دهدهی

تبدیل BCD به دهدهی دقیقاً عکس عملیات قبلی است. تنها لازم است عدد باینری را به گروه‌های چهار بیتی تقسیم کرده و با شروع از کم ارزش‌ترین رقم، معادل دهدهی هر یک از گروه‌های چهار بیتی را بنویسیم. در صورت نیاز برای تشکیل یک گروه چهار بیتی کامل، در سمت چپ عدد صفرهای اضافی قرار می‌دهیم. به عنوان مثال، عدد 1101012 به 01012 0011 یا 3510 دهدهی تبدیل می‌شود.

مثال شماره 2 کد BCD

اعداد باینری 10012، 10102، 10001112 و 10100111000.1012 را به معادل دهدهی آنها تبدیل کنید.

10012 = 1001BCD = 910

 خطا می‌دهد، زیرا معادل 1010 است که یک عدد BCD غیرمجاز است = 10102

10001112 = 0100 0111BCD = 4710

10100111000.1012 = 0101 0011 0001.1010BCD = 538.62510

تبدیل عدد BCD به دهدهی یا دهدهی به BCD معمولاً راحت است و پیچیدگی خاصی ندارد؛ البته باید همواره به یاد داشت هرچند که اعداد BCD با بیت‌های 0 و 1 نشان داده می‌شوند، اما در واقع اعداد دهدهی هستند و نه باینری. درک نمایش BCD یک عدد دهدهی بسیار اهمیت دارد، زیرا لازم است که سیستم‌های مبتنی بر میکروپروسسور رایج، از اعداد دهدهی استفاده کنند.

اگرچه کدگذاری (code) و کدگشایی (decode) اعداد BCD بسیار راحت است، اما روش مقرون به صرفه‌ای برای ذخیره‌ی اعداد به شمار نمی‌روند. در کدگذاری یا انکود کردن (encoding) اعداد دهدهی به 8421 BCD، همواره تعداد بیت‌های لازم برای نمایش یک عدد دهدهی فرضی، بیشتر از تعداد بیت‌های لازم برای انکود کردن باینری همان عدد است.

به عنوان مثال، معادل باینری یک عدد دهدهی سه رقمی (از 0 تا 999) حداکثر 10 بیت خواهد بود (11111001112)، اما برای نمایش BCD همان عدد به حداقل 12 بیت نیاز داریم (001111100111BCD).

نکته‌ی دیگر اینکه انجام عملیات ریاضی روی اعداد BCD ممکن است مشکلاتی را ایجاد کند، زیرا ارقام نمی‌توانند از 9 بزرگتر باشند. لذا ممکن است با جمع دو عدد دهدهی در سیستم BCD، بیت نقلی carry) 1) تولید شود که در اینگونه مواقع باید آن را به گروه چهار بیتی بعدی اضافه کنیم.

اگر حاصل جمع بیت نقلی با چهار بیت باینری کوچکتر مساوی 9 (1001) باشد، رقم BCD متناظر نیز بدون اشکال است. اما اگر این حاصل جمع از 9 بزرگتر باشد، یک رقم BCD غیرمجاز تولید می‌کند. در نتیجه ایده‌ی بهتری است که ابتدا اعداد BCD را به باینری تبدیل کرده، عملیات جمع را بر روی اعداد باینری انجام داده و در آخر نتیجه‌ی به دست آمده را دوباره به BCD تبدیل کنیم.

با وجود این محدودیت‌ها، در میکروالکترونیک و سیستم‌های کامپیوتری استفاده از اعداد BCD بسیار رایج است، مخصوصاً برای نمایش یک یا چند رقم بر روی LED یا LCD های هفت قسمتی که به آنها «سون‌سگمنت» (7-segment) نیز گفته می‌شود. IC های بسیار متنوعی نیز برای این منظور ساخته شده‌اند که ورودی BCD گرفته یا خروجی BCD تولید می‌کنند.

یکی از پرکاربردترین این آی‌سی‌ها 74LS90 نام دارد که یک شمارنده/تقسیم‌کننده‌ی آسنکرون با خروجی BCD است. این آی‌سی از دو شمارنده‌ی مجزا از هم «تقسیم بر 2» و «تقسیم بر 5» تشکیل شده که با ترکیب آنها می‌توان یک شمارنده‌ی «تقسیم بر 10» ساخت. یک آی‌سی دیگر 74LS390 است که در واقع از دو آی‌سی 74LS90 ساخته شده و می‌توان به‌گونه‌ای آن را تنظیم کرد که خروجی BCD تولید کند.

پرکاربردترین IC های دیکود BCD عبارتند از 74LS47 و 74LS48 که دیکودر BCD به کد سون‌سگمنت (7segment) و درایور یا راه‌انداز آن هستند. 74LS48 یک کد BCD چهار بیتی را گرفته و آن را به کد سون‌سگمنت لازم برای راه‌اندازی یک نمایشگر LED سون‌سگمنت تبدیل می‌کند. اگرچه این دو آی‌سی تقریباً شبیه به یکدیگر عمل می‌کنند، اما تفاوت‌هایی نیز دارند. خروجی‌های 74LS47 به صورت active-low بوده (یعنی اگر خروجی فعال باشد، صفر خواهد بود) و برای راه‌اندازی نمایشگرهای آند-مشترک استفاده می‌شود؛ اما خروجی‌های 74LS48 به صورت active-high بوده (یعنی اگر خروجی فعال باشد، یک خواهد بود) و در راه‌اندازی نمایشگرهای کاتد-مشترک کاربرد دارد.

آی‌سی دیکودر BCD

خلاصه

در این آموزش دیدیم که BCD یا Binary Coded Decimal در حقیقت نمایش یک رقم دهدهی با 4 بیت باینری است؛ به این صورت که هر رقم دهدهی صحیح یا اعشاری، با معادل باینریش جایگزین می‌شود. کد BCD برای نمایش 10 رقم دهدهی 0 تا 9، از چهار بیت استفاده می‌کند.

لذا مثلاً برای نمایش اعداد دهدهی بازه‌ی 0 تا 9 (یک رقم) به 4 بیت (یک نیبل)، اعداد دهدهی بازه‌ی 0 تا 99 (دو رقم) به 8 بیت (یک بایت) و اعداد دهدهی بازه‌ی 0 تا 999 (سه رقم) به 12 بیت نیاز داریم و الی آخر. همانگونه که می‌بینید تنها با استفاده از یک بایت (8 بیت) می‌توان اعداد BCD در بازه‌ی 00 تا 99 را ذخیره‌سازی کرده و نمایش داد. به این عدد دو رقمی «BCD بسته‌بندی شده» (packed BCD) نیز گفته می‌شود.

کد BCD استاندارد معمولاً همان کد وزن‌دار BCD 8421 است که 8، 4، 2 و 1 نشان‌دهنده‌ی ترتیب و وزن بیت‌های عدد با شروع از پر ارزش‌ترین بیت (MSB) تا کم ارزش‌ترین بیت (LSB) است. وزن هر یک از بیت‌های کد BCD با توجه به موقعیت آنها برابرست با 23 = 8، 22 = 4، 21 = 2 و 20 = 1.

بزرگترین مزیت سیستم BCD در این است که در مقایسه با سیستم‌های باینری محض، سیستم سریع‌تر و مؤثرتری برای تبدیل اعداد دهدهی به باینری به حساب می‌آید. اگرچه عدم به کارگیری شش وضعیت چهار بیتی 10 تا 16، از محبوبیت‌های کد BCD می‌کاهد، اما کماکان کاربردهای بسیار مهمی در نمایشگرهای دهدهی دارد.

در پایان لازم است یادآور شویم قسمت ششم این مطلب را می‌توانید از طریق این لینک مطالعه کنید، ضمناً اگر مطالب بالا برای شما مفید بوده است، شاید از این آموزش‌ها نیز استفاده ببرید.

^^

فیلم‌ های آموزش کد BCD — به زبان ساده (+ دانلود فیلم آموزش گام به گام)

فیلم آموزشی نمایش کد BCD یک عدد دهدهی

دانلود ویدیو

فیلم آموزشی تبدیل BCD به دهدهی

دانلود ویدیو

فیلم آموزشی آی سی دیکدر BCD

دانلود ویدیو
بر اساس رای ۴۳ نفر
آیا این مطلب برای شما مفید بود؟
اگر بازخوردی درباره این مطلب دارید یا پرسشی دارید که بدون پاسخ مانده است، آن را از طریق بخش نظرات مطرح کنید.
منابع:
Electronics Tutorials
۵ دیدگاه برای «کد BCD — به زبان ساده (+ دانلود فیلم آموزش گام به گام)»

معنی کلمه میشه باینری که شده به دهدهی نه دهدهی کد شده به باینری

سلام.
آنچه در متن نوشته شده صحیح است.
سپاس از همراهی‌تان.

عالی بود نکته bcd فقط در این است که درسته اعداد آن به صورت صفر و یک است ولی باینری نیست همان دسیمال است فقط به صورت چهار بیت چهار بیت معادل دودویی هر عدد دسیمال است
واقعا به صورت جامع توضیحات بود امیدوارم بهترین باشید

سلام. خسته نباشید. ببخشید چطور میشه مبدل باینری به Bcd تو پروتئوس شبیه سازی کرد؟ می شه راهنمایی کنید.

ممنون عالی بود.

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *