المنتديات العلمية

الهندسة الكهربائية و الالكترونية => تحكم و حاسبات => الموضوع حرر بواسطة: dark_eng في سبتمبر 12, 2008, 05:56:27 مساءاً

العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: dark_eng في سبتمبر 12, 2008, 05:56:27 مساءاً
بسم الله الرحمن الرحيم

السلام  عليكم

سأقوم بوضع برنامج لجعل البن الاول فى البورت A يضئ مع شرح الاوامر
CODE

1.   processor    p=16F84a

2.   include "P16F84A.INC" #

3.   ORG H'0'
4.   GOTO MAIN
5.   ORG H'04'
6.   GOTO MAIN

7.   MAIN
8.   BSF H'03' , 5
9.   MOVLW H'00'
10.   MOVWF H'85'
11.   BCF H'03' , 5
12.   MOVLW H'01'
13.   MOVWF  H'05'
14.   GOTO MAIN
15.   END


شرح البرنامج
السطر الاول لتعريف المترجم باننا نستخد المعالج  PIC16F84A
2 - الملف  pic16f84a.inc يحتوى على قائمة بعنواين البورتات والسجلات داخل المعالج لهذا يمكننا بدل كتابة عنوان مسجل الحالة status والذى هو H'03' بامكاننا كتابه كلمة STATUS بدلا عنه ويقوم المترجم بتضمين العنوان الموازى للكلمة اثناء الترجمة شرط كتابتها بالاحرف الكبيرة وان يكون للكلمة عنوان موازى فى الملف pic16f84a.inc
3- هذا الامر ليعرف المعالج العنوان الذى سيبدأ منه فى حاله حدوث تصفير للمعالج اى  RESET
4-ليرسله الى العنوان MAIN بعد عملية التصفير
5- هذا الامر  ليعرف المعالج العنوان الذى سيعود منه فى حاله حدوث مقاطعة اثناء تنفيذ البرنامج
6-ليرسله الى العنوان MAIN بعد اكتمال دورة المقاطعة
8- جعل البت الخامس مساويا للواحد اى SET  ...هذا البت المسؤول عن اختيار البنك داخل المعالج .. وبما اننا نريد الوصول الى المسجل  TRISA الموجود فى البنك 1 .. علينا وضع القيمة 1 فى البت الخامس لمسجل الحالة STATUSوعنوانه  H03
9- بعد الانتقال الى البنك 1 الموجود فيه المسجل   TRISAالمسؤول عن تحديد اى سن فى البورت A المكون من خمس اسنان يكون للدخل واى سن يكون خرج وذلك بوضع 0 مقابل السن المراد ان تكون خرج و1 مقابل السن المراد ان تكون للدخل
مثلا لو قلنا اننا نريد ان نجعل السن الاول دخل والباقى خرج علينا كتابة القيمة  'b'00001
,لاننا نريد ان يكون البورت كله للخرج وضعنا   'b'00000 والتى تساوى  'h'0 بالهكسا.
وبما انه لا يمكننا وضع القيم مباشرتا فى البورت نستخدم الوسيط وهو مسج ل العمل w
10- بعد وضع القيمة فى المسجلW تم نقلها TRISAالى والذى عنوانه 'H'85
11- لوضع اى قيمة فى البورت علينا العودة مجددا الى البنك 0 لان البورتات موجودة فى هذا البنك ,
فقمنا بتصفير البت الخامس من مسجل الحالة مجداا.
12- نستخدم الوسيط المسجل W لوضع القيمة المراد اخراجها على البورتA فى هذا المسجل.
13 - ننقل قيمة الخرج من المسجل W والذى يسمى مسجل العمل الى البورت A
وعند توصيل الدائرة نلاحظ وتوصيل LED الى السن الاول فى البورت نلاحظ ان اللد يضئ .
وان شاء الله ان جاهز لاى استفسار

وانتظروا المزيد وادعو لى و التوفيق
وصلى الله على سيدنا محمد
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: mayada في سبتمبر 12, 2008, 07:15:24 مساءاً
:203:  :203:
بداية رائعة أخي الفاضل , أرحب بك بيننا هنا في هذه المنتديات و ننتظر منك المزيد .
إذا كان لديك دروس في الميكروكنترولر فهل يمكنني أن أتحصل عليها ؟ بارك الله فيك و جزاك ألف خير .
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: dark_eng في سبتمبر 12, 2008, 07:51:11 مساءاً
السلام عليكم
شكرا لردك اخى الكريم ...لدى دروس لكن بالغة الانجليزية ان كنت تريد ...اما الدروس التى ساقوم بوضعها فى المنتدى ان شاء الله فهى مشاريع اطبقها فى شخصيا ثم اقوم بوضعها فى المنتدى ...
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: mayada في سبتمبر 12, 2008, 10:15:01 مساءاً
نعم أريدها و أنا أفضل اللغة الإنجليزية بصراحة و أحب مثل هذه الكتب لأن الترجمة لا تصلح أبدا معي , و انا فتاة و لست أخا  :D
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: dark_eng في سبتمبر 13, 2008, 01:37:33 مساءاً
السلام عليكم

اختى الكريمة اولا اليكى هذا الموقع الرائع الذى كانت معه انطلاقتى فى هذا المجال
اضغطى هنا
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: ضـوء في سبتمبر 13, 2008, 02:30:30 مساءاً
ما هو برنامج ال compiler الذى تستخدمه وبأى الports توصل الميكروكنترولر (يو أس بى أم LPT) وما هى دارة الinterface التى تستخدمها.

هل لى برابط لبرنامج المترجم وصورة لدارة البرمجة؟

أشكرك
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: dark_eng في سبتمبر 13, 2008, 03:04:22 مساءاً
السلام عليكم اخى ضوء
البرنامج المستخدم هو MPLAB وهو مجانا من موقع شركة ميكروشيب وهو محاكى ايضا
بالنسبة للمبرمجة التى استخدمها فهى PICSTART PULS من انتاج شركة ميكروشيب وهى مصصمة لبرمجة جيمع انواع PIC ومدعومة من الشركة من ناحية التحديثات
المبرمجة تعمل على المنفذ المتوالى COM
MPLAB

المبرمجة
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: ضـوء في سبتمبر 13, 2008, 03:44:19 مساءاً
أشكرك
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: mayada في سبتمبر 13, 2008, 07:36:06 مساءاً
جزاك الله خيرا على مساعدتي , و لكني أريد كتابا كاملا عن الميكروكنترولر و ليس مقتطفات , و أريد أن أعرف ما الفرق بينه و بين ال PLC
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: dark_eng في سبتمبر 14, 2008, 02:18:47 صباحاً
السلام عليكم
اختى الكريمة هذا الموقع به دروس تغطى اغلب جوانب الميكرو

الفرق بينه وبين PLC
PIC هو دائرة متكاملة قابلة للبرمجة IC هذه الشريحة بها ذاكرة ووحدات ادخال ووحدات اخراج ...اى كومبيتر مصغر ...فى شريحة واحدة IC
PLC
هو عن دائرة بها مجموعة من الشرائح الالكترونية IC'S تبرمج بلغة خاصة لاداء وظيفة معينة وتستخدم بكثرة فى المصانع لانها تسهل عميلة التعامل مع الالات وPLC تتعامل مع الاوامر المنطقية AND ,OR غالبا ..

اى ان PIC هو عبارة عن كومبيوتر فى IC

اما PLC فهى مجموعة من دائرة بها مجموعة من الشرائح IC'S
هذا باختصار شديد

وان شاء الله ببعض من الكتب قريبا
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: mayada في سبتمبر 14, 2008, 04:40:09 مساءاً
جزاك الله ألف خير و  وفقك دينا و دنيا , أنا سأقوم بعمل كورس الميكروكنترولر لذا أريد أن يكون عندي خلفية و لو بسيطة .
العنوان: درس فى برمجة PIC16F84A مع الشرح
أرسل بواسطة: قدري موصللي في يناير 06, 2009, 05:53:08 صباحاً
مشكور ياغالي على جهودك وجزاكم الله خير