قسم الميكروكنترولر والروبوت ودوائر الاتصال بالحاسب الالي قسم المتحكمات الـ microcontroller و المعالجات microprocessor و التحكم الرقمي بالكمبيوتر CNC والانظمة الآلية والروبوت Robots

أدوات الموضوع

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 17-09-2010, 05:15 PM المشاركة 1   
افتراضي برنامج مقاطعة Twitter FaceBook Google+



السلام عليكم
كل عام وانتم بخير
انا عملت برنامج ولم يشتغل ماادري اين المشكلة
البرنامج عبارة عن برنامج مقاطعة على B0 وموصل
على البورت B ثلاث ليدات ( احمر- اخضر- اصفر)
بحيث لو حصلت مقاطقة على B0 اولا اريد البرنامج
يشيك اذا كان الليد الاخضر شغال , يشغل
الليد الاحمر والاصفر واذا كان ليس بشغال (اعني الليد
الاخضر) في هذه الحالة يشغل الليد الاخضر وكذالك الاصفر
واذا لم تحدث المقاطعة جميع الليدات لاتشتغل

void main() {
trisa=0b00000001;
trisb=0b00010001;
portb=0;
intcon=0b10010000;
option_reg=0b11000000;
}
void interrupt(){ //RB0
if(portb.f1==1){ //green
portb.f2=1; //red
portb.f3=1; //Y
}
else{portb.f1=1;//green
portb.f3=1;}//Y
intcon.f1=0;}

اعلانات

الصورة الرمزية mhmd.sh89
mhmd.sh89
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2009
الدولة: لبنان-ضاحية العزة والكرامة
المشاركات: 184
نشاط [ mhmd.sh89 ]
قوة السمعة:0
قديم 17-09-2010, 05:30 PM المشاركة 2   
افتراضي


سلام
أخي يجب أن يكون ال interrupt قبل ال void
شكراً

اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 17-09-2010, 05:54 PM المشاركة 3   
افتراضي


هلا والله اخوي جزاك الله خير على سرعة الرد
جربت طريقتك لكن نفس المشكلة
ارجوا الرد وشكرا


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 17-09-2010, 06:12 PM المشاركة 4   
افتراضي


المقاطعة تاتي على Rb0 و ليس على Rb1

حيدر علاج حسن

ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 17-09-2010, 07:23 PM المشاركة 5   
افتراضي


نعم المقاطعة على RB0 وانا ربط به سوتش لكي اعملها بنفسي وربط على RB1 الليد الاخضر بحيث لو دست على السويتش برنامج المقاطعة يشيك هل الليد الاخضر شغال ام لا ارجوا تكون الفكرة واضحة
ارجوا حل هذه المشكلة


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 10,061
نشاط [ حيدر علاج حسن ]
قوة السمعة:395
قديم 17-09-2010, 10:41 PM المشاركة 6   
افتراضي


تفضل الكود :

كود:
void interrupt(){ //RB0 if(portb.f1==1){ //green portb.f2=1; //red portb.f3=1; //Y } else{portb.f1=1;//green portb.f3=1;}//Y intcon.f1=0;} void main() { trisa=0b00000001; trisb=0b00000001;portb.f1=0;portb.f2=0;portb.f3=0; intcon=0b10010000; }
لكنك لم تذكر الآليه التي يمكن ان يشتغل بها الليد الاخضر قبل حصول المقاطعة . لذلك فانا اقترحت توصيل الليد بمفتاح الى المصدر من خلاله نحدد اذا كان الليد يشتغل ام لا .
و هذه ملفات الكود و البروتوس .

حيدر علاج حسن

الصورة الرمزية mhmd.sh89
mhmd.sh89
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2009
الدولة: لبنان-ضاحية العزة والكرامة
المشاركات: 184
نشاط [ mhmd.sh89 ]
قوة السمعة:0
قديم 17-09-2010, 10:41 PM المشاركة 7   
افتراضي


أنا أرى أن الخطأ في المخطط

أخي يجب أن تكون الرسمة هكذا وهناك مقاومة موصولة =10k بالأرضي:




وإلا لن يعمل المقاطعة


ennng
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 466
نشاط [ ennng ]
قوة السمعة:0
قديم 18-09-2010, 04:21 AM المشاركة 8   
افتراضي


جزاكم الله خيرا
الدائرة من ابدع مايكون اخي حيدر وشغالة 100%
لكن انا اريد توصيل مثلا حساس ايا كان فاذا حس يرسل اشارة ويشتغل الليد الاخضر وحساس اخر موصل مع B0 اي اذا حس يرسل اشارة B0 وبذالك تحصل مقاطعة فاذا حصلت اريد البرنامج يختبر هل الليد الاخضر شغال ام لا فاذا كان شغال
في هذه الحاله يشغل الليد الاحمر والاصفر ويطفئ الاخضر واذا لم يكن شغال اي الليد الاخضر فيشغل الليد الاخضر والاصفر معا دون الليد الاحمر
هل بالامكان عمل ذالك على Pic16f84A
انا عارف اني اثقلت عليكم اخي حيدر و mhmd.sh89
ارجوا الرد

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


الساعة معتمدة بتوقيت جرينتش +3 الساعة الآن: 07:05 AM
موقع القرية الالكترونية غير مسؤول عن أي اتفاق تجاري أو تعاوني بين الأعضاء
فعلى كل شخص تحمل مسئولية نفسه إتجاه مايقوم به من بيع وشراء وإتفاق وأعطاء معلومات موقعه
التعليقات المنشورة لا تعبر عن رأي موقع القرية الالكترونية ولايتحمل الموقع أي مسؤولية قانونية حيال ذلك (ويتحمل كاتبها مسؤولية النشر)

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025