عيون العرب - ملتقى العالم العربي

العودة   عيون العرب - ملتقى العالم العربي > عيــون الأقسام العلمية > تحميل كتب مجانية, مراجع للتحميل

تحميل كتب مجانية, مراجع للتحميل كتب مجانية, كتب عربية للتحميل, كتب ألكترونية, كتب اجنبية, كتب تعليمية, مراجع عربية,كتب للتحميل, كتب للقراءة.

إضافة رد
 
LinkBack أدوات الموضوع انواع عرض الموضوع
  #16  
قديم 09-27-2011, 05:09 AM
 
برنامجك الأول
تمهيد
كتابة برنامجنا الأول ثم بناءة وتصحيحة وعمل المحاة على برنامج بروتيس .
لأن هذا هو برنامجنا الأول فسوف يكون بسيط وقصير.
سوف نكتب برنامج يجعل ليد يومض بفترات زمنية متساوية وسوف يكون لدينا الحالة المنطقية “1”أو الحالة المنطقية “0” والتى تجعل الليد فى حالة توصيل ON أو حالة فصل OFF .
1- هنا معلومات حول الدائرة باستخدام برنامج بروتيس :
  • يتم توصيل الأطراف OSC1 و OSC2 بكريستال كوارتز ومكثفين 22Pf لتوليد نبضات الساعة اللازمة لعمل الميكروكونترولر . سرعة الميكروكونترولر تعتمد على تردد الكريستال , كلما زاد التردد زادت السرعة ولكن يجب ألا تزيد عن 20MHz (الحد الأقصى لعمل الميكروكونترولر ) .
  • يجب أن توصل مقاومة بأحد الأطراف وليكن الطرف RB0 ثم نوصل بعدها الليد للطرف الآخر للمقاومة . يمكن إيجادج قيمة المقاومة من العلاقة R=(Vm – Vl) / I حيث Vm جهد خرج الميكروكونترولر وهو 5V و Vl هو جهد تشغيل الليد وهو 2V و I التيار اللزم لتشغيل الليد وهو يساوى 20mA كحد أقصى . نتيجة العملية الرياضية تكون 150Ω ولا توجد مشكلة عند استخدام مقاومة حتى 470Ω .

2- الخطوة التالية هى فتح برنامج MikroC PRO . نظرا لأننا سوف نستخدم الميكروكونترولر PIC16F877 فعند فتح مشروع جديد تأكد من اختياره من قائمة الأجهزة . يمكن تحديد التردد بالقيمة 8MHz . بعد فتح المشروع الجديد سوف ترى منطقة العمل كما فى الشكل السفلى ولن نستخدم أى وظائف خاصة ومن ثم لا يتم ضم أى مكتبة .
3- الآن كما ترى فى حقل النص يقوم البرنامج بإنتاج الكود التالى :



void main()
هذه هى دالتنا الرئيسية main function , بدونها لن يعمل كودنا . داخل هذه الدالة سوف نكتب الأكواد . وخارجها سوف نكتب دوال أخرى تستخدم داخل الدالة الرئيسية أو تعرف متغيرات عامة global variables .





4- الخطوة التالية التى يجب أن نفعلها هى تعريف منافذنا Ports .وهذ يعنى أنه يجب علينا اختيارها كمداخل أو كمخارج . الأمر التالى يجعل المنفذ PORTB كمخارج .
TRISB=0x00;
الحرف الموجود بعد TRIS يبين أى المنافذ نريد لن يكون كمداخا أو كمخارج (بمعنى التحكم فى المنافذ) . فإذا أردنا اختيار المنفذ PORTA فسوف نكتب TRISA .
الأعداد الموجودة بعد الأمر تعرف ما إذا كان المنفذ سوف يكون مدخل أو مخرج . هنا ماذا فعلنا ؟ . حرف xالموجود بين الأعداد يبين أن هذه الأعداد تكون بالترقيم السداسى عشر . إذا أردنا أن تكون بالترقيم الثنائى يجب علينا كتابة 0b ثم الأعداد . على سبيل المثال : 0b00010001 .الطرف الأول يسمى Pin0 وهو أول خانة من اليسار (تسمى الخانة ذات الرتبة الأقل )والطرف الثامن يسمى Pin7 وهو آخر خانة (تسمى الخانة ذات الرتبة الأعلى ) .إذا تم تعريف الطرف بالصفر 0 هذا يعنى أن هذا الطرف يكون مخرج . وإذا تم تعريف الطرف بواحد 1 فهذا يعنى أن الطرف مدخل . ومن ثم فى مثالنا 0b00010001يكون الطراف الأول Pin0 والطرف الخامس Pin4 مداخل وباقى الأطراف مخارج . لكن فى برنامجنا لن نستخدم مداخل لذلك جعلنا جميع الأطراف مخارج . باستخدام المحول السريع
Quick Converterيمكنك التحويل من الترقيم السداسى عشر ألى الترقيم الثنائى والعكس.
5- بعد ذلك سوف نقوم بعمل دورة (حلقة) لا نهائية (غير منتهية) . بفضل هذه الدورة اللانهائية فإن برنامجنا لن يتوقف عن العمل وأيضا متحكمنا . يمكننا استخدام أحد تعبيرات الدورات (الحلقات) الأتية :





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


__________________
angel4angel4angel4angel4angel4
رد مع اقتباس
  #17  
قديم 09-27-2011, 05:10 AM
 
- بعد الدخول فى الدورة (الحلقة) الغير منتهية أول شىء نقوم بعمله هو توصيل ON الليد .
PORTB=0x01;
هذا الأمر يعرف حالة أطراف المنفذ . كيف يتم ذلك ؟ :
PORTB تبين إننا بصدد تغيير حالات أطرافه . العدد السداسى عشر 0x01 يساوى بالترقيم الثنائى 0b00000001 والذى يعنى أن الطرف الأول Pin0 فقط سوف يكون فى الحالة المرتفعة 1 . والمنطق "1" يعنى أنه سوف يتواجد جهد بالقيمة 5V على الطرف Pin0 .وهذا ما نحتاجه لتوصيل ON الليد لأنه متصل بالطرف Pin0 .أذا أردنا جعل الأطراف رقم 1,2,5,6 على سبيل المثال فى الحالة المنطقية "1" نكتب 0b01100110 والتى تكافىء 0x66 بالترقيم السداسى عشر .

7- التأخير
Delay_ms(250);
بهذا الأمر سوف نجعل الميكروكونترولر ينتظر 250ms قبل أن يغير من حالات المنافذ أو من تكملة الأمر التالى . بعد أن يرى الميكروكونترولر هذا الأمر يتوقف لفترة زمنية قدرها 250 ملى ثانية ولا يقوم بتكملة أى أمر آخر . فى حالتنا سوف يظل الليد فى حالة التوصيل ON (مضىء) لفترة 250 ملى ثانية ثم بعد ذلك يتحول إلى وضع الفصل OFF (ينطفىء) . إذا لم نكتب هذا الأمر فسوف يقوم الميكروكونترولر بعمل توصيل ON و فصل OFF لليد بسرعة لدرجة إننا لن نتمكن من رؤية أى شىء.هنا يمكننا تغيير زمن التأخير الموجود داخل الأقواس . يمكننا جعله أكبر أو أقل . كما يمكننا استخدام الأمر Delay_us(time); لعمل تأخير بالميكروثانية .

8-
PORTB=0x00;
Delay_ms(250);

بواسطة هذان الأمران سوف نقوم بجعل الليد فى الحالة OFF (ينطفىء) والانتظار فى هذه الحالة لفترة 250 ملى ثانية . بعد انتهاء هذه الفترة يعود البرنامج مرة أخرى إلى بداية الدورة ويبدأ من جديد .
9- أصبح برنامجنا جاهزا . ملخص البرنامج :
  • سوف يبدأ البرنامج ويجعل جميع أطراف المنفذ PORTB كمخارج .
  • يدخل البرنامج فى دورة غير منتهية .
  • الطرف Pin0 سوف يكون فى الحالة المنطقية "1" وهذا يؤدى إلى توصيل (إضاءة) ON الليد .
  • ينتظر البرنامج لفترة زمنية قدرها 250 ملى ثانية ويظل الليد فى حالة التوصيل ON خلال هذه الفترة الزمنية .
  • يتحول الطرف Pin0 إلى الحالة المنطقية "0" ويؤدى ذلك إلى فصل (عدم إضاءة) OFF الليد .
  • ينتظر البرنامج لفترة زمنية قدرها 250 ملى ثانية مرة أخرى ويظل الليد فى حالة الفصل OFF خلال هذه الفترة الزمنية .
  • تبدأ الدورة من جديد وتتكرر عدد لا نهائى من المرات .

10- الآن يجب علينا بناء البرنامج . لعمل ذلك اختار القائمة وانقر Build >> Build أو مباشرة من شريط الأدوات اختار Build . بعد إكتمال البناء سوف نرى بعض الرسائل فى صندوق الرسالة Message Box .هناك بعض المعلومات عن جاهزية ready ملف .hex وإذا كان هناك أى أخطاء سوف يتم عرضها . لكن بسبب عدم وجود أخطاء فلن نرى رسائل الأخطاء . لذلك سوف يكون لدينا الملف .hex والذى يجب وضعه بالميكروكونترولر أو استخدامه فى محاكات الدائرة .




__________________
angel4angel4angel4angel4angel4
رد مع اقتباس
  #18  
قديم 09-27-2011, 05:11 AM
 
11- هنا سوف نقوم بتشغيل Run البرنامج ومشاهدة عمله . بالقيام بتصحيح البرنامج debugging يمكننا مشاهدة طريقة تغيير حالة بعض المتغيرات وكم ثانية يأخدها البرنامج لإنهاء أى أمر وبعض المعلومات المفيدة .
لعمل ذلك اختار القائمة وانقر Run >> Start Debugger وسوف ترى القائمة الموضحة بالشكل التالى بالجانب الأيمن لحقل النص . بالنقر على F7 يمكننا مشاهدة خطوة بخطوة فعل كل أمر والتغيرات التى تحدث .

1- من القائمة العلوية يمكننا اختيار أى المتغيرات لمراقبته . يمكننا اختيار أكثر من متغير واحد . بعج اختيارها سوف تظهر فى صندوق أسفل هذه القائمة . هناك يمكننا مشاهدة المعلومات حول قيمة المتغير وأين يقع فى ذاكرة البرنامج .
2- من القائمة التالية يمكننا الحصول على المعلومات حول الزمن والدورات والتى نحتاجها لتكملة أحد الأوامر أو البرنامج بالكامل .
3- الأن نحن على الاستعداد . الشىء الوحيد المتبقى هو اختبار البرنامج . نفتح برنامج المحاكاة والدائرة التى تم رسمها . عندئذ نحتاج إلى تحميل الملف .hex على الميكروكونترولر . فى برنامج بروتيس عندما ننقر بالزر الأيمن للماوس على الميكروكونترولر ونختار Edit Properties سوف نرى القائمة المبينة بالشكل التالى . فى حقل Program File نقوم بالتصفح وتحميل برنامجنا .hex . سوف نقوم أيضا بتغيير التردد Processor Clock Frequency ليصبح بالقيمة 8MHz .
4- هنا نبدأ المحاكاة . أول شىء سوف نشاهده هو أن الليد يكون مضىء ON . بعد فترة ينطفىء الليد OFF . تم تتكرر العملية ON و OFF . يمكننا تغيير زمن التأخير فى برنامجنا , يمكننا جعله 500 أو 1000 ملى ثانية لتكون عملية التوصيل والفصل أبطأ .

5- الخطوة الأخيرة : النهاية
__________________
angel4angel4angel4angel4angel4
رد مع اقتباس
  #19  
قديم 09-27-2011, 05:14 AM
 
مواضيع هامة :

المقاطعة :
الرابط

http://vb.arabseyes.com/t276480.html
__________________
angel4angel4angel4angel4angel4
رد مع اقتباس
  #20  
قديم 09-27-2011, 05:17 AM
 
طريقة التعامل مع المؤقت / العداد TMR0


الرابط

http://vb.arabseyes.com/t276481.html
__________________
angel4angel4angel4angel4angel4
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)


تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة
Trackbacks are متاحة
Pingbacks are متاحة
Refbacks are متاحة


المواضيع المتشابهه
الموضوع كاتب الموضوع المنتدى مشاركات آخر مشاركة
ترجمة وإعداد كتاب الميكروكونترولر PIC والبرمجة بلغة السى والمترجم mikroC PRO ظل الكيو كو شن كاي تحميل كتب مجانية, مراجع للتحميل 52 08-23-2021 03:32 AM
لمترجم الفوري | تحميل المترجم الفورى 2009 | برنامج المترجم الفوري كامل amrsaid2007 أرشيف المواضيع الغير مكتمله او المكرره او المنقوله و المخالفه 2 10-12-2009 11:52 PM


الساعة الآن 01:01 PM.


Powered by vBulletin®
Copyright ©2000 - 2025, vBulletin Solutions, Inc.
Content Relevant URLs by vBSEO
شات الشلة
Powered by: vBulletin Copyright ©2000 - 2006, Jelsoft Enterprises Ltd.
جميع الحقوق محفوظة لعيون العرب
2003 - 2011