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

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 05-09-2011, 06:50 AM المشاركة 9   
افتراضي



شكرا جزيلا لجميع الأخوة الأفاضل المشاركين

تقدير أعتز به دائما

مع تمنياتى بدوام التوفيق

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 05-09-2011, 06:53 AM المشاركة 10   
افتراضي


مثال بسيط للبرمجة :A simple programming example
أى برنامج سوف يتكون من جزئين :
  • الجزء الأول الخاص بالكومبيوتر وهو برنامج VB .
  • والجزء الثانى وهو الخاص بلوحة الربط وسوف نستخدم فيه البرمجة بلغة السى والمترجم MIKROC-PRO (يمكن استخدام أى لغة ترغب فيها ) .

الجزء الأول :
جهة الكومبيوتر وبرنامج VB :
  • بعد إعداد بيئة التطوير يمكننا البدء فى بناء برنامج للاتصال بين لوحة الربط أو الجهاز.
  • أول شىء هو بناء " واجهة المستخدم " user interface :
# إنقر نقرامزدوجا على الرموز (الأيقونات) المطلوب استخدامها وهنا وهى : رمز الأداة MScomm و سوف نستخدم "زر أمر" تحكم للقيام بتوصيل أى تشغيل جهاز ممثلا بإضاءة ليد بلوحة الربط متصلا بالطرف RB0 ونغير خاصية الاسم له لتكون LED ON و"زر أمر" آخر لفصل هذا الجهاز ممثلا بإطفاء الليد نفسه ونغير خاصية الاسم له لتكون LED OFF .









يصبح النموذج form كما فى الشكل التالى :




  • بعد ذلك يتم ضبط إعدادات الاتصال التسلسلى RS232 ومنفذ الاتصال CommPort بالقيم الصحيحة .
  • هنا سوف نقوم بذلك فى البرنامج نفسه .
  • . إنقر نقرا مزدوجا على النموذج form فيؤدى ذلك إلى جلب "لوحة البرمجة" programming panel لكتابة الكود .
  • الشكل التالى يبين لوحة البرمجة وبها البرنامج البسيط .



  • هذا البرنامج ينقسم إلى ثلاثة أجزاء (كل جزء يسمى sub أى برنامج فرعى ) .
  • كل sub يخبر ما يتم عمله فى ظل (نتيجة) حدث ما .
  • أول sub يخبر عما يجب عمله عند البداية عندما يتم عرض Form_Load ( تذكر ما ذكرناه قبل ذلك : يجب حدوث شىء ما لكائن لبدء الأفعال ) .
  • يقوم هذا البرنامج الفرعى sub بفعل شيئين :
# الشىء الأول : هو اختيار رقم المنفذ المستخدم فى الاتصال وهنا نستخد المنفذ الأول COM1 وصيغة هذا الأمر هى : MSComm1.CommPort = 1 .
# الشىء الثانى : هو ضبط إعدادات المنفذ بالصيغة التالية :
MSComm1.Settings = "19200,n,8,1""
# الشىء الثالث : هو فتح المنفذ حتى نتمكن من إرسال البيانات بالصيغة التالية : MSComm1.PortOpen = True
فنح open المنفذ التسلسلى RS232 الذى تم اختياره . حيث أنه يحتاج لفتحه قبل أن نتمكن من إرسال الأوامر .
MSComm1.PortOpen = True
  • البرنامج الفرعى الثانى خاص بتشغيل الجهاز : عند النقر على زر LED ON يتم أرسال القيمة واحد "1" إلى لوحة الربط حيث تستقبلها وتضهعا فى المنفد PORTB ومن ثم يضىء الليد المتصل بالطرف RB0 لأن= 0b00000001 "1" .
  • البرنامج الفرعى الثالث خاص بتبطيل الجهاز : عند النقر على زر LED OFF يتم أرسال القيمة واحد "0" إلى لوحة الربط حيث تستقبلها وتضهعا فى المنفد PORTB ومن ثم ينطفأالليد المتصل بالطرف RB0 .
  • إنقر نقرا مزدوجا على النموذج تظهر لك نافذة كود البرنامج معدة لكتابة البرنامج الفرعى للنموذج .
  • انقر نقرا مزدوجا على أى أداة ظهر لك المكان المعد لكتابة البرنامج الفرعى الخاص به .
الشكل التالى يبين الشكل النهائى :




جهة الميكروكونترولر :

كود:
unsigned short value ;
void main() {
TRISB=0X00;
PORTB=0;
UART1_Init(19200);     // Initialize USART module
                                   // (8 bit, 19200 baud rate, no parity bit…)
while (1) {
        if (UART1_Data_Ready()) {  // If data has been received
    value = UART1_Read();     // read it
     PORTB=value;
 }// end if
           }//end while
}//end main
لتجربة هذا البرنامج :
يتم تحميل برنامج "جهة الميكروكونترولر " على الميكروكونترولر المستهدف ثم نقوم بالأتى :
  • أولا يتم توصيل لوحة الربط بالمنفذ RS232 وتوصيل القدرة للوحة .
  • بعد ذلك إذهب إلى شريط القوائم واختار القائمة "Run" واختار
"Start with full compile" فيتم ترجمة البرنامج ويكون جاهز للتشغيل .
  • عندما تنقر على الزر "LED ON" فإن الدايود المشع للضوء (الليد) LED المتصل بالطرف RB0 يضىء ليمثل حالة التشغيل .
  • عندما تنقر على الزر "LED OFF" فإن الدايود المشع للضوء (الليد) LED المتصل بالطرف RB0 ينطفأ ليمثل حالة التبطيل .
  • إذا شاهدت ذلك عندئذ تكون نجحت فى بناء تطبيق لبرنامج يقوم بإخبار الجهاز عما يفعلة ويمكن مراقبة حالته .

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 05-09-2011, 06:54 AM المشاركة 11   
افتراضي


مثال بسيط للبرمجة :A simple programming example

أى برنامج سوف يتكون من جزئين :
  • الجزء الأول الخاص بالكومبيوتر وهو برنامج VB .
  • والجزء الثانى وهو الخاص بلوحة الربط وسوف نستخدم فيه البرمجة بلغة السى والمترجم MIKROC-PRO (يمكن استخدام أى لغة ترغب فيها ) .
الجزء الأول :

جهة الكومبيوتر وبرنامج VB :
  • بعد إعداد بيئة التطوير يمكننا البدء فى بناء برنامج للاتصال بين لوحة الربط أو الجهاز.
  • أول شىء هو بناء " واجهة المستخدم " user interface :
# إنقر نقرامزدوجا على الرموز (الأيقونات) المطلوب استخدامها وهنا وهى : رمز الأداة MScomm و سوف نستخدم "زر أمر" تحكم للقيام بتوصيل أى تشغيل جهاز ممثلا بإضاءة ليد بلوحة الربط متصلا بالطرف RB0 ونغير خاصية الاسم له لتكون LED ON و"زر أمر" آخر لفصل هذا الجهاز ممثلا بإطفاء الليد نفسه ونغير خاصية الاسم له لتكون LED OFF .









يصبح النموذج form كما فى الشكل التالى :



الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 05-09-2011, 06:56 AM المشاركة 12   
افتراضي


  • بعد ذلك يتم ضبط إعدادات الاتصال التسلسلى RS232 ومنفذ الاتصال CommPort بالقيم الصحيحة .
  • هنا سوف نقوم بذلك فى البرنامج نفسه .
  • . إنقر نقرا مزدوجا على النموذج form فيؤدى ذلك إلى جلب "لوحة البرمجة" programming panel لكتابة الكود .
  • الشكل التالى يبين لوحة البرمجة وبها البرنامج البسيط .


  • هذا البرنامج ينقسم إلى ثلاثة أجزاء (كل جزء يسمى sub أى برنامج فرعى ) .
  • كل sub يخبر ما يتم عمله فى ظل (نتيجة) حدث ما .
  • أول sub يخبر عما يجب عمله عند البداية عندما يتم عرض Form_Load ( تذكر ما ذكرناه قبل ذلك : يجب حدوث شىء ما لكائن لبدء الأفعال ) .
  • يقوم هذا البرنامج الفرعى sub بفعل شيئين :
# الشىء الأول : هو اختيار رقم المنفذ المستخدم فى الاتصال وهنا نستخد المنفذ الأول COM1 وصيغة هذا الأمر هى : MSComm1.CommPort = 1 .
# الشىء الثانى : هو ضبط إعدادات المنفذ بالصيغة التالية :
MSComm1.Settings = "19200,n,8,1""
# الشىء الثالث : هو فتح المنفذ حتى نتمكن من إرسال البيانات بالصيغة التالية : MSComm1.PortOpen = True
فنح open المنفذ التسلسلى RS232 الذى تم اختياره . حيث أنه يحتاج لفتحه قبل أن نتمكن من إرسال الأوامر .

MSComm1.PortOpen = True
  • البرنامج الفرعى الثانى خاص بتشغيل الجهاز : عند النقر على زر LED ON يتم أرسال القيمة واحد "1" إلى لوحة الربط حيث تستقبلها وتضهعا فى المنفد PORTB ومن ثم يضىء الليد المتصل بالطرف RB0 لأن= 0b00000001 "1" .
  • البرنامج الفرعى الثالث خاص بتبطيل الجهاز : عند النقر على زر LED OFF يتم أرسال القيمة واحد "0" إلى لوحة الربط حيث تستقبلها وتضهعا فى المنفد PORTB ومن ثم ينطفأالليد المتصل بالطرف RB0 .
  • إنقر نقرا مزدوجا على النموذج تظهر لك نافذة كود البرنامج معدة لكتابة البرنامج الفرعى للنموذج .
  • انقر نقرا مزدوجا على أى أداة ظهر لك المكان المعد لكتابة البرنامج الفرعى الخاص به .
الشكل التالى يبين الشكل النهائى :







جهة الميكروكونترولر :

كود:
unsigned short value ; void main() { TRISB=0X00; PORTB=0; UART1_Init(19200); // Initialize USART module // (8 bit, 19200 baud rate, no parity bit…) while (1) { if (UART1_Data_Ready()) { // If data has been received value = UART1_Read(); // read it PORTB=value; }// end if }//end while }//end main
كود:






لتجربة هذا البرنامج :

يتم تحميل برنامج "جهة الميكروكونترولر " على الميكروكونترولر المستهدف ثم نقوم بالأتى :
  • أولا يتم توصيل لوحة الربط بالمنفذ RS232 وتوصيل القدرة للوحة .
  • بعد ذلك إذهب إلى شريط القوائم واختار القائمة "Run" واختار
"Start with full compile" فيتم ترجمة البرنامج ويكون جاهز للتشغيل .
  • عندما تنقر على الزر "LED ON" فإن الدايود المشع للضوء (الليد) LED المتصل بالطرف RB0 يضىء ليمثل حالة التشغيل .
  • عندما تنقر على الزر "LED OFF" فإن الدايود المشع للضوء (الليد) LED المتصل بالطرف RB0 ينطفأ ليمثل حالة التبطيل .
  • إذا شاهدت ذلك عندئذ تكون نجحت فى بناء تطبيق لبرنامج يقوم بإخبار الجهاز عما يفعلة ويمكن مراقبة حالته .


الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,892
نشاط [ سعيد قادر ]
قوة السمعة:
قديم 05-09-2011, 09:37 AM المشاركة 13   
افتراضي


جزاك الله كل الخير استاذى العزيز


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 05-09-2011, 12:27 PM المشاركة 14   
افتراضي


تمت التجربة الفعلية على لوحة التجارب QL200 وكانت النتائج إيجابية .
الآن سوف نستعرض بالصور دائرة الربط وطريقة المحاكاة بمساعدة برنامج بروتيس وبرنامج منافذ الاتصال التخيلية :




















hamzazayyad
:: مهندس متميز ::
تاريخ التسجيل: Aug 2005
الدولة: موزنبيق
المشاركات: 696
نشاط [ hamzazayyad ]
قوة السمعة:
قديم 06-09-2011, 06:04 PM المشاركة 15   
افتراضي


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


ashshebria
:: مهندس متواجد ::
تاريخ التسجيل: Feb 2005
المشاركات: 62
نشاط [ ashshebria ]
قوة السمعة:
قديم 07-09-2011, 01:49 AM المشاركة 16   
افتراضي


اخى الكريم ممكن مثال لبرمجة البك بالبيزك وشكرا لسيادتكم



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