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

   

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 23-09-2014, 09:33 PM المشاركة 25   
sun



شكرا لك اخ حسن كان السبب عدم تعريف مداخل السويشات



اعلانات

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 24-09-2014, 07:51 PM المشاركة 26   
افتراضي


بعد تجربة لدائرة وتعريف المدخلات لم يعمل الدائرة ؟؟

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

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

Logic
:: عضو فضي ::
تاريخ التسجيل: Mar 2014
المشاركات: 682
نشاط [ Logic ]
قوة السمعة:
قديم 24-09-2014, 08:06 PM المشاركة 27   
افتراضي


السلام عليكم

كتبت هذا الكود لرمونت كنترول الكود يعمل على البروتيوس بدون مشاكل ولاكن فى الواقع لايعمل اذا كان اكثر من ثلاث سويشات ؟؟ لو اضفنا كود لسويش الرابع يتوقف عن العمل ؟؟ مالسبب ؟؟




[IMG][/IMG]

الكود


كود:
#define       is              ==
#define       preseed         0
#define       sw1             porta.b0
#define       sw2             porta.b1
#define       sw3             porta.b2
#define       sw4             porta.b3
#define       sw5             porta.b4
#define       sw6             porta.b5
#define       sw1_dir         trisa.b0
#define       sw2_dir         trisa.b1
#define       sw3_dir         trisa.b2
#define       sw4_dir         trisa.b3
#define       sw5_dir         trisa.b4
#define       sw6_dir         trisa.b5
#define       on                1
#define       off               0
#define       input             1
#define       output            0
/*******************************************/
char code_1[]={0,0,0,0,1,0,1,0,0,1};
char code_2[]={0,0,0,0,1,0,1,0,1,1};
char code_3[]={0,0,0,0,1,0,1,1,0,1};
char code_4[]={0,0,0,0,1,0,1,1,1,1};
char code_5[]={0,0,0,0,1,1,0,0,0,1};
char code_6[]={0,0,0,0,1,1,0,0,1,1};
char x=0;
/*****************************************/
void send_code(char my_code[])
{
 for(x=0;x<10;x++)
                {
                 if(my_code[x] is 0){pwm1_start();}
                 if(my_code[x] is 1){pwm1_stop() ;}
                 delay_ms(20);
                 }
/*****************************************/
}
void init()
{trisa.b7=input;
 trisa.b5=input;
 sw1=input;
 sw2=input;
 sw3=input;
 sw4=input;
 sw5=input;
 sw6=input;
 trisb=0;
 portb=0;
 ANSEL=0;
 OSCCON= 0b01000000;  
 cmcon=7;
}

/*****************************************/
void main()
{
         init();
         pwm1_init(38000);
         pwm1_set_duty(178);
         while(1)
                {
                 if(sw1 is preseed)
                 {delay_ms(10);
                 while(sw1 is preseed);
                 delay_ms(10);
                 send_code(code_1);
                 }
 else  if(sw2 is preseed)
                    {
                     delay_ms(10);
                     while(sw2 is preseed);
                     delay_ms(10);
                     send_code(code_2);
                    }

  else  if(sw3 is preseed)
                  {
                   delay_ms(10);
                   while(sw3 is preseed);
                   delay_ms(10);
                   send_code(code_3);

                  }
 else if(sw4 is preseed)
                   {
                    delay_ms(10);
                    while(sw4 is preseed);
                    delay_ms(10);
                    send_code(code_4);
}
else if(sw5 is preseed)
                   {
                    delay_ms(10);
                    while(sw5 is preseed);
                    delay_ms(10);
                    send_code(code_5);
                   }
else if(sw6 is preseed)
                   {
                     delay_ms(10);
                     while(sw6 is preseed);
                     delay_ms(10);
                     send_code(code_6);
                   }
  }
}

الملف

http://www.gulfup.com/?Lrm2Dr
بعد تجربة لدائرة وتعريف المدخلات لم يعمل الدائرة ؟؟

قمت بتخزين المصفوفات فى الروم بدل الرام فى المرحلة الثانية اشتغل الدائرة بنجاح والحمد لله المشكلة الرئيسية كانت فى الرام
السلام عليكم
أخي مبروك عليك نجاح التجربة شكرا لك على مواضيعك التي تفيدنا جميعا وشكرا للأخ حسن على تعاونه اللامحدود.
بخصوص تعريف المداخل فهي أصلا مفعلة في الكود ومن البداية هنا:
#define sw1_dir trisa.b0
#define sw2_dir trisa.b1
#define sw3_dir trisa.b2
#define sw4_dir trisa.b3
#define sw5_dir trisa.b4
#define sw6_dir trisa.b5
------
عذرا على عدم التنسيق في الكود .. دائما تحدث لي هذه المشكلة في المنتديات العربية ولا أعرف السبب.


التعديل الأخير تم بواسطة : Logic بتاريخ 24-09-2014 الساعة 08:14 PM

الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 27-09-2014, 09:35 PM المشاركة 28   
افتراضي


كتبت كود المستقبل لدائرة السابقة ولاكن نفس الشىء لايعمل رغم مراجعتى للكود مرات عديدة ؟؟


كود:
#define      is                        ==
#define      ir_recever                portb.f0
#define      ir_recever_dir            trisb.f0
/**********************************************/
const char code_1[]={0,0,0,0,1,0,1,0,0,1};
const char code_2[]={0,0,0,0,1,0,1,0,1,1};
const char code_3[]={0,0,0,0,1,0,1,1,0,1};
const char code_4[]={0,0,0,0,1,0,0,1,1,1};
const char code_5[]={0,0,0,0,1,1,0,0,0,1};
const char code_6[]={0,0,0,0,1,1,0,0,1,1};
/*********************************************/
char x,noise=0;
char check;
char my_data[10];
/********************************************/

void init();
char check_noise();
void stor_data();
void check_switch();


/********************************************/

void main()
{
 init();
 for(x=0;x<6;x++){portb.b2=1;delay_ms(500);portb.b2=0;delay_ms(500);}
 while(1)
        {
         if(check_noise() is 0)
           {
             stor_data();
             check_switch();
             if(check  !=0)
               {
                 for(x=0;x<check;x++)
                 {
                  portb.b2=1;
                  delay_ms(500);
                  portb.b2=0;
                  delay_ms(500);
                 }
               }
               check=0;
               for(x=0;x<10;x++)my_data[x]=0;
            }
        }
}

/*************************************/
void stor_data()
 {
   char y;
   delay_ms(5);
   for(y=0;y<10;y++)
 {
  if(ir_recever is 0) my_data[y]=0;
  if(ir_recever is 1) my_data[y]=1;
  delay_ms(20);
  }
 }
 
/*************************************/
void init()
{ porta=0;
  trisa=0b00100000;
  trisb=0b00000001;
  portb=0;
}
/*************************************/
void check_switch()// check sw1
  {
 char zz;
 for(zz=0;zz<10;zz++)
    {
     if(my_data[zz] is code_1[zz])check=1;
     else
     {check=0;break;}

    }
    if(check is 1)return;

    }
                   
/*************************************/

char check_noise()    //check noise
{
 for(x=0;x<10;x++)
{
 if(ir_recever is 0)noise=0;
 if(ir_recever is 1){noise=1;return noise;}
 delay_us(60);
}
return noise;
}
/*************************************/


الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 27-09-2014, 09:43 PM المشاركة 29   
افتراضي


والشىء الغريب فى دروس المهندس احمد سمير فى هذا الجزء من الكود كاتب

كود:
void check_noise()    //check noise
{
 for(x=0;x<10;x++)
{
 if(ir_recever is 0)noise=0;
 if(ir_recever is 1){noise=1;return noise;}
 delay_us(60);
}
return noise;
}

عمل بيلد للبرنامج بدون ايرر ؟؟

كتبت نفس الشى ولاكن اعطانى ايرر؟؟



[IMG][/IMG]


الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 27-09-2014, 09:47 PM المشاركة 30   
افتراضي


كاتب

كود:
void check_noise()    //check noise
اى لايرجع اية قيمة فكيف نجح استاذ احمد بنفس الكود وفشلت فيه ؟؟

مع العلم انا كاتب قبل void man

كود:
char check_noise();

اين المشكلة ؟؟


الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 27-09-2014, 10:43 PM المشاركة 31   
افتراضي




الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 27-09-2014, 10:57 PM المشاركة 32   
افتراضي


الملف

http://www.gulfup.com/?KUnm41



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