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

   

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



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 .

اعلانات

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


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







  • المؤقت 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 .







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

الصورة الرمزية هيثم العليمي
هيثم العليمي
:: مهندس جيد ::
تاريخ التسجيل: Mar 2012
الدولة: yemen
المشاركات: 236
نشاط [ هيثم العليمي ]
قوة السمعة:
قديم 05-07-2012, 10:55 AM المشاركة 11   
Thumbs up شرح رائع وجميل


الف شكر ...

على الشرح الاكثر من رائع وفي انتظار البقيه ...


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


الف شكر ...

على الشرح الاكثر من رائع وفي انتظار البقيه ...

أخى الكريم

شكرا جزيلا لك

بارك الله فيك

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


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


نبذة مختصرة عن بعض أنواع الميكروكونترولر PIC
أى ميكروكونترولر PIC تختار ؟ سؤال صعب . يوجد الكثير من الأنواع المختلفة , كل نوع بخيارات وأسعار مختلفة . معظم التدريبات تتم باستخدام الميكروكونترولر PIC16F877 .
من المهم العمل بميكروكونترولر واحد بأكبير قدر مستطاع , حتى تتعرف عليه فعليا . لهذا السبب فأن معظم التدريبات تتم على الميكروكونترولر 16F877 . قد نحتاج لاستخدام ميكروكونترولر آخر لذلك نلقى نظرة على البعض الآخر .
نبذة عن الميكروكونترولر PIC12F675 :
الميكروكونترولر PIC12F675 واحد من سلسلة PIC الصغرى المتاحة , وهو ذات 8 أطراف فقط , لكنه ذات قدرة عالية .




لاحظ الترقيم الشاذ للأطراف والخاص بهذه السلسلة . على سبيل المثال , الطرف رقم 7 AN0 أو GP0 .
الخواص العامة





قد يكون هذا الميكروكونترولر أقل تميزا عن PIC16F877 ولكنه أيضا أصغر فى الحجم والسعر. على الرغم من صغر حجمه إلا أنه يحتوى فى بنائه على مذبذب داخلى دقيق بتردد 4 MHz ومحول ADC بدقة 10 بت ومؤقت 8 بت ومؤقت 16 بت و...الخ .
يجب توصيل الأطراف التالية :
الطرف 1 :
الطرف 4: MCLR/Vpp طرف الإعادة ومدخل جهد البرمجة . يتم توصيل هذا الطرف بمقاومة 10 كيلو أول بالجهد +5V .
الطرف 8 : Vss أرضى مصدر القدرة 0V
عند البرمجة ICSP يتم توصيل الأطراف التالية :
الطرف 4 : MCLR/Vpp جهد البرمجة
الطرف 7 : ICSPDAT البيانات
الطرف 6 :ICSPCLKالساعة
الجهد +5V
الأرضى 0V


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


الميكروكونترولر PIC16F628 :
هو ميكروكونترولر ذات 18 طرف متوافق فلا الأطراف مع الميكروكونترولر PIC16F84 لكنه ليس تام التوافق برمجيا .





لاحظ الترتيب الشاذ للمنفذ port A . يبدأ المنفذ عند الطرف 17 , ويلف إلى الأطراف 18,1,2,3,4 ثم يعود مرة أخرى إلى الجهة الأخرى للأطراف 15 و 16 .
الخواص العامة :




هذا الميكروكونترولر أقل تميزا عن PIC16F877 ولكنه يظل له إمكانيات للمشاريع الحالية .
الأطراف التى يجب توصيلها :
الطرف 4 : MCLR/Vpp طرف الإعادة ومدخل جهد البرمجة . يتم توصيل هذا الطرف بمقاومة 10 كيلو أوم .
الطرف 5 : Vss أرضى مصدر القدرة 0V
الطرف 14 : Vdd جهد التغذية الموجب +5V
الطرف 15 : OSC1/CLKIN توصيل الكريستال .
الطرف 16 : OSC2/CLKOUT توصيل الكريستال .
أطراف البرمجة التسلسلية بالدائرة ICSP :
الطرف 4 : MCLR/Vpp جهد البرمجة
الطرف 13 : RB7/T1OSI/PGD البيانات
الطرف 12 :RB6/T1OSO/T1CKI/PGC الساعة
الطرف 10 : RB4/PGM طرف دخل البرمجة بالجهد المنخفض
الجهد +5V
الأرضى 0V


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


الميكروكونترولر PIC16F876 :
هذا الميكروكونترولر هو الأخ الأصغر للميكروكونترولر PIC16F877 حيث أن به جميع الوظائف ولكن فى شريحة 28 طرف وغياب المنفذ D والمنفذ E وأحد طرفى الجهد الموجب +5V , وهو يقل عنه بعدد 12 طرف ولكنه مازال يصلح للمشاريع الصغيرة .





أهم الخواص :



الأطراف التى يجب توصيلها :
الطرف 1 : MCLR/Vpp طرف الإعادة ومدخل جهد البرمجة . يتم توصيل هذا الطرف بمقاومة 10 كيلو أوم .
الطرف 8 : Vss أرضى مصدر القدرة 0V
الطرف 9 : OSC1/CLKIN توصيل الكريستال .
الطرف 10 : OSC2/CLKOUT توصيل الكريستال .
الطرف 19 : Vss أرضى مصدر القدرة 0V
الطرف 20 : Vdd جهد التغذية الموجب +5V


أطراف البرمجة التسلسلية بالدائرة ICSP:
الطرف 1 : MCLR/Vpp جهد البرمجة
الطرف28: RB7/T1OSI/PGD البيانات
الطرف 27 :RB6/T1OSO/T1CKI/PGC الساعة
الطرف 24 : RB4/PGM طرف دخل البرمجة بالجهد المنخفض
الجهد +5V
الأرضى 0V


khamed tabet
:: مهندس متميز ::
تاريخ التسجيل: Jul 2010
المشاركات: 311
نشاط [ khamed tabet ]
قوة السمعة:
قديم 05-07-2012, 08:23 PM المشاركة 16   
افتراضي


شكرا لك شرح رائع



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