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

أدوات الموضوع

الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 897
نشاط [ remon romany ]
قوة السمعة:0
قديم 21-04-2013, 03:01 PM المشاركة 1   
ha مساعدة فى عمل ليد ماتريكس Twitter FaceBook Google+



اريد ان اعرف لو سمحتو لماذا فى هذا الكود نستخدم
هذا الامر for (x=0;x<32;x++) فى حالة استخدام 4 مسجلات ازاحة لعمل ليد ماتريكس
حيث انة عندما استخدم مسجل ازاحة واحد اضع الكود هذا for (x=0;x<100;x++)
ارجو التوضيح لو سمحتوا
كود:
char d0=0b00000000;
char d1=0b00000000;
char d2=0b11111110;
char d3=0b11111110;
char d4=0b00000000; ////
char d5=0b11111110;
char d6=0b11111110;
char d7=0b00000110;
char d8=0b00000110;
char d9=0b11111110;
char d10=0b11111110;
char d11=0b00000110;
char d12=0b00000110;
char d13=0b00111110;
char d14=0b00101110;
char d15=0b00101000;
char d16=0b00011000;
char d17=0b00000000; ////
char d18=0b00000000;
char d19=0b00000000;
char d20=0b00000000;
//////
char d21=0b11111111;
char d22=0b11111111;
char d23=0b00000110;
char d24=0b00111000;
char d25=0b01100000;
char d26=0b11111111;
char d27=0b11111111;
/////
char d28=0b00000000;
char d29=0b00000000;
char d30=0b00010000;
char d31=0b00111000;
char d32=0b01111100;
char d33=0b11111110;
char d34=0b00111000;
char d35=0b00111000; ////
char d36=0b00111000;
char d37=0b00111000;
char d38=0b00111000;
char d39=0b11111110;
char d40=0b11101110;
char d41=0b11000110;
char d42=0b10000010;
char d43=0b10000010;
char d44=0b00000000;
char d45=0b00000000;

 char x;
 void main() {
 TRISA=0;
 TRISB=0;
portb=0;
porta=0;



loop:

for (x=0;x<32;x++)   {
porta.f2=1;
  ////////////////////////////////////////
porta.f1=1;   porta.f1=0;


   portb=d45;  delay_us(250);
   ////
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d44;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d43;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d42;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d41;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d40;  delay_us(250);
     porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d39;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d38;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d37;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d36;  delay_us(250);

   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d35;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;



   portb=d34;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d33;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d32;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;




   portb=d31;  delay_us(250);
     porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d30;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d29;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d28;  delay_us(250);
   ////
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d27;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d26;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d25;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d24;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d23;  delay_us(250);
     porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d22;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d21;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d20;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d19;  delay_us(250);

   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d18;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;



   portb=d17;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d16;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;

   portb=d15;  delay_us(250);
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;




   portb=d14;  delay_us(250);
     porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d13;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;


   portb=d12;  delay_us(250);
    porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;








 }


 d0=d1;
  d1=d2;
  d2=d3;
   d3=d4;
   d4=d5;
    d5=d6;
    d6=d7;
    d7=d8;
    d8=d9;
    d9=d10;
   d10=d11;
   d11=d12;
    d12=d13;

     d13=d14;
     d14=d15;
      d15=d16;
       d16=d17;
        d17=d18;
      d18=d19;
      d19=d20;
      d20=d21;
      d21=d22;
      d22=d23;
     d23=d24;

    d24=d25;
     d25=d26;
      d26=d27;
      d27=d28;
       d28=d29;
        d29=d30;

       d30=d31;
          d31=d32;
         d32=d33;
        d33=d34;
        d34=d35;
          d35=d36;
         d36=d37;
  d37=d38;
     d38=d39;
        d39=d40;
         d40=d41;
         d41=d42;
        d42=d43;
      d43=d44;
       d44=d45;
       d45=d0;


 




	goto loop;   

	}


Read more: http://www.qariya.com/vb/showthread.php?t=56529&page=4#ixzz2R6shjve0

اعلانات

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:97
قديم 21-04-2013, 06:48 PM المشاركة 2   
افتراضي


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

ممكن تغير في الرقم زى ماتحب وزى مايظبط معاك

=============================
اضافة اخرى
لاحظ هذا الامر

كود:
كود:
portb=d44;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
تم تكرارة 32 مرة
والسبب ان المشروع بة 4مسجل ازاحة وكل مسجل ازاحة يتحكم فى 8 اعمدة
وبالتالى يكون عدد الاعمدة 32
وهذا يعنى ان كلما كررت هذا الامر زاد عدد الاعمدة
كمثال لو كان لديك ماتركس بة 8 مسجلات ازاحة عليك بوضع هذا الامر 64 مرة
ولو كان لديك 8 مسجلات ازاحة ووضعت هذا الامر 32 مرة فقط فسوف يكون العرض 32 عمود ثم يبدا يعيد نفسة من الاول .

هذا الامر فقط مايتم تغييرة
كود:
portb=d44;
رقم 44 هو مايتم تغييرة d44





بالتوفيق ان شاء الله


التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 21-04-2013 الساعة 07:04 PM
اعلانات اضافية ( قم بتسجيل الدخول لاخفائها )
  

الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 897
نشاط [ remon romany ]
قوة السمعة:0
قديم 22-04-2013, 10:33 AM المشاركة 3   
افتراضي


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

ممكن تغير في الرقم زى ماتحب وزى مايظبط معاك

=============================
اضافة اخرى
لاحظ هذا الامر

كود:
كود:
portb=d44;  delay_us(250);
   porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
تم تكرارة 32 مرة
والسبب ان المشروع بة 4مسجل ازاحة وكل مسجل ازاحة يتحكم فى 8 اعمدة
وبالتالى يكون عدد الاعمدة 32
وهذا يعنى ان كلما كررت هذا الامر زاد عدد الاعمدة
كمثال لو كان لديك ماتركس بة 8 مسجلات ازاحة عليك بوضع هذا الامر 64 مرة
ولو كان لديك 8 مسجلات ازاحة ووضعت هذا الامر 32 مرة فقط فسوف يكون العرض 32 عمود ثم يبدا يعيد نفسة من الاول .

هذا الامر فقط مايتم تغييرة
كود:
portb=d44;
رقم 44 هو مايتم تغييرة d44





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


الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,334
نشاط [ ناصراحمد2 ]
قوة السمعة:97
قديم 22-04-2013, 03:21 PM المشاركة 4   
angry


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


التعديل الأخير تم بواسطة : ناصراحمد2 بتاريخ 22-04-2013 الساعة 03:25 PM

الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 897
نشاط [ remon romany ]
قوة السمعة:0
قديم 23-04-2013, 03:46 PM المشاركة 5   
ha


احنا تحت امرك واسال زى ماتحب وكلنا زى مابقولك بنتعلم من بعض
وكلمة اخر سؤال دى هزار
اتمنى تكون استفدت من اى سؤال
بس انا لى عتاب بسيط عندك وهو انى حاسس انك واخد الشروحات من نصها
ولو تابعت الشروحات من البداية راح يكون التدرج فيها اسهل لك بكتير
انا كان كل تركيزى على نقطة واحدة وهى ان الشخص يدخل الموضوع وبنهاية الشروحات يقدر ينفذ ولو ماتركس بسيط كدة يكون فعلا الشخص استفاد من دخولة للموضوع والحمد لله راح تجد انة هناك ناس كتير بالفعل نفذت مشاريع كاملة قبل حتى نهاية الشروحات
تحياتى لك وللجميع
ربنا يخليك يا استاذ ناصر على زوقك
وبما ان كلمة اخر سؤال دى هزار
انا ليا سؤال اخير هههه
فى هذا الكود انا فهمت كل حاجة بس من اول الامر loop وانا مش فاهم حاجة فارجو لو سمحت لو تشرحلى كل امر بعد loop شرح مبسط
كود:
char x[21]={

0b00000000,0b00000000,0b11111110,0b11111110,
0b00000000,0b11111110,0b11111110,0b00000110,
0b00000110,0b11111110,0b11111110,0b00000110,
0b00000110,0b00111110,0b00101110,0b00101000,
0b00111000,0b00000000;,0b00000000,0b00000000,
0b00000000
};
char x3;
char n;
char x2;
 void main()
{
TRISB=0;
 PORTB=0;

 TRISd=0;
 PORTd=0;

loop:

 for(n=0;n<100;n++;){
porta.f1=1;   porta.f1=0;/////////*****///////////

for (x2=0;x2<8;x2++;){

  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x1;
 delay_us(300);
}
for(x3=0; x3<21;x3++;){
x[x3]=x[x3+1];    
x[0]=x[20];

}
goto loop;
}


Read more: http://www.qariya.com/vb/showthread.php?t=56529&page=58#ixzz2RIjHOWtq


الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 897
نشاط [ remon romany ]
قوة السمعة:0
قديم 24-04-2013, 09:59 AM المشاركة 6   
ha


ربنا يخليك يا استاذ ناصر على زوقك
وبما ان كلمة اخر سؤال دى هزار
انا ليا سؤال اخير هههه
فى هذا الكود انا فهمت كل حاجة بس من اول الامر loop وانا مش فاهم حاجة فارجو لو سمحت لو تشرحلى كل امر بعد loop شرح مبسط
كود:
char x[21]={

0b00000000,0b00000000,0b11111110,0b11111110,
0b00000000,0b11111110,0b11111110,0b00000110,
0b00000110,0b11111110,0b11111110,0b00000110,
0b00000110,0b00111110,0b00101110,0b00101000,
0b00111000,0b00000000;,0b00000000,0b00000000,
0b00000000
};
char x3;
char n;
char x2;
 void main()
{
TRISB=0;
 PORTB=0;

 TRISd=0;
 PORTd=0;

loop:

 for(n=0;n<100;n++;){
porta.f1=1;   porta.f1=0;/////////*****///////////

for (x2=0;x2<8;x2++;){

  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x1;
 delay_us(300);
}
for(x3=0; x3<21;x3++;){
x[x3]=x[x3+1];    
x[0]=x[20];

}
goto loop;
}


Read more: http://www.qariya.com/vb/showthread.php?t=56529&page=58#ixzz2RIjHOWtq
استاذ ناصر من خلال فهمى لشرح الكود اننا قمنا بتكرار هذا الامر
كود:
 porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x1;
 delay_us(300);
ولن سؤالى هنا اين الامر الذى يجعل x1 تاخذ محل x2 وهكذا فى كل مرة تكرار
كما فى هذا الكود
كود:
porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x1;
 delay_us(300);


  //////////////////////////////////////////////

  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x2;
 delay_us(300);

  //////////////////////////////////////////////

  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x3;
 delay_us(300);

  //////////////////////////////////////////////

  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x4;
delay_us(300);


  //////////////////////////////////////////////

  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x5;
delay_us(300);


  //////////////////////////////////////////////


  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x6;
 delay_us(300);


  //////////////////////////////////////////////
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x7;
delay_us(300);

  //////////////////////////////////////////////
  porta.f0=1;porta.f1=1; porta.f1=0;  porta.f0=0;
   portb=x8;
 delay_us(300);
ارجو التوضيح لو سمحت
سؤالى الثانى كيف نختار متغيرات باسم متغيرات اخرى حيث اننا اخترنا مثلا المتغير x2 و x3 وهما موجودين ضمن ال 21 متغير
اما بالنسبة لامر الازاحة ارجو شرحة لانى مش فاهمة خالص
انا قمت بقراءة الشرح من اولة لهذا الدرس ولكن لا افهم بعض الاشياء
فارجو توضيح هذة الاشياء بطريقة مبسطة لو سمحت
وانا اسف على اى ازعاج اسببة لحضرتك
وشكرا


التعديل الأخير تم بواسطة : remon romany بتاريخ 24-04-2013 الساعة 10:05 AM

magdy_3
:: مهندس متميز ::
تاريخ التسجيل: Aug 2006
الدولة: Philippines
المشاركات: 343
نشاط [ magdy_3 ]
قوة السمعة:0
قديم 24-04-2013, 06:14 PM المشاركة 7   
افتراضي


بعد ادن استاد احمد
ممكن احاول اساعدك بعض الشىء على قد معلوماتى البسيطة بنسبه لاستادنا
[21]x معناها مصفوفة مكونة 21 عنصر وليس معنى دلك ان هده العناصر اسمها
x0 .x1 لا اما x1 ,x2 متغيرات مستقلة وليس لها علاقة بلمصفوفة [21]x


الصورة الرمزية remon romany
remon romany
:: عضو نشط ::
تاريخ التسجيل: Feb 2011
المشاركات: 897
نشاط [ remon romany ]
قوة السمعة:0
قديم 24-04-2013, 06:25 PM المشاركة 8   
افتراضي


بعد ادن استاد احمد
ممكن احاول اساعدك بعض الشىء على قد معلوماتى البسيطة بنسبه لاستادنا
[21]x معناها مصفوفة مكونة 21 عنصر وليس معنى دلك ان هده العناصر اسمها
x0 .x1 لا اما x1 ,x2 متغيرات مستقلة وليس لها علاقة بلمصفوفة [21]x
شكرا لردك اخ مجدى ولكن اذا كنت انا اريد ان اتحكم فى كل امر من ال 21 امر فماذا افعل

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025