 |
:: مهندس متواجد ::
تاريخ التسجيل: Jul 2006
الدولة: Jeddah
المشاركات: 67
|
|
نشاط [ Blu Ray ]
قوة السمعة:0
|
|
22-07-2006, 07:50 AM
المشاركة 1
|
|
بسم الله الرحمن الرحيم في البداية كنت متحمساً لشرح كافة التفاصيل عن مكونات المتحكم، ولكن وجدت أنه بما أني سأشرح كيفية البرمجة بواسطة مترجم البيسك فلا حاجة للمرء للتفاصيل الدقيقة التي تتطلب تخصص في مجال بناء المعالجات والتي تحتاجها للبرمجة بلغة التجميع فقط، لذا وجدت أنه من الأفضل ألا أخوض في متاهات وأن أعطيك المهم في كيفية برمجة المتحكم.
في هذا الدرس سنشرح المهم من مصفوفة المسجلات الخاصة بالمتحكم ذو 8 بت (PIC16F84A)، والذي على الرغم من أنه صغير وقليل المميزات إلا أنه مناسب جداً لعمل برمج كثيرة خاصة بالمبتدئين.
على كل حال الصورة التالية توضح الـ(Pinout) لنوع 18 رجل من هذا المتحكم:

أما مصفوفة المسجلات الخاصة به فهي من الـ (Data sheet) تبعه كما يلي :
المسجلات التي تهمنا في البرمجة بواسطة لغة البيسك كما يلي:
كما نرى أن (PORTA) خاص بالأرجل التي تبدأ ب (RA) أما (PORTB)
فهو خاص بالأرجل التي تبدأ ب (RB) فمثلاً (RA0) يتم تمثيله أثناء البرمجة ب (PORTA.0)
و يطبق ذلك على كل الباقيين.
بالنسبة ل (TRISA) و (TRISB) فهي كما هو مكتوب في الصورة يحدد اتجاه البيانات من أرجل (PORTA) و (PORTB) على الترتيب.
فعندما تضع قيمة بت من بتات أحد هذتان المصفوفتان ب (1) فإن الرجل الخاصة بالبت تعتبر مدخل أو (input) أما إذا وضعتها ب (0) فهي مخرج أو (output)
مثال: (TRISA.1 = 1) معناه أن (RA1) الآن يعتبر مخرج فلا تستطيع أخذ البيانات منه بل تخرج المعلومات منه.
إذا أردت إعداد كل الأرجل دفعة واحدة فبإمكانك ذلك بحيث مثلاً تكتب (TRISA = 0x15)
ولكن لاحظ أن العدد 15 هو عدد ست عشري بما معناه أن 15 (ست عشري)= 21 (عشري) = 00010101 (رقم ثنائي)
ومعناه أن:
(RA0 = input,RA1 = output,RA2 = input,RA3 = output,
RA4 = input) والباقي مش مهم لعدم وجود بقية البتات بالنسبة ل (PORTA) أما إذا كان الكلام على (PORTB) فإن الباقي يعتبر تعريف لبقية البتات على أنها مخارج.
و إلى اللقاء في الدرس القادم إنشاء الله...
التعديل الأخير تم بواسطة : Blu Ray بتاريخ 22-07-2006 الساعة 07:55 AM
|