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

   

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 04-02-2016, 01:00 PM المشاركة 17   
sun



بسم الله الرحمن الرحيم


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

اخى هذه طريقة انشاء ملف جديد داخل المشروع , و بعدها تقوم بحفظ الملف باسم ما و امتداد c.
ثم تقوم بنسخ الاكواد داخل الملفات .
بعد هذا ستجد كما قلت لك البرنامج يعمل على شاشة واحدة اليمنى و لوحة مفاتيح واحدة ايضا .
اجتهد بتكملة البرنامج و منتظر اعرف النتيجة او لو محتاج مساعدة .

مساعدة : قم بعمل duplication of codes for display and keys , will work
ان شاء الله ستعمل معك مع ملاحظة اسماء المتغيرات .




هذه صورة الملفين بجانب بعض :



و الله الموفق و المستعان
اللهم اذن لدينك ان يحكم الارض و ان يسود و استخدمنا فى ذلك يا رب

اعلانات

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 09-02-2016, 10:55 PM المشاركة 18   
sun اخ بدر


بسم الله الرحمن الرحيم


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

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

و تعاونوا على البر و التقوى

قالوا انا سمعنا قرانا عجبا

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

badr nahed
:: مهندس ::
تاريخ التسجيل: Sep 2015
المشاركات: 23
نشاط [ badr nahed ]
قوة السمعة:
قديم 13-02-2016, 06:02 PM المشاركة 19   
افتراضي


بسم الله الرحمن الرحيم


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

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

و تعاونوا على البر و التقوى

قالوا انا سمعنا قرانا عجبا
السلام عليكم قبل كل شيء ان اشكرك وجزاك الله على تعبك معي

لم يعد معي وقت كتير لهدا اتخدت قراري تخليت عن الكيباد التاني وسيبقى الاول كمتال لا اكتر
بالنسبة للمشرع الدي كتبته لي لم يشتغل معي الخطا في اول سطر وكان البرنامج لا يفهم button_press_1
زيادة على ذلك انت استعملت دروس متقدمة على مستواي في البرمجة كالمكتبات الجاهزة لسيفن سجمات والانتكون لم ادرس هده الدروس جيدا بعد لهذا تخليت عن مشروعك وعدت لمشروعي الدي كتبته تبقى مشكل واحد وارجو مساعدتي وجزاك الله وهو كود المقارنة بين الشاشتين حاولت مرار لكن لم انجح حيت اكتب متلا
if(x<<y) x=y+1;
لم افهم لمذا بعد هذا الامر قيمه y تتغير ايضا
ساشرح لك مثلا اريد امر عندما يقراه البيك يقوم بالمقارنة بين المتغيرين x وy وادا كان x اصغر من y قيمة x يجب ان تساوي قيمة y مع زيادة رقم واحد
تبقت لي نقطة اشتريت مبرمجة k150 هده اول برمجة لي بماذا تنصحني كي لا ارتكرب اخطا مع العلم اني ساتمرن اولا على البيك 16f628a ويعدها انتقل للبيك 16f877a الخاص بالمشروع اسف ان طولت عليك واعانك الله على عمل الخير


مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 16-02-2016, 10:37 AM المشاركة 20   
x4 اخى العزيز


بسم الله الرحمن الرحيم

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

الله يوفقك اخى ,

بالنسبة للامر التالى خطأ :
كود:
 if (x<<y) {x = y+1 ; }
و الصحيح هو :
كود:
 if (x<y ){x = y +1 ;}
و اخى لو احتجت شى ارفع الكود لمساعدتك فى اصلاحه .
- اما بالنسبة للمبرمجة k150 فانى لم اتعامل معها و ممكن تجد فى النت ان شاء الله المساعدة .


من لم يحي بروح القران لا يحي
"وكذلك اوحينا اليك روحا من امرنا"
قدمه و ارفعه عن كل الكتب ليرفع قدرك

قال(ص) " إن الله يرفع بهذا الكتاب أقواماً ويضع به آخرين "




badr nahed
:: مهندس ::
تاريخ التسجيل: Sep 2015
المشاركات: 23
نشاط [ badr nahed ]
قوة السمعة:
قديم 18-02-2016, 11:17 PM المشاركة 21   
افتراضي


بسم الله الرحمن الرحيم



من لم يحي بروح القران لا يحي
"وكذلك اوحينا اليك روحا من امرنا"
قدمه و ارفعه عن كل الكتب ليرفع قدرك

قال(ص) " إن الله يرفع بهذا الكتاب أقواماً ويضع به آخرين "


السلام عليكم

بفضل كنت عونا لي ياخي ان اشكرك جزيلا شكر
النتيجة النهائية للمشروعي جاهزة هناك مشكل بسيط
في الكود الرقم صفر على الكيباد لا يعمل ارجو ان تجد خطأي
وان احتجت ملف البروتوس سارفعه وشكر على كل شيء
دمت في حفظ الله
كود:
char kp,i,x,j,m,n;
char keypadport at portd;

  void init_SEG()
  {portb=x; portc=32; delay_ms(1); portc=0;
   portb=j; portc=16; delay_ms(1); portc=0;
   portb=m; portc=128; delay_ms(1); portc=0;
   portb=n; portc=64; delay_ms(1); portc=0;
  }
  void init_keypad()
  {keypad_init();
   kp=keypad_key_click();
   switch(kp){
              case 1: kp=1; break;
              case 2: kp=4; break;
              case 3: kp=7; break;
              case 4: kp='*'; break;
              case 5: kp=2; break;
              case 6: kp=5; break;
              case 7: kp=8; break;
              case 8: kp=0; break;
              case 9: kp=3; break;
              case 10: kp=6; break;
              case 11: kp=9; break;
              case 12: kp=12,x=j=0; break;
             }
  }
void main() { ADCON1=7;
 trisb=0b00110000;
 trisc=0b00000000;
 portb=0b00000000;
 portc=0b00000000;
 x=0;j=0;m=0;n=0;
 while(1)
 { init_keypad();
  while (kp&&(kp!='*')&&(kp!=12))
  {for(i=0;i<88;i++){if (kp) x=kp; j=0; init_keypad(); delay_ms(10);
                     if(kp&&x){j=x; x=kp; kp=0; break;}
                     init_SEG();
                    }
  }
   if(kp=='*')     {x++;
                    if(x==10){j++; x=0;}
                    if(j<n) {j=(n); x=(m)+1;if(x==10){j++; x=0;} }
                    if(j==n) {if(x<=m)x=(m)+1;if(x==10){j++; x=0;}}
                   }       if(x==10,j==10)x=j=0;
   if(portb.f5==1){m++;
                    if(m==10){n++; m=0;}
                    if(n<j) {n=(j); m=(x)+1;if(m==10){n++; m=0;}}
                    if(n==j) {if(m<=x)m=(x)+1;if(m==10){n++; m=0;}}
                    delay_ms(250);
                   }      if(m==10,n==10)m=n=0;
   if(portb.f4==1) m=n=0;
   init_SEG();
 }
}


التعديل الأخير تم بواسطة : badr nahed بتاريخ 18-02-2016 الساعة 11:20 PM

مشتاق الله
:: مهندس متميز ::
تاريخ التسجيل: Oct 2015
المشاركات: 619
نشاط [ مشتاق الله ]
قوة السمعة:
قديم 19-02-2016, 09:08 AM المشاركة 22   
x4


بسم الله الرحمن الرحيم

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

اخى العزيز بفضل الله ستجد الخطأ بسيط انظر :

while (kp&&(kp!='*')&&(kp!=12))

لو حضرتك كتبته مفصل (الاسلوب الافضل فى الكتابة) اى :

while ((kp!=0)&&(kp!='*')&&(kp!=12))

حيث يظهر انك لن تنفذ الحلقة فى حالة kp=0 , '*' , 12
و بالتالى حضرتك استبعدت الصفر فلن يظهر على الشاشة , و اقترح فقط :

while ((kp!='*')&&(kp!=12))

امر اخر ممكن حضرتك تبدل ال (kp!=12 ) ب (' #' = ! kp ) و طبعا تغيرها فى كود المفاتيح

case 12: kp='#' ; x=j=0; break;


امر اخر هل فى الامر التالى فاصلة ام فاصلة منقوطة فى البرنامج :
case 12: kp=12 , x=j=0; break;

ملاحظة : هذه الاخطاء موجودة فى الموضوع التالى يمكنك الاطلاع عليه:
http://www.qariya.info/vb/showthread.php?t=180767


لو حدث شى اخر ربنا يوفقنا و يعيننا و نساعدك
الله يوفقك ...


يا ليتنا نقرأ القران كما نقرا غيره من الكتب
كتاب( غربة القران )



badr nahed
:: مهندس ::
تاريخ التسجيل: Sep 2015
المشاركات: 23
نشاط [ badr nahed ]
قوة السمعة:
قديم 27-02-2016, 01:26 PM المشاركة 23   
افتراضي


بسم الله الرحمن الرحيم


يا ليتنا نقرأ القران كما نقرا غيره من الكتب
كتاب( غربة القران )

بسم الله الرحمن الرحيم

جزاك الله كل الخير الصديقي
فعلت كما قلت لي معى اني جربت من قبل لكن دون جدوى فقط ادا ازلت KP من امر while
يخرب الكيباد , الحمد لله رغم عدم استطاعتي حل المشكلة الا انني وجدت بديل
بعد فهمي للمصفوفات وظفتها مكان اعمدة الكيباد والصفر اشتغل وانتهت هده المشكلة .
بعد هدا كنت قد انتهيت من صنع المشروع البسيط لكنه اتعبني وحرقت المشروع مستعملا
k150 التي بدورها اتعبتني وساقوم انشاء الله في نشر موضوع في تعامل معها من ا الي ي
لانه لا يوجد من يستوفي شرحها رغم انها تظهر بسيطة في الاستعمال الا ان هناك خطوات معقدة
سارفق لك فيديو وبعد الصور للمشرووع والحمد لله
,
تبقت مشكلة وحيدة وهي كلما كان امر delay كلما اختفت الارقام على الشاشات قليلا
وجدت حل لهده المشكلة وهو تقسيم امر delay واستدعاء امر init_SEG();
وسطه
مثال
delay_ms(260);
اقوم بتقسيمه ليصبح
dellay_ms(20);init_SEG();dellay_ms(20);init_SEG(); de...
هدا الحل نجح في المحاكاة على البروتوس والحمد لله لم تعد تختفي الارقام ,
المشكلة التي واجهتي عند تقسيم جميع اوامر delay هي عند الكيباد ظاهريا لا يوجد امر delay
في كود الكيباد وفي تفسير فانه يحدت فعلا ودلك في تفسير امر kp=keypad_key_clik();
هل الامر لا يقوم بتغيير قيمة kp الا عندما تزيل يدك على الزر وبالتالي هناك وقت مستقطع في لحظة الضغط
علي تعديل كود الكيباد لكي يصبح امر delay ظاهر وليس مخفي وجدت تقريبا نصف الحل وهو كتابة
kp=keypad_key_press(); بدلا من kp=keypad_key_clik(); وبالتالي يصبح حتميا
وضع الامر delay لكن للاسف الاصبح كود الكيباد لا يعمل المراد حاولت معه لكن لم اصل لشيء
وهدا ما انا ارجو من الله ان يوفقك في مساعدتي في تصحيحه وجزاك الله كل الخير
وهدا هو الملف كامل
http://www.mediafire.com/download/d1...ject+final.rar



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