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

   

الصورة الرمزية أبو معاذ 2010
أبو معاذ 2010
:: مشرف قسم الإنتاج الزراعي والحيواني والطاقة البديلة ::
تاريخ التسجيل: Feb 2010
المشاركات: 2,039
نشاط [ أبو معاذ 2010 ]
قوة السمعة:
قديم 24-03-2012, 11:52 PM المشاركة 457   
افتراضي



اخي معاذ اهلاا بك

هل تقصد بوضع فاصل زمني فى الداله كول بين كل امر من اوامرها مثلاا كالاتي
كود:
void col(char x){ delay_US(  );
portb.f1=x.f0;portb.f0=0;portb.f0=1;  delay_US(  );
portb.f1=x.f1;portb.f0=0;portb.f0=1;  delay_US(  );
portb.f1=x.f2;portb.f0=0;portb.f0=1;  delay_US(  );
portb.f1=x.f3;portb.f0=0;portb.f0=1;  delay_US(  );
portb.f1=x.f4;portb.f0=0;portb.f0=1;   delay_US(  );
portb.f1=x.f5;portb.f0=0;portb.f0=1;   delay_US(  );
portb.f1=x.f6;portb.f0=0;portb.f0=1;   delay_US(  );
portb.f1=x.f7;portb.f0=0;portb.f0=1;}  delay_US(  );
او تقصد ان نضع فى اخر الاخراج

اتمنى منك توضيح كامل او كتابة العلاقه التي تقصدها كمثال بالكود لاني بصدد ان اجرب ذلك

اما بالنسبه الى توصيل الداره بالجهد اعتقد اني سوف اعمل على ذلك ولكن لازلت افكر فى استخدام طريقه مثاليه لذلك مثل استخدام ...لا اعرف ماذا تسمونها نحن نسميها الصباصري او الفحمه المستخدمه فى الدينمو بتاع السيارات
هدا ما أقصده :
كود:
void col(char x){
portb.f1=x.f0;portb.f0=0;portb.f0=1; delay_US(1);
portb.f1=x.f1;portb.f0=0;portb.f0=1; delay_US(1);
portb.f1=x.f2;portb.f0=0;portb.f0=1; delay_US(1);
portb.f1=x.f3;portb.f0=0;portb.f0=1; delay_US(1);
portb.f1=x.f4;portb.f0=0;portb.f0=1; delay_US(1);
portb.f1=x.f5;portb.f0=0;portb.f0=1; delay_US(1);
portb.f1=x.f6;portb.f0=0;portb.f0=1; delay_US(1);
portb.f1=x.f7;portb.f0=0;portb.f0=1; delay_US(1);
                 }
و ستكون عندنا 8 ميكروثانية لإخراج 8 بتات و العمود يتكون من 6 بايتات إدن 48 ميكروثانية للعمود ، و علينا اخد هده القيمة بعين الإعتبار في الزمن بين الأعمدة .

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 24-03-2012, 11:57 PM المشاركة 458   
افتراضي


أعتقد أخي حيدر أن هنالك فرق ، فعندما نعطي فاصلا زمنيا بعد كل عملية إخراج بت ، سنحتم على المتحكم انتظار وقت نحن من يحدده قبل المرور لإخراج البت التالي ، و بالتالي سيكون بإمكاننا معرفة كم من الوقت استغرق المتحكم لإخراج البتات كاملة ، أعرف ان تنفيد امر بالميكروسي يترجمه الكومبايلر إلى عدة أوامر أسومبلي و لا يمكننا ان نعرف كم تستغرقه من دورة مدبدب ، و لكن حسب ما اعتقد فعندما نعطي فاصلا زمنيا بين أمرين فالميكروسي يقوم تلقائيا بتصحيح الزمن أي انه يأخد بعين الإعتبار كل العمليات المنجزة و ما تستغرقه من وقت و يدخل دلك في حساب الفاصل .

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

واسف على الاطالة ...

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

الصورة الرمزية أبو معاذ 2010
أبو معاذ 2010
:: مشرف قسم الإنتاج الزراعي والحيواني والطاقة البديلة ::
تاريخ التسجيل: Feb 2010
المشاركات: 2,039
نشاط [ أبو معاذ 2010 ]
قوة السمعة:
قديم 25-03-2012, 12:00 AM المشاركة 459   
افتراضي


ماذا تقصد اخي معاد بهذه العباره
كود:
void main(){ trisb=0;portb=0; 
 loop: 
 for(i=0;i<245;i++){
 for(j=0;j<6;j++) col(data[i*6+j]); 
 portb.f2=0;portb.f2=1; 
 delay_US(145);   }
 delay_ms(37); 
 goto loop; }
على اعتبار ان 245 هو عدد الأعمدة الكلي ، أرجو ان تصحح الرقم .

و ربنا معاك .


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 25-03-2012, 12:03 AM المشاركة 460   
افتراضي


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


الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 25-03-2012, 12:12 AM المشاركة 461   
افتراضي


كود:
void main(){ trisb=0;portb=0; 
 loop: 
 for(i=0;i<245;i++){
 for(j=0;j<6;j++) col(data[i*6+j]); 
 portb.f2=0;portb.f2=1; 
 delay_US(145);   }
 delay_ms(37); 
 goto loop; }
على اعتبار ان 245 هو عدد الأعمدة الكلي ، أرجو ان تصحح الرقم .

و ربنا معاك .
عبد السلام عزيزي .. 245 عدد البيانات في المصفوفة و ليس عدد الاعمدة ...
و كما اوضح لك الاخ ابو معاذ ... فقيمة العداد هي عدد الاعمة = 245 ÷ عدد المسجلات ..
يرجى التصحيح ..


الصورة الرمزية lovevb6
lovevb6
:: عضو فضي ::
تاريخ التسجيل: May 2010
الدولة: LIBYA-BENGHAZY
المشاركات: 1,473
نشاط [ lovevb6 ]
قوة السمعة:
قديم 25-03-2012, 12:21 AM المشاركة 462   
افتراضي


هل شاهدتم الفيديو


الصورة الرمزية أبو معاذ 2010
أبو معاذ 2010
:: مشرف قسم الإنتاج الزراعي والحيواني والطاقة البديلة ::
تاريخ التسجيل: Feb 2010
المشاركات: 2,039
نشاط [ أبو معاذ 2010 ]
قوة السمعة:
قديم 25-03-2012, 12:22 AM المشاركة 463   
افتراضي


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

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


الصورة الرمزية lovevb6
lovevb6
:: عضو فضي ::
تاريخ التسجيل: May 2010
الدولة: LIBYA-BENGHAZY
المشاركات: 1,473
نشاط [ lovevb6 ]
قوة السمعة:
قديم 25-03-2012, 12:29 AM المشاركة 464   
افتراضي


ياجماعه الخير

طول الشعاع عندي هو 20.5 سم
فطول المسار هو 129 تقريباا
يعني حوالي 258 عمود
عدد لفات الموتور هي 26 لفه فى الثانيه
بمعني
احسبوها واعطوني اول كود كامل لكي اجربه

مع ان الزمن الذي ظهر فى الفيديو هو 70 ميكروثانيه و16 مليثانيه


فما هو الجواب النهائي



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