| من يساعدنا في تحسين هذا البرنامج بارك الله فيكم | |
|
|
كاتب الموضوع | رسالة |
---|
messaoud.d عضو جديد
عدد المساهمات : 5 نقاط : 7 تاريخ التسجيل : 14/03/2013
| موضوع: من يساعدنا في تحسين هذا البرنامج بارك الله فيكم الخميس 14 مارس 2013, 5:56 am | |
| السلام عليكم ورحمة الله وبركاته البرنامج هو لحساب وقت عمل مجموعة من المحركات وكل محرك يكون حساب وقت عمله منفصل عن المحرك الآخر والبرنامج كتبته بالبروتون وهو Device=16F877Aتعريف نوع المايكرو الذي نستعمله XTAL=4تعريف نوع المذبذب أو الكريستال Declare LCD_DTPIN PORTD.4تصريح بنوع شاشة العرض والبورت الذي نوصلها بالمايكروDeclare LCD_ENPIN PORTD.3تصريح بنوع شاشة العرض والبورت الذي نوصلها بالمايكروDeclare LCD_INTERFACE 4تصريح بنوع شاشة العرض والبورت الذي نوصلها بالمايكروDeclare LCD_RSPIN PORTD.2تصريح بنوع شاشة العرض والبورت الذي نوصلها بالمايكرو Input PORTDالبورت دي كل أقطابه تستعمل كمداخل Input PORTCالبورت سي كل أقطابه تستعمل كمداخل Input PORTBالبورت بي كل أقطابه تستعمل كمداخل Dim a As Floatتصريح بنوع المتغيراتDim b As Float Dim c As FloatDim i As Word Dim ir1 As FloatDim ir2 As FloatDim ir3 As Float For i=0 To 60000حلقة تبقى تعمل من 0 حتى 6000 DelayMS 1000تأخير ب1000 ميلي ثانية أي ثانية واحدة أي الحلقة كل ما تعمل دورة واحدة يعني هناك 1ثانية If PORTD.1=1 Thenإذا كان المدخل دي1=1 إعمل a=a+1حفظ القيمة المتحصل عليها في العملية السابقة وقسمها على 60 ir1 =a/60 Else If PORTD.1=0 Then a=a+0 EndIf If PORTD.0=1 Then b=b+1 ir2 =b/60 ElseIf PORTD.0=0 Then b=b+0 EndIf If PORTC.7=1 Then c=c+1 ir3 =c/60 ElseIf PORTC.7=0 Then c=c+0 EndIfPrint At 1,1, Dec ir1عرض القيمة المحفوظة في الشاشة Print At 2,1, Dec ir2Print At 3,1, Dec ir3 Next iهذا هو البرنامج أتمنى أن لا تبخلو علينا بنصائحكم والمشكلة التي صادفتني هو أن زمن التأخير الموضوع لا يساوي الزمن الحقيقي بسبب عمل المايكرو كونترولور من لي بفكرة كي أحسن البرنامج وأجعله مساوي للحقيقة.. إن شاء الله لا تبخلو علي
| |
|
| |
messaoud.d عضو جديد
عدد المساهمات : 5 نقاط : 7 تاريخ التسجيل : 14/03/2013
| موضوع: رد: من يساعدنا في تحسين هذا البرنامج بارك الله فيكم الخميس 14 مارس 2013, 5:57 am | |
| Device=16F877A
XTAL=4
Declare LCD_DTPIN PORTD.4
Declare LCD_ENPIN PORTD.3
Declare LCD_INTERFACE 4
Declare LCD_RSPIN PORTD.2
Input PORTD
Input PORTC
Input PORTB
Dim a As Float
Dim b As Float
Dim c As Float
Dim i As Word
Dim ir1 As Float
Dim ir2 As Float
Dim ir3 As Float
For i=0 To 60000
DelayMS 1000
If PORTD.1=1 Then
a=a+1
ir1 =a/60
Else If PORTD.1=0 Then
a=a+0
EndIf
If PORTD.0=1 Then
b=b+1
ir2 =b/60
ElseIf PORTD.0=0 Then
b=b+0
EndIf
If PORTC.7=1 Then
c=c+1
ir3 =c/60
ElseIf PORTC.7=0 Then
c=c+0
EndIf
Print At 1,1, Dec ir1
Print At 2,1, Dec ir2
Print At 3,1, Dec ir3
Next i | |
|
| |
Admin المراقب العام
عدد المساهمات : 978 نقاط : 1693 تاريخ التسجيل : 12/04/2012
| موضوع: رد: من يساعدنا في تحسين هذا البرنامج بارك الله فيكم الخميس 14 مارس 2013, 8:07 pm | |
| وعليكم السلام معذرة أخى الكريم بالنسبة للبروتون فأنا لا اعمل عليها ولكنى اعمل على الفلوكود ... إان كان يناسبك (الفلوكود) اشرح لى بالتفصسل ما تريد من البرنامج ان يفعله بالضبط وانا اتابع معك بمشيئة الله.. أو عليك الانتظار وان شاء الله تجد من الزملاء من يجيد العمل عليها ويقوم بمساعدتك .. تمنياتى لكم بالتوفيق | |
|
| |
messaoud.d عضو جديد
عدد المساهمات : 5 نقاط : 7 تاريخ التسجيل : 14/03/2013
| موضوع: رد: من يساعدنا في تحسين هذا البرنامج بارك الله فيكم الجمعة 15 مارس 2013, 12:50 am | |
| بارك الله فيك وجزاك الله خيرا
البرنامج هو لحساب الوقت الزمني لعمل مجموعة من المحركات
مثلا حين تنطلق المحركات في العمل يبدأ العد بالدقائق أو الثواني ويكون
حساب وقت كل محرك منفصل عن أخيه يعني إذا توقف محرك في
زمن معين فسيتوقف العد الزمني له فقذ ويبقى العد متواصل لمن بقي يعمل وهكذا.. | |
|
| |
Admin المراقب العام
عدد المساهمات : 978 نقاط : 1693 تاريخ التسجيل : 12/04/2012
| موضوع: رد: من يساعدنا في تحسين هذا البرنامج بارك الله فيكم الجمعة 15 مارس 2013, 5:04 am | |
| شكرا لك اخى الكريم .. أفهم من ردك هذا انك سوف تعمل على الفلوكود ... ان كان كذلك ... فأخبرنى عن مدى معلوماتك عن البرمجة بالفلوكود ؟؟ وهل قرأت الدروس المشروحة بالمنتدى ؟؟؟؟ | |
|
| |
messaoud.d عضو جديد
عدد المساهمات : 5 نقاط : 7 تاريخ التسجيل : 14/03/2013
| موضوع: رد: من يساعدنا في تحسين هذا البرنامج بارك الله فيكم الجمعة 15 مارس 2013, 6:11 am | |
| أخي البرمجة الفلوكود لا أعرفها.. لكن ممكن تعطيني فكرة أطبقها في البروتون
| |
|
| |
Admin المراقب العام
عدد المساهمات : 978 نقاط : 1693 تاريخ التسجيل : 12/04/2012
| موضوع: رد: من يساعدنا في تحسين هذا البرنامج بارك الله فيكم الجمعة 15 مارس 2013, 5:08 pm | |
| الفكرة عبارة عن تصميم 3 عدادات .. عند تشغيل المحرك يبدء العداد الأول فى العد من 1 الى 60 عند بدء تشخيل المحرك ويسمى عداد الثوانى عند وصل العداد الأول الى 60 يتم تصفيره وفى نفس الوقت يبدأ العداد الثانى بالرقم 1 ويسمى عداد الدقائقثم يبدأ العداد الاول بالعد مرة أخرى من 1 الى 60 وعند الوصول الى 60 يزداد العداد الثانى بقيمة واحد ليصبح 2 وهكذا الى ان يصل العداد الثانى الى 60 يتم تصفيره ويبدأ العداد الثالث بالرقم 1 وهو عداد الساعات وفى كل مرة يصل العداد الثانى الى 60 يزداد العداد الثالث بمقدار 1 ليصبح 2 وهكذا يتم إظهار هذه المعلومات على شاشة LCD ... وعند إيقاف المحرك تثبت القيم على الشاشة وعند تشغيل المحرك مرة أخرى يتم تصفير جميع العدادات لتبدأ العمل مرة اخى كما سبق
يتم تنفيذ هذه الخطوات كل محرك مع استخدام مفاتيح تشغيل وايقاف لكل محرك ... وبالتوفيق
| |
|
| |
messaoud.d عضو جديد
عدد المساهمات : 5 نقاط : 7 تاريخ التسجيل : 14/03/2013
| موضوع: رد: من يساعدنا في تحسين هذا البرنامج بارك الله فيكم الجمعة 29 مارس 2013, 6:59 pm | |
| بارك الله فيك أخي
لكن الفكرة لا أظن أنها تصلح مع عدة محركات
مثلا 15 محرك وكل محرك له عداداته الخاصة
يعني كل محرك يكون حساب وقت عمله منفصل عن الآخر مع العلم ان تلك المحركات يمكن أن تعمل مجتمعة كلها ويمكن بعضها يعمل وبعضها لا يعمل..
| |
|
| |
| من يساعدنا في تحسين هذا البرنامج بارك الله فيكم | |
|