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

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

noor1144
:: مهندس متميز ::
تاريخ التسجيل: Mar 2010
المشاركات: 557
نشاط [ noor1144 ]
قوة السمعة:0
قديم 10-10-2010, 06:35 PM المشاركة 1   
افتراضي برنامج بسيط مش عارف اعمله في الليد Twitter FaceBook Google+



الان كتبت هذا الكود السهل للمبتدئين

void main()
{TRISB=0; PORTB=0;
noor:
PORTB=0B00000001; delay_ms(100);
PORTB=0B00000010; delay_ms(100);
PORTB=0B00000100; delay_ms(100);
PORTB=0B00001000; delay_ms(100);
PORTB=0B00010000; delay_ms(100);
PORTB=0B00100000; delay_ms(100);
PORTB=0B01000000; delay_ms(100);
PORTB=0B10000000; delay_ms(100);
goto noor;}

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

اتركم مع الفيديو


http://www.youtube.com/watch?v=eW1vtwGE394


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


void main()
{TRISB=0; PORTB=0;
noor:
PORTB=0B00000001; delay_ms(100);
PORTB=0B00000010; delay_ms(100);
PORTB=0B00000100; delay_ms(100);
PORTB=0B00001000; delay_ms(100);
PORTB=0B00010000; delay_ms(100);
PORTB=0B00100000; delay_ms(100);
PORTB=0B01000000; delay_ms(100);
PORTB=0B10000000; delay_ms(100);
PORTB=0B10000000; delay_ms(100);
PORTB=0B01000000; delay_ms(100);
PORTB=0B00100000; delay_ms(100);
PORTB=0B00010000; delay_ms(100);
PORTB=0B00001000; delay_ms(100);
PORTB=0B00000100; delay_ms(100);
PORTB=0B00000010; delay_ms(100);
PORTB=0B00000001; delay_ms(100);
goto noor;}
ولكن لا اريد هذه الطريقة الطويلة اريد شيء مختصر بعكس الحركة
جربت هذا الامر ولكن لخبط الدنيا ولا اعرف ماذا عكس يرجى توضيحه


PORTB=~PORTB; delay_ms(100);

وشكرا لكم


التعديل الأخير تم بواسطة : noor1144 بتاريخ 10-10-2010 الساعة 06:55 PM
اعلانات

الصورة الرمزية اكزي
اكزي
:: عضو ذهبي ::
تاريخ التسجيل: May 2009
الدولة: المغرب iguizzi06*hotmail.com // www.facebook.com/iguizzi.abdallah
المشاركات: 2,434
نشاط [ اكزي ]
قوة السمعة:148
قديم 10-10-2010, 07:15 PM المشاركة 2   
افتراضي


void main()
{TRISB=0; PORTB=0;
noor:
PORTB=0B00000001; delay_ms(100);
PORTB=0B00000000;
PORTB=0B00000010; delay_ms(100);
PORTB=0B00000000;
PORTB=0B00000100; delay_ms(100);
PORTB=0B00000000;
PORTB=0B00001000; delay_ms(100);
PORTB=0B00000000;
PORTB=0B00010000; delay_ms(100);
PORTB=0B00000000;
PORTB=0B00100000; delay_ms(100);
PORTB=0B00000000;
PORTB=0B01000000; delay_ms(100);
PORTB=0B00000000;
PORTB=0B10000000; delay_ms(100);
goto noor;}

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

الصورة الرمزية اكزي
اكزي
:: عضو ذهبي ::
تاريخ التسجيل: May 2009
الدولة: المغرب iguizzi06*hotmail.com // www.facebook.com/iguizzi.abdallah
المشاركات: 2,434
نشاط [ اكزي ]
قوة السمعة:148
قديم 10-10-2010, 07:30 PM المشاركة 3   
افتراضي




noor1144
:: مهندس متميز ::
تاريخ التسجيل: Mar 2010
المشاركات: 557
نشاط [ noor1144 ]
قوة السمعة:0
قديم 11-10-2010, 04:57 AM المشاركة 4   
افتراضي


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

ملاحظة هناك جزء آخر من سؤالي وهو عكس الحركة باختصار الكود هل من المكن

وشكرا لكم جميعا


الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 789
نشاط [ sheimy ]
قوة السمعة:99
قديم 11-10-2010, 09:47 AM المشاركة 5   
Thumbs up الحمد لله


الموضوع سهل باذن الله
هذا هو الكود والذى به 5حركات مختلفة
ويمكنك التحكم بالسرعة ايضا


وهذا هو الكود
كود:
unsigned short i,j,k,q,l;
//============================
void toright(int speed,short no)
{
PORTB=0b10000000;
VDelay_ms(speed);
for(i=0;i<no;i++)
{
 PORTB=PORTB >>1;
 VDelay_ms(speed);
}
}
//===========================
void toleft(int speed,short no)
{
PORTB=0b00000001;
VDelay_ms(speed);
for(i=0;i<no;i++)
{
 PORTB=PORTB <<1;
 VDelay_ms(speed);
}
}
//============================
void toright_stop(int speed)
{
k=0b00000000;
for(j=8;j>0;j--)
{
q=128;
for(i=0;i<j;i++)
{
 PORTB=q|k;
 VDelay_ms(speed);
 q >>=1;
}
k <<=1;
k+=1;
}
}
//===========================
void toleft_stop(int speed)
{
k=0b00000000;
for(j=8;j>0;j--)
{
q=1;
for(i=0;i<j;i++)
{
 PORTB=q|k;
 VDelay_ms(speed);
 q <<=1;
}
k >>=1;
k |=128;
}
}
//===========================
void tofromcenter(int speed)
{
k=0b00000000;
for(j=8;j>0;j--)
{
q=1;
l=128;
k=q|l;
for(i=0;i<j;i++)
{
 PORTB=q|l;
 VDelay_ms(speed);
 q <<=1;
 l >>=1;
}
/*k >>=2;
k <<=1;
k |=128;
k +=1;*/
}
}
//===============================
void main() {
TRISB=0x00;
PORTB=0x00;
while(1)
{
toright(50,8);
toleft(50,8);
toright_stop(50);
toleft_stop(50);
tofromcenter(100);
}

}


الصورة الرمزية اكزي
اكزي
:: عضو ذهبي ::
تاريخ التسجيل: May 2009
الدولة: المغرب iguizzi06*hotmail.com // www.facebook.com/iguizzi.abdallah
المشاركات: 2,434
نشاط [ اكزي ]
قوة السمعة:148
قديم 11-10-2010, 11:40 AM المشاركة 6   
افتراضي


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


noor1144
:: مهندس متميز ::
تاريخ التسجيل: Mar 2010
المشاركات: 557
نشاط [ noor1144 ]
قوة السمعة:0
قديم 11-10-2010, 07:24 PM المشاركة 7   
افتراضي


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

الاخ sheimy
ماشاء الله عليك
ولكن بأي لغة كتبت الكود ؟!؟!
انا شغال حاليا بلغة ال c اتعلمها رويدا رويدا
واكتب الكود في برنامج mikroc
واشاهد الدارة في برنامج البروتوس
عملت كبي وبيست للكود الي كتبته واعطاني خطأ
اتمنى ان تكون في ال c
ويااااريييييت شرح بسيط عند كل فقرة بالكود وسادعو لك من كل قلبي

ويوجد حواجز كتبتها في الكود ماذا تعني
//===========================
هل لتفصل شيء معين ام للتوضيح ام اللغة تتطلب ذلك

اتمنى المساعده

وشكرا لكل من شارك وسيشارك


الصورة الرمزية sheimy
sheimy
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: Egypt
المشاركات: 789
نشاط [ sheimy ]
قوة السمعة:99
قديم 11-10-2010, 10:04 PM المشاركة 8   
افتراضي




لاعليك اخي الحبيب بالعكس انت ماقصرت ابدا

الاخ sheimy
ماشاء الله عليك
ولكن بأي لغة كتبت الكود ؟!؟!
انا شغال حاليا بلغة ال c اتعلمها رويدا رويدا
واكتب الكود في برنامج mikroc
واشاهد الدارة في برنامج البروتوس
عملت كبي وبيست للكود الي كتبته واعطاني خطأ
اتمنى ان تكون في ال c
ويااااريييييت شرح بسيط عند كل فقرة بالكود وسادعو لك من كل قلبي

ويوجد حواجز كتبتها في الكود ماذا تعني
//===========================
هل لتفصل شيء معين ام للتوضيح ام اللغة تتطلب ذلك

اتمنى المساعده

وشكرا لكل من شارك وسيشارك
الكود ميكرو سى
ولكن اخر اصدار
وهذا هو البرنامج الذى كتب به الكود
http://hotfile.com/dl/74664196/113ea...v4.15.rar.html

إضافة رد

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

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

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


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

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