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

   

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 20-12-2009, 11:57 PM المشاركة 17   
افتراضي



حل السؤال الثاني :

كود:
void flashing(char xx) {portb=0xff;delay_ms(300); portb=xx;delay_ms(300); portb=0xff;delay_ms(300); portb=xx;delay_ms(300); delay_ms(200); } char y=0; void main() {trisa.f0=1;trisa.f1=1;trisa.f2=1;trisa.f3=1;trisb=0;portb=0; loop: if(porta.f0==0){portb++;if(portb>9)portb=0;delay_ms(200);} if(porta.f1==0){y=portb;flashing(y);} if(porta.f2==0){if(portb==0)portb=10;portb--;y=portb;flashing(y);} if(porta.f3==0){portb=0;y=portb;flashing(y);} goto loop; }

اعلانات

khalidkouba
:: مهندس ::
تاريخ التسجيل: Feb 2007
المشاركات: 1
نشاط [ khalidkouba ]
قوة السمعة:
قديم 21-12-2009, 03:44 PM المشاركة 18   
افتراضي


بسم الله الرحمان الرحيم ,
هدا يا أخي جواب السؤال الأول
كود:
void a1()
{int x;
 for (x=1;x<=2;x++)
 {trisb=255;delay_ms(500);
  trisb=0;delay_ms(500);}
 }
void main()
{
 trisb=0; portb=0;
 trisa.f0=1; trisa.f1=1;trisa.f2=1; trisa.f3=1;
 loop:
 while(porta.f0==0)
       {
        portb=portb++;
        if(portb==10){portb=0;}
        while(porta.f0==0){};
       }
 while(porta.f2==0)
       {
        portb=portb-1;
        if(portb==255){portb=9;}
        delay_ms(500);a1();
        while(porta.f2==0){};
       }
 while (porta.f3==0)
       {
        portb=0;delay_ms(500);a1();
        while(porta.f3==0){};
       }
        if(porta.f1==0)
          {a1();while(porta.f1==0){};}
 goto loop;
}
و هدا جواب السؤال التالت
كود:
void invert(int a)
 {    int x,a2; const e=1000 ;
  portb=a;delay_ms(e);
  a2=a;
  for (x=1;x<=8;x++)
  {
  portb=~a2;delay_ms(e);
  a2=a<<x;
  portb=a2;delay_ms(e);
  
 }}
void main()
{
 trisb=0;  portb=0;
 trisa=0xff;
 while(1)
 {
  invert(0b00000001);

  }

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


التعديل الأخير تم بواسطة : khalidkouba بتاريخ 21-12-2009 الساعة 03:51 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 22-12-2009, 04:57 AM المشاركة 19   
افتراضي


استاذ احمد :
بالنسبة للسؤال الرابع , متى بالضبط يتم الضغط على مفتاح زيادة او انقاص الوقت ؟
بعد التفكير في السؤال وجدت ما يلي :
1- اما ان نضغط على المفتاح قبل ان يشتغل الضوء المطلوب مع الاستمرار بالضغط لحين اشتغاله . او ان نستخدم المقاطعات .
ارجو توضيح السؤال واعطائنا تنوية للحل .


الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 22-12-2009, 12:44 PM المشاركة 20   
افتراضي


استاذ احمد :
بالنسبة للسؤال الرابع , متى بالضبط يتم الضغط على مفتاح زيادة او انقاص الوقت ؟
بعد التفكير في السؤال وجدت ما يلي :
1- اما ان نضغط على المفتاح قبل ان يشتغل الضوء المطلوب مع الاستمرار بالضغط لحين اشتغاله . او ان نستخدم المقاطعات .
ارجو توضيح السؤال واعطائنا تنوية للحل .
الضغط على المفتاح يتم في أي وقت قبل ان يشتعل الضوء المطلوب أو بعد .

ويجب عدم استخدام المقاطعات (صحيح انكم تعلمتوها من شرح الاخ المهندس فادي ولكني اريدكم ان تحلوها بما اعطيتكم من معلومات وبالتفكير فإذا تم حلها بدون المقاطعات ستكتسبوا فكرة برمجية رائعة ومهمة ) .

تمنياتي بالتوفيق


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 22-12-2009, 03:05 PM المشاركة 21   
افتراضي


نحتاج الى تنوية للحل .
دماغي سوف ينفجر من التفكير .
كيف نجعل المتحكم يتحسس الضغط على المفتاح و هو منشغل بخطوات اخرى ؟


الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 22-12-2009, 03:57 PM المشاركة 22   
افتراضي


نحتاج الى تنوية للحل .
دماغي سوف ينفجر من التفكير .
كيف نجعل المتحكم يتحسس الضغط على المفتاح و هو منشغل بخطوات اخرى ؟
جعلتني ابتسم اخي حيدر

صدقني يمكن .. ويمكن عمل اصعب من ذلك وبدون استخدام المقاطعات .

انها فكرة برمجية مهمة وغالية الثمن .

سأترك لك فرصة اكبر للتفكير .. وإن لم تصل لشيء ساذكرها لك وحينها لن تنساها أبدا .

ولكني الآن في انتظار من يجد الحل بمفرده .


الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 22-12-2009, 04:11 PM المشاركة 23   
افتراضي


مزيد من التفكير ..



سأساعد بتلميح سريع :

اكتب الكود وحاول تحديد المشكلة .. ربما تجدها في أمر معين . قم بتغيير هذا الامر واجعله حل المشكلة .

حاول التفكير من ناحية اخرى حاول تغيير طريقة تفكيرك باستخدام طرق مختلفة

ربما لن تصل للحل بسرعة ولكن هذا سينمي قدراتك البرمجية


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 23-12-2009, 12:28 AM المشاركة 24   
افتراضي


طيب . ما توصلنا له انا والاخ فادي هو تجزئة الوقت الى اجزاء صغيرة كان تكون ثانية واحد و كتابة عبارة التاخير delay داخل عداد و عند الضغط على المفتاح يتم زيادة القيمة للقصوى للعداد و اذا تم الضغط على المفتاح الثاني يتم انقاص القيمة القصوى للعداد . هل هذه الفكرة صحيحة ؟



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