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

   

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



أخي الكريم ( إلى الآن لا أعرف اسمك ؟؟ ) NO PROBLEM :

أعتقد أنك تقصد
كود:
while(portb.f0==1){}
وليس
كود:
while(portb.f0==0){}
نعم صحيح ... لكنني اعتدت أن أستخدم السويتش بطريقة مختلفة بحيث عند الضغط على السويتش يصبح 0 وعند عدم الضغط يصبح 1 .

لاحظ الفرق بين الكودين التاليين

كود:
intcon.intf=0;
return;
portc=1;
كود:
intcon.intf=0;
portc=1;
فى الكود الأول
لن تضىء الليد . وسوف يخرج من الانتربت.

فى الكود الثانى
ستضىء الليد . ثم يخرج من الانتربت.
جميل ... ولكن في مشروعك وفي الكود الذي كتبته أنت لم تستخدم INTCON.INTF=0 لذلك كنت أريد تنبيهك لهذا الأمر .

حيث أن RETURN تحدد المكان بالضبط الذي يعود منه البك في أي دالة .

طريقة أخرى
يمكن ألا نستخدم جملة goto ونضع INTCON.INTF=0; داخل جملة else مباشرة ثم بعدها return
شكرا جدا على مجهودك وإخبارى بأنه لا يصح استخدام الeeprom داخل الانتربت.
كنت متوقع أن تقول هذا ......... جرب .

شكرا جدا على مجهودك وإخبارى بأنه لا يصح استخدام الeeprom داخل الانتربت.
فقد عانيت كثيراااا بسبب تلك المشكلة.
العفو أخي الكريم لا داعي للشكر .. كلنا إخوة فالمسلم للمسلم .. فنحن يداً واحدة إخوة مسلمين متحابين متعاونين ... أسأل الله أن يجعلنا دائما يدا واحدة وأن يوفقنا لمساعدة بعضنا البعض .

لكن ألا تلاحظ أن بعد كل انتربت لابد من الكتابة فى الeeprom .ألا يوجد طريقة مباشرة للذهاب الى دالة تقوم بالكتابة فى الeeprom مباشرة بعد الخروج من الانتربت.
لم أفهم ما تقصده جيدا ... أرجو التوضيح .. ؟؟

بالتوفيق أخي الكريم ..

=======================================
وفقنا الله جميعا لما يحب ويرضى ورزقنا وإياكم العلم النافع

والسلام عليكم ورحمة الله وبركاته

اعلانات

زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 2,945
نشاط [ زكي شاكر ]
قوة السمعة:
قديم 19-02-2009, 08:36 PM المشاركة 34   
افتراضي


السلام عليكم
حقا أخي الحبيب ذلك التعاون ترك في نفسي أثرا طيبا ..
تأكد ان الفائدة كانت مشتركة. فقد جعلتني أسئلتك الهادفة في وضع الباحث المنقب ، مما وضح لي بعضا من التفاصيل التي لم اعطيها اهتماما أثناء الدراسة ..
من جهة ثانية أحييك أخي على مجهودك الكبير وعملك المتميز :
أسرع طريق لإحتراف برمجة الـ PIC بإستخدام MikroC
دورة تشهد والحمد لله ، حيوية وتفاعلا ليس فقط عموديا وإنما تفاعل أفقي كذلك، مما يشرح الصدر.
وقد بدأت ثماره الطيبة تظهر .. أرجو من الله أن يعينك ويوفقك الى المزيد .
بارك الله فيك ولك ونفعك بكل كلمة وحرف..

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

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


===========================================
أخي الفاضل الأستاذ زكي شاكر

إنه لشرف عظيم لي أن أسمع منك أخي الحبيب هذا الكلام ..

وأسأل الله أن يوفقني لإتمام هذه الدورة على الوجه الجيد مما سيجعل في منتدانا المبارك عدد أكبر من مستخدمي البك pic و مبرمجين أكثر يستخدموا لغات حديثة وبالتالي يساعد ذلك إن شاء الله في نمو هذا المنتدى الذي له دور كبير جدا في مساعدة العرب جميعا في كل مكان .

وأسأل الله أن يجعلني عند حسن ظنك ... ولا تحرمنا أخي الفاضل من اقتراحاتك التي نحن في أمس الحاجة إليها ...

شكراً لك مرة أخرى على هذا الكلام الطيب

وجعلنا الله جميعا يداً واحدة تساعد في نهضة أمتنا الإسلامية وتنشر بينها المحبة والتعاون دون انتظار أي مقابل إلا من الله عز وجل فهو سبحانه أكرم الأكرمين ...

==========================================


m_mansour2005
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2009
المشاركات: 80
نشاط [ m_mansour2005 ]
قوة السمعة:
قديم 20-02-2009, 06:44 AM المشاركة 36   
افتراضي


بسم الله الرحمن الرحيم
أحب أن أحييكم على على هذه المحبة المتبادلة وهذا الشعور المتبادل.
وبما أنكم تحدثتم على
أسرع طريق لإحتراف برمجة الـ PIC بإستخدام MikroC
أنا متابع جيد لهذه الدورة.
وأود أن أطلب من الأستاذ زكى شاكر أن يقوم بمسح الردود التى لا تفيد الموضوع هناك حيث أنه فى 3 دروس فقط يوجد أكثر من 20 صفحة وعدد كبير من الردود. وكثرة هذه الردود تشعر من يدخل إلى الموضوع لأول مرة كأنه كبير جدا ومعقد.كما أن هذه كانت أحد شروط الدورة التى وضعها الأستاذ أحمد.

وعلى فكرة أنا إسمى محمد منصور

بالنسبة لبرنامجنا
هذا هو الكود النهائى "الحمد لله"

كود:
unsigned char B[10]={0xfc,0x60,0xda,0xf2,0x66,0xb6,0xbe,0xe0,0xfe,0xf6};
unsigned char ones,tens,temp,tempones,temptens,int_flag;
void show()
{
  portb=B[tens];
  portc=B[ones];
  delay_ms(1000);
}
 void interrupt()
{
 while(portb.f0){}         //  continue debounce
begin:
 if(porta.f0)
 {  delay_ms(250);
    while(porta.f0){
      if(ones!=9) { ones++;}
      else { if (tens==9) {tens=0xff;}  ones=0; tens++;}
       show();}
 }
 else if (porta.f1)
 {
     delay_ms(250);
   while(porta.f1){
       if(ones!=0) {ones--;}
       else{if(tens==0){tens=10;}ones=9; tens--;}
       show();
        }
 }
 else if (portb.f0)
 {     delay_ms(500);
       while (portb.f0) {}
       int_flag=1;
       tempones=ones;
       temptens=tens;
       INTCON.INTF=0;
       return;
 }
 else {goto begin;}
}

 void write()
{
       int_flag=0;
       EEprom_write(0x00,tempones);
       delay_ms(25);
       EEprom_write(0x01,temptens);
       delay_ms(25);
}
void flasher()
{
 porta.f2=0;
 
 porta.f3=1;delay_ms(1000);
 porta.f3=0;delay_ms(1000);
 porta.f3=1;delay_ms(1000);
 porta.f3=0;delay_ms(1000);
 porta.f3=1;delay_ms(1000);
 porta.f3=0;delay_ms(1000);
 porta.f3=1;delay_ms(1000);
 porta.f3=0;delay_ms(1000);
}
void main()
{
intcon.f7=1; intcon.INTE=1;  //rb0 interrupt
adcon1=0x06;  trisa=0x03;    // porta 0,1 as switches
trisb=0x01; trisc=0;
temp=Eeprom_read(0x00);
 delay_ms(25);
if(temp==0xff){temptens=1;tempones=5;}
else {tempones=temp;temp=Eeprom_read(0x01); delay_ms(25); temptens=temp;}
start:
 ones=tempones;
 tens=temptens;
 porta.f2=1;
 test:
 if(int_flag==1){write(); goto start;}
    show();
 if(int_flag==1){write(); goto start;}
 if(tens==0 && ones==0&&int_flag==0) {flasher(); goto start;}
 if(ones==0&&int_flag==0) {tens--;  ones=9 ;goto test;}
 ones--;
 goto test;
}
وفى هذا الرابط يوجد ملف البرنامج كامل مع ملف البروتس


ملاحظات:
لاحظ ..فى نهاية الدالة الرئيسية أقوم بإختبار الإنتربت عدة مرات.
بالنسبة لبرنامج البروتس :
لم أستطع الحصول على ال push button لم أجده.
أرهقنى جدا برنامج البروتس لكى أكمله حيث أنه كان يتوقف عن الإستجابة من دون أى سبب ولا يريد أن يحفظ ما فعلت .
فكنت بعد كل خطوة احفظ ما فعلت حتى إذا توقف البرنامج لا أبدأ من جديد.
هل يوجد سبب لذلك


زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 2,945
نشاط [ زكي شاكر ]
قوة السمعة:
قديم 20-02-2009, 03:45 PM المشاركة 37   
افتراضي


بسم الله الرحمن الرحيم
بما أنكم تحدثتم على
أسرع طريق لإحتراف برمجة الـ PIC بإستخدام MikroC
أنا متابع جيد لهذه الدورة.
وأود أن أطلب من الأستاذ زكى شاكر أن يقوم بمسح الردود التى لا تفيد الموضوع هناك حيث أنه فى 3 دروس فقط يوجد أكثر من 20 صفحة وعدد كبير من الردود. وكثرة هذه الردود تشعر من يدخل إلى الموضوع لأول مرة كأنه كبير جدا ومعقد.كما أن هذه كانت أحد شروط الدورة التى وضعها الأستاذ أحمد.
السلام عليكم
احترم وجهة نظرك ..
لكن هل يمكن إذا سمحت ، ان تضع هنا روابط الردود التي تراها "لا تفيد الموضوع" ؟


m_mansour2005
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2009
المشاركات: 80
نشاط [ m_mansour2005 ]
قوة السمعة:
قديم 20-02-2009, 04:12 PM المشاركة 38   
افتراضي


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

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


زكي شاكر
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: المغرب
المشاركات: 2,945
نشاط [ زكي شاكر ]
قوة السمعة:
قديم 20-02-2009, 04:48 PM المشاركة 39   
افتراضي


بسم الله الرحمن الرحيم
الأستاذ زكى شاكر : لقد كان هذا مجرد رأى.
أخي محمد رأيك على الرحب والسعة ..
طالما ان المنتدى مفتوح امام جميع الاعضاء المسجلين فلا أظن ان بالامكان تقييدهم بشروط خاصة باستثناء ما هو خارج عما هو متفق عليه ضمنيا او صراحة مثل:
الكتابة في مجال يراعي خصوصية المنتدى او القسم
احترام الرأي الاخر والذوق العام وعدم المساس بالثابت المشترك من القيم..
فيما عدا ذلك اظن ان حذف مشاركة قد تثير حساسية عند البعض وهذا مجرد رأي شخصي ولا علا قة له بالاشراف..
من جهة ثانية أظن انه من السهل التعرف على المشاركات الهامة للاستاذ أحمد، خاصة وان الدروس موضوعة كوثائق PDF للتحميل ..
شكرا أخي على ملاحظاتك فهي تتماشى مع رؤية مشتركة لتحسين أداء المنتدى..



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