৮২৫৫-এর কন্ট্রোল ওয়ার্ড দুই প্রকার: ১. মোড সেট (D7=1) – পোর্টের মোড ও দিক নির্ণয় করে। ২. BSR (D7=0) – পোর্ট C-এর যেকোনো পিন সেট বা রিসেট করে। দুটোই A1=1, A0=1 ঠিকানায় অবস্থিত কন্ট্রোল রেজিস্টারে লেখা হয়। এই দুটো কন্ট্রোল ওয়ার্ডই ৮২৫৫-এর কন্ট্রোল রেজিস্টার (Control Register)-এ লেখা হয়। কন্ট্রোল রেজিস্টারের ঠিকানা হলো: A1 = 1 এবং A0 = 1
🔢 A0 ও A1 পিনের কাজ
A0 ও A1 হলো ৮২৫৫-এর দুটি অ্যাড্রেস ইনপুট পিন। এগুলি মাইক্রোপ্রসেসরের অ্যাড্রেস বাসের LSB (Least Significant Bit)-এর সাথে সংযুক্ত থাকে।
এদের কাজ হলো—কোন পোর্ট বা রেজিস্টার অ্যাক্সেস করা হবে, তা সিলেক্ট করা।
📊 A0 ও A1-এর মাধ্যমে পোর্ট সিলেকশন (সত্যক সারণী)
| A1 | A0 | RD | WR | সিলেক্টেড রেজিস্টার/পোর্ট |
|---|---|---|---|---|
| ০ | ০ | ০ | ১ | Port A (ডেটা পড়া) |
| ০ | ১ | ০ | ১ | Port B (ডেটা পড়া) |
| ১ | ০ | ০ | ১ | Port C (ডেটা পড়া) |
| ১ | ১ | ০ | ১ | Control Register (কন্ট্রোল রেজিস্টার পড়া) |
| ০ | ০ | ১ | ০ | Port A (ডেটা লেখা) |
| ০ | ১ | ১ | ০ | Port B (ডেটা লেখা) |
| ১ | ০ | ১ | ০ | Port C (ডেটা লেখা) |
| ১ | ১ | ১ | ০ | Control Register (কন্ট্রোল রেজিস্টার লেখা) |
RD = Read (পড়া), WR = Write (লেখা)
- যখন RD = 0 ও WR = 1 → ডেটা পড়া হয়
- যখন RD = 1 ও WR = 0 → ডেটা লেখা হয়
টেবিলে A1=0, A0=0, RD=0, WR=1 হলে শুধুমাত্র Port A-কে Read করার জন্য সিলেক্ট করা হয়। অর্থাৎ—
Port A → সক্রিয় (Active)
Port B → নিষ্ক্রিয় (Inactive)
Port C → নিষ্ক্রিয় (Inactive)
Control Register → নিষ্ক্রিয় (Inactive)
D0–D7 → এই সময়ে Port A-এর ডেটা বহন করে (অন্য কোনো পোর্টের ডেটা নয়)
মূল কথা: 8255-এর অভ্যন্তরীণ ডিকোডার A1 ও A0-এর সংমিশ্রণ অনুযায়ী শুধু একটি নির্দিষ্ট পোর্ট বা রেজিস্টারকে সক্রিয় করে। বাকিগুলো অ্যাক্টিভ হয় না।
এটি ৮২৫৫-এর হার্ডওয়্যার সংযোগ ও কাজের সম্পূর্ণ চিত্র।
১. সংযোগ (Connections) – কী কোথায় লাগে?
| পিন/গ্রুপ | নাম | কাকে বলে? | কোথায় সংযোগ? |
|---|---|---|---|
| A0, A1 | অ্যাড্রেস লাইন (Input) | মাইক্রোপ্রসেসর থেকে আসে | অ্যাড্রেস বাসের LSB (নিচের ২ বিট)-এর সাথে। এরা নির্ধারণ করে কোন পোর্ট বা রেজিস্টার এক্সেস হবে। |
| D0–D7 | ডেটা লাইন (Bidirectional) | ৮-বিট ডেটা বহন করে | মাইক্রোপ্রসেসরের ডেটা বাসের সাথে। ইনপুট/আউটপুট ডেটা এখান দিয়ে যায়। |
| PA0–PA7 | পোর্ট A (8 বিট) | ডেটা পোর্ট | পেরিফেরাল ডিভাইসের সাথে (যেমন—LED, কীবোর্ড) |
| PB0–PB7 | পোর্ট B (8 বিট) | ডেটা পোর্ট | পেরিফেরাল ডিভাইসের সাথে |
| PC0–PC7 | পোর্ট C (8 বিট) | ডেটা পোর্ট / কন্ট্রোল সিগন্যাল | পেরিফেরালের সাথে অথবা হ্যান্ডশেক সিগন্যাল হিসেবে |
| Control Register | কন্ট্রোল রেজিস্টার (অভ্যন্তরীণ) | পোর্টগুলোর মোড সেট করে | সরাসরি পিন নেই—A0=1, A1=1 দিয়ে এক্সেস করা হয় |
| RD, WR | রিড/রাইট কন্ট্রোল | অপারেশন নির্ধারণ | মাইক্রোপ্রসেসরের কন্ট্রোল বাস থেকে |
| CS | চিপ সিলেক্ট | ৮২৫৫-কে সক্রিয় করে | মাইক্রোপ্রসেসরের ডিকোডেড অ্যাড্রেস থেকে |
BSR মোডে Port A ও Port B-এর কোনো পরিবর্তন হয় না—তারা আগের কনফিগারেশনেই কাজ করতে থাকে।
BSR মোড শুধু Port C-এর বিটগুলোর জন্য প্রযোজ্য।
BSR মোড I/O মোডের বিকল্প নয়—এটি একটি অতিরিক্ত সুবিধা মাত্র।