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

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

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,894
نشاط [ F.Abdelaziz ]
قوة السمعة:328
قديم 26-03-2011, 08:15 PM المشاركة 1   
افتراضي التفاصيل الكاملة للميكروكونترولر PIC16F887 Twitter FaceBook Google+



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


السمات الأساسية للميكروكونترولر PIC16F887
1- ذات تركيب بنائى من نوع RISC "التعليمات المخفضة" :
# يستخدم 35 تعليمة فقط .
# جميع التعليمات تستغرق دورة تعليمات واحدة فيما عدا تعليمات التفرع .
2- تردد العمل 0-20 MHz .
3- يشمل على مذبذب داخلى دقيق :
# معاير فى المصنع .
# يمكن اختيار تردده برمجيا فى المدى من 31KHzإلى 8MHz.
4- جهد مصدر القدرة 2.0-5.5V :
# استهلاك التيار 220A عند (2.0V, 4MHz) و 11A عند (2.0 V, 32 KHz) و 50nA فى نظام stand-by
5- يمتلك نظام السكون لتوفير القدرة Power-Saving Sleep Mode.
6- التصفير عند هبوط الجهد Brown-out Reset (BOR) بخيار التحكم عن طريق البرمجيات .
7- يمتلك 35 طرف مداخل / مخارج :
# ذات تيار مرتفع كمصدر source أو كمصب sink للتشغيل المباشر للدايودات المشعة للضوء LED:
# تحتوى على مقاومات جذب لأعلى يمكن استخدامها منفردة وعن طريق البرمجيات .
# حدوث المقاطعة عند تغير حالة الطرف .
8- سعة ذاكرة ROM من النوع FLASH هى 8K :
# يمكن برمجة الشريحة حتى 100.000 مرة .
9- بها خيار للبرمجة التسلسلية بالدائرة In-Circuit Serial Programming(ISP) :
# يمكن برمجة الشريحة حتى لو كانت ضمن جهاز .
10- سعة ذاكرة EEPROM هى 256 bytes :
# يمكن كتابة البيانات عليها لأكثر من 1.000.000 مرة .
11- سعة ذاكرة RAM هى 368 bytes .
12- تمتلك محولات من تناظرى إلى رقمى A/D converter :
# 14 قناة تحويل 14-channels .
# دقة التحويل 10-bit resolution .
13- تمتلك 3 مؤقتات / عدادات مستقلة 3 independent timers/counters .
14- تمتلك مؤقت حراسة Watch-dog timer
15- تمتلك وحدة (موديول) مقارن تناظرى Analogue comparator module به :
# 2 مقارن تناظرى .
# جهد مرجعى ثابت (0.6V) .
# جهد مرجعى داخل الشريحة قابل للبرمجة .
16- تمتلك خرج قيادة تحكم بتعديل عرض النبضة PWM .
17- تمتلك وحدة (موديول) USART محسن :
# يعتمد RS-485 و RS-232 و LIN2.0 .
# اكتشاف تلقائى لمعدل البود Baud .
18- تمتلك منفذ تسلسلى رئيسى متزامن (MSSP)
# يعتمد الأنظمة SPI و I2C .








وصف الأطراف PINOUT DESCRIPTION

اعلانات

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


وصف الأطراف PINOUT DESCRIPTION








معظم أطراف الميكروكونترولر PIC16F887 متعددة الوظائف كما هو واضح من الشكل العلوى .
على سبيل المثال : التسمية RA3/AN3/Vref+/C1IN+ للطرف الخامس للميكروكونترولر تدل على أنه يمتلك الوظائف التالية :
# RA3 المدخل / المخرج الرقمى الثالث للمنفذ Port A .
# AN3 المدخل الثالث التناظرى .
# Vref+ الجهد المرجعى الموجب .
# C1IN+ المدخل الموجب للمقارن C1 .


توظيف الأطراف بهذه الطريقة مفيد جدا لأنه يجعل الميكروكونترولر كحزمة أكثر إحكاما دون التأثير على عملها . لا يمكن استخدام هذه الوظائف المتعددة للطرف في وقت واحد، ولكن يمكن تغييرها في أي وقت خلال العمل .
الجداول التالية تشير إلى الميكروكونترولر نوع PDIP 40 (40 طرف فى صفين بوعاء بلاستيك)


















وحدة المعالجة المركزية CENTRAL PROCESSOR UNIT (CPU)

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

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


وحدة المعالجة المركزية CENTRAL PROCESSOR UNIT (CPU)

لن نثقل عليك بعمل وحدة المعالجة المركزية في هذه المرحلة. مع ذلك نقول فقط أن وحدة التحكم المركزية مصنعة بتقنية RISC وهو عامل مهم عندما نقرر أى نوع من الميكروكونترولر نستخدم .
كلمة RISC تعنى مجموعة التعليمات المخفضة والتى تعطى للميكروكونترولر PIC16F887 ميزتين عظيمتين :
• وحدة المعالجة المركزية لا تتعرف إلا على 35 تعليمة بسيطة.

• زمن التنفيذ واحد لمعظم التعليمات كلها تقريبا ويستغرق 4 دورات من نبضات ساعة . تردد المذبذب يكون مستقر بسبب استخدام الكريستال الكوارتز. زمن تنفيذ تعليمات القفز أو التفرع يستغرق 2 دورة من دورات التعليمة . هذا يعني أنه إذا كان الميكروكونترولر يعمل عند تردد (سرعة) 20MHz فأن زمن تنفيذ كل تعليمة سوف يكون 200nS أى أن البرنامج سوف يقوم بتنفيذ 5 مليون تعليمة فى الثانية !

طريقة الحساب :
تردد نبضات الساعة (المذبذب) 20MHz
الزمن الدورى لنبضات الساعة (زمن الدورة الواحدة) مقلوب التردد = 50nS
زمن تنفيذ التعليمة الواحدة = 4 X الزمن الدورى لنبضات الساعة = 200nS
ويكون عدد التعليمات فى الثانية الواحدة = 1/200nS = 5 million





الذاكرة MEMORY


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


الذاكرة MEMORY

يمتلك الميكروكونترولر PIC16F887 ثلاثة أنواع من الذاكرة هى : ROM و RAM و EEPROM . سوف يتم مناقشة كل منهم على حدة حيث يقوم كل منهم بوظائف وخصائص وتنظيم محدد .

ذاكرة ROM "ذاكرة القراءة فقط "
تستخدم ذاكرة ROM فى الحفظ (التخزين) الدائم للبرنامج المطلوب تنفيذه . وهذا هو سبب تسميتها "ذاكرة البرنامج "‘program memory’ .
يمتلك الميكروكونترولر PIC16F887 ذاكرة ROM بسعة 8Kb ( بإجمالى 8192 موقع ) . نظرا لأن ذاكرة ROM مصنعة بتقنية FLASH فيمكن تغيير محتوياتها باستخدام جهد برمجة خاص (13V) , ويتم إجراء ذلك عن طريق برنامج خاص بالكومبيوتر وجهاز إلكترونى بسيط يسمى "جهاز البرمجة " programmer كما فى الشكل التالى .






ذاكرة EEPROM "ذاكرة قراءة فقط قابلة للمسح كهربائيا "
هذه الذاكرة تشبه ذاكرة البرنامج فى أنه يتم حفظ (تخزين) محتوياتها أيضا بشكل دائم حتى عند فصل القدرة . وعلى خلاف ذاكرة ROM فإن محتويات ذاكرة EEPROM يمكن تغييرها خلال عمل الميكروكونترولر . وهذا هو سبب أن هذه الذاكرة (256 موقع) مثالية للحفظ الدائم لبعض النتائج المتولدة والمستخدمة خلال العمل .

ذاكرة RAM "ذاكرة الوصول العشوائى"
هذه هى ذاكرة الميكروكونترولر الثالثة والأكثر تعقيدا .
تتكون هذه الذاكرة من قسمين (مجموعتين): قسم "سجلات الأغراض العامة" GPR و قسم "سجلات الوظائف الخاصة" SFR . جميع هذه السجلات مقسمة فى شكل أربع مجموعات "بنوك" ذاكرة والتى سوف نتعرف عليها فيما بعد .
على الرغم من أن كلتا المجموعتين يتم مسح (تصفير) سجلاتها عند فصل القدرة وعلى الرغم من أنه مصنعة بنفس الطريقة إلا أن وظائفها لا يوجد بها أشياء مشتركة كثيرة .








سجلات الأغراض العامة GENERAL-PURPOSE REGISTERS(GPR)


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


سجلات الأغراض العامة GENERAL-PURPOSE REGISTERS(GPR)
تستخدم سجلات الأغراض العامة فى الحفظ (التخزين) المؤقت للبيانات والنتائج المتولدة خلال العمل .على سبيل المثال , إذا أجرى البرنامج عملية عد counting ( منتجات فى خط تجميع) فمن الضرورى وجود سجل يمثل "المجموع" ‘sum’ . وحيث أن الميكروكونترولر لا يستطيع القيام بعمل شىء من نفسه فمن الضرورى تحديد عنوان لسجل غرض عام وتخصيصه (تعينه) لهذه الوظيفة . ويجب إنشاء برنامج بسيط يقوم بعمل تزايد بمقدار واحد لهذا السجل بعد مرور كل منتج خلال حساس .
الآن يستطيع الميكروكونترولر تنفيذ البرنامج حيث أنه عرف "ماهو" المجموع و"مكانه" . بالمثل كل متغيرات البرنامج يجب مسبقا أن يخصص (يعين) لها بعض سجلات الأغراض العامة .

سجلات الوظائف الخاصة SPECIAL FUNCTION REGISTERS (SFRS)
سجلات الوظائف الخاصة هى أيضا ذاكرة RAM ولكنها تختلف عن سجلات الأغراض العامة فى أن الغرض منها محدد مسبقا خلال التصنيع ولا يمكن تغييره . ونظرا لأن خاناتها bits تتصل بدوائر خاصة بالشريحة
( مثل المحول من تناظرى إلى رقمى A/D وموديول الاتصال التسلسلى و...إلخ ) فأى تغيير فى محتوياتها يؤثر مباشرة على عمل الميكروكونترولر أو بعض دوائره . على سبيل المثال : السجل ADCON0 يتحكم فى عمل المحول A/D . بتغيير خاناته يتم تعيين (تحديد) أى طرف منفذ يتم إعداده كمدخل للمحول ولحظة بدء التحويل علاوة على سرعة التحويل .
خاصية أخرى لمواقع هذه الذاكرة , وهى أنها تمتلك أسماء ( لكل من السجل وخاناته ) والتى تبسط لدرجة كبيرة عملية كتابة البرنامج .وحيث أن لغات البرمجة العليا يمكنها استخدام قائمة بكل السجلات و عناوينها الصحيحة , فيكتفى بتحديد اسم السجل من أجل قراءة أو تغيير محتوياته .

مجموعات (بنوك) ذاكرة RAMRAM MEMORY BANKS
تقسم ذاكرة RAM إلى أربعة مجموعات (تسمى بنوك) . قبل الوصول إلى أى سجل خلال كتابة البرنامج
( من أجل قراءة أو تغيير محتوياته) من الضرورى اختيار المجموعة (البنك) الذى يحتوى هذا السجل . تستخدم خانتان من سجل "الحالة" STATUS لاختيار المجموعة (البنك) وسوف نناقشه لاحقا . لتبسيط العملية فأن سجلات الوظائف الخاصة SFR الأكثر استخداما يكون لها نفس العنوان فى جميع المجموعات (البنوك) لذلك يمكن من الوصول إليها بسهولة .






قد يكون من الصعب التعامل مع البنوك فقط إذا كنت تكتب برنامج بلغة الأسمبلى . عند استخدام لغات البرمجة العليا مثل السى ومترجم مثل mikroC PRO for PIC فكل ما عليك القيام به هو تحديد اسم السجل. وعلى أساس ذلك يختار المترجم المجموعة (البنك) والتعليمات المناسبة المستخدمة لاختيار البنك وسوف يتم بناؤها في الكود خلال عملية الترجمة .
هل كنت تستخدم حتى الآن لغة الأسمبلى فقط وأن هذه هي المرة الأولى التي تستخدم مترجم السى ؟ اليست هذه أنباء سارة؟




المكدس STACK


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


المكدس STACK
جزء من ذاكرة RAM يستخدم كمكدس يتكون من 8 سجلات وكل سجل مكون من 13 خانة 13-bit. قبل أن يبدأ الميكروكونترولر بتنفيذ برنامج فرعى ( تعليمة CALL ) أو عند حدوث مقاطعة ، فإن عنوان أول تعليمة تالية مطلوب تنفيذها يتم دفعه بالمكدس ، أي إلى واحد من سجلاته. وبفضل ذلك فأن الميكروكونترولر يعرف من أين يستمر فى تنفيذ البرنامج العادى بعد انتهاء تنفيذ البرنامج الفرعى أو المقاطعة . هذا العنوان يتم مسحه بعد العودة إلى البرنامج لأنه لا توجد حاجة لحفظه لفترة أطول، وتلقائيا يصبح أحد مواقع المكدس متاح للاستخدام مرة أخرى.
ومن المهم أن نضع في اعتبارنا أن البيانات تدفع دائما بطريقة دائرية إلى المكدس. وهو ما يعني أنه بعد دفع المكدس ثماني مرات، فإن الدفعة التاسعة تسبب الكتابة على overwrites القيمة التى كانت مخزنة بأول دفعة , وأن الدفعة العاشرة تكتب على الدفعة الثانية وهلم جرا , ومن ثم لا يمكن استرجاع البيانات المكتوب عليها . بالإضافة إلى ذلك، فإن المبرمج لا يمكنه الوصول إلى هذه السجلات سواء للكتابة أو القراءة ولا توجد خانة حالة لبيان حالات طفحان أو خلو المكدس .لهذا السبب من الضروري أن نوليه اهتماما خاصا خلال كتابة البرنامج.

نظام المقاطعة
أول شيء يقوم الميكروكونترولر بفعلة عند وصول طلب مقاطعة هو تنفيذ التعليمة الحالية بعد ذلك يوقف تنفيذ البرنامج العادي. ونتيجة لذلك يتم تلقائيا دفع pushed العنوان الحالى لذاكرة البرنامج إلى المكدسstack
ويتم كتابة عنوان افتراضي (المحددة مسبقا من قبل الشركة المصنعة ) فى عداد البرنامج program counter . هذا العنوان هو عنوان الموقع الذى يمضى (يستمر) منه تنفيذ البرنامج يسمى متجه المقاطعةinterrupt vector . للميكروكونترولر PIC16F887 هذا العنوان هو0004h.
كما هو مبين في الشكل أدناهيتم تمرير (تخطى) الموقع الذى يحتوي على متجه المقاطعة أثناء تنفيذ البرنامج العادي.





الجزء من البرنامج المطلوب تنفيذه عند وصول طلب المقاطعة يسمى "روتين خدمة المقاطعة" ISR. تقع أول تعليمة له فى متجه المقاطعة . كم من الوقت يستغرق تنفيذ هذا الروتين وما سوف يكون عليه الحال يعتمد على مهارات المبرمج وكذلك على مصدر المقاطعة نفسها . بعض الميكروكنترولر بها أكثر من متجه للمقاطعة (كل طلب مقاطعة لها متجهه خاص به )، ولكن في هذه الحالة يوجد متجه مقاطعة واحد فقط . وبالتالي فإن الجزء الأول من روتين المقاطعة تتمثل في اكتشاف مصدر المقاطعة.
وأخيرا عند التعرف على مصدر المقاطعة وتنفيذ روتين المقاطعة يصل الميكروكونترولر إلى التعليمة RETFIE يقوم بإستعادة pop العنوان من المكدس ويمضى فى تنفيذ البرنامج من النقطة التي توقف عندها.
يتعرف المترجم mikroC على روتين المقاطعة المراد تنفيذه كدالة بالصيغة void interrupt() .
جسم هذه الدالة أى روتين المقاطعة يجب أن يكتب بمعرفة المستخدم .



باختصار : طريقة (كيفية) استخدام سجلات الوظائف الخاصة SFRs
لقد قمت بشراء الميكروكونترولر لديك فكرة جيدة عن كيفية استخدامه... هناك قائمة طويلة من سجلات الوظائف الخاصة SFRs و خاناتها . كل واحد منها يتحكم فى بعض العمليات . والجميع يشبه جدول تحكم كبير مع الكثير من التعليمات والمفاتيح . الآن أنت قلق حول ما إذا كنت سوف تتمكن من تعلم كيفية استخدام كل منهم؟
من المحتمل أن لا تتمكن ولكن لا تقلق , فهذا الميكروكنترولر القوى يشبه محلات السوبر ماركت : فهى توفر أشياء كثيرة بأسعار منخفضة ، والأمر متروك لك لاختيار ما تحتاج إليه. لذلك، حدد المجال الذى تهتم به وأدرس فقط ما تحتاج إلى معرفته. وعندما تفهم تماما عمل الأجهزة hardwareإدرس سجلات الوظائف الخاصة SFRs التي تتحكم فيها ( عادة ما يكون عددها قليل ) .


القادم إن شاء الله

سجلات الوظائف الخاصة الأساسية CORE SFRS


الصورة الرمزية noornader
noornader
:: عضو ذهبي ::
تاريخ التسجيل: Mar 2007
المشاركات: 608
نشاط [ noornader ]
قوة السمعة:92
قديم 26-03-2011, 09:03 PM المشاركة 7   
افتراضي


ما شاء الله اخى الكريم/ فتح الله
إضافة جديدة لمتحكم جديد تضاف الى رصيدك الغنى بالعطاء
فتح الله عليك وجزاك عن الجميع كل خير
تحياتى


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


ما شاء الله اخى الكريم/ فتح الله

إضافة جديدة لمتحكم جديد تضاف الى رصيدك الغنى بالعطاء
فتح الله عليك وجزاك عن الجميع كل خير
تحياتى

اخى الكريم

شكرا جزيلا لك

بارك الله فيك


تقدير اعتز به


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

إضافة رد

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

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

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


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

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