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

أدوات الموضوع

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 22-03-2011, 10:11 PM المشاركة 1   
افتراضي نبذة مختصرة عن الميكروكونترولر PIC16F877 Twitter FaceBook Google+



الميكروكونترولر PIC16F877

1- الخواص العامة















2- أطراف الميكروكونترولر
  • تستخدم معظم الأطراف كمداخل ومخارج على شكل خمس منافذ هى :
A(5), B(8), C(8), D(8) , E(3) بإجمالى 32 طرف مدخل / مخرج 32 I/O pins .
  • جميع هذه الأطراف يمكن أن تعمل كأطراف مداخل / مخارج رقمية بسيطة , ولكن معظمها له أكثر
من وظيفة ويتم اختيار نظام العمل لكل وظيفة عن طريق تهيئة سجلات تحكم مختلفة داخل الشريحة .



لاحظ على وجه الخصوص أن المنافذ A , E تصبح كمداخل تناظرية ANALOGUE INPUTS كحالة افتراضية ( عند توصيل القدرة أوعند الإعادة reset ) ، ولذلك يجب إعدادها كمداخل / مخارج رقمية إذا لزم الأمر فى البرنامج .
  • يستخدم المنفذ port Bلتحميل البرنامج إلى ذاكرة flash ROMعن طريق الأطراف
(RB6 وRB7) كما يمكن للأطراف RB0 وRB4 - RB7 أن تولد المقاطعة .
  • المنفذ port Cيتيح الوصول إلى المؤقتات والمنافذ التسلسلية ، في حين يمكن استخدام المنفذ
port D كمنفذ تابع slave، على أن يوفر المنفذ port E أطراف التحكم لهذه الوظيفة .








  • تمتلك الشريحة أزواج من أطراف القدرة ( VDD = 5V , VSS = 0V ) ويمكن استخدام أى زوج
منها . يمكن للشريحة فعليا العمل على جهد تغذية حوالى 2V من أجل العمل على البطارية ولتوفير القدرة .
  • يمكن توصيل دائرة ساعة بتردد منخفض باستخدام مكثف ومقاومة فقط لتحديد التردد بالطرف
CLKIN أو دائرة مذبذب كريستال توصل بالأطراف CLKIN و CLKOUT .
  • الطرف MCLR هو طرف مدخل الإعادة resetفعندما يكون فى الحالة المنطقية المنخفضة (0)
يتوقف الميكروكونترولر ثم يبدأ من جديد عندما يصبح MCLR = 1. هذا الطرف يجب أن يكون فى الحالة المرتفعة ليسمح للشريحة بالعمل إذا لم يتم توصيل دائرة reset خارجية , ولكن من المفضل دمج زر إعادة resetيدوي.

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 22-03-2011, 10:13 PM المشاركة 2   
افتراضي


3- المنافذ Ports
يمتلك الميكروكونترولر PIC16F877خمسة منافذ متوازية تسمى A–E . ويمكن استخدام جميع الأطراف كمداخل أو كمخارج رقمية سواء كخانة bit أو كبايت byte .

ملخص الوظائف البديلة مبين فى الجدول التالى :









  • يمكن ملاحظة أن العديد من أطراف المنافذ تمتلك وظيفتين أو أكثر إعتمادا على تهيئة سجلات التحكم
ذات الصلة.عند بدء توصيل القدرة أو عند الإعادة reset تتخذ سجلات التحكم فى المنافذ الأوضاع الافتراضية
  • خانات السجل TRIS (التحكم فى اتجاه البيانات) الموجود فى bank 1 وضعها الافتراضى هو (1)
وهذا يؤدى إلى جعل المنافذ ports B, C , D كمداخل .فإذا كان ذلك هو المطلوب فليس هناك حاجة إلى مزيد من الإعدادات .
  • يوجد استثناء هام : المنافذ Ports A , E معدة فى الوضع الافتراضى كمداخل تناظرية
ANALOGUE INPUT لأن سجل التحكم التناظرى ADCON1 الموجود فى bank 1 وضعه الافتراضى هو 0 - - - 0000 . ولجعل هذه المنافذ كمداخل / مخارج رقمية يجب تحميل هذا السجل بالكود بالقيمة x - - - 011x ( x تمثل قيمة لا أهمية لها ) ويمكن القول 06h .

إذا كان مطلوب مدخل تناظرى على طرف محدد , يمكن إعداد السجل ADCON1 بكود خانات يعطى مزيج من المداخل التناظرية المداخل / المخارج الرقمية لكل من المنافذ Ports A , E .


4

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 22-03-2011, 10:14 PM المشاركة 3   
افتراضي


4- المؤقتات Timers
  • يمتلك الميكروكونترولر PIC16F877 ثلاثة أجهزة مؤقتات hardware . تستخدم هذه المؤقتات
فى تنفيذ عمليات التوقيت فى نفس الوقت simultaneously مع البرنامج وذلك لجعل البرنامج أسرع وأكثر كفاءة(فعالية).مثال ذلك توليد نبضة كل ثانية فى أحد المخارج .
  • يستخدم المؤقت Timer0 سجل 8-bit هو السجل المسمى TMR0 وعنوانه 01 .
خرج هذا السجل يكون على شكل " علم الطفحان" overflow flag والذى يؤثر فى خانة تسمى T0IF وهى الخانة bit 2 فى "سجل التحكم بالمقاطعة" INTCON وعنوانه 0B .
  • يتزايد سجل المؤقت عن طريق دخول نبضات الساعة إما من داخل الميكروكونترولر (fosc) أو من
مصدر نبضات خارجى على الطرف RA4.
  • يقوم السجل بالعد من 0 إلى 255( 255 = FF = 11111111) فى شكل ثنائى ثم يلف مرة أخرى
فيقوم بالعد من 0 من جديد . عندما ينتقل السجل من FF إلى 00 يتسبب فى جعل خانة علم المقاطعة بالمؤقت T0IF فى الحالة المرتفعة set =1 .
  • إذا تم استخدام الساعة الداخلية يعمل السجل بمثابة موقت timer.
  • كل تعليمة من تعليمات الميكروكونترولر تأخذ أربع دورات لنبضات الساعة fosc (تردد الكريستال )
لذلك فإن نبضات الساعة للتعليمات تكون fosc/4 ( تردد عمل الميكروكونترولر ).





يتم تشغيل المؤقت من نبضات الساعة للتعليمات أىfosc/4 والتي يمكن مراقبتها خارجيا من على الطرف CLKOUT إذا كانت الشريحة تعمل بساعة من النوع RC .
  • إذا تم تحميل سجل المؤقت مسبقا بقيمة ولتكن على سبيل المثال 155d , فإن المؤقت سوف يقوم
بعد 100 نبضة ساعة حتى تصل الخانة T0IF لحالة set(255-155=100). فإذا تم تشغيل الشريحة من كريستال بتردد fosc = 4MHz فإن تردد نبضات ساعة التعليمات سوف يكون fosc/4 = 4/1 = 1 MHz وسوف يحدث طفحان overflow بعد 100S.وإذا تم استخدام هذه النبضات فى تحويل مخرج فسوف نحصل على إشارة بزمن دورى هو 2 X100 = 200S أى بتردد F = 1/T = 5kHz .يمكن عد (حساب) النبضات الخارجية وقراءة العداد من سجل المؤقت عندما ينتهى أو قراءة البدء (الإشعال) بإشارة خارجية .وهكذا يمكن أيضا أن يستخدم المؤقت كعداد .
  • يرتبط بعمل سجل المؤقت سجل آخر هو سجل pre-scale"التدريج المسبق" أو "معامل القسمة"
هذا السجل هو سجل قسمة على عامل قدره N حيث N = 2 ,4 ,8 , 16 , 46 , 128 , 256 ، وهذا يعني أنه يتم خفض معدل العد فى الخرج بقيمة هذا العامل. يؤدى ذلك إلى تمديد فترة العد أو العدد الإجمالي بنفس النسبة، وإعطاء أكبر مدى rangللقياس.


توجد خانات اختيار معامل القسمة pre-scale وخانات التحكم الأخرى للمؤقت Timer0 فى سجل الخيارات OPTION_REG .

الجدول التالى يبين بعض تفاصيل إعدادات المؤقت Timer0






الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 22-03-2011, 10:16 PM المشاركة 4   
افتراضي


  • المؤقت Timer1 واسمه TMR1 هو عداد ذو سعة 16-bit يتكون من سجل البايت العلوى
TMR1H وسجل البايت السفلى TMR1L.







عندما يدور عد السجل المنخفض من FF إلى 00 يتم تزايد البايت العلوى . من ثم يكون الحد الإقصى للعد هو 65535d , والذى يسمح بالعد لعدد أكبر دون التضحية بالدقة .
  • المؤقت Timer2 واسمه TMR2 هو عداد ذو سعة 8-bit مع وجود pre-scaler بسعة
4-bit ومعامل قسمة آخر يسمى post-scaler بسعة 4-bitعلاوة على مقارن comparator .



يمكن أن يستخدم هذا المؤقت فى توليد خرج بتعديل عرض النبضة (PWM) وهو مفيد فى تشغيل محركات التيار المستمر ومحركات السرفو من بين أمور أخرى .





5- سجلات التحكم فى المقاطعة Interrupt Control Registers
  • السجلات المعنيةبالتعامل معالمقاطعةهيINTCON ، PIR1 ، PIR2 ، PIE1،
PIE2وPCON.
  • المقاطعاتهيإشاراتأجهزة hardwareخارجية والتيتجبر الميكروكونترولر على تعليق عملياته الحالية والقيام بتنفيذ برنامج فرعى للمقاطعة يسمى Interrupt Service Routine (ISR)
  • يمكنأن تتولد المقاطعةبطرقمختلفة ، ولكن النتيجة فى الميكروكونترولر PIC هى دائما القفز
jump إلى عنوان البرنامج رقم 004 .إذا كان هناك أكثرمن مصدر واحدللمقاطعة عندئذ يجب أن يتم الكشف عنمصدرالمقاطعةوتحديد البرنامج الفرعى ISRالمقابل .
  • الوضع الافتراضى هو تعطيل disabled المقاطعات ، بحيث يمكن تحميل البرامج من نقطة البداية
والتى تعرف بنقطة الأصل origin (أول تعليمة) عند العنوان 0000، ويمكن تجاهل مغزى العنوان0004 .





إذا أردنا أن نستخدم المقاطعات فأن عنوان بداية البرنامج الرئيسى يجب أن يكون العنوان 0005 أو أعلا ويتم وضع اللافتة ‘GOTO start’ (أو لافتة مشابهة) عند العنوان 0000 . عندئذ يمكن وضع التعليمة ‘GOTO ISR’ عند العنوان 004 باستخدام التوجيه ORG والذى يحدد العنوان الذى سوف توضع عنده التعليمة بالمترجم .
  • لتمكين نظام المقاطعة يجب عمل set لخانة "تمكين عموم المقاطعة" GIE بالسجل INTCON .
ثم بعد ذلك تمكين مصدر المقاطعة بشكل منفرد . على سبيل المثال يتم جعل الخانة T0IE بالسجل INTCON فى الحالة set لتمكين طفحان المؤقت Timer0 لبدء تتابع المقاطعة . عندما يفيض الموقت تتحول الخانة T0IF (Timer0 Interrupt Flag) بالسجل INTCONإلى حالة set لبيان مصدر المقاطعة ، واستدعاء البرنامج الفرعى للمقاطعة ISR .
  • المصادر الأساسية للمقاطعة : المؤقت Timer0 والمنفذ Port B . يستخدم المدخل RB0 من أجل
مقاطعة منفردة ويمكن تهيئة الأطراف RB4 - RB7 بحيث أن أى تغير فى هذه المداخل يبدأ المقاطعة. يمكن استخدامها فى الكشف عن حالة إنضغاط مفتاح بلوحة مفاتيح متصلة بالمنفذ Port B عندئذ يقوم البرنامج الفرعى للمقاطعة ISR بالمعالجة اللازمة .يتم تمكين باقى مصادر المقاطعة من الخانة "تمكين المقاطعة بالمحيطات" PEIE بالسجل INTCON .









m_adra89
:: مهندس متواجد ::
تاريخ التسجيل: Jan 2010
الدولة: palestine
المشاركات: 193
نشاط [ m_adra89 ]
قوة السمعة:0
قديم 22-03-2011, 10:32 PM المشاركة 5   
افتراضي


شرح ممتاز وجميل
شكرا جزيلا لك


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:333
قديم 22-03-2011, 10:37 PM المشاركة 6   
افتراضي


شرح ممتاز وجميل
شكرا جزيلا لك
اخى الكريم

شكرا جزيلا لك

بارك الله فيك

مع تمنياتى بدوام التوفيق


metalljack
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2008
الدولة: syria
المشاركات: 900
نشاط [ metalljack ]
قوة السمعة:103
قديم 23-03-2011, 02:16 AM المشاركة 7   
افتراضي


شكرا جزيلا لك معلمنا الغالي
أطالب بشدة أرشفة هذه المواضيع وتثبيتها لأنها غاية في الأهمية وكنت أسهر ساعات طويلة للحصول على هذه المعلومات النادرة الشرح
الله يجزيك كل خير


الصورة الرمزية سعيد قادر
سعيد قادر
:: عضو ذهبي ::
تاريخ التسجيل: Apr 2009
الدولة: العراق/ كوردستان
المشاركات: 2,916
نشاط [ سعيد قادر ]
قوة السمعة:152
قديم 23-03-2011, 05:40 AM المشاركة 8   
افتراضي


جزاك الله كل الخير استاذى العزيز

إضافة رد

العلامات المرجعية

«     الموضوع السابق       الموضوع التالي    »
أدوات الموضوع

الانتقال السريع إلى


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

Powered by vBulletin® Version 3.8.6, Copyright ©2000 - 2025