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

مشاهدة نتائج الإستفتاء: هل ترى أنه من الأفضل عمل قسم جديد في المنتدى للغات الحديثة مثل لغة MikroC ؟؟
نعم 53 92.98%
لا 4 7.02%
المصوتون: 57. أنت لم تصوت في هذا الإستفتاء

   

الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 09-02-2010, 10:33 PM المشاركة 177   
افتراضي



درس جديد ....

((الدرس التاسع ))
إخواني الأعزاء أقدم لكم هذا الدرس , والذي هو في غاية الأهمية لأنه يحتوي على أساسيات برمجية سنحتاجها في الكثير من التطبيقات القادمة بإذن الله تعالى , فيجب فهم هذا الدرس وإتقانه جيدا ..

علما أن الدرس مكون من ثلاثين صفحة

ربما لا يحتوي الدرس على الشيء التطبيقي الملفت للنظر لكنه يحتوي كما قلت على أساسيات مهمة , وقريبا بإذن الله سنبحر أكثر وأكثر ونستمتع بالكثير من التطبيقات فقد أوشكنا على الانتهاء من أهم الأساسيات البرمجية .

ففي الدروس القادمة بإذن الله تعالى سنقوم بإجراء العديد من المشاريع المفيدة والشيقة .



لتحميل الدرس اضغط هنا




أتمنى أن لا تنسوني من دعواتكم بأن يحقق الله لي ما أريد , وييسر لي الأمور


===============
اللهم اجمعنا قريبا بمن نحب ,, ولا تعذبنا بفراقهم وبعدهم عنا .
واجمعنا جميعا في جناتك جنات النعيم .


===============

اعلانات

الصورة الرمزية حيدر علاج حسن
حيدر علاج حسن
:: مشرف منتدى الهندسة الكهربائية ::
تاريخ التسجيل: Mar 2005
الدولة: IRAQ
المشاركات: 9,848
نشاط [ حيدر علاج حسن ]
قوة السمعة:
قديم 11-02-2010, 04:47 PM المشاركة 178   
افتراضي


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

كود:
portb=power(x,y);
ارجو الافادة مع جزيل الشكر

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

الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 11-02-2010, 08:23 PM المشاركة 179   
افتراضي


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

كود:
portb=power(x,y);
ارجو الافادة مع جزيل الشكر
وعليكم السلام ورحمة الله وبركاته .

الأمر لا يحتاج إلى الكثير من البحث فنحن الآن نستطيع عمل دالة تقوم بالمهمة وهذه الدالة نصنعها نحن بأنفسنا .

إذن سأكتب لك الآن دالة يمكنك استخدامها في أي مشروع وسأسمي هذه الدالة بالاسم power مثلا , هذه الدالة لها معاملان :
المعامل الأول هو الرقم الذي نريد نرفعه لقوة معينة وسيكون هو x
المعامل الثاني هو الأس (أو القوة) , وسنسميه y .
فمثلا لو أردنا أن نكتب 3 أس اثنين سنكتب الكود
power(3,2)//this mean 3*3

فمثلا لو أردنا أن نكتب 2 أس oخمسة سنكتب الكود
power(2,5)//this mean 2*2*2*2*2

وهكذا ..
وإليك توضيح الكود .
كود:
char power(char x, char y)
{
char m,result=1;
for(m=0;m<y;m++)
            { result=result*x;

             }
return result;
}

void main () 
{
.........
.........
portb=power(2,3) ;
..........
أرجو أن تكون قد فهمت هذا الكود , علما أن هذا الكود يستخدم فقط عندما يكون الناتج عدد موجب محصور بين الصفر و 255 لأننا استخدمنا متغير من النوع char ويمكنك تعديل الدالة ليصبح مداها أكبر بكثير إذا حولت المتغير إلى النوع int أو long . وبالتالي ستكتب long power(char x,char y .

والآن في أي وقت أي دالة رياضية تريد عملها يمكنك عملها بنفسك , وللتأكد من فهمك لشرحي هذا سأقترح عليك أن تقوم بعمل دالة تعطينا مضروب الرقم
فمثلا مضروب الرقم خمسة يساوي 5*4*3*2*1 , مضروب الرقم ثلاثة يساوي 3*2*1 , وهكذا
اسم الدالة سيكون مثلا madroob(char x .
تمنياتي بكل التوفيق والتميز أخي حيدر .



درس جديد ....

((الدرس التاسع ))
إخواني الأعزاء أقدم لكم هذا الدرس , والذي هو في غاية الأهمية لأنه يحتوي على أساسيات برمجية سنحتاجها في الكثير من التطبيقات القادمة بإذن الله تعالى , فيجب فهم هذا الدرس وإتقانه جيدا ..

علما أن الدرس مكون من ثلاثين صفحة

ربما لا يحتوي الدرس على الشيء التطبيقي الملفت للنظر لكنه يحتوي كما قلت على أساسيات مهمة , وقريبا بإذن الله سنبحر أكثر وأكثر ونستمتع بالكثير من التطبيقات فقد أوشكنا على الانتهاء من أهم الأساسيات البرمجية .

ففي الدروس القادمة بإذن الله تعالى سنقوم بإجراء العديد من المشاريع المفيدة والشيقة .



لتحميل الدرس اضغط هنا




أتمنى أن لا تنسوني من دعواتكم بأن يحقق الله لي ما أريد , وييسر لي الأمور


===============
اللهم اجمعنا قريبا بمن نحب ,, ولا تعذبنا بفراقهم وبعدهم عنا .
واجمعنا جميعا في جناتك جنات النعيم .


===============




الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 12-02-2010, 12:00 AM المشاركة 180   
افتراضي


معلومة إضافية للتنبيه :

في الكود الذي كتبته الخاص برفع الرقم إلى أس (قوة) .
كود:
char power(char x, char y) { char m,result=1; for(m=0;m<y;m++) { result=result*x; } return result; } void main () { ......... ......... portb=power(2,3) ; ..........
ماذا يحدث إذا كان الأس(القوة) يساوي صفر؟؟ , من المفترض أن يكون الناتج يساوي واحد , والآن لننظر للكود ونرى إن كان هذا سيكون صحيحا أم لا .

نلاحظ أنه لو كانت القوة تساوي صفر سيكون y=0 وبالتالي لن يتم تنفيذ جملة for ولا مرة لأن الشرط هو m<y والقيمة الابتدائية لـ m هي صفر فهنا صفر ليس أقل من صفر وبالتالي لا يتحقق الشرط ولن يتم تنفيذ جملة for
وسيتم بعد ذلك تنفيذ الأمر return result , والقيمة الافتراضية لـ result هي واحد .
إذن هذه الدالة صالحة حتى مع الأس (أو القوة) صفر .

فقط أردت التنبيه لهذه المسألة ,, لكي يستفيد منها الجميع



تذكيرا فقط بالدرس الجديد , سأضع هذا الاقتباس


درس جديد ....

((الدرس التاسع ))
إخواني الأعزاء أقدم لكم هذا الدرس , والذي هو في غاية الأهمية لأنه يحتوي على أساسيات برمجية سنحتاجها في الكثير من التطبيقات القادمة بإذن الله تعالى , فيجب فهم هذا الدرس وإتقانه جيدا ..

علما أن الدرس مكون من ثلاثين صفحة

ربما لا يحتوي الدرس على الشيء التطبيقي الملفت للنظر لكنه يحتوي كما قلت على أساسيات مهمة , وقريبا بإذن الله سنبحر أكثر وأكثر ونستمتع بالكثير من التطبيقات فقد أوشكنا على الانتهاء من أهم الأساسيات البرمجية .

ففي الدروس القادمة بإذن الله تعالى سنقوم بإجراء العديد من المشاريع المفيدة والشيقة .



لتحميل الدرس اضغط هنا




أتمنى أن لا تنسوني من دعواتكم بأن يحقق الله لي ما أريد , وييسر لي الأمور


===============
اللهم اجمعنا قريبا بمن نحب ,, ولا تعذبنا بفراقهم وبعدهم عنا .
واجمعنا جميعا في جناتك جنات النعيم .


===============


التعديل الأخير تم بواسطة : ahmad_s_f بتاريخ 12-02-2010 الساعة 12:04 AM

الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 12-02-2010, 12:06 AM المشاركة 181   
افتراضي


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

فكلمة void تعني أن الدالة لا ترجع قيمة , وهنا الدالة ترجع قيمة وهي المتغير result وهو من النوع char لذا يجب أن تكون كلمة char موجودة . وإلا يظهر رسالة خطأ .


تذكيرا فقط بالدرس الجديد لمن لم ينتبه من الإخوة , سأضع هذا الاقتباس


درس جديد ....

((الدرس التاسع ))
إخواني الأعزاء أقدم لكم هذا الدرس , والذي هو في غاية الأهمية لأنه يحتوي على أساسيات برمجية سنحتاجها في الكثير من التطبيقات القادمة بإذن الله تعالى , فيجب فهم هذا الدرس وإتقانه جيدا ..

علما أن الدرس مكون من ثلاثين صفحة

ربما لا يحتوي الدرس على الشيء التطبيقي الملفت للنظر لكنه يحتوي كما قلت على أساسيات مهمة , وقريبا بإذن الله سنبحر أكثر وأكثر ونستمتع بالكثير من التطبيقات فقد أوشكنا على الانتهاء من أهم الأساسيات البرمجية .

ففي الدروس القادمة بإذن الله تعالى سنقوم بإجراء العديد من المشاريع المفيدة والشيقة .



لتحميل الدرس اضغط هنا




أتمنى أن لا تنسوني من دعواتكم بأن يحقق الله لي ما أريد , وييسر لي الأمور


===============
اللهم اجمعنا قريبا بمن نحب ,, ولا تعذبنا بفراقهم وبعدهم عنا .
واجمعنا جميعا في جناتك جنات النعيم .


===============


2sa1302
:: عضوية غير مفعلة ::
تاريخ التسجيل: Sep 2005
المشاركات: 81
نشاط [ 2sa1302 ]
قوة السمعة:
قديم 01-05-2010, 06:00 PM المشاركة 182   
افتراضي


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

00000000000000000000000000000000000000000000000000 00
بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته

بالنسبة لأمر التأخير فلا يوجد أمر مباشر للتأخير بالدقائق ولكن هناك طريقة تؤدي نفس الوظيفة

وهي أن تقوم بتكرار أمر الانتظار لمدة ثانية 60 مرة وبهذا تكون قد عملت تأخير قدرة دقيقة

فمثلا لو أردنا أن ننتظر لمدة دقيقة سنكتب الكود التالي

for(x=0;x<60;x++)
{
delay_ms(1000);

}

وإذا أردنا أن ننتظر دقيقتين سنكتب 120 بدلا من 60
وهكذا ..

وهناك طريقة أخرى

بما أن جملة فور السابقة تجعل الميكروكنترولر ينتظر لمدة دقيقة فإننا لو كررنا جملة فور هذه خمس مرات يكون انتظرنا خمس دقائق
كما يلي
for(y=0;y<5;y++){
for(x=0;x<60;x++)
{
delay_ms(1000);

}
}


وبنفس الطريقة لو أردنا أن ينتظر الميكرو لمدة ساعة سنكتب الكود التالي
for(y=0;y<60;y++){
for(x=0;x<60;x++)
{
delay_ms(1000);

}
}

أما إذا أردنا أن ينتظر الميكرو لمدة 24 ساعة فإننا سنكرر الأوامر السابقة 24 مرة ولذلك سنكتب الكود التالي
for(zz=0;zz<24;z++){
for(y=0;y<60;y++){
for(x=0;x<60;x++)
{
delay_ms(1000);

}
}
}

أتمنى أن تكون اتضحت الفكرة

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

أما إذا فهمتها تماما فيمكنك أيضا وضعها في الموقع ليستفيد منها غيرك

تمنياتي بالتوفيق


والسلام عليكم ورحمة الله وبركاته

أخوك / أحمد سمير فايد


التعديل الأخير تم بواسطة : 2sa1302 بتاريخ 01-05-2010 الساعة 06:08 PM

الصورة الرمزية ahmad_s_f
ahmad_s_f
:: المهندس/ أحمد سمير فايد ::
تاريخ التسجيل: Jun 2006
الدولة: سائح في ارض الله
المشاركات: 632
نشاط [ ahmad_s_f ]
قوة السمعة:
قديم 12-07-2010, 02:28 PM المشاركة 183   
افتراضي


بسم الله الرحمن الرحيم

استئناف دورة الميكروكنترولر

أخوتي أحبتي في كل مكان السلام عليكم ورحمة الله وبركاته

بإذن الله العلي القدير سوف نستكمل دورتنا في تعلم واحتراف برمجة الميكروكنترولر

وإنني أعتذر أن الدورة حدث لها عدة انقطاعات ولكنها ظروف وأقدار خارجة عن إرادتي

الدورة بدأت في البداية مشتعلة ونشيطة للغاية , ثم حدثت عدة ظروف فأصبحت تسير ببطء شديد.

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

==========


إخواني حتى لا أطيل عليكم , ما أريد أن أقوله أنني بإذن الله عزمت على استكمال الدورة ( أسرع طريق لاحتراف برمجة الميكروكنترولر) بوتيرة سريعة بحيث خلال هذه الفترة ننجز قدر كبير من الدروس التي أريد أن أشرحها .. وبالنسبة لمن يسأل عن الأشياء الجديدة التي ستكون في الدورة وفي طريقة الشرح فالجواب هو ما سترونه لا ما أكتبه .

البداية بإذن الله يوم 18 يوليو 2010


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

=============

وأتأسف كل الأسف وأتقدم بكل الاعتذار لمن أرسل لي ايميل ولم أستطع أن أرد عليه وأرجو أن يلتمس لي العذر فظروفي كانت جدا متقلبة ولم تكن بالسهلة .

كما أنني أعتذر عن بعض الوعود التي لم أستطع الوفاء بها لظروف خارجة عن إرادتي وأرجو من اخواني أن يسامحوني



وفقنا الله جميعا لما يحب ويرضى ورزقنا وإياكم العلم النافع والعمل الصالح
ووفقنا لنهضة أمتنا ورفعتها
وجمعنا بأحباءنا وعوضنا خيرا ..


والسلام عليكم ورحمة الله وبركاته


الصورة الرمزية ibrahim.omar
ibrahim.omar
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2009
المشاركات: 60
نشاط [ ibrahim.omar ]
قوة السمعة:
قديم 24-07-2010, 10:21 PM المشاركة 184   
x6


السلام عليكم ورحمه الله

نورت والله من جديد يا بشمهندس

كمل وحنا معاك ان شاء الله

سؤال

هل تم نقل الموضوع لمكان اخر ام لماذا لم يتم التكمله فى 18 يوليو

وكل عام وانت بخير ( اقترب شهر رمضان)

000000000000000000000000000000000
ربى اغفر لى ولوالدى وللمؤمنين والمؤمنات يوم يقوم الحساب



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