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

   

ahmadazez
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 251
نشاط [ ahmadazez ]
قوة السمعة:
قديم 19-04-2014, 03:52 AM المشاركة 17   
افتراضي



كود:
#include <mega32.h>       // تعريف المايكرو المستخدم من اجل التعامل مع مكتبة هذا المايكرو

bit x=0,y=0,z=0,on=0;    // تعريف اربع متحولات من نوع بت 

#include <alcd.h>        // تعربف مكتبة ال سي دي من اجل استخدام الدوال الخاصة بها
/////////////////////////////////////////////////////////////////////////////////////
void main(void)         // دالة الماين يتم الدخول اليها عند كل اول تشغيل لمرة واحدة 
{                       //لتعريف البورتات من دخل وخرج وشاشة ال سي دي الخ 
PORTA=0x07;            
DDRA=0xF8;

PORTC=0x00;
DDRC=0x00;

ACSR=0x80;
SFIOR=0x00;

lcd_init(16);

WDTCR=0x0B;
//////////////////////////////////////////////////////////////////////////////////////
while (1)  // هنا البرنامج الرئيسي
      {   
        #asm("wdr")   //عمل ريستارت لمؤقت الحراسة فاذا تاخر البرنامج بسبب اي خطأ سيطفح عداد المؤقت 
                      //وسيتم عمل رست للبرنامج دون تدخل منك 
        /////////////////////////////////////
        if((PINA.0==0&&PINA.1==1&&PINA.2==1)||(PINA.0==1&&PINA.1==0&&PINA.2==1)||(PINA.0==0&&PINA.1==0&&PINA.2==1)||(PINA.0==0&&PINA.1==1&&PINA.2==0))
          { 
            PORTA.6=0;
            lcd_gotoxy(5,0);         //هذا الشرط اذا تم تعطل احد الحساسات الموجودة في الخزان 
            lcd_puts("ERROR");       //ستتوقف المضخة ويعطي كلمة خطأ على الشاشة
          }
        
         //////////////////////////////////////////////
        if(x!=PINA.0||y!=PINA.1||z!=PINA.2)
         { 
           x=PINA.0;         //هذا الشرط لعمل مسح للشاشة فقط عند تغير حالة احد الحساسات 
           y=PINA.1;         
           z=PINA.2;
           lcd_clear();
         } 
         //////////////////////////////////////////////
        if(PINA.0==0&&PINA.1==0&&PINA.2==0) // هذا الشرط عندما تكون الثلاث حساسات مغلقة دليل على ان الخزان ممتلئ
                                            //سيتم الدخول وتنفيذ التعليمات الموجودة ضمن الاقواس
          { 
            on=0;        //هذا البت تكون حالته البدائية صفر وعند فراغ الخزان سيتحول الى واحد ليمنع توقف المضخة اثناء تعبئة الخزان سنستعمله في الشروط قي الاسفل
            PORTA.6=0;   //مخرج المضخة متوقف عندما يكون الخزان ممتلئ
            PORTA.3=1;   //ليد الدلالة على ان الخزان ممتلئ
            PORTA.4=0;   //ليد الوسط مطفئ
            PORTA.5=0;   //ليد الافراغ مطفئ
            lcd_gotoxy(4,0); //مكان الكتابة على الشاشة في السطر صفر يعني العلوي والعامود الرابع يعني سنترك اربع محارف بدون الكتابة عليها ونكتب من بعدها لتكون الكلمة في الوسط
            lcd_puts("Full of"); //كلمة تعني ان الخزان ممتلئ يمكن تغييرها بالمعنى اللذي تريدين
            lcd_gotoxy(0,1);     // مكان الكتابة في السطر الثاني   
            lcd_puts(">>>>>>>>>>>>>>>>"); //كتابة هذا الرسم ليدل على امتلائ الخزان
          }
         //////////////////////////////////////////////
        if(PINA.0==1&&PINA.1==0&&PINA.2==0&&on==0) //هذا الشرط سيتم الدخول اليه عند الافراغ عندما يتم تغير حالة الحساسات من الاعلى نحو الاسفل 
                                                   //ويكون البت اللذي ذكرناه قيمته صفر دليل على اننا في حالة افراغ للخزان 
          {
            PORTA.6=0;
            PORTA.3=0;                          //هي التعليمات صارت واضحة مافي داعي لكتابتها 
            PORTA.4=1;
            PORTA.5=0; 
            lcd_gotoxy(5,0);
            lcd_puts("Center");
            lcd_gotoxy(0,1);
            lcd_puts("<<<<<<<<<<<<....");
          }
         else if(PINA.0==1&&PINA.1==0&&PINA.2==0&&on==1) //هذا الشرط تتمة للشرط اللذي قبله ولكن عندما يكون الخزان قد افرغ سيتحول البت اون الى واحد 
                                                         //ليمنع ايقاف المضخة اثناء التعبئة والدلالة على اننا في حالة ملئ للخزان
          {
            PORTA.6=1;
            PORTA.3=0; 
            PORTA.4=1;
            PORTA.5=0; 
            lcd_gotoxy(5,0);
            lcd_puts("Center");
            lcd_gotoxy(0,1);
            lcd_puts(">>>>>>>>>.......");
          }  
         ////////////////////////////////////////////// 
        if(PINA.0==1&&PINA.1==1&&PINA.2==0&&on==0)  // نفس الشرط السابق ولكن تحت الوسط
          {
            PORTA.6=0;
            PORTA.3=0; 
            PORTA.4=0;
            PORTA.5=1; 
            lcd_gotoxy(1,0);
            lcd_puts("Below the waist");
            lcd_gotoxy(0,1);
            lcd_puts("<<<<<<<.........");
          } 
         else if(PINA.0==1&&PINA.1==1&&PINA.2==0&&on==1)
          {
            PORTA.6=1;
            PORTA.3=0; 
            PORTA.4=0;
            PORTA.5=1; 
            lcd_gotoxy(1,0);
            lcd_puts("Open the pump");
            lcd_gotoxy(0,1);
            lcd_puts(">>..............");
          } 
         //////////////////////////////////////////////
        if(PINA.0==1&&PINA.1==1&&PINA.2==1)  //عند فراغ الخزان ستصبح قيمة جميع الحساسات واحد 
          { 
            on=1;      //سيصبح قيمة هذا البت المهم واحد  وتعمل المضخة والليد الخاص بالفراغ 
            PORTA.6=1;
            PORTA.3=0; 
            PORTA.4=0;
            PORTA.5=1;
            lcd_gotoxy(5,0);
            lcd_puts("Empty");
            lcd_gotoxy(0,1);
            lcd_puts("................");
          }
         //////////////////////////////////////////////
           
      }
}

اعلانات

ahmadazez
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 251
نشاط [ ahmadazez ]
قوة السمعة:
قديم 19-04-2014, 03:54 AM المشاركة 18   
افتراضي



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

ahmadazez
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 251
نشاط [ ahmadazez ]
قوة السمعة:
قديم 19-04-2014, 03:55 AM المشاركة 19   
افتراضي


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


سارة$
:: مهندس ::
تاريخ التسجيل: Dec 2013
المشاركات: 38
نشاط [ سارة$ ]
قوة السمعة:
قديم 19-04-2014, 08:34 AM المشاركة 20   
افتراضي


اعدت سحب البرنامج وتجريبه وهو يعمل المشكلة من عندك
نعم اشتغل عندي بس اللليد الاخضر الي هو full بعطيني error


ahmadazez
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 251
نشاط [ ahmadazez ]
قوة السمعة:
قديم 19-04-2014, 09:23 AM المشاركة 21   
افتراضي


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


التعديل الأخير تم بواسطة : ahmadazez بتاريخ 19-04-2014 الساعة 09:48 AM

سارة$
:: مهندس ::
تاريخ التسجيل: Dec 2013
المشاركات: 38
نشاط [ سارة$ ]
قوة السمعة:
قديم 19-04-2014, 10:26 AM المشاركة 22   
افتراضي


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


ahmadazez
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 251
نشاط [ ahmadazez ]
قوة السمعة:
قديم 19-04-2014, 04:26 PM المشاركة 23   
افتراضي


تسلم كتير كتير خلاص عرفت المشكلة واشتغل معاية يعطيك الف عافية وربنا يوفقك في حياتك العلمية ماعارفة كيف ارد لك الجميل تسلم اخي
تسلمي نحنا بالخدمة ونشاء الله يكون الشرح واضح ومفهوم واي استفسار نحن جاهزين


ahmadazez
:: مهندس جيد ::
تاريخ التسجيل: Mar 2009
المشاركات: 251
نشاط [ ahmadazez ]
قوة السمعة:
قديم 19-04-2014, 11:12 PM المشاركة 24   
افتراضي


التعديل الاخير اضافة ليد في حالة الخطأ

http://up.top4top.net/downloadf-top4...582b1-rar.html



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