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

   

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



7- أنشأ البرنامج المبين والمشروح بأسفل بالماكرو 'Chandet' .


شرح طريقة عمل الماكرو 'Chandet' :
  • الرمز الأول يخصص قيمة الأربع خانات العليا للمنفذ Port B للمتغير switch "المفاتيح" . نستخدم طريقة الإخفاء هنا فى الحصول على حالة الأربع خانات العليا فقط .







  • الصعوبة( أو الميزة) فى المقاطعة نتيجة تغيير المنفذ port B هو أنها تبدأ عند تغيير أحوال المنفذ port B . وهذا يعنى أنها تبدأ عند الضغط على المفتاح وأيضا عند تحرير المفتاح . بسبب ذلك تحتاج إلى تصفية (ترشيح) لتحرير المفتاح لأننا نريد إكتشاف الضغط على المفتاح فقط .
  • مربع القرار الأول يكتشف القيمة صفر للمتغير switch . عند اكتشاف الصفر تقوم نقطة التوصيل بتحويل البرنامج إلى نهاية ماكرو المقاطعة .








  • مربع القرار التالى يكتشف القيمة 0x10 (16 decimal) . هذه القيمة تناظر انضغاط المفتاح المتصل بالطرف RB4 . عند الضغط على المفتاح المتصل بالطرف RB4 عندئذ تكون محتويات المتغير 'channel' هى الواحد "1' .







  • مربع القرار التالى يكتشف القيمة 0x20 (32 decimal) . هذه القيمة تناظر انضغاط المفتاح المتصل بالطرف RB5 . عند الضغط على المفتاح المتصل بالطرف RB4 عندئذ تكون محتويات المتغير 'channel' هى "2' .







الآن يجب أن تكون قادرا على تكملة العمل فى البرنامج .





اعلانات

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


8- انقر نقرا مزدوجا على رمز المقاطعة بالبرنامج الرئيسى .فى الخانة 'Interrupt on:' اختار 'PORT'وفى الخانة 'Will call macro:' ادخل 'Chandet' بحيث يتم استدعاء الماكرو المسمى 'Chandet' .




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

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


9- من القائمة VIEW اختار PROJECT OPTIONS واضبط سرعة المحاكاة على 1000 .
















القيمة الفعلية غير ذات أهمية المهم هو أى قيمة غير 'As fast as possible' سوف تسمح لك برؤية قيم المتغيرات أثناء عمل المحاكاة .
10- شغل محاكاة البرنامج وتحقق من المتغير 'channel' يخصص له رقم القناة عند الضغط على المفتاح المناظر .


التعامل (استخدام) وحدة العرض LCD :


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


التعامل مع (استخدام) وحدة العرض LCD :
نرغب فى استخدام وحدة العرض LCD لعرض قيمة لدخل تناظرى .
سوف نقسم الروتينات الرئيسية إلى ماكروهات منفصلة لجعل الهيكل البنائى للبرنامج الرئيسى أكثر سهولة فى القراءة والفهم .
هنا سوف نقوم بضبط ماكروهات إعدادات بدء وحدة العرض initialize ثم تنشيط (تحديث) refresh العرض عند تشغيل البرنامج .
إتبع الخطوات التالية :
1- أضف وحدة عرض LCD كمكون إلى المشروع وقم بتوصيلها إلى المنفذ port C .












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


2- قم بإنشاء 2 ميكرو جديد أحدهما باسم 'updatedisplay' والآخر باسم 'initialisedisplay' .










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


4- إنشأ البرنامج التالى فى الماكرو 'initialisedisplay'.












يجب من الآن أن تتعود على فهم ما يحدث .

الرمز الأول يبدأ وحدة العرض، ثم يتم وضع المؤشر عند البداية 0,0 أى عند أعلا يسار الشاشة .الرمز الثالث يطبع "Volume:" على السطر الأعلى، والرمز التالى يحرك المؤشر إلى السطر الثانى . الرمز الأخير يطبع "Channel:" على السطر السفلى .


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


4- أضف بعض المتغيرات والتى سوف تحتاجها : متغير باسم 'volume' نوع Byte ومتغير باسم 'ADCreading' نوع Int وسوف نتعرض لها فيما بعد .







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


5- إنشأ البرنامج التالى فى الماكرو 'updatedisplay' :









هنا الرمز الأول يقوم بتحريك (نقل) المؤشر إلى نقطة تلى النص "Volume:" . ثم يتم طباعة ثلاثة مسافات خالية لمسح ضبط المتغير volume القديم . الرمزان التاليان تعمل على تحريك المؤشر عائدا إلى الموقع السابق وطباعة قيمة المتغير volume . ثم يتم تحريك المؤشر إلى السطر السفلى لوحدة العرض بعد "Channel:" والرمز الأخير يطبع القيمة الفعلية للمتغير volume .



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