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

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 08-07-2013, 03:56 PM المشاركة 9   
افتراضي



السطر 17 :
وضع الطرف المناظر للاسم المستعار led فى الحالة المنخفضة بغرض إطفاء الليد المتصل به :



كود:
Low led ; LED off
الأمر Low :
الصيغة :
كود:
Low Port or Port.Bit
الغرض :
وضع منفذ Port أو بت bit فى الحالة المنخفضة low . فى حالة المنفذ فهو يعنى ملوه بأصفار 0's، أما فى حالة البت فهو يعنى مسحها clear لتكون بصفر "0" .
العوامل :
Port يمكن أن يكون أى منفذ متاح .
Port.Bit يمكن أن تكون أى مجموعة من منفذ وبت متاح ، مثل PortA.1 .
مثال :

كود:
Symbol LED = PORTB.4 Low LED Low PORTB.0 ' Clear PortB bit 0 Low PORTB ' Clear all of PortB

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 08-07-2013, 03:59 PM المشاركة 10   
افتراضي


السطر 18 :
التأخير أو الانتظار فى هذه الحالة لمدة 1000 ملى ثانية (واحد ثانية) .

كود:
DelayMS 1000 ;PAUSE 1000 , wait a second


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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 08-07-2013, 04:01 PM المشاركة 11   
افتراضي


السطر 19 :
تعنى ما تعنيه باللغة الإنجليزية "الذهاب إلى " وتشير إلى الاستمرار من (القفز إلى ) السطر 15يوجد العنوان "Loop" ، يؤدى ذلك إلى تكرار وميض الليد إلى الأبد .

كود:
GoTo Loop ; continue the program forever

الأمر Goto
الصيغة :
كود:
Goto Label
الغرض :
القفز إلى عنوان label محدد واستمرار التنفيذ من هناك .
العوامل :
Label : هو العنوان المعرف عن طريق المستخدم والموضوع عند بداية السطر الذى يجب أن يكون به النقطتان ':' بعده مباشرة .
مثال :

كود:
If Var1 = 3 Then Goto Jumpover { code here executed only if Var1<>3 …… …… } JumpOver: {continue code execution}
فى هذا المثال ، إذا كان Var1=3 عندئذ يقفز البرنامج فوق كل الكود الأسفل منه حتى يصل إلى العنوان JumpOver حيث يستمر تنفيذ البرنامج كالمعتاد .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 08-07-2013, 04:03 PM المشاركة 12   
افتراضي


السطر 20 :
علامة نهاية ترجمة كود برنامج المصدر .

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


ياسر الجبوري
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2007
الدولة: العراق
المشاركات: 85
نشاط [ ياسر الجبوري ]
قوة السمعة:
قديم 08-07-2013, 05:54 PM المشاركة 13   
افتراضي


السلام عليكم ورحمة الله وبركاته
شرح رائع من استاذ رائع
لكن انا محتاج برنامج proton basic لتطبيق الدروس او الشروحات


التعديل الأخير تم بواسطة : ياسر الجبوري بتاريخ 08-07-2013 الساعة 06:09 PM

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


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

تحميل النسخة التجريبية من برنامج Proton PIC-Basic :

حيث تجد :

BASIC for PIC® microcontrollers

The Proton Product range comprises of the Proton Development Suite and supporting Hardware development platforms. Proton Basic and the supporting hardware is for use with PIC® microcontrollers.
PDS Lite is no longer supported. Because there are many code examples, books and training courses written around PDS Lite it is still available for download, but for new users we'd recommend Amicus18.




انقر على الرابط PDS Lite
مع تمنياتى بدوام التوفيق


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 08-07-2013, 11:38 PM المشاركة 15   
افتراضي


المشروع الثانى إشارة مرور تقاطع الطرق
المكونات المطلوبة :
بالإضافة إلى المكونات الأساسية بالمشروع الأول سوف نحتاج إلى :
· 6 ليد : 2 أحمر ، و2أصفر ، و 2 أخضر والجميع 5mm .
· 6 مقاومة 330 أوم نصف وات ( برتقالى – برتقالى – بنى ) .


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

البرنامج :

كود:
Device = 16F628A ; Produce code for a 16F628a device Declare Xtal = 4 ; 4MHz oscillator TRISB = 0 ; Indicating that all port B pins are output Traffic: ; Traffic line name (Label) PORTB = %100001 ;1st(RB5)red light , 2nd(RB0) green light DelayMS 9000 ; wait 9 seconds PORTB =%100010 ;2nd traffic changing from green (RB0) to yellow (RB1) DelayMS 3000 ; wait 3 seconds PORTB =%001100 ;1st => green(RB3) ,2nd=> red (RB2) DelayMS 9000 ; wait 9 seconds PORTB =%010100 ;1st=>from green to yellow(RB4) DelayMS 3000 ; wait 3 seconds GoTo Traffic ; continue the cycle forever End; end of programming




محاكاة التنفيذ :
فيما يلى طريقة أخرى لكتابة البرنامج ، لعمل نفس التأثير :


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 08-07-2013, 11:40 PM المشاركة 16   
افتراضي


فيما يلى طريقة أخرى لكتابة البرنامج ، لعمل نفس التأثير :

كود:
Device = 16F628A ; Produce code for a 16F628a device Declare Xtal = 4 ; 4MHz oscillator Symbol Red1 = PORTB.5 ; labels for ports Symbol Yellow1 = PORTB.4 Symbol Green1 = PORTB.3 Symbol Red2 = PORTB.2 Symbol Yellow2 = PORTB.1 Symbol Green2 = PORTB.0
Traffic: High Red1 : Low Red2 : High Green2 : Low Green1 : Low Yellow1 : Low Yellow2 ; 1st => red and 2nd=> green %100001 DelayMS 9000 ; wait 9 seconds Low Green2 : High Yellow2 ; 2nd=> Changes from green to yellow %100010 DelayMS 3000 ; wait 3 seconds Low Yellow2 : Low Red1 : High Green1 : High Red2 ; 1st => Green 2nd=> Red %001100 DelayMS 9000 ; wait 9 seconds Low Green1 : High Yellow1 ;1st => changes from green to yellow %010100 DelayMS 3000 ; wait 3 seconds GoTo Traffic ; continue the program from Traffic End; end of programming

هذا البرنامج أطول من البرنامج السابق ، لاحظ ما يلى :
· أنه لم يتم كتابة أمر إعداد أطراف المنفذ PORTB كمخارج وهو TRISB = 0 ، لأن الأمر HIGH يقوم بذلك .
· فى هذا البرنامج شىء جديد ، وهو النقطتان ( : ) , اللذان يساعدان فى إمكانية كتابة عبارات متعددة فى سطر واحد .
مثال :
HIGH Red1
HIGH Red2
يمكن أيضا كتابتها كما يلى :
HIGH Red1: HIGH Red2


ملحوظة :
لتنفيذ هذا المشروع على مصابيح تعمل على جهد مرتفع ، 220 فولت على سبيل المثال ، يتم استخدام ريلاى كجهاز خرج كما فى الشكل التالى :



التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 08-07-2013 الساعة 11:44 PM


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