portB عن طريق تبديل 16F819

C

coolchip

Guest
عندما كنت تبديل portB باستخدام الفائض Timer1 المقاطعة وأنا لا أرى لتبديل الصمام.ولكنه يعمل بشكل جيد في محاكاة mplab.
أي أفكار؟
لقد تركت المتبقية 7 موانئ portb واحدة مفتوحة ومتصلة مع R470 أدت في السلسلة.

 
مرحبا

يمكنك الرجاء نشر هذا الجزء من القانون ، التي من شأنها أن تجعل هذه المهمة أسهل بالنسبة للرجال التي تريد مساعدتك...

 
قائمة ع = 16F819
errorlevel -302
# تشمل <P16F819.INC>

غزاله 00h
غوتو الرئيسية

غزاله 04H
طلب الميزانية الإضافية غوتو

طلب الميزانية الإضافية
قوات حرس الحدود حالة ، RP0
TRISB clrf

مكعبة حالة ، RP0
comf PORTB ، 1

الأحيائي PIR1 ، TMR1IF ؛ ضبطه العلم

الرئيسيةBANKSEL TMR1H
MOVLW 0x80 ؛ التحميل المسبق TMR1 سجل الزوج
MOVWF TMR1H ؛ لتجاوز الثانية 1
CLRF TMR1L
MOVLW b'00001111 '؛ تكوين لعقارب الساعة الخارجية 32.768 كيلو هرتز xtal
MOVWF T1CON ؛ عملية غير متزامنة ، مذبذب خارجي

BANKSEL PIE1
البنك السعودي الفرنسي INTCON ، 7
البنك السعودي الفرنسي INTCON ، 6
البنك السعودي الفرنسي PIE1 ، TMR1IE ؛ تمكين Timer1 المقاطعة

نهاية

؛ شكرا لك!

 
مرحبا

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

 
إذا كان هذا هو رمز بكامله ، ثم لديها بعض القضايا الخطيرة :

1.لا يوجد حلقة رئيسية ، رمز سيتم تنفيذ مرة واحدة فقط
، ثم تذهب من خلال ذاكرة البرنامج كله دون أن تفعل شيئا ، والبدء من جديد ، والذهاب مرة أخرى من خلال التهيئة.لذا تحتاج تعليمة غوتو في نهاية التعليمات البرمجية الفعلية ، لضمان أن تذهب إلى حيث تريد (الانتظار في حلقة لالمقبل TMR1 المقاطعة ، على سبيل المثال).
2.وطلب الميزانية الإضافية لا تنتهي مع RETFIE.هذه هي التعليمات التي سوف البوب الكمبيوتر إيقاف المكدس وعودة السيطرة الى البرنامج الرئيسي بطريقة سليمة.
3.لم تقم بحفظ دبليو ولا تسجيل حالة بناء على طلب الميزانية الإضافية دخول.(وهذا قد لا يكون مسألة بسيطة في هذا القانون).قبل تنفيذ retfie ، استعادة السجلات ومركز دبليو.راجع المقطع على المقاطعات لكيفية القيام بهذه الاشياء.
4.أنا لا أفهم لماذا TRISB واضحا في طلب الميزانية الإضافية.هذا يجب أن يكون جزءا من intialization ، قبل أن تدخل في الحلقة الرئيسية.
5.موقت لابد من إعادة تهيئة بعد كل تجاوز ، من أجل الحصول على نفس فترة المهلة في كل مرة.أفضل مكان لذلك هو في طلب الميزانية الإضافية ، نظرا لأنه سيتم في وقت قريب جدا بعد أن فاض الموقت (أ دورات تعليم قليلة ، المرتبطة الإرشادات في طلب الميزانية الإضافية التي هي ضرورية في الواقع قبل أن تتمكن من تحميل الموقت ، مثل السياق الادخار وتحميل دبليو مع تصحيح توقيت تحديث القيمة).
6.TMR1 هي هامشية ، لذلك يجب أيضا تمكين المقاطعات المحيطة بها أيضا الإعداد بت PEIE في INTCON.أيضا ، تحتاج إلى تعيين منطقة غزة الصناعية ، لتمكين جميع المقاطعات.

هذا ليس القصد من النقد ، ولكن كدليل.

 
مرحبا VVV

كنت ويبدو أن الرجل ، وتعليقات لطيفة في الفعل ، وأشياء لا أرى ، وذلك بفضل الكثير!

 
بفضل VVV لتعليقاتكم لا تقدر بثمن.
الرجاء نشر المزيد من الموافقة المسبقة عن علم على التجمع ، وعلينا جميعا أن نتعلم الكثير من المشاركات.

 
coolchip كتب :

قائمة ع = 16F819

errorlevel -302

# تشمل <P16F819.INC>غزاله 00h

غوتو الرئيسيةغزاله 04H

طلب الميزانية الإضافية غوتوطلب الميزانية الإضافية

قوات حرس الحدود حالة ، RP0

TRISB clrfمكعبة حالة ، RP0

comf PORTB ، 1الأحيائي PIR1 ، TMR1IF ؛ ضبطه العلمالرئيسيةBANKSEL TMR1H

MOVLW 0x80 ؛ التحميل المسبق TMR1 سجل الزوج

MOVWF TMR1H ؛ لتجاوز الثانية 1

CLRF TMR1L

MOVLW b'00001111 '؛ تكوين لعقارب الساعة الخارجية 32.768 كيلو هرتز xtal

MOVWF T1CON ؛ عملية غير متزامنة ، مذبذب خارجيBANKSEL PIE1

البنك السعودي الفرنسي INTCON ، 7

البنك السعودي الفرنسي INTCON ، 6

البنك السعودي الفرنسي PIE1 ، TMR1IE ؛ تمكين Timer1 المقاطعةنهاية؛ شكرا لك!
 

Welcome to EDABoard.com

Sponsor

Back
Top