دوائر متحكم

دوائر متحكم

Jump to TINA Main Page & General Information 

TINA يدعم الكثير من (الموافقة المسبقة عن علم ، AVR ، اردوينو, 8051 ، HCS ، STM ، ARM ، TI-Tiva ، TI-Sitara ، Infineon-XMC) ميكروكنترولر. يتم باستمرار إضافة وحدات MCU جديدة. يمكنك رؤية البرنامج الذي يعمل في المعالج وتعديله وتصحيحه ، ويمكنك بالطبع إنشاء التعليمات البرمجية الخاصة بك.

هناك طريقتان لتوفير البرنامج لميكروكونترولر في TINA. يمكنك استخدام الرمز الثنائي وملف التصحيح الذي تم إنشاؤه بواسطة برنامج التحويل البرمجي القياسي (مثل MPLAB لـ PICs) أو يمكنك فقط تحميل رمز التجميع الخاص بك لتشغيل وتصحيح الأخطاء في TINA باستخدام مصحح أخطاء المجمع المدمج.

إنشاء دائرة عداد بسيطة باستخدام متحكم PIC مع برمجة لغة التجميع

إنشاء دائرة عداد بسيطة باستخدام متحكم PIC مع برمجة لغة C

متحكم تصحيح الأخطاء الأساسية باستخدام TINA

في TINA ، يمكن محاكاة ميكروكنترولر ليس فقط وحده ولكن أيضًا مع النماذج التناظرية أو الرقمية أو HDL أو غيرها من النماذج.

تشغيل وتحرير كود MCU

قم بتحميل الدائرة PIC Flasher.TSC من المجلد ExamplesMicrocontrollersPic.

سيظهر المخطط التالي باستخدام متحكم 16F73 PIC مع متحكم 16F73 PIC:

دوائر متحكم ، صورة 1

هذه الدائرة ببساطة تحسب للأمام واحد تلو الآخر. اضغط على زر لمعرفة كيف يعمل.

يجب أن يتقدم العرض خطوة بخطوة.

انقر نقرًا مزدوجًا فوق MCU لرؤية رمز ASM فيه. (انظر المزيد من التفاصيل في دليل البدء السريع).

TINA لديها ميزة رائعة حيث يمكنك تعديل وتغيير شفرة المصدر مباشرة في TINA.

يتيح إجراء التغيير التالي في التعليمات البرمجية:

قم بتغيير التعليمات (المحددة أعلاه) في السطر 25 (يمكنك رؤية رقم السطر في الزاوية اليمنى السفلى من نافذة محرر الشفرة):

من addlw 01H

لإضافة 02H

احفظ الكود الذي تم تغييره في TINA بالضغط على رمز وإغلاق النوافذ MCU مفتوحة.

إذا قمت بالضغط على الزر الآن ، ستكون الزيادة 2!

لاحظ أنه سيتم حفظ الكود الذي تم تغييره تلقائيًا في ملف TINA .TSC.

باستخدام المصحح

دعونا نرى تطبيق آخر مع مزيد من التفاعل.

قم بتحميل مثال PIC16F84interrupt_rb0.TSC من TINA من المجلد ExamplesMicrocontrollersPic.

اضغط على زر. يبدو في البداية أن لا شيء يحدث.

ومع ذلك ، إذا قمت بالنقر فوق مفتاح SW-HL1. ، فستتقدم الشاشة إلى الأمام بواسطة 1 في كل مرة يتحول فيها المفتاح من منخفض إلى مرتفع.

ستتيح لنا إمكانية معالجة المقاطعة في PIC اكتشاف تغييرات المحول.

الآن دعونا نرى العملية بمزيد من التفاصيل باستخدام مصحح أخطاء ASM التفاعلي في TINA.

لتنشيط المصحح ، حدد الخيار في قائمة التحليل. ثم قم بتعيين مربع الاختيار "تمكين MCU Code debugger" ، كما هو موضح أدناه في مربع الحوار "خيارات التحليل".

اضغط على الزر "موافق" وسيظهر مصحح MCU:

دعنا نتبع تنفيذ البرنامج خطوة بخطوة عن طريق الضغط على تتبع في زر.

بعد نقرات 14 تقريبًا ، نصل إلى PT1: التصنيف حيث يبدو أن البرنامج في حلقة لا نهائية.

PT1: INCF TEMP ، F GOTO PT1

انقر الآن على مفتاح SW-HL1 وقم بتغييره إلى مرتفع. (يجب أن تنقر عندما يتغير المؤشر إلى سهم للإشارة لأعلى Î). ارجع إلى المصحح وانقر فوق تتبع في زر مرتين. سوف يتعرف البرنامج على المقاطعة ويقفز إلى


NT_SERV: label.
INT_SERV: INCF COUNTER, F MOVF COUNTER, 0 MOVWF PORT

زيادة COUNTER ونسخه إلى PORT A ، وسيكون الإخراج 1. بعد ذلك ، سيعود البرنامج إلى "حلقة لا نهائية" في PT1.

تحرير التعليمات البرمجية في المصحح

الآن دعونا نجري تغييرًا بسيطًا في البرنامج لإظهار استخدام مصحح الأخطاء. تكرار عبارة INCF COUNTER ، F باستخدام Copy and Paste مثل هذا:

        INT_SERV:
        INCF COUNTER, F 
        INCF COUNTER, F 
        MOVF COUNTER, 0
        MOVWF PORTA    

الآن عند الضغط على سوف يسأل البرنامج:

اضغط نعم واضغط على زر مرة أخرى. الآن ستكون الزيادة 2 عند كل تغيير منخفض في المحول.

يمكنك أيضا التحقق من الدائرة في وضع التشغيل المستمر للمصحح عن طريق الضغط على .

على الرغم من أن مصحح الأخطاء سيعمل بسرعة ، إلا أنه لا يزال بإمكانك رؤية "دورة لا نهائية" ثم الانتقال إلى جزء خادم المقاطعة (INT_SERV:) عند تغيير المفتاح.

جعل نقطة توقف

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

للتوقف عند سطر معين ، يمكنك وضع علامة على العبارة الهدف عن طريق تعيين "نقطة توقف".

قم بتشغيل البرنامج في الوضع المستمر للمصحح باستخدام تشغيل الأمر والآن سيتوقف البرنامج عند السطر المرغوب قبل تنفيذ الأمر المحدد.

لإثبات ذلك ، انقر فوق بيان الزيادة في خادم المقاطعة الخاص بنا بعد INT_SERV: label واضغط على تبديل زر كسر.

الآن اضغط على زر التشغيل. يبدأ البرنامج في التشغيل في "دورة لانهائية".

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

   INT_SERV:
             INCF COUNTER, F

الآن يمكنك متابعة خطوة بخطوة أو في وضع التشغيل