💡 گیت منطقی XOR (XOR Gate (74HC86))

اسم انگلیسیXOR Gate (74HC86)
در ووکوی (Wokwi)نسخه‌ی آماده‌ای سراغ نداریم
دسته🔀 گیت‌های منطقی
در شبیه‌ساز فارسیمود ساده (بدون کد) و مود آردوینو · رایگان

گیت منطقی XOR یا یای انحصاری (XOR Gate) فقط وقتی خروجی ۱ می‌دهد که دو ورودی‌اش با هم فرق داشته باشند: یکی ۰ و دیگری ۱. اگر هر دو ۰ یا هر دو ۱ باشند، خروجی ۰ است. آی‌سی 74HC86 چهار گیت XOR دوورودی دارد. XOR سه کاربرد معروف دارد: کلید تبدیل راه‌پله (هر کدام از دو کلید را بزنی، وضعیت چراغ عوض می‌شود)، بیت جمع در نیم‌جمع‌کننده (Half Adder)، و تشخیص «فرق داشتن» دو سیگنال، مثل بررسی توازن (Parity) داده.

گیت XOR در ووکوی (Wokwi)

ووکوی در بخش منطق (Logic) گیت XOR ساده را دارد. ولی تا جایی که می‌دانیم ووکوی نسخه‌ی آماده‌ی این قطعه را به شکل آی‌سی 74HC86 ندارد. در کد آردوینو XOR عملگر ^ است و برای مقایسه‌ی دو بیت کافی است.

در تینکرکد فارسی گیت XOR در هر دو مود رایگان است؛ مدار گیت XOR، درس گیت XOR و درس چراغ راه‌پله را ببین که همین منطق را با دو کلید تبدیل و بدون آی‌سی می‌سازد.

سیم‌کشی با آردوینو

دو کلید کشویی سه‌پایه نقش دو کلید راه‌پله را دارند. پایه‌ی وسط هر کلید بسته به جای دسته به 5V یا GND وصل می‌شود، پس ورودی گیت هیچ‌وقت شناور نیست و مقاومت پول‌داون لازم نیست.

پایه‌ی قطعهوصل به
کلید اول: پایه‌ی وسطپایه‌ی ۱ آی‌سی (1A) و پین 5
کلید اول: دو پایه‌ی کنارییکی 5V و دیگری GND
کلید دوم: پایه‌ی وسطپایه‌ی ۲ آی‌سی (1B) و پین 6
کلید دوم: دو پایه‌ی کنارییکی 5V و دیگری GND
پایه‌ی ۳ (1Y)پین 7، و از راه ۲۲۰ اهم به آند LED «چراغ راه‌پله» (کاتد به GND)
پایه‌ی ۱۴ (VCC) و پایه‌ی ۷ (GND)5V و GND
ورودی‌های بی‌استفاده (۴، ۵، ۹، ۱۰، ۱۲، ۱۳)GND

کد نمونه

این‌جا آردوینو فقط تماشاگر است: هر بار یکی از کلیدها جابه‌جا شود، وضعیت دو کلید و چراغ را چاپ می‌کند و جواب گیت را با XOR نرم‌افزاری a ^ b مقایسه می‌کند. هر کدام از کلیدها را عوض کنی، چراغ باید وضعیتش را عوض کند.

// 74HC86 staircase light: watch both switches and the gate output.
const int PIN_A = 5;
const int PIN_B = 6;
const int PIN_Y = 7;

int lastState = -1;

void setup() {
  Serial.begin(9600);
  pinMode(PIN_A, INPUT);
  pinMode(PIN_B, INPUT);
  pinMode(PIN_Y, INPUT);
}

void loop() {
  int a = digitalRead(PIN_A);
  int b = digitalRead(PIN_B);
  int y = digitalRead(PIN_Y);
  int state = a * 4 + b * 2 + y;
  if (state != lastState) {          // print only when something changes
    lastState = state;
    Serial.print("A=");
    Serial.print(a);
    Serial.print(" B=");
    Serial.print(b);
    Serial.print(" -> lamp ");
    Serial.print(y ? "ON " : "OFF");
    Serial.println(y == (a ^ b) ? "  ok" : "  WRONG");
  }
  delay(20);
}

اشتباه‌های رایج

آموزش‌های مرتبط

سؤال‌های رایج

XOR با OR چه فرقی دارد؟

وقتی هر دو ورودی ۱ باشند، OR خروجی ۱ می‌دهد ولی XOR خروجی ۰. یعنی XOR فقط وقتی روشن است که ورودی‌ها با هم فرق داشته باشند.

کلید تبدیل راه‌پله چه ربطی به XOR دارد؟

در کلید راه‌پله، عوض کردن هر کدام از دو کلید وضعیت چراغ را برعکس می‌کند؛ این دقیقاً جدول درستی XOR است. با 74HC86 و دو کلید کشویی همین را منطقی می‌سازی.

📖 طرز کار، مشخصات فنی و نکته‌های خرید این قطعه در دانشنامه‌ی تینکرکد فارسی: گیت منطقی XOR آمده است.

قطعه‌های دیگرِ گیت‌های منطقی

🔗

گیت منطقی AND

AND Gate (74HC08)

🔀

گیت منطقی OR

OR Gate (74HC32)

🔄

گیت منطقی NOT (معکوس‌کننده)

NOT Gate / Inverter (74HC04)

همه‌ی ۱۰۵ قطعه ← · آموزش مدار

گیت منطقی XOR را در شبیه‌ساز امتحان کن 🚀