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

   

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 04-08-2010, 03:18 AM المشاركة 17   
افتراضي



رااااااااااااائع

أتمنى الاستمرارية ، وأقترح عليك بعد أن ننتهي من الbasics أن نبدأ بتشريح data sheet of pics ههه

سلااام
اخى الكريم

شكرا جزيلا لك

اعلانات

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 07-08-2010, 12:25 PM المشاركة 18   
افتراضي المخطط الصندوقى هو البداية فى دراسة أى جهاز


المخطط الصندوقى هو البداية فى دراسة أى جهاز

المخطط الصندوقى هو البداية فى دراسة أى جهاز أو معدة سواء أكانت ميكروكونترولر أو حتى بوابة منطقية بسيطة .الشكل يبين المخطط الصندوقى للميكروكونترولر PIC الأساسى للعائلة الوسطى PIC16 وبه كل المعلومات الآزمة التى تحتاجها لفهم وبدأ العمل مع الميكروكونترولر.






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

نبدأ المخطط الصندوقى بحيز ذاكرة البرنامج :

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

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


نبدأ المخطط الصندوقى بحيز ذاكرة البرنامج :
يقوم عداد البرنامج program counter (إختصاره PC )بعنونة حيز ذاكرة البرنامج سواء أكانت ذاكرة EPROM أو Flash EEPROM . وعداد البرنامج فى هذه العائلة هو سجل طوله 13bits.




إذا نظرنا إلى الشكل وجدنا به ثلاثة اجزاء :
عداد البرنامج و المكدس وذاكرة البرنامج الفعلية وهى تعمل معا .
يتم تحميل ذاكرة البرنامج بكود ( شفرة ) البرنامج المطلوب من الميكروكونترولر تنفيذها . البرنامج يكون على شكل قائمة من التعليمات ويقوم عداد البرنامج بحفظ عنوان التعليمة التالية التى عليها الدور فى التنفيذ أى أنه يعمل كمؤشر لذاكرة البرنامج ويمكن لقيمة عداد البرنامج أن تنتقل إلى المكدس ويحدث ذلك عند تنفيذ برنامج فرعى أو حدوث مقاطعة كما فى تعليمات CALLو RETURNو RETFIE و RETLW . وسوف نتناولها فيما بعد .
عداد البرنامج ذو 13-bit ومن ثم فإن الميكروكونترولر يمكنه نظريا العنونة من 0000 الى 1FFFH .
أول موقع فى ذاكرة البرنامج يسمى resetvector ( متجه أو شعاع البداية ) . عند بدء تشغيل البرنامج لأول مرة ( عند توصيل التغذية مثلا ) فإن عداد البرنامج يوضع على الصفر (تصفير )( 0000) وبالتالى فإن أول موقع سوف يشير إليه هو resetvector ( متجه البداية ). ومن ثم فعلى المبرمج أن يضع أول تعليمة له فى هذا الموقع . وهناك متجهات أخرى تعمل بنفس الطريقة مثل متجه "مقاطعة" المحيطات
peripheralinterrupt vector .
لابد إنك لاحظت أن عداد البرنامج له مكدس مصاحب له هذا المكدس هو سجل ( ذو 13-bits ) وهو جزء من العتاد الصلب hardware وفى حالتنا ( عائلة المدى الاوسط ) يوجد فى التركيب البنائى مكدس بعمق 8 مستويات .
هذا المكدس يستعمل فقط فى حفظ قيمة عداد البرنامج عند القفز Jump إلى برنامج فرعى أو عندما تحدث مقاطعة للبرنامج .
فعند حدوث هذه الاحداث فإن قيمة عداد البرنامج يضاف اليه 1 ويدفع إلى المكدس . وهذا يسمح لعداد البرنامج نفسه بإعادة تحميله بعنوان لتعليمة جديدة والمطلوب تنفيذها .
فى حالة القفز إلى تعليمة برنامج فرعى فإن هذا العنوان يكون ضمن تعليمة CALL .
فى حالة حدوث مقاطعة للبرنامج فإن عداد البرنامج يوضع على 04h وعو عنوان متجه المقاطعة .


سوف نتتبع التعليمة MOVF PORTB,W خلال التركيب البنائى .


الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 07-08-2010, 12:33 PM المشاركة 20   
افتراضي سوف نتتبع التعليمة MOVF PORTB,W خلال التركيب البنائى .


سوف نتتبع التعليمة MOVF PORTB,W خلال التركيب البنائى .

هذه التعليمة سوف تأخد محتوى المسجل PORTB وتنسخه copy فى السجل W .





ترى فى الشكل الشفرة أسفل التعليمة وفيها الستة خانات ذات الأهمية القصوى ( جهة اليسار ) تعرف التعليمة MOVF . الخانة التالية هى خانة الهدف ( أو المقصود) وهى فى هذه الحالة 0 وتعنى أننا سوف نخزن النتيجة فى السجل W . السبعة خانات ذات القيمة الأدنى ( من اليمين ) تعرف موقع (عنوان) المسجل الذى سوف نحصل منه على البيانات لنقلها إلى المسجل W . فى هذه الحالة القيمة هى العنوان 0x06 ( 06H ) والذى يتواجد فيه السجل PORTB .
خانة الهدف تعرف أين يتم وضع نتيجة التعليمة وحيث أنه توجد خانة واحدة يكون لدينا إختياران لعنوان الهدف إما أن يكون السجل W أو العودة إلى السجل المعرف فى التعليمة نفسها وهو فى هذه الحالة PORTB .
شفرة التعليمة ذات 14 خانة والتى يشير إليها عداد البرنامج تخرج من خلال ممر البرنامج إلى مسجل التعليمة .
لاحظ أن العنوان ( باللون الاصفر ) هو عنوان فى حيز ذاكرة البيانات ( SRAM) وهو غير حيز ذاكرة البرنامج ( ( ROM . فالحيزان منفصلان تماما عن بعض ويجب عدم الخلط بينهما.
فى هذه الحالة فان السبع خانات العليا ( جهة اليسار ) للتعليمة يتم حل شفرتها وتخبر المعالج بأنها تحتاج إلى عمل نقل move محتوى سجل ووضع الناتج فى السجل W .
يذهب العنوان إلى المنتخب multiplexer الخاص بالعناوين وحيث أننا نستخدم الطريقة المباشرة للعنونة فى هذا المثال فان PORTB يستخدم كعنوان للسجل فى ذاكرة البيانات .
لاحظ أن السجل W هو جزء من وحدة الحساب والمنطق فى التركيب البنائى لهذه العائلة وليس له حيز عنوان منفصل .
لذلك لنقل البيانات إلى السجل W يجب أن تمر خلال وحدة الحساب والمنطق . والعكس لنقل البيانات من السجل W إلى حيز مسجل البيانات يتم من خلال وحدة الحساب والمنطق ( مستخدما خط التغذية العكسية الاحمر بوحدة الحساب والمنطق نفسها ) .








والى لقاء قريب ان شاء الله


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 07-08-2010 الساعة 02:31 PM

الصورة الرمزية F.Abdelaziz
F.Abdelaziz
:: استاذ و مشرف قسم الالكترونيات ::
تاريخ التسجيل: May 2007
المشاركات: 6,832
نشاط [ F.Abdelaziz ]
قوة السمعة:
قديم 07-08-2010, 01:19 PM المشاركة 21   
افتراضي فديوهات الجزء السابق على الروابط


فديوهات الجزء السابق على الروابط

http://eeecb.com/up2//view.php?file=034300a5fb

http://eeecb.com/up2//view.php?file=b6ee6bf984

http://eeecb.com/up2//view.php?file=ffd9833767

http://eeecb.com/vb/

والى لقاء قريب ان شاء الله


abnidal
:: مهندس متميز ::
تاريخ التسجيل: Nov 2006
الدولة: مصر
المشاركات: 381
نشاط [ abnidal ]
قوة السمعة:
قديم 07-08-2010, 02:34 PM المشاركة 22   
افتراضي ادامك الله


اقتباس : والى لقاء قريب ان شاء الله

انشاء الله
وجزاك الله خيرا


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


اقتباس : والى لقاء قريب ان شاء الله

انشاء الله
وجزاك الله خيرا

اخى الكريم

شكرا جزيلا لك

بارك الله فيك

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


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


فى التعليمات ألفورية : التى تتعامل مع الثوابت يتم أخذ قيمة الثابت ذو 8-bits من التعليمة نفسها ( بدلا عن العنوان لأن القيمة الثابتة محددة فى التعليمة ) خلال الخط الازرق إلى المنتخب أعلا وحدة الحساب والمنطق متخذة طريق البيانات من سجل التعليمة حيث تمر القيمة الثابتة من خلال وحدة الحساب والمنطق حيث يتم إيداع الثابت فى السجل W وهذا الطريق هو طريق البيانات من ذاكرة البرنامج إلى السجل W الموجود فى جانب ذاكرة البيانات من التركيب البنائى .




وحيث أن منافذ الدخل والخرج متصلة بنفس ممر البيانات مثل مسجلات الملف ومواقع ذاكرة RAM يمكنك عنونة منافذ الدخل والخرج و RAM بنفس الطريقة . فقط غير العنوان وسوف تنفذ التعليمة على موقع ذاكرة RAM أو على منفذ دخل وخرج آخر لإنها تقع على نفس ممر البيانات ذو 8-bits.

بهذا تتم هذه التعليمة الخاصة ولكن إذا نظرنا إلى باقى المخطط الصندوقى سنرى جميع الأجهزة المحيطية (الطرفية ) وتشمل المؤقتات والساعة والعدادات وهى تقع فى نفس ممر البيانات على الرغم من أنها كلها لها عناوين مختلفة .
يتم الوصول إلى الأجهزة المحيطية (الطرفية) من خلال نفس ممر البيانات كذاكرة البيانات RAM وسجلات الملف ومنافذ الدخل والخرج وحتى عداد البرنامج PC هو أيضا يقع على نفس ممر البيانات . والآن يمكنك أن تأخذ محتويات ااسجل W ونقله إلى عداد البرنامج . وحيث أن الممر هو ممر 8-bits فقط فإنك تستطيع فعل ذلك فقط على الثمانى خانات الأدنى أهمية (المنخفضة) وسوف نناقش ذلك فيما بعد عند الحديث على تعليمات القفز .




منتخب العنوان يقوم بانتخاب إما عنوان مباشر أو عنوان غير مباشر وخرج منتخب العنوان هو عنوان إما لسجل ملف أو موقع فى RAM أو منفذ دخل وخرج أو أى من الأجهزة الطرفية أو الساعات والعدادات أو حتى عداد البرنامج نفسه . سوف تلاحظ هنا أن هناك دخل آخر لمنتخب العنوان وهو عنوان ولكنه لا يأتى من التعليمة بل يأتى من سجل ملف الاختيار أو FSR . وهذا السجل هو مؤشر العنوان الغيرمباشر للبيانات . يمكننا أن ناخذ محتويات هذا الملف واستخدامه كعنوان لموقع فى RAMأو منافذ الدخل والخرج أو أى أجهزة طرفية أو الساعات والعدادات .
الصندوق الآخر الذى يظهر هنا هو سجل الحالة status . وسجل الحالة هو سجل آخر يقع أيضا على ممر البيانات ويعطى حالة وحدة الحساب والمنطق حيث يحتوى سجل الحالة على بعض الخانات التى تعرف ما إذا كانت نتيجة آخر عملية تمت فى وحدة الحساب والمنطق قيمتها 0 وهل هناك زيادة overflowناتجة عن عملية طرح أو جمع وما إلى ذلك .




قبل أن ننهى هذا الجزء دعنا نناقش باختصار الخصائص المساعدة والموجودة فى بناء الميكروكونترولر . وتشمل :
عملية التصفير (البدء) brown out resetومؤقت الحراسة watch dog timer والتصفير (البدء) عند توصيل التغذية power on reset ومؤقت بدء المذبذب oscillator startup timer وكلها وظائف أساسية فى العائلة PICmicro x14
وصندوق توليد التوقيت يولد الإشارات الزمنية الآزمة للميكروكونترولر والتى يتم إستخلاصها ( إشتقاقها) من مذبذب كريستال خارجى أو من دائرة رنين ceramic resonator أو من مذبذب RC داخلى داخل الشريحة نفسها . وهذا التردد يقسم داخليا على 4 لإنتاج دورات الساعة Tcy التى سبقت مناقشتها وأربعة منها تكون دورة التعليمة .





باقى فديوهات هذا الجزء على الروابط


http://eeecb.com/up2//view.php?file=a93bc03ce3

http://eeecb.com/up2//view.php?file=4f9cad0940

http://eeecb.com/up2//view.php?file=5f3e473249

http://eeecb.com/up2//view.php?file=e066006770

http://eeecb.com/vb/index.php

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

مفهوم سجل الملف Register File Concept:


التعديل الأخير تم بواسطة : F.Abdelaziz بتاريخ 07-08-2010 الساعة 03:25 PM


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