السلام عليكم
اخي الكريم ..
يمكن ان تتابع مشروعك بالفئة 16 وعندما تصل الى نتيجة مرضية .. تنتقل ان شاء الله الى pic18f4550 لاضافة خاصية التواصل مع الحاسب بال USB.
فإذا كان ممكنا ارفع هنا ملف مشروعك بأحد المتحكمات 16 مع ترجمة التوقيتان في المبيانات الى عبارات وجمل .
وتأكد أخي الكريم ..وكما قلت لك سابقا أن مساعدة الاخوة الاعزاء في تحقيق مشاريعهم الخاصة بهم هدف نسعى اليه حسب المستطاع ..
|
السلام عليكم
أخي زكي البرنامج هو كالأتي :
لدينا متحكم من نوع (pic16f627A/628A/648A) نبرمج خمسة مخارج
(RA0/RA1/RA2/RA3/RA4) وثلاثة مداخل(RB0/RB1/RB2 )مرتبطة ب" لواقط إلكترونية " (IN1,IN2,IN3).و للتبسيط هي عبارة عن boton poussoir.
في الحالة 1 :
IN1=1
IN2=0
IN3=0
تعني العبارة أنه عند دخول الإشارة من IN1 إلىالمتحكم عبر المدخل RB1
يقوم المتحكم بعمل البرنامج التالي:

أي تخرج الإشارة من المخارج RA0/RA1/RA2/RA4
وبمدد زمنية مختلفة كالآتي :
RA0=A: تدوم الإشارة لمدة دقيقة ونصف 1:30s وتنطفئ الإشارة.
RA1=B: تدوم الإشارة لمدة أربعة دقائق ونصف 4:30s وتنطفئ الإشارة.
RA2=C:تدوم الإشارة لمدة دقيقتين 2min وتنطفئ لمدة نصف دقيقة 30s ثم تخرج الإشارة ثانية لمدة دقيقتين 2min وتنطفئ الإشارة.
RA4=E:يتأخر خروج الإشارة لمدة دقيقتين ونصف 2:30s ثم يخرج لمدة دقيقتين 2min وتنطفئ الإشارة.
الحالة 2 : أي المقاطعة :
IN2=1 و IN1=0/1 و IN3=0/1
تعني العبارة أنه عند دخول الإشارة من IN2 إلىالمتحكم عبر المدخل RB0
يقوم المتحكم بعمل البرنامج التالي: وهي نفس أوامر
الحالة 1 مضاف إليها أمر اشتغال المخرج :
RA3=D : تدوم الإشارة لمدة سبع ثواني 7s وتنطفئ الإشارة
كما يوضح المبيان:

والملاحظ أخي أن الهدف من المقاطعة هو الجزء D فقط.
فكيف يمكنني إستخدام المقاطعة لتشغيل المخرج RA3=D فقط وفي نفس اللحضة عودة المتحكم إلى نقطة بداية
الحالة 1 ؟
للتوضيح أكثر : برنامج المقاطعة هو تشغيل المخرج RA3=D مع إعادة الحالة 1 إلى البداية.
لكن المشكل المطروح هو انني لا أريد دمج برنامج الحالة 1 في المقاطعة لأن المتحكم لن يقوم بأي عمل اخر حتى يكمل المقاطعة.