مثالی در رابطه با مدار منطقی

تمرین:

یک مدار ترکیبی با سه ورودی و سه خروجی طراحی کنید که وقتی ورودی دودویی ۰ و ۱ و ۲ و ۳ می باشد خروجی دودویی یکی بیشتر از ورودی باشد و وقتی ورودی دودویی ۴ و ۵ و ۶ و ۷ میباشد خروجی دودویی یکی کمتر از ورودی شود:

مدار را طراحی کنید و خروجی را روی سون سگمنت به نمایش بگذارید.

حل)

طبق مسئله ما سه ورودی داریم و سه خروجی

برای رسم مدار ابتدا نیاز هست که جدول صحت مدار را رسم کنیم

برای ورودی ها چون گفته سه ورودی پس با این حساب ۲ به توان سه ورودی میشه هشت حالات مختلف

و مسلما طبق سوال ما سه خروجی هم داریم که برای تک تک خروجی ها هم هشت حالات مختلف خواهیم داشت

ورودی ها را D0  تا D2 نام گذاری می کنیم و جدول رو برای ورودی ها رسم می کنیم

در زبان ماشین اعداد دهدهی معنایی ندارند و برای اینکه بتوانید جدول صحت را رسم کنید باید معادل دودویی اعداد رو بنویسید

معادل دویی اعداد صفر تا هفت رو در زیر مشاهده می کنید:

 

بنابراین برای سه ورودی با حذف اضافیایت عکس بالا خواهیم داشت:

 

خوب ما در مقابل چهار خروجی هم داریم که اگر خروجی ها رو هم رسم کنیم جدول صحت زیر رو خواهیم داشت:

همانطور که میبینید خروجیا مقدار دهی نشدند بنابراین خروجی طبق صورت مسئله باید مقدار دهی شوند

سوال گفته که به ازای ورودی های صفر تا سه خروجیا یک واحد باید بیشتر از ورودیها باشند مثلا اگر ورودی صفر باشد باید خروجی یک داشته باشیم و اگر ورودی سه داریم باید خروجی ۴ داشته باشیم

بنابراین اگر باینری ورودی صفر برابر با ۰۰۰ باشد با یک واحد افزایش به صفر برای خروجی باینری یک برابر با ۰۰۱ خواهد بود و همینطور اگر ورودی ۲ را داشته باشیم با یک واحد افزایش خروجی سه یعنی ۰۱۱ را باید در خروجی داشته باشیم:

از ورودی چهار به بعد باید خروجی یک واحد کم بشه یعنی برای ورودی چهار باید در خروجی مقدار سه یعنی ۰۱۱ را داشته باشیم و برای ورودی هفت هم باید خروجی شش یعنی ۱۱۰ را داشته باشیم به این صورت:

پس جدول صحت کامل شد حال باید جدول صحت رو برای رسم مدار حل کنیم

خوب ابتدا خروجی Y0 را حل می کنیم

توجه داشته باشید که در جدول صحت هر چند تا خروجی داشته باشید باید تک تک خروجیا رو حل کنید

برای خروجی Y0 از بالا به پایین شروع به حل خروجی می کنیم ، تنها با خانه هایی که با یک پر شده اند کار خواهیم داشت یعنی خانه هایی که با صفر پر شدند حذف می شوند و در محاسبات از انها استفاده نمی کنیم

 

همانطور که می بینید ما به ازای هر یک منطقی خروجی Y0 یک تابع ورودی داریم که باید این تابع ها رو بنویسیم

نحوی نوشتن تابع هم به این صورت هست که به ازای صفر ، نات یا پریم در نظر میگیریم

برای نوشتن تابع شماره ۱ که در عکس مشخص شده برای راحتی کار ابتدا نام D0 و D1 و D2 رو به یه نام ساده تغییر می دیم به صورت زیر

D2 >> A

D1>> B

D0 >> C

بنابراین تابع یک برابر است با :

چون مقدار ABC در اینجا هر سه برابر با صفر هست بنابراین ABC همه نات گرفته اند

تابع دوم برابر است با:

همانطور که میبینید مقدار B برابر با یک منطقی هست بنابراین نات نمی گیرد

تابع سوم:

تابع چهارم:

بنابراین خروجی Y0 به صورت زیر خواهد بود

تابع ۴ + تابع ۳ + تابع ۲ + تابع ۱ = Y0

خروجی Y0 برابر است با:

و بعد از ساده سازی با جبر بول Y0 برابر است با:

خروجی Y0 را حل کردیم حال به حل خروجی Y1 می پردازیم:

تابع ۱ برابر است با:

تابع ۲ برابر است با:

تابع ۳ برابر است با:

تابع ۴:

خروجی Y1 برابر است با:

خروجی Y1 امکان ساده سازی ندارد.

با فرض اینکه می توانید خودتان خروجی Y2 را محاسبه کنید از توضیحات مجدد خودداری می کنیم

برای خروجی Y2 پس از ساده سازی با جدول کارنو خواهیم داشت:

حال به رسم مدار می پردازیم:

توجه داشته باشید که در هر تابع علامت جمع مساوی با گیت OR می باشد و همینطور حروف ABC که در کنار هم بدون هیچ جدا کننده ای نوشته می شوند در واقع به صورت A.B.C هم می توان نوشت که در اینجا . (نکته) معادل AND می باشد

خوب با جایگذاری نام اصلی ورودی ها به جای ABC اقدام به رسم مدار می کنیم:

بر روی تصویر کلیک کنید

 

 

می توانید عملکرد را در گیف زیر آنلاین مشاهده کنید:

mast3r

علاقه مند به طراحی سیستم های میکروکنترلری و الکترونیک دیجیتال و مدارات منطقی دیجیتال ، برنامه نویسی اپلیکیشن های اندروید مرتبط با سخت افزار... برنامه نویسی کلیه میکرو کنترلر های سری avr و pic و stm32 و stm8 و ...

نوشته‌های مرتبط

قوانین ارسال دیدگاه

  • دیدگاه های فینگلیش تایید نخواهند شد.
  • دیدگاه های نامرتبط به مطلب تایید نخواهد شد.
  • از درج دیدگاه های تکراری پرهیز نمایید.
  • در هنگام درج نظر از به کار بردن کلمات نامتعارف خودداری کنید.
دیدگاه‌ها

*
*

5 × 1 =

question