جدول المحتويات:

بناء كمبيوتر مع فهم أساسي للإلكترونيات: 9 خطوات (بالصور)
بناء كمبيوتر مع فهم أساسي للإلكترونيات: 9 خطوات (بالصور)

فيديو: بناء كمبيوتر مع فهم أساسي للإلكترونيات: 9 خطوات (بالصور)

فيديو: بناء كمبيوتر مع فهم أساسي للإلكترونيات: 9 خطوات (بالصور)
فيديو: مكونات الكمبيوتر من الداخل ووظائفها 🧐 شرح عملي للمبتدئين. 2024, يوليو
Anonim
بناء كمبيوتر مع فهم أساسي للإلكترونيات
بناء كمبيوتر مع فهم أساسي للإلكترونيات

هل سبق لك أن أردت التظاهر بأنك ذكي حقًا وأن تبني جهاز الكمبيوتر الخاص بك من الصفر؟ ألا تعرف شيئًا عما يتطلبه الأمر لصنع كمبيوتر بسيط؟ حسنًا ، من السهل إذا كنت تعرف ما يكفي عن الإلكترونيات لتجميع بعض الدوائر المتكاملة معًا بشكل صحيح. ستفترض هذه التعليمات أنك جيد في هذا الجزء ، بالإضافة إلى بعض الأشياء الأخرى. وإذا لم يكن الأمر كذلك ، فلا ينبغي أن يكون من الصعب جدًا متابعته إذا كنت تعرف كيفية عمل اللوح / النماذج الأولية. الغرض من هذا الدليل هو الحصول على "كمبيوتر" عامل دون معرفة الكثير عن كيفية عملها. سأغطي الأسلاك وأساسيات البرمجة ، بالإضافة إلى تقديم برنامج قصير جدًا لك. لذلك دعونا نبدأ.

الخطوة 1: الأجزاء والأشياء

قطع غيار وأشياء
قطع غيار وأشياء
قطع غيار وأشياء
قطع غيار وأشياء

يتطلب "الكمبيوتر": الطاقة والإدخال والمعالجة والذاكرة والإخراج. من الناحية الفنية ، سيكون لدينا كل هذه الأشياء. سأغطي هذه الأشياء بهذا الترتيب.

للحصول على الطاقة ، ستحتاج إلى مصدر 5 فولت (يسمى 5 فولت). من المستحسن أن يكون مصدرًا منظمًا حتى لا تقلى عن طريق الخطأ أجزاء في دائرتك. ستكون مدخلاتنا عبارة عن أزرار. المعالجة لا تحتاج إلى شرح. نحن نستخدم معالجًا. ستتألف الذاكرة فقط من ذاكرة القراءة فقط. ستكون سجلات الأغراض العامة الداخلية للمعالج كافية لاستخدامها كذاكرة وصول عشوائي. سيكون الإخراج مصابيح LED.

1 LM7805C - منظم 5 فولت

1 ZYLOG Z80 - المعالج

1 AT28C64B- إيبروم

1 74LS273 - أوكتال D فليب فلوب

1 74HC374E - أوكتال D فليب فلوب

3 CD4001BE - بوابة NOR رباعية

1 NE555 - مولد ساعة

2 1 كيلو أوم المقاوم

1 10 كيلو أوم المقاوم

1 10 كيلو أوم شبكة المقاوم ؛ 8 حافلات أو 8 مقاومات إضافية 10 كيلو

1 1 فائق التوهج مكثف

1100 فائق التوهج مكثف

1 زر ضغط

1 مصفوفة زر 3x4 أو 8 أزرار ضغط إضافية

8 LED - اختيار اللون لا يهم

8 330 أوم مقاومات أو شبكة مقاومات

1 لوح كبير حقًا أو عدة ألواح صغيرة

الكثير والكثير من الأسلاك

في التخطيطي لدي عصا SRAM مثبتة. لا داعي للقلق بشأن ذلك. لقد أضفته فقط إلى المخطط ليعكس بدقة دائري الفعلي وأضفته إلى الدائرة للاستخدام في المستقبل. يضاف أيضًا إلى التخطيطي عبارة عن بوابة OR رباعية (74LS36). ترتبط مدخلات البوابتين غير المستخدمة بـ VCC وتترك مخرجاتهما عائمة (غير مرسومة). كما أنه لم يتم رسم أو سرد مكثفتين في دائرة الطاقة.

أقوم بتغذية 12 فولت منظم في منظم 5 فولت لتغذية اللوح بأكمله. يصبح دافئًا نوعًا ما ، لذلك قمت بتوصيل المشتت الحراري لتبريده. إذا كنت تستخدم أقل من 12 فولت لتغذية المنظم (استخدم 7 فولت على الأقل) ، يجب أن يعمل بشكل أكثر برودة.

Z80 هو المكان الذي يحدث فيه السحر. يأخذ التعليمات المخزنة في ذاكرة القراءة فقط ويقوم بتنفيذها. يخزن EEPROM برنامجنا حتى يقوم المعالج بتنفيذه.

القلاب الثماني الذي هو جهاز الإخراج لدينا الذي يغلق البيانات الموجودة على ناقل البيانات إلى مخرجاته الخاصة. يتيح لنا ذلك تغيير ما هو موجود في الحافلة ، وهي خطوة مهمة جدًا يتم إجراؤها عدة مرات لكل تعليمات ، دون تغيير ما يراه المستخدم / العارض. لا يستطيع flip-flop دفع التيار المطلوب لإضاءة مصابيح LED للإخراج ، لذا فهي تغذي اثنين من رقائق بوابة NOR الرباعية التي تعمل على تخزين 8 خطوط بيانات لتشغيل مصابيح LED. نظرًا لأن إخراج البوابات معكوس ، فعلينا أيضًا أن نقوم بتوصيل مصابيح LED المقلوبة ، لكننا سنصل إلى ذلك عندما نصل إلى ذلك. يتم استخدام شريحة NOR الأخرى لفك التشفير المنطقي ولكن يتم استخدام ثلاث بوابات فقط.

التقليب الثماني المستخدم للإدخال هو في الأساس نفس الشيء. تقلبات الإخراج تثبت إخراجها إما مرتفعًا أو منخفضًا بحيث لا يمكن استخدامها لقيادة الحافلة ؛ سيحمل البيانات على متن الحافلة. يستبدل flip-flop المستخدم للإدخال / RESET pin بـ / EN ، والذي يفصل بشكل أو بآخر مخرجات (ومن) الشريحة بحيث لا تحتفظ بالبيانات (مخرجات الحالة الثلاثية).

الخطوة 2: توصيل دوائر الطاقة والساعة وإعادة التعيين

توصيل دوائر الطاقة والساعة وإعادة التعيين
توصيل دوائر الطاقة والساعة وإعادة التعيين
توصيل دوائر الطاقة والساعة وإعادة التعيين
توصيل دوائر الطاقة والساعة وإعادة التعيين
توصيل دوائر الطاقة والساعة وإعادة التعيين
توصيل دوائر الطاقة والساعة وإعادة التعيين

ملاحظة: بالنسبة لجميع الأجزاء ، قم بتوصيل قضبان الطاقة أولاً. من بين كل الأشياء التي يجب نسيانها عن طريق الأسلاك ، ستكون الرقائق أقل احتمالًا للبقاء على قيد الحياة في توصيلات الطاقة المنسية.

دائرة الطاقة هي أبسط دائرة للسلك ، تليها دائرة إعادة الضبط والساعة ، على التوالي. في الصورة ، يوجد مدخل 12 فولت على شريط الطاقة في أقصى اليمين. السلك البني ، الذي يخفي سلكًا أصفر تحته ، يغذي المنظم بجهد 12 فولت. يغذي إخراج المنظم كل شرائط طاقة أخرى على اللوح ويتشارك كل قطاع طاقة في أرضية مشتركة لأن هذه هي الطريقة التي تعمل بها الإلكترونيات.

المعالج يتطلب دائرة على مدار الساعة للعمل. بدونه ، سيبقى هناك في حالته الأولية ولا يفعل شيئًا. تعمل الساعة على تشغيل سجلات التحويل الداخلية للمعالجات حتى تتمكن من توليد الإشارات للقيام بالأشياء. أي إدخال على مدار الساعة سيفي بالغرض ، حتى المقاوم البسيط وزر الضغط. لكن تنفيذ التعليمات يستغرق عدة دورات على مدار الساعة. تستغرق تعليمات الكتابة إلى الإخراج 12 دورة في حد ذاتها. ربما لا ترغب في الجلوس هناك والضغط على زر أكثر من 100 مرة للحصول على حلقة واحدة فقط من الكود (الأرقام الفعلية موجودة في نهاية التعليمات). هذا هو الغرض من NE555. يقوم بالتبديل نيابة عنك ويقوم بذلك بمعدل سريع (نسبيًا).

قبل أن تبدأ في توصيل أي شيء ، قد ترغب في المضي قدمًا ومعرفة كيف تريد وضع مكوناتك على السبورة. دارة ساعتي هي نوعًا ما تم وضعها في الجزء السفلي من اللوحة ، لذا ستكون بعيدة عن المكونات الأخرى. سنفترض أنك تعرف كيفية عمل ساعة أساسية باستخدام المؤقت. إذا لم تقم بذلك ، فستحتاج إلى البحث عن "555 Astable" واتباع البرنامج التعليمي. استخدم المقاوم 1K للانتقال بين السكة 5V والدبوس 7 من المؤقت (R1) و 10K بين السن 7 والدبوس 2 (R2). تأكد من ربط دبوس إعادة الضبط ، الدبوس 4 ، بالقضيب 5 فولت حتى يعمل المؤقت. لقد وضعت مؤشرًا ضوئيًا على ناتج بلدي حتى أتمكن من التحقق من أن الساعة تعمل بالفعل ، لكنها ليست ضرورية.

هناك خيار آخر مع NE555 وهو إعداده كبوابة NOT واستخدام المقاوم 1K لربط الإخراج مرة أخرى بالمدخل. يوصى عادةً باستخدام 3 مؤقتات للقيام بذلك ، لكنني وجدت أن جهازًا واحدًا فقط يجب أن يعمل بشكل جيد. فقط اعلم أنه إذا قمت بذلك ، فسوف يتأرجح بسرعة عالية جدًا وسيكون من الصعب جدًا ، بل من المستحيل ، معرفة أن مصابيح LED الناتجة تومض. يسمى هذا الإعداد "مذبذب الحلقة".

هل لاحظ أننا لم نقم بتوصيل الساعة بالمعالج حتى الآن. نحن ببساطة نجهزها. لاحظ أيضًا الشريحة المنطقية أعلى الساعة في الصورة مباشرةً. تمت إضافته لاحقًا وكان هذا هو المكان الوحيد شبه المعقول المتبقي لوضعه. يتم استخدامه لاختيار RAM / ROM. يتجاهل هذا التوجيه ذاكرة الوصول العشوائي لذا لن يكون لديك هذه الشريحة على لوحك.

الآن نقوم بتوصيل دائرة إعادة الضبط. تحتاج أولاً إلى العثور على مكان على السبورة الخاصة بك لذلك. اخترت الحق بجانب الساعة. أضف الزر الخاص بك إلى اللوحة. استخدم المقاوم 1K لربط جانب واحد من الزر بقضيب 5V. دبابيس RESET نشطة منخفضة ، مما يعني أننا بحاجة إلى رفعها. هذا ما هو المقاوم. هذا التقاطع هو أيضًا المكان الذي تتصل فيه دبابيس إعادة التعيين. ينتقل الجانب الآخر من الزر مباشرة إلى الأرض. إذا كنت تريد إعادة تشغيل الطاقة ، فأضف مكثف 10 فائق التوهج إلى هذا التقاطع أيضًا. سيبقي الجهد على دبابيس إعادة الضبط منخفضًا لفترة كافية لتنشيط دائرة إعادة الضبط داخل المعالج والوجه المتأرجح.

الخطوة الثالثة: توصيل أسلاك Z80

الآن نصل إلى التفاصيل الجوهرية. سنقوم بتوصيل الوحش الذي هو Z80. على لوحي ، أضع Z80 في الجزء العلوي على نفس القسم من اللوحة مثل دائرة إعادة الضبط. كما ذكرنا سابقًا ، قم بتوصيل قضبان الطاقة أولاً. 5V يذهب إلى دبوس 11 على اليسار والأرض هو دبوس واحد لأسفل ولكن على اليمين. ربما لاحظت أيضًا العرض الغريب للرقاقة. سيؤدي ذلك إلى وجود 3 موصلات مفتوحة على جانب واحد على لوح التجارب و 2 على الجانب الآخر. فهو يجعل توصيل أشياء إضافية أقل ملاءمة فقط إذا اخترت القيام بذلك.

أرقام الدبوس التالية - أفترض أنك تعرف كيفية حساب المسامير على IC - هي مدخلات غير مستخدمة ويجب ربطها بسكة 5V: 16 ، 17 ، 24 ، 25.

تذكر ساعتنا؟ يذهب ناتجها إلى رقم 6 على z80. تتصل دائرة إعادة الضبط بالرقم 26. بدون وجود المكونات الأخرى على اللوحة ، هذا هو أقصى ما يمكنني الحصول عليه من الأسلاك الخاصة بـ z80 نفسها. سيتم إجراء المزيد من الأسلاك في خطوات لاحقة.

نظرًا لأنني قد قمت بالفعل ببناء الدائرة قبل أن أفكر في كتابة هذه التعليمات ، فسوف أؤجل الصورة حتى الخطوة التالية.

الخطوة 4: توصيل ROM

توصيل ROM
توصيل ROM

ملاحظة: قد ترغب في التراجع عن وضعه فعليًا على السبورة إذا كان لا يزال بحاجة إلى برمجته (المزيد حول ذلك لاحقًا).

بالنسبة إلى ذاكرة القراءة فقط (ROM) ، فقد وضعتها بجانب Z80 على اليمين وقمت أيضًا بإزاحتها بدبوس واحد على اللوح. سمح لي هذا بتوصيل ناقل العنوان مباشرة ، ولكن المزيد عن ذلك لاحقًا. AT28C64B عبارة عن ذاكرة EEPROM ، مما يعني أنه يمكن برمجتها عدة مرات عن طريق إيقاف تشغيل بعض المسامير وإيقاف تشغيلها. لا نريد أن تقوم EEPROM بإعادة برمجة نفسها عن طريق الخطأ عندما تكون في الدائرة. لذلك بمجرد توصيل قضبان الطاقة الخاصة بك ، قم بتوصيل دبوس السلك 27 (/ WE) بالسكك الحديدية 5 فولت لتعطيل ميزة الكتابة تمامًا.

برنامجي صغير جدًا ، فأنا بحاجة فقط إلى توصيل سطور العنوان الخمسة السفلية (A0-A4) ، لكنني قمت بتوصيل A5 و A6 و A7 على أي حال حتى أتمكن من كتابة برامج أكبر بدون عمل إضافي. ترتبط خطوط العنوان الإضافية (A8-A12) مباشرة بالأرض لمنع الوصول غير المرغوب فيه إلى العناوين الأعلى من المدخلات العائمة. مع مدخلات العنوان غير المستخدمة مرتبطة بالأرض والتحكم في الكتابة مرتبط بـ 5 فولت ، فإن توصيل الأسلاك الباقية يكون بسيطًا إلى حد ما. ابحث عن A0 على المعالج وقم بتوصيله بـ A0 على ذاكرة القراءة فقط. ثم ابحث عن A1 على المعالج وقم بتوصيله بـ A1 على ذاكرة القراءة فقط. افعل ذلك حتى تقوم بربط جميع العناوين معًا. في الصورة ، يتم نقل عنواني إلى ذاكرة القراءة فقط في الأسلاك الزرقاء. يتم نقل العنوان المتجه إلى ذاكرة الوصول العشوائي بالأسلاك الحمراء. تم قطع جميع هذه الأسلاك وتجريدها مسبقًا لأنها جاءت في مجموعة أسلاك اللوح وكانت مثالية لهذا الأسلاك.

بعد أن تحصل على العناوين سلكية (وهذا يسمى ناقل العنوان) ، افعل نفس الشيء بالضبط مع المسامير المسمى D0 ، ثم D1 ، D2 ، وما إلى ذلك. افعل ذلك مع جميع دبابيس البيانات (D0 - D7) وستحصل على حافلة البيانات السلكية. لقد انتهينا تقريبًا من توصيل ذاكرة القراءة فقط. ابحث عن دبوس ROM / CE (تمكين الشريحة) وقم بتوصيله بالمعالجات رقم 19 ، / MREQ (طلب الذاكرة) ثم ابحث عن ROM / OE (تمكين الإخراج) وقم بتوصيله إلى المعالج 21 ، / RD (اقرأ). لقد انتهينا الآن. كل هذا يتم باستخدام أسلاك توصيل لأنه يتعين عليهم الانتقال إلى الجانب الآخر من المعالج ولا يوفر لوح التجارب مساحة كافية لاستخدام أسلاك أنيقة من هذا القبيل.

الخطوة 5: توصيل الأسلاك الإخراج

الأسلاك الإخراج
الأسلاك الإخراج
الأسلاك الإخراج
الأسلاك الإخراج

نظرًا لأنه لم يكن مأهولًا بالسكان ، فقد اخترت قسم اللوحة على يسار Z80 للإخراج. ضع الشبشب هناك وقم بتوصيلهم بقضبان كهربائية. يمكن توصيل الدبوس 1 ، / MR (إعادة الضبط) مباشرة بدبوس إعادة الضبط الخاص بالمعالج ، ولكن يمكنك تركه مرتبطًا بسكة 5 فولت. سيؤدي القيام بذلك فقط إلى إظهار البيانات غير المرغوب فيها حتى الكتابة الأولى. لاحظ كيف أن الشريحة تحتوي على مدخل ساعة على الطرف 11. هذا الإدخال غريب لأنه يتم تنشيطه عندما يرتفع الدبوس. لاحظ أيضًا أن هذا الدبوس ليس هو نفس الساعة التي تقود المعالج. هذه الساعة تغلق البيانات المؤكدة على ناقل البيانات.

هل تتذكر كيف قمنا بتوصيل D0 - D7 على ذاكرة القراءة فقط إلى نفس المسامير الموجودة على المعالج؟ افعل نفس الشيء بالضبط لهذه الشريحة. ينتقل D0 إلى D0 في ناقل البيانات وما إلى ذلك. الدبابيس التي تبدأ بحرف "Q" هي نواتج. قبل أن نرسلها ، نحتاج إلى إضافة المزيد من الرقائق. لقد استخدمت بوابات NOR الرباعية لأن لدي أنبوبًا منها وكنت بحاجة بالفعل إلى واحدة ، ولكن أي شريحة ستعمل إذا قمت بتوصيلها بشكل صحيح. كان بإمكاني ربط إدخال واحد على جميع البوابات بالأرض واستخدام المدخلات الأخرى كمدخلات ، لكنني اخترت توصيل كلا المدخلات معًا من أجل البساطة.

لقد وضعت الرقائق أسفل الوجه المتأرجح لتسهيل التوصيل مباشرة بدون وصلات عبور ، لكنني كنت أعمل على انخفاض السلك في هذه المرحلة ، لذا لم يكن الأمر مهمًا حقًا في النهاية. Q0 ، Q1….. Q7 على flip-flop يذهب إلى المدخلات على البوابات الفردية. مع وجود 4 بوابات في كل عبوة / شريحة ، كنت بحاجة إلى عبوتين واستخدمت جميع البوابات. إذا وجدت إصدارًا من flip-flop يمكنه تشغيل مصابيح LED دون الحاجة إلى تخزين مؤقت مثل هذا ، فلن تكون هناك حاجة إلى هاتين الشريحتين. إذا كنت تستخدم البوابات كمخزن مؤقت لا يحتوي على مخرجات مقلوبة (AND / OR / XOR) ، فيمكنك توصيل مصابيح LED كما تتوقع. إذا كنت تستخدم نفس الأجزاء مثلي و / أو كانت النواتج مقلوبة ، فيجب أن تكون مصابيح LED سلكية كما هو موضح أدناه. تُظهر الصورة الأولى جزء IC من الإخراج.

استخدم مقاومات 330 أوم لربط مصابيح LED الموجبة (الأنود) بقضيب 5 فولت وتوصيل السالب (الكاثود) بمخرج البوابات. يمكنك أن ترى في الصورة الثانية أنني استخدمت حافلتين مقاومتين ، ولكل منهما خمس مقاومات داخلية فقط. سيؤدي توصيل مصابيح LED مثل هذا إلى جعلها تضيء عند إيقاف تشغيل الإخراج. نقوم بذلك لأن الإخراج متوقف عند تشغيل الإدخال. تأكد تمامًا من تتبع أي بوابات مخرجاتك من أداة التحكم بالقلب. ما لم تكن مصابيح LED مبعثرة أو لا معنى لترتيبها ، فقد يتسبب فقدان تتبعها في حدوث ارتباك لاحقًا عندما تسأل نفسك عن سبب الخطأ في الإخراج.

الخطوة 6: توصيل الأسلاك المدخلات

الأسلاك المدخلات
الأسلاك المدخلات

خذ قلاب 74HC374 وضعه في مكان ما. كان منجم في مكان ما أسفل Z80 باتجاه أسفل اللوحة. تذكر آخر مرة قمنا فيها بتوصيل D0 بـ D0 و D1 بـ D1 وما إلى ذلك؟ هذه المرة نقوم بتوصيل Q0 بـ D0 و Q1 بـ D1 وما إلى ذلك. لحسن الحظ ، لا يتعين علينا إضافة أي رقائق عازلة هذه المرة ، هاها. بدلاً من ذلك ، سنقوم بتوصيل 10 كيلو أوم بكل دبوس "D" (D0-D7) والأرضي ثم زر إلى نفس المسامير وسكة 5 فولت. أو يمكنك استخدام ناقل المقاوم وتقليل عدد الأجزاء الخاصة بك كثيرًا. ستساعد مصفوفة الزر 3 × 4 (بدون ناتج مصفوفة !!) أيضًا. تُظهر الصورة مجمل دائرة الإدخال جنبًا إلى جنب مع منطق الغراء (هذا الجزء هو التالي).

الخطوة 7: منطق الغراء

لدينا شيء أخير لنسلكه. يطلق عليه "منطق الغراء" لأنه يستخدم لفك تشفير إشارات التحكم لجعل كل شيء يعمل ؛ هذا ما يربط الدائرة ببعضها البعض. عندما يريد المعالج كتابة البيانات إلى المخرجات ، ينخفض كل من / IORQ و / WR (20 و 22 على التوالي) ويتم تأكيد البيانات التي يتم إرسالها في ناقل البيانات. يكون دبوس الساعة على كل من flip-flops نشطًا بدرجة عالية ، مما يعني أن البيانات يتم غلقها عندما يتلقى الدبوس إشارة عالية. نستخدم بوابة NOR وسلك / IORQ لمدخل واحد للبوابة و / WR للمدخل الآخر. عندما يكون أي منهما مرتفعًا ، مما يعني أنه لم يتم تحديد دوائر الإدخال والإخراج أو لم يتم تنفيذ عملية كتابة ، فإن الإخراج الذي يغذي ساعة flip-flop يظل منخفضًا. عندما يكون كلا المُدخَلين منخفضين ، وفقط عندما يرتفع الناتج ويغلق flip-flop البيانات.

الآن نحن بحاجة إلى توصيل مدخلات الوجه بالتخبط. يمكننا توصيل دبوس الساعة بنفس الطريقة السابقة ، ولكن باستخدام / IORQ و / RD. ولكن على عكس flip-flop الآخر ، لدينا أيضًا دبوس / OE يحتاج إلى خفض فقط عندما يكون / IORQ و / RD منخفضين. يمكننا استخدام بوابة OR. أو يمكننا فقط أخذ الإشارة التي لدينا بالفعل للساعة وعكسها بإحدى البوابتين المقلوبتين المتوفرتين لدينا بالفعل. في وقت ذكر هذا التوجيه ، لم يكن لدي بوابة OR متاحة ، لذلك استخدمت أحد الخيار الأخير. يعني استخدام الخيار الأخير أنني لست بحاجة إلى إضافة أي أجزاء إضافية على أي حال.

الخطوة الثامنة: البرمجة

إذا كان توصيل الأسلاك الخاص بك صحيحًا وكان توضيحي واضحًا ، فكل ما تبقى هو الحصول على ذاكرة ROM مبرمجة. هناك عدة طرق للقيام بذلك. يمكنك اتباع الطريقة السهلة وطلب شريحة جديدة من Digikey. عندما تطلب القطعة ، سيكون لديك خيار تحميل ملف HEX وسيقومون ببرمجته قبل شحنه. استخدم ملفات HEX أو OBJ المرفقة بهذا الدليل وانتظر فقط حتى تصل في البريد. الخيار 2 هو بناء مبرمج باستخدام Arduino أو شيء من هذا القبيل. لقد جربت هذا المسار وفشلت في نسخ بعض البيانات بشكل صحيح واستغرق الأمر أسابيع لمعرفة ذلك. انتهى بي الأمر بعمل الخيار 3 ، وهو برمجته يدويًا وقلب المفاتيح للتحكم في العنوان وخطوط البيانات.

بمجرد تحويله مباشرة إلى كود OP الخاص بالمعالج ، فإن هذا البرنامج بأكمله يقع على مساحة 17 بايت فقط من مساحة العنوان ، لذلك لم تكن البرمجة اليدوية سيئة للغاية. يتم تحميل البرنامج في سجل الأغراض العامة B بقيمة 00. ويستخدم السجل B لتخزين نتيجة الإضافة السابقة. نظرًا لأن السجل A هو المكان الذي تحدث فيه الرياضيات ، فلن نستخدمه لتخزين البيانات.

عند الحديث عن السجل A ، نقوم بتنفيذ أمر IN ، والذي يقرأ المدخلات ، ونخزن بيانات القراءة في A. ثم نضيف محتويات السجل B ونخرج النتيجة.

بعد ذلك ، يتم نسخ السجل A في السجل B. ثم نقوم بسلسلة من أوامر القفز. نظرًا لأن جميع القفزات تشير إلى البايت السفلي لأسطر العنوان ، ولأن البايت العلوي لتعليمات الانتقال معطى في الوسيطة الثانية وهو "00" ، يمكننا فرض كل قفزة على أن يتبعها NOP. نقوم بذلك لإعطاء الوقت بين إظهار المخرجات ومدخلات القراءة لمنع الإدخال العرضي. تستخدم كل قفزة عشر دورات على مدار الساعة ويستخدم كل NOP أربع دورات. إذا استغرقت الحلقة وقتًا طويلاً حسب رغبتك ، فيمكنك زيادة سرعة الساعة أو يمكنك إعادة برمجتها لاستخدام قفزة واحدة أقل.

الخطوة 9: الاختبار

إذا قمت بتوصيل كل شيء بشكل صحيح وتم برمجة ROM الخاص بك بشكل صحيح ، فهناك خطوة أخيرة يجب اتخاذها: قم بتوصيله ومعرفة ما إذا كان يعمل. اضغط على زر وانتظر بضع ثوان. يستغرق البرنامج 81 دورة ساعة للوصول إلى الحلقة الأولى ، وتستغرق كل حلقة 74 دورة على مدار الساعة.

إذا لم ينجح الأمر ، فتحقق من وجود قصور ودبابيس غير متصلة (تفتح) ومشكلات أخرى في الأسلاك. إذا قمت بإلغاء الاشتراك في إعادة تعيين التشغيل ، فستحتاج إلى إجراء إعادة تعيين يدويًا قبل أن يقوم المعالج بأي شيء. يمكنك أيضًا إرفاق مصابيح LED بناقل العنوان لمعرفة ما إذا كان يتصرف أم لا. كنت أواجه مشكلات مع ذلك بنفسي ، لذلك قمت بإلصاقهم مباشرة بحافلة البيانات بدلاً من ذلك. سمح لي هذا بمعرفة ما تم توصيله بين المعالج و ROM دون الحاجة إلى القلق بشأن ما إذا كان ROM يُقرأ بشكل صحيح ، الأمر الذي كان سيتطلب مخططات توقيت ولم أرغب في المشاركة في ذلك. تبين أنه كان اختيارًا جيدًا لأنني اكتشفت أخيرًا رموز OP التي تم تخزينها بشكل غير صحيح.

موصى به: