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

   

الصورة الرمزية أبو زكووور
أبو زكووور
:: عضو فضي ::
تاريخ التسجيل: Mar 2009
الدولة: سوريا العروبة
المشاركات: 428
نشاط [ أبو زكووور ]
قوة السمعة:
قديم 31-05-2010, 02:13 AM المشاركة 17   
attension



السلام عليكم أيها الإخوة .....
أنا في منتهى السعادة بسبب نجاح هذا الموضوع و التحدي
و الذي بفضل الله تعرفنا على هذا المبدع the lion

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

أرجوا من الأخ the lion

تنظيم هذا الموضوع و شرحه ضمن موضوع مستقل










.

اعلانات

الصورة الرمزية lovevb6
lovevb6
:: عضو فضي ::
تاريخ التسجيل: May 2010
الدولة: LIBYA-BENGHAZY
المشاركات: 1,473
نشاط [ lovevb6 ]
قوة السمعة:
قديم 31-05-2010, 02:21 PM المشاركة 18   
افتراضي ماشاالله


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

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

sofien.j
:: مهندس متواجد ::
تاريخ التسجيل: Oct 2009
الدولة: tunisia
المشاركات: 83
نشاط [ sofien.j ]
قوة السمعة:
قديم 31-05-2010, 07:01 PM المشاركة 19   
افتراضي


أخونا The lion
لو تكرمت علينا و وظعت لنا شرح لبرنامجك الراءع نكون لك من الشاكرين


الصورة الرمزية 5282
5282
:: عضو ذهبي ::
تاريخ التسجيل: Jun 2008
الدولة: مصر- الاسكندرية
المشاركات: 1,583
نشاط [ 5282 ]
قوة السمعة:
قديم 31-05-2010, 08:14 PM المشاركة 20   
افتراضي


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

اما عند ظهور برنامج ميكروبيسك للبيك وavr للأسف لم تكن فيها هذة الخاصية
وايضا ال avr bascom

ونتمنى المزيد
وشكرااااااااااااا


Ahmed7905
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2007
الدولة: تونس
المشاركات: 103
نشاط [ Ahmed7905 ]
قوة السمعة:
قديم 31-05-2010, 08:33 PM المشاركة 21   
افتراضي


موضوع غاية في الروعة لو تكرمت و شرحت لنا الكود وخاصة هذا السطر
0x7F, 0x49, 0x49, 0x49, 0x36 ,0x00, // B
على سبيل الذكر لا الحصر
وبارك الله فيك و في الاخ ابو زكووور اللذي كان حافزا لمثل هذه المواضيع


the lion
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2009
الدولة: egypt
المشاركات: 117
نشاط [ the lion ]
قوة السمعة:
قديم 31-05-2010, 11:53 PM المشاركة 22   
افتراضي


السلام عليكم ورحمه الله
اخي
أبو زكووور
lovevb6
sofien.j
5282
Ahmed7905
جزاكم الله خيرا علي هذا التشجيع الجميل وهذه الكلمات الرقيقه
للاسف لن استطيع ان اشرح الكود كاملا وذلك لسببين
السبب الاول لست ممن اعطاهم الله موهبه ايصال المعلومه
السبب الثاني هو ضيق الوقت فقد اقتربت امتحاناتي
ولكن يمكن ان اشرح افكار بعض الدوال الرئيسيه في البرنامج
وساشرح فكره الداله write1(char num)
وهي الداله الرئيسيه في هذا البرنامج واللتي تقوم بارسال البيانات الي مسجله الازاحه
لاوضح عمل هذه الدله ساذكر مثال بسيط عند كتابه الامر التالي ماذا يحدث
portb=7;
ما يحدث هو ان اول 3bit يتحولوا الي high اما بقيه البورت يكون low
f7 f6 f5 f4 f3 f2 f1 f0
0 0 0 0 0 1 1 1
ولكن ماذا يحدث اذا اردنا ان نظهر الرقم 7 علي مسجل الازاحه
سيتطلب ذلك تحويل الرقم 7 الي النظام الثنائي اولا وتخزينه في المصفوفه m[8]
وبعد ذلك يتم ارسال محتويات المصفوفه الي مسجل الازاحه
والداله اللتي تقوم بتحويل الرقم الي النظام الثنائي هي
d2b(char hex)
ولاوضح عمل هذه الداله يجب ان نسترجع بعض المبادئ البرمجيه وهو كيفيه تحويل الارقام من النظام العشري الي النظام الثنائي وكان ذلك يتم بقسمه الرقم
العشري علي 2 واخذ باقي القسمه ليكون علي النحو التالي
7/2=3 ويكون باقي القسمه1
3/2=1 ويكون باقي القسمه1
1/2=0 ويكون باقي القسمه1
0/0=0 ويكون باقي القسمه0
0/0=0 ويكون باقي القسمه0
0/0=0 ويكون باقي القسمه0
0/0=0 ويكون باقي القسمه0
0/0=0 ويكون باقي القسمه0
بتجميع باقي قسمه العمليات مقلوبه اي من اسفل الي اعلي ينتج الرقم
00000111
ويتم ذلك برمجيا علي النحو التالي
كود:
void d2b(char hex)
{
for(x=0;x<8;x++)
               {
               m[7-x]=hex%2;
               hex=hex/2;
               }

}
وعند استعاء داله الكتابه write1
فانها تقوم بارسال الرقم الي الداله d2bوالتي بدورها تحول الرقم الي النظام الثنائي
وتخزنه في المصفوفه m[8[
وبعد الانتهاء من التحويل والتخزين تبدا عمليه الارسال الي مسجل الازاحه
ليكون كود داله الكتابه بالشكل التالي
كود:
void write1(char num)
{
d2b(num);//call the function that coverts the number
//into binary  and save it in m[8]

for(x=0;x<8;x++)//send data to the 74hc595
         {
          data1=m[x];
          clk1
         }
         show1;

}
اعتذر عن الاطاله
مع تحياتي
the lion


the lion
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2009
الدولة: egypt
المشاركات: 117
نشاط [ the lion ]
قوة السمعة:
قديم 01-06-2010, 12:00 AM المشاركة 23   
افتراضي


موضوع غاية في الروعة لو تكرمت و شرحت لنا الكود وخاصة هذا السطر
0x7F, 0x49, 0x49, 0x49, 0x36 ,0x00, // B
على سبيل الذكر لا الحصر
وبارك الله فيك و في الاخ ابو زكووور اللذي كان حافزا لمثل هذه المواضيع

0x7F, 0x49, 0x49, 0x49, 0x36 ,0x00, // B
هذه السته ارقام ما هي الا رسم لشكل حرف Bعلي الدوت ماتريكس


الصورة الرمزية 5282
5282
:: عضو ذهبي ::
تاريخ التسجيل: Jun 2008
الدولة: مصر- الاسكندرية
المشاركات: 1,583
نشاط [ 5282 ]
قوة السمعة:
قديم 10-06-2010, 08:18 PM المشاركة 24   
Thumbs up


رجاء المتابعة والتكملة استاذ ابو زكور اكرر هذا الموضوع فى غاية الاهمية
وجزاك الله خيراااا



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