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

   

الصورة الرمزية wleed ameer
wleed ameer
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2008
المشاركات: 86
نشاط [ wleed ameer ]
قوة السمعة:
قديم 02-10-2009, 10:13 PM المشاركة 49   
افتراضي



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

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

وأعتذر عن تعبك معى .

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



التعديل الأخير تم بواسطة : wleed ameer بتاريخ 02-10-2009 الساعة 10:16 PM
اعلانات

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 895
نشاط [ robota ]
قوة السمعة:
قديم 02-10-2009, 11:07 PM المشاركة 50   
افتراضي


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

وعندى استفسار او تساؤل
اذا اردناارسال رقم اكبر من 255 فانت اقترحت زيادة الاطراف حتى نتمكن من ارسال الرقم . لكن ما المانع اذا ارسلنا الرقم على دفعتين وبهذا نكتفى بالاطراف الاربعة

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

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 02-10-2009, 11:36 PM المشاركة 51   
افتراضي


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

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


أما كلامنا هذا فى حالة استخدامنا 3 أطــــــراف فقط كأطراف عنوان مثل ما فعلنا فى البــــورت E
فهذا يمكننا من نقل رقــم يصــل إلى ( 9999999 ) هذا رغم أننا إستخدمنا ثلاث أطراف فقط وليس أربعة ! ! أما أطراف الداتا فهم أربع أطراف متتالية فقط من أى منفذ وبذلك سنتمكن من استخدام نفس البورت المستخدم كعنوان فنستخدمه كداتا فى آن واحد

وسيتضح لاحقا فى الشرح القادم إن شاء الله.


التعديل الأخير تم بواسطة : wleed antar بتاريخ 18-10-2009 الساعة 04:45 PM

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 895
نشاط [ robota ]
قوة السمعة:
قديم 03-10-2009, 12:00 AM المشاركة 52   
افتراضي


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

ن نقل رقــم يصــل إلى ( 9999999 )
يعنى سبع خانات

اتضحت الرؤيا الان جزاك الله خيرا


الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 03-10-2009, 12:26 AM المشاركة 53   
افتراضي



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

وأوضح أن الرقم الذى نستطيع نقله يمكن أن يصل إلى 7 خانات أى ( 9999999 ) وهذا يكون عن طريق استخدام 3 أطراف عنوان هكذا :-

ثلاث أطراف العنوان هم يستطيعوا التحميل بالقيمة 7 كحد أقصى ونحن جميعا نتفق على هذا طبعا ، وبهذا نستطيع توظيف كل قيمة لخانة من الخانات لرقم ما بين 1 وحتى 7 ---- !!

طبعا هذا عند التعامل مع متحكم واحد يرتبط مع المتحكم الرئيسى

إذن 3 أطراف عنوان لها سبع طلبات يمكننا توظيفهم لسبع خانات كما ذكرنا ، أو يمكنن توظيف 4 خانات من متحكم فرعى و 3 من متحكم فرعى آخر لأن كل طلب يحتاج لقيمة وبذلك يكون مجموع الطلبات 7 طلبات ككل

نفرض أننا احتجنا ربط 4 متحكمان مع متحكم واحد رئيسى ونريد نقل رقم مكون من 7 خانات كاملة من كل متحكم فرعى على حدة فكم طرف سنستخدم ؟ ؟ ؟

طبعا ذكرنا أننا نحتاج 3 أطراف عنوان لطلب سبع طلبات كحد أقصى فهل إذا أردنا التعامل مع 9 متحكمات أننا سنستخدم 3 أطراف عنوان مكررة تسع مرات لنقوم بتمييز كل متحكم على حدة ؟

ونترك هذا السؤال للحوار حاليا وأنتظر من حضراتكم الآراء والمناقشة ؟

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

والسؤال أننا فى حالة نقل سبع خانات أى سبع طلبات كنا قسمناهم فى المثال العملى الموجود فى أول الموضوع والذى لم أنتهى من رفع باقى السوفت وير الخاص به طلبنا نقل خانتان من كل متحكم على حدة فاستخدمنا 3 أطراف وبذلك نكون قد قمنا بعمل 4 طلبات ويتبقى إمكانية 3 طلبات لم نحتاجها ( لأن 3 أطراف عنوان يمكن أن تقوم بطلبات حتى 7 طلبات ) فكم طرف عنوان نحتاجه إذا أردنا نقل رقم حتى 7 خانات لعدد متحكمات يصل إلى 9 متحكم مرتبطة مع متحكم واحد رئيسى ؟



الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 03-10-2009, 03:49 PM المشاركة 54   
افتراضي


السوفت وير الخاص بالمتحكم الفرعى رقم 2 فى المثال الأول


كود:
dim T , K as byte    ' متغيرات
كود:
 
main:
ADCON1 = $07 'نتعامل مع منافذ a , e نتعامل مع
trisa = 0 ' منفذ خرج البيانات trise = $ff ' منفذ دخل العنوان trisb = 1 ' دخل مفتاح العداد lop1: ' بداية البرنامج الرئيسى if portb.0 = 1 then ' إذا تم الضغط على المفتاح زد المتغير بمقدار 1 if K = 1 then K = 0 T = T + 1 ' هنا يخزن عدد الضغطات if T > 99 then T = 0 end if end if end if if portb.0 = 0 then 'يتم إلغاء حذر المفتاح عند عدم الضغط المتواصل K = 1 end if if porte = 1 then 'فى حالة طلب 1 قم بإرسال porta = 1 + ( T div 10 ) mod 10 'خانة العشرات مضاف لها 1 else if porte = 2 then ' فى حالة طلب 2 قم بإرسال porta = 1 + T mod 10 ' خانة الأحاد مضاف لها 1 else porta = 0 ' ما عدا ذلك من الطلبات قف عن الإرسال end if end if
goto lop1
نلاحظ أنه يضاف قيمة 1 للقيمة الحقيقية لأى خانة يتم إخراجها على أطراف البيانات وذلك يعنى أن الرقم 10 يتم إخراجه على هذا النحو:-

خانة العشرات 1 سيتم إخراجها مضاف لها 1 فتكون خانة العشرات 2

خانة الأحاد صفر سيتم إضافة لها 1 فيكون خانة الأحاد تساوى 1

لأننا لو تركنا خانة الأحاد بدون إضافة 1 فلن يكون هناك خرج لأن القيمة ستظل صفر ويظل المتحكم الرئيسى منتظر الإستجابة

يتتبع ،


التعديل الأخير تم بواسطة : wleed antar بتاريخ 04-10-2009 الساعة 12:38 PM

الصورة الرمزية wleed antar
wleed antar
:: عضو ماسي ::
تاريخ التسجيل: May 2006
الدولة: القاهرة - مصر
المشاركات: 1,484
نشاط [ wleed antar ]
قوة السمعة:
قديم 03-10-2009, 04:17 PM المشاركة 55   
افتراضي


السوفت وير الخاص بالمتحكم الفرعى 3 فى المثال الأول


كود:
dim T , K as byte    ' متغيرات 
كود:
 
main:
ADCON1 = $07 'نتعامل مع منافذ a , e كمنافذ رقمية trisa = 0 ' منفذ خرج البيانات trise = $ff ' منفذ دخل العنوان trisb = 1 ' دخل مفتاح العداد lop1: ' بداية البرنامج الرئيسى if portb.0 = 1 then ' إذا تم الضغط على المفتاح زد المتغير بمقدار 1 if K = 1 then K = 0 T = T + 1 ' هنا يخزن عدد الضغطات if T > 99 then T = 0 end if end if end if if portb.0 = 0 then 'يتم إلغاء حذر المفتاح عند عدم الضغط المتواصل K = 1 end if if porte = 3 then 'فى حالة طلب 3 قم بإرسال porta = 1 + ( T div 10 ) mod 10 'خانة العشرات مضاف لها 1 else if porte = 4 then ' فى حالة طلب 4 قم بإرسال porta = 1 + T mod 10 ' خانة الأحاد مضاف لها 1 else porta = 0 ' ما عدا ذلك من الطلبات قف عن الإرسال end if end if goto lop1

تم بحمد الله المثال الأول وأتمنى أن تكون المعلومة تم استيعابها


والآن هل من ملاحظات أو استفسارات ، وهل أكمل شرح استخدام بورت واحد فقط كمرسل ومستقبل أم نكتفى بالموضوع إلى هذا الحد وبذلك تكون اتضحت الرؤيا بالكامل ؟ !


التعديل الأخير تم بواسطة : wleed antar بتاريخ 04-10-2009 الساعة 12:38 PM

robota
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: الخرطوم_السودان
المشاركات: 895
نشاط [ robota ]
قوة السمعة:
قديم 03-10-2009, 07:23 PM المشاركة 56   
افتراضي


اخ وليد ما فائدة هذا الشرط
if T > 99 then



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