متحكم افتراضي 4 بت مع برمجة بثلاثة أزرار وأربعة مفاتيح



يحاكي الجهاز المقترح على متحكم ATmega4809 وحدة تحكم مجردة 4 بت مع مساحة عنوان 256 بايت ، والتي يمكن برمجتها مع ثلاثة أزرار وأربعة مفاتيح.

مساحة العنوان مقسمة إلى 16 صفحة مع 16 تعليمات لكل منهما. طول التعليمات هو 8 بت ، وأهمها الأربعة هي الأوامر ، والأربعة السفلية هي البيانات:



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

قائمة الأوامر:

0x0 - تحميل قيمة ثابتة في منفذ doutB
0x1 - نفس الشيء في منفذ doutA
0x2 - توقف مؤقت
0x3 - القفز غير المشروط النسبي
0x4 - تحميل قيمة ثابتة في المتغير A
0x5 - قم بتحميل شيء بقيمة المتغير A
0x6 - قم بتحميل قيمة شيء ما في المتغير A
0x7 - إجراء العمليات الحسابية والمنطقية مع المتغير A (و B)
0x8 - تعيين nibble عالية العنوان لتعليمات الانتقال غير المشروط المطلقة
0x9 - إجراء قفزة مطلقة غير مشروطة إلى العنوان المحدد
0xA ، 0xB - تعمل مثل حلقة for: في كل مرة يتم فيها تنفيذ الأمر ، إذا كان المتغير C (أو D) أكبر من الصفر ، يحدث انتقال غير مشروط مطلق إلى العنوان المحدد ، ثم تنخفض قيمة المتغير C (أو D)
0xC - تخطي العبارة التالية إذا كانت الوسيطة وحدة منطقية
0xD - استدعاء الوظيفة على العنوان المحدد
0xE - العودة من وظيفة تسمى
0xF - تعيين عنوان ذاكرة الوصول العشوائي الافتراضية 4 بت ، يمكن قراءة القيمة المخزنة في هذا العنوان بالتعليمات 0x6E وكتابتها بالتعليمات 0x50.

مثال 1 - المتعري:

   0 1f      doutA 1 28  500  2 10      doutB 3 28  500  4 34     -4  

مثال 2 - عداد ثنائي:


    0 5B DoutB = A 1 59 PWM1 = A 2 71 A++ 3 28  500  4 34     -4  

مثال 3 - المتعري مع سرعة قابلة للتعديل (مع روتين فرعي):


     : 0 10 DoutA = 0x0 1 d5   myWait 2 1f DoutA = 0xf 3 d5   myWait 4 34     -4   myWait: 5 64 A = Din 6 52 C = A 7 25  50  8 a7 for(C > 0; C--) jmp 7 9 e0  

القيادة:







جميع الملفات الضرورية للتكرار (اللوحة ، البرامج الثابتة ، إلخ) - بالرجوع إلى الأصل. كان جهاز محاكاة TPS الألماني ، الذي يتميز بإمكانيات متقاربة ، بمثابة مصدر إلهام للتصميم.

Source: https://habr.com/ru/post/ar451670/


All Articles