جدول المحتويات:
- اللوازم
- الخطوة 1: لوحة الدوائر
- الخطوة الثانية: نظرية البرمجة
- الخطوة 3: برنامج Arduino والإخراج
- الخطوة 4: الخاتمة
فيديو: 6502 و 6522 الكمبيوتر الأدنى (مع Arduino MEGA) الجزء 2: 4 خطوات
2024 مؤلف: John Day | [email protected]. آخر تعديل: 2024-01-30 07:38
متابعة من Instructable السابق ، لقد قمت الآن بوضع 6502 على لوحة شريطية وأضفت 6522 محول واجهة متعدد الاستخدامات (VIA). مرة أخرى ، أنا أستخدم إصدار WDC من 6522 ، حيث إنه مطابق تمامًا ل 6502. لا تستخدم هذه الرقائق الجديدة طاقة أقل بكثير من إصدارات MOS الأصلية فحسب ، بل يمكن تشغيلها بسرعات أبطأ أو حتى التنقل خلالها برنامج بدون أي مشاكل.
تم كتابة برنامج Arduino في الأصل بواسطة Ben Eater (الذي لديه العديد من مقاطع الفيديو على YouTube) وتم تعديله بواسطتي لتحقيق هذه النتيجة.
اللوازم
1 × معالج WDC W65C02
1 × WDC W65C22 محول واجهة متعدد الاستخدامات
1 × 74HC00N IC (بوابة NAND رباعية دخلين) أو ما شابه ذلك
1 × 10 سم (35 خط) لوح شريطي
2 × 40 دبوس مآخذ DIL
1 × 14 دبوس مقبس DIL
دبابيس رأس PCB 2.54 مللي متر
مقابس رأس ثنائي الفينيل متعدد الكلور 2.54 مللي متر
1 × 12 مم لحظة اللمس زر التبديل ثنائي الفينيل متعدد الكلور شنت SPST أو ما شابه ذلك
1 × 1 كيلو المقاوم
1 × 3K3 المقاوم
مكثفات سيراميك 2 × 0.1 فائق التوهج
1 × 8 طريقة إضاءة مائية سرادق 5 مللي متر أحمر LED
سلك ملون مختلف للوصلات
8 أسلاك توصيل ذكر - ذكر
الخطوة 1: لوحة الدوائر
لوحة الدائرة مضغوطة تمامًا ويتم توصيل الجانب السفلي مباشرة بـ Arduino MEGA. لتحقيق ذلك ، يتم دفع المسامير إلى أقصى حد ممكن في حوامل البلاستيك قبل أن يتم لحامها في الجانب السفلي من اللوحة. كان من الممكن استخدام دبابيس أطول لهذا الغرض ، لكن المسامير القياسية تعني أن اللوحة تستقر بقوة فوق MEGA.
لقد اصطفت الدوائر المتكاملة 6502 و 6522 بحيث تستفيد من مسارات لوحة الشريط للاتصال بـ MEGA. هناك أيضًا بعض الوصلات الخاصة بـ 6502 مخفية تحت IC. عند صنع السبورة ، كان أول ما يجب فعله هو قطع 16 شريطا والتي ستتصل بصف مزدوج من مآخذ Arduino. لا يلزم قطع 2 الخارجي لأن 5v و Gnd على كلا الجانبين. اللحام التالي في الصفين من 18 دبوسًا على الجانب السفلي ، والصفين من 18 مقبسًا في الجانب العلوي.
بعد ذلك تم لحام مآخذ DIL في مكانها وقطع المسارات بينها. كان بإمكاني حفظ اتصال عن طريق وضع دبوس 14 من 74HC00 على نفس المسار مثل 5 فولت. لقد قطعت المسارات فقط عندما كنت متأكدًا من أنهم بحاجة إلى أن يكونوا أثناء لحام أسلاك التوصيل. ومع ذلك ، لا تسير الأمور دائمًا كما هو مخطط لها ، فقد صممت في الأصل لوحة الشريط من لوحة الخبز السابقة باستخدام المسامير 2 و 3 و 7 من Arduino ، لكن هذه لا تتوافق مع الثقوب الموجودة في لوحة الشريط ، لذلك كان لا بد من استخدامها دبابيس 18 و 31 و 37. ومن هنا جاءت الروابط الموجودة على لوحي في 31 و 37. قد تتساءل لماذا لم أستخدم أحد المسامير غير المستخدمة (23 ، 24 إلخ) على مدار الساعة ، هذا لأنهم لا يدعمون المقاطعات ، لذلك كان لا بد من استخدام دبوس 18 أو 19 أو 20 أو 21 الذي يعمل. لحسن الحظ ، تصطف هذه المسامير الأربعة مع الثقوب الموجودة في لوحة الشريط وتبقي كل شيء مضغوطًا. يعتبر Pin 18 أيضًا الأبعد عن جميع الأسلاك الأخرى.
قد تلاحظ أيضًا أن لوحتي المكتملة ليست تمامًا نفس الرسم التخطيطي الخاص بي. هذا لأنني كنت أتبع مخطط شخص آخر. ومن هنا جاءت التوصيلات بـ 74HC00. لقد أضفت أيضًا مؤشر LED للطاقة وصفين إضافيين من المقابس لـ Gnd و 5 فولت بالإضافة إلى مكثفات أخرى.
كان بإمكاني توصيل مآخذ البيانات ، لكن هذا قد يعني وجود المزيد من الأسلاك التي تعبر اللوحة. لقد اخترت 8 أسلاك توصيل للقيام بذلك كإجراء مؤقت.
يحتوي المنفذان 6522 A و B على مآخذ ملحومة في مساراتهما بحيث يمكن إدخال علامات LED بسهولة.
عدد الأسلاك الآن أقل بكثير مما كان عليه في إصدار لوح الخبز.
الخطوة الثانية: نظرية البرمجة
يحتوي 6522 على منفذي إدخال / إخراج بالإضافة إلى العديد من الميزات الأخرى ، ولكن يمكن الوصول بسهولة إلى المنفذين A و B. لإخراج البيانات على المنفذ ، يجب تعيين سجل اتجاه البيانات (DDR) وفقًا لذلك وإرسال البيانات إلى المنفذ نفسه.
مع الإعداد أعلاه ، يقع 6522 في E000 دولار.
لإخراج البيانات على المنفذ B ، يتم تعيين DDR عند $ E002 على $ FF (255 - جميع المخرجات) ويتم إرسال البيانات إلى $ E000.
لإخراج البيانات على المنفذ A ، يتم تعيين DDR عند $ E003 إلى $ FF (255 - جميع المخرجات) ويتم إرسال البيانات إلى $ E001.
يقوم الكود أدناه بتحميل $ FF في السجل 6502 A وكتابته على DDR B بسعر E002 دولار. ثم يقوم بتحميل 55 دولارًا ويكتبها في ORB. يتم تدوير الكود (إعطاء AA دولارًا) وكتابته إلى ORB. البرنامج يقفز مرة أخرى tp $ 1005 ويتكرر إلى ما لا نهاية. ملاحظة: يحتاج DDR إلى التهيئة مرة واحدة فقط.
العنوان Hexdump Dissassembly
1000 دولار أمريكي
55 دولارًا في النظام الثنائي هو 010101010 و $ AA هو 10101010 مما يتسبب في تبديل المصابيح 4 ، و 4 إيقاف.
الإصلاح السريع والقذر:
استبدل 74HC00 (Quad 2 input NAND Gate) بـ 74HC08 (Quad 2 input AND Gate) و 6522 يقع الآن عند 6000 دولار بدلاً من E000 دولار. يؤدي هذا إلى نقله من 32 كيلو بايت العلوي إلى 32 كيلو بايت السفلي من الذاكرة القابلة للتوجيه الخاصة بـ 6502.
الخطوة 3: برنامج Arduino والإخراج
نظرًا لأن 6502 لا يحتوي على ذاكرة وصول عشوائي للقراءة منها ، فإن Arduino يوفر البرنامج لقراءته. عند اكتشاف نبضة على مدار الساعة على الرقم 18 ، يضع Arduino بيانات البرنامج على ناقل البيانات (دبابيس Arduino 39 و 41 و 43 و 45 و 47 و 49 و 51 و 53). يولد 6502 عناوينه الخاصة التي لا يتم مراقبتها إلا بواسطة Arduino على المسامير المرقمة من 22 إلى 52. يقوم Arduino أيضًا بتزويد نبض الساعة على الدبوس 37. يتم مراقبة خط R / W لـ 6502 على دبوس 31.
نظرًا لأن Arduino يوفر البيانات ، لم يكن من الممكن حتى الآن الحصول على 6502 لإدخال البيانات من VIA (ما لم تكن تعرف جيدًا).
برنامج Arduino أدناه وعينة إخراج من Serial Monitor أعلاه.
الخطوة 4: الخاتمة
مرة أخرى حاولت أن أوضح كيفية إعداد الحد الأدنى من "6502 Computer".
في هذه المرحلة ، لا يزال 6502 يعتمد على Arduino لتزويده ببرنامج ونبض ساعة من أجل تشغيله.
إنها خطوة أبعد مما كانت عليه عندما قمت بإعداده على لوح الخبز.
لم أستخدم 74HC373 هذه المرة ولكن 6522 الأكثر تعقيدًا لإغلاق مخرجات البيانات. يحتوي 6522 أيضًا على منفذي إدخال / إخراج.
أنوي أخذ هذا المشروع إلى أبعد من ذلك عن طريق تثبيت بعض ذاكرة SRAM أو EEPROM.
موصى به:
6502 كمبيوتر صغير (مع Arduino MEGA) الجزء 3: 7 خطوات
6502 Minimal Computer (مع Arduino MEGA) الجزء 3: المضي قدمًا ، لقد أضفت الآن Octal Latch و 8 مصابيح LED مستطيلة ومجموعة مقاومة 220 أوم إلى اللوحة الرئيسية. يوجد أيضًا رابط بين الدبوس المشترك للصفيف والأرض ، بحيث يمكن إيقاف تشغيل مصابيح LED. بوابة 74HC00 NAND h
6502 كمبيوتر صغير (مع Arduino MEGA) الجزء 1: 7 خطوات
6502 Minimal Computer (مع Arduino MEGA) الجزء 1: ظهر المعالج الدقيق 6502 لأول مرة في عام 1975 وصممه فريق صغير بقيادة Chuck Peddle لـ MOS Technology. في ذلك الوقت ، تم استخدامه في وحدات تحكم الفيديو وأجهزة الكمبيوتر المنزلية بما في ذلك Atari و Apple II و Nintendo Entertainment System و BBC Micr
جهاز التحكم في الكمبيوتر Groove Coaster [الجزء 1: Booster Hardware]: 9 خطوات
جهاز تحكم Groove Coaster للكمبيوتر الشخصي [الجزء 1: أجهزة معززة]: العمل على وحدة تحكم كمبيوتر لإصدار Groove Coaster PC القادم على Steam إليك برنامج تعليمي صغير حول كيفية تجميع الأجهزة من أجل معزز قائم على عصا الأركيد
الحد الأدنى من صندوق المؤثرات الصوتية من Arduino: 5 خطوات
الحد الأدنى من صندوق تأثير صوت Arduino: هذا مشروع سريع لمربع مؤثرات صوتية ، حيث يقرأ الجهاز ملف wav مسجل مسبقًا من بطاقة microSD مخصصة لزر معين ويقوم بتشغيله عند الضغط عليه
كيف تجعل الكمبيوتر المحمول الخاص بك يحافظ على طاقة البطارية مع الحد الأدنى من فقدان الأداء: 4 خطوات
كيف تجعل الكمبيوتر المحمول الخاص بك يحافظ على طاقة البطارية مع الحد الأدنى من فقدان الأداء: من يقول أن الكمبيوتر المحمول الخاص بك يجب أن يعاني من بطء الأداء لتوفير القليل من الطاقة؟ يعتمد مقدار تغير الأداء أو عمر البطارية على عمر الكمبيوتر المحمول وعمر البطارية والبرامج والإعدادات الأخرى. فيما يلي بعض الخطوات البسيطة للمساعدة في زيادة