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

   

abnidal
:: مهندس متميز ::
تاريخ التسجيل: Nov 2006
الدولة: مصر
المشاركات: 381
نشاط [ abnidal ]
قوة السمعة:
قديم 26-05-2010, 10:11 AM المشاركة 25   
افتراضي جزاك الله خيرا



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


//////////////////////////////////////////

اعلانات

الصورة الرمزية ناصراحمد2
ناصراحمد2
:: عضو ذهبي ::
تاريخ التسجيل: Jul 2009
الدولة: EGYPT
المشاركات: 1,315
نشاط [ ناصراحمد2 ]
قوة السمعة:
قديم 27-05-2010, 12:43 AM المشاركة 26   
افتراضي


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


تسلم ايدك على هذا الموضوع المميز

فعلا شرح ممتاز والخطوات متقاربة

ننتظر باقى الشروحات
وفقك الله وايانا الى مايحبة ويرضاة

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

نحن جميعا نحتاج الى التعرف على جميع انواع البرمجة ومحاولة التعامل معها

فربما يكون هناك الافضل ولا نعرفة


بالتوفيق ان شاء الله

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

eabueida
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2007
المشاركات: 171
نشاط [ eabueida ]
قوة السمعة:
قديم 02-06-2010, 07:40 AM المشاركة 27   
افتراضي


السلام عليكم

اشكر الأخوة الأفاضل على التفاعل

وأن شاء الله نكمل الدروس

والسلام عليكم


eabueida
:: مهندس متواجد ::
تاريخ التسجيل: Apr 2007
المشاركات: 171
نشاط [ eabueida ]
قوة السمعة:
قديم 02-06-2010, 04:53 PM المشاركة 28   
افتراضي


بسم الله والحمد لله والصلاة زالسلام على رسول الله وعلى اله وصحبه ومن والاه


وعن ابن عمر - رضي الله عنهما - قال: أخذ رسول الله -صلى الله عليه وعلى آله وسلم- بمنكبي فقال: كن في الدنيا كأنك غريب أو عابر سبيل وكان ابن عمر يقول -رضي الله عنه-: "إذا أمسيت فلا تنتظرالصباح، وإذا أصبحت فلا تنتظر المساء، وخذ من صحتك لسقمك، ومن حياتك لموتك" أخرجهالبخاري.


نكمل ان شاء الله كا بٌدىء به سابقا
في اليوم سنتناول التعامل مع المنفذ التسلسلى وبصورة عامة يستخدم المنفذ التسلسي في الإتصال المتزامن او غير المتزامن بين الحاسب والأجهزه الأخرى أو بين الأجهزة. وله سرعات عديدة تقاس ب bit/sec ومن امثلة هذه السرعات 1200و4800 و 9600 و غيرها ولكن يجب الإنتباه الى انها لاتصل الى 1 ميجا.

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

على العموم في لعة البروتون (البيسك) يمكن استخدام النوعين

الجدول التالي يوضح انواع الأتصال المتسلسل المدعوم من البروتون ( السوفت وير)


السرعات هي
300 و 600 و 1200 و 2400 و 4800 و 9600
والأنواع كالتالي

1-8-bit no-parity true
2- inverted 8-bit no-parity
3- true 7-bit even-parity
4- inverted 7-bit even-parity

في هذا الدرس سوف نركز على نوع واحد وهو النوع الأول من السوفتوير

وطريقة التعامل معه كالتالي

SerOut the_pin,Baud_rate, [what_is_needed_to_be_sent]

حيث ان :
The_pin: هو الضلع المراد استخدامة في الإتصال التسلسلي
Baud_rate: وهو السرعة المستخدمة للإتصال وهي على النحو التالي


inv 7 bit T 7 bit inv 8 bit T 8 bit baude rate


300 19697 3313 27889 11505


600 18030 1646 26222 9838


1200 17197 813 25389 9005


2400 16780 396 24972 8588


4800 16572 188 24764 8380


9600 16468 84 24660 8276



مثال

كود:
SerOut PORTB.0,84, ["text"]

في المثال السابق تم تعريف portb.0 على انه مخرج للإتصال التسلسلي ومن ثم تم تعريف السرعة ب 84 على انها من نوع ثمان بت المعكوس بسرعة 9600 بت بالثانية ومن ثم فإن النص لمراد اخراجه هو “text”

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

مثال
كود:
 
 
number=10 
SerOut PORTB.0,84, ["The number is ",#number]
في المثال السابق سيكون المخرجات عبارة عن النص التالي “the number is 10”


واما بالنسبة الى الإدخال فإن الأمر التالي هو المستخدم
SerIn the_pin,Baud_rate,[the_variable_where_the_input_should_be_saved]
حيث ان :
The_pin: هو الضلع المراد استخدامة في الإتصال التسلسلي
Baud_rate: وهو السرعة المستخدمة للإتصال وهي على النحو الذي ذكر سابقا

مثال
كود:
 
 
SerIn PORTB.0,84,[x]

في المثال السابق تم تعريف portb.0 على انه مدخل الإتصال التسلسلي والسرعه على انها 9600 بت بالثانية ذات الثمان بتات المعكوسة
وان المخلات سيتم تخزين بايت واحد في المتغير x

وأما اذا اردنا عدم استقبال اى شيء من المنفذ التسلسلي إلا بعد ورود حرف معين او كلمة فيتم استخدام الأمر wait()

مثال
كود:

كود:
SerIn PORTB.0,84,[Wait("A"),x]

في هذا المثال لن يتم استقبال اي شيء إلا في حالة استقبال A قبل البيانات


وسأرفق الأمثلة والسميوليشن إن شاء الله في المشاركة اللاحقة

ولا تنسونا من دعائكم الصالح


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

الصورة الرمزية prof_hazem2
prof_hazem2
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2008
المشاركات: 91
نشاط [ prof_hazem2 ]
قوة السمعة:
قديم 28-07-2010, 11:28 AM المشاركة 29   
Thumbs up ماشاء الله


الله يبارك فيك يااخي وجزاك الله كل خير على هذا المجهود الرائع


الصورة الرمزية prof_hazem2
prof_hazem2
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2008
المشاركات: 91
نشاط [ prof_hazem2 ]
قوة السمعة:
قديم 11-08-2010, 03:39 PM المشاركة 30   
افتراضي شرح التعامل مع الشيفت ريجستر


السلام عليكم ورحمة الله وبركاته
تهانينا بشهر رمضان المعظم الى كافة المسلمين
اللهم تقبله منا واغفر لنا وارحمنا
بمشاركة اخي مؤسس الموضوع ساحاول ان اضع بعض الاكواد
في برنامج بروتون
كلنا تقريبا يعرف الشيفت ريجستر وهو عبارة عن اي سي نقوم
بادخال النبضات عن طريق 3 اطراف لتخرج 8 اطراف او اكثر


الصورة الرمزية prof_hazem2
prof_hazem2
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2008
المشاركات: 91
نشاط [ prof_hazem2 ]
قوة السمعة:
قديم 11-08-2010, 04:19 PM المشاركة 31   
افتراضي باقي الموضوع


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

SHOut data , Clk , msbfirst , [ %00000001 ]



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


وساضع رابط لبرنامج بسيط يتحكم في الشيفت
http://www.***********/download/5633419/1.rar.html

لا تنسوا الدعاء لى والمسلمين


الصورة الرمزية prof_hazem2
prof_hazem2
:: مهندس متواجد ::
تاريخ التسجيل: Aug 2008
المشاركات: 91
نشاط [ prof_hazem2 ]
قوة السمعة:
قديم 11-08-2010, 04:27 PM المشاركة 32   
x4 استخدام اكثر من shift


اذا اردنا ان نتحكم باكثر من مسجل 3 اطراف فقط
[IMG]http://up.**********/files/y2cpbunjr07965avqsfg.jpg[/IMG]
فهذا برنامج مع المحاكاة
http://www.***********/download/5633514/3.rar.html

وان شاء الله الكود مش محتاج اي شرح


التعديل الأخير تم بواسطة : prof_hazem2 بتاريخ 13-08-2010 الساعة 10:47 AM


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