| الميكروكونترولر من البداية وحتى الاحتراف | |
|
+35tawfeek abd el hady tawfikramadan1 eng\ jaber mideo_2008 اابوصلاح Eng_Mousa الفقير لله saoud adel TRUELOVE2000 er-rachdi hamid فتحي محمد ELSAYED ABDALLAH mohamed attia مصطفى الشيباني mostafa saad uooranum hamadaaskar الغالى سناء سام engmohallam Safwan Harbi engbasra أحمدعبدالحي محمد الزوكاني gogledcv hany_omar محمود فيصل صبره ean احمداحمدرزق PLCMan البحرالاحمر عمرو حمزة metwally.mustafa aliali F.Abdelaziz 39 مشترك |
|
كاتب الموضوع | رسالة |
---|
metwally.mustafa فريق أول
عدد الرسائل : 4226 العمر : 38 الموقع : Egypt العمل/الترفيه : automation engineer تاريخ التسجيل : 12/01/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الأربعاء 29 يوليو 2009 - 13:49 | |
| | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الخميس 30 يوليو 2009 - 5:46 | |
| - metwally.mustafa كتب:
- شكرا لك اخى الكريم
شكرا لك اخى الفاضل | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الجمعة 31 يوليو 2009 - 13:54 | |
| 5-مقدمة للبوابات المنطقية واستخداماتها
فتح وإغلاق البوابات تمثل القيم الثنائية ( الصفر والواحد ) بقيمتين مختلفتين فى الجهد .فالصفر (0) هو جهد بقيمة قريبة من صفر فولت والواحد (1)هو جهد بقيمة قريبة من موجب 5 فولت . البوابة هى دائرةالكترونية بسيطة لهاجهد خرج وحيد يناظر احدى القيم الثنائية ( اما 0 او 1 ). هذه البوابات غالبا ما يطلق عليها البوابات المنطقية كما يطلق على جهدالخرج ( المنطق 0 ) او (المنطق ( 1 بدلا من القول( قيمة ثنائية 0 ) او (قيمة ثنائية ( 1 الفارق هو الاسم فقط . فلو سألت عالم رياضيات أو مبرمج حاسوب لقال ان الخرج قيمة ثنائية ولكن مهندس الالكترونيات سيقول منطق.فى الحقيقة لا يهم.
ما الذى يقرر(يحدد) جهد الخرج ؟ نوصل (نربط) واحد أو أكثر من الجهود لمدخلات البوابة.وهى اما بقيمة المنطق 0 او المنطق 1 .تقوم البوابة المنطقية بفحص جهود الدخل وتقرر وفقا لتصميمها نوع الجهد الذى تنتجه فى خرج الدائرة ( 0 او 1 ). لا يوجد سوى أربعة تصاميم أساسية للبوابات . وهي بوابة NOT وبوابة AND وبوابة OR وبوابة XOR ( كلها احرف كبير حسما لاى خلاف ) . سندرس هذه البوابات بدءا من أبسطها
البوابة NOT لها مدخل واحد فقط ، وتؤدي وظيفة في غاية البساطة. ببساطة تعكس القيمة الثنائية. فاذا وضعنا في الدخل المنطق 1 حصلنا على منطق 0 في الخرج . وبالمثل 0 في الدخل يعطي 1 في الخرج. فى الشكل 5-1 تمثل البوابة NOT برمز كما هو مبين
الملف كاملا على الرابط :
http://www.4shared.com/file/122021205/a7b6b6e3/5-___.html | |
|
| |
metwally.mustafa فريق أول
عدد الرسائل : 4226 العمر : 38 الموقع : Egypt العمل/الترفيه : automation engineer تاريخ التسجيل : 12/01/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الجمعة 31 يوليو 2009 - 13:57 | |
| | |
|
| |
PLCMan Admin
عدد الرسائل : 12366 العمر : 55 العمل/الترفيه : Maintenance manager تاريخ التسجيل : 02/03/2008
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الجمعة 31 يوليو 2009 - 13:58 | |
| جزاكم الله خيرا أخي العزيز
وأتمنى أن يقوم أحد الزملاء بتجميع هذه الدورة القيمة في ملف واحد ثم يقوم برفعه على المنتدى ويا حبذا لو قام بذلك الزميل المبدع F.Abdelaziz
مع خالص التمنيات بالتوفيق
_________________ أبـوروان | |
|
| |
احمداحمدرزق جندي
عدد الرسائل : 1 تاريخ التسجيل : 03/08/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الإثنين 3 أغسطس 2009 - 9:51 | |
| شكرا كثيرا أخي الكريم وياريت فعلا يقوم احد الزملاء بتجميع الدورة للفائدة | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الأحد 9 أغسطس 2009 - 9:11 | |
| - metwally.mustafa كتب:
- شكرا لك اخى الكريم
شكرا لك اخى الفاضل واعتذر عن التاخير | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الأحد 9 أغسطس 2009 - 9:16 | |
| - PLCMan كتب:
جزاكم الله خيرا أخي العزيز
وأتمنى أن يقوم أحد الزملاء بتجميع هذه الدورة القيمة في ملف واحد ثم يقوم برفعه على المنتدى ويا حبذا لو قام بذلك الزميل المبدع F.Abdelaziz
مع خالص التمنيات بالتوفيق
اشكرك اخى الكريم شكرا جزبلا واعدك ان شاء الله بعد الانتهاء سوف اقوم بذلك | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الأحد 9 أغسطس 2009 - 9:19 | |
| - احمداحمدرزق كتب:
- شكرا كثيرا أخي الكريم وياريت فعلا يقوم احد الزملاء بتجميع الدورة للفائدة
شكرا لك اخى الكريم | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الأربعاء 12 أغسطس 2009 - 17:18 | |
| | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الجمعة 14 أغسطس 2009 - 13:38 | |
| ملحوظات : 1- نظام نبضات الساعة ومفهوم دورةالتعليمة : تعرف دورة تنفيذ التعليمة بانها الزمن الازم لتنفيذ التعليمة ويرمز لها بالرمز Tcy نظام التوقيت ( الساعة ) clock : مصمم بحيث يتم احضار ( جلب) fetched التعليمة و فك شفرتها decoded وتنفيذها executed كل اربع دورات من دورة الساعة . وبهذه الطريقة اذا كان الميكروكونترولر يعمل بمذبذب توقيت (ساعة) بمعدل 4MHZ ( عند الطرف OSC1 ) اى زمن الفترة الواحدة ( الدورة ) 0.25 μs وحيث ان كل تعليمة تنفذ بالكامل فى اربع دورات فان زمن دورة التعليمة هو 1 μs . - عداد البرنامج عداد البرنامج program counter واختصاره PC هو مسجل على شكل عداد بعرض 13-bits وظيفته الحفاظ على تتابع التعليمات ( لذلك يسمى احيانا مؤشر التعليمة) . تحفظ التعليمات ( البرنامج) على التتابع فى ذاكرة البرنامج ويقوم عداد البرنامج عن طريق ناقل عناوين البرنامج بالاشارة الى عنوان التعليمة التى عليها الدور فى الاحضار حيث تخرج التعليمة نفسها خلال ناقل بيانات التعليمة خارج حيز ذاكرة البرنامج الى مسجل التعليمة . ونظرا لان عداد البرنامج متصل بوحدة التنفيذ ( خلال ممر البيانات الداخلى ) فان وحدة الحساب والمنطق يمكنها التعامل مع هذا المسجل وتعديل مسار تتابع التنفيذ ( مثل تعليمة Goto و Call ) . [img] [/img] | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الجمعة 14 أغسطس 2009 - 13:43 | |
| ثانيا: عملية نقل التعليمات بطريقة خطوط النقل Pipelining ادى استخدام كل من نظام الكومبيوتر ذو التعليمات المخفضة RISC والتركيب البنائى للذاكرات بطريقة هارفارد فى الميكروكونترولر PIC الى ميزة اضافية : هى امكانية تداول التعليمات على شكل خطوط نقل متفرعة بما يعرفربأسم Pipelining . كل تعليمة فى ذاكرة برنامج الكومبيوتر يجب اولا احضارها (جلبها) ثم بعد ذلك تنفيذها . فى كثير من وحدات المعالجة المركزية تتم هاتان الخطوتان واحدة تلو ( بعد ) الاخرى . اولا تقوم وحدة المعالجة المركزية بجلب التعليمة ثم بعد ذلك تنفيذها . فاذا كان لذاكرة البرنامج عناوينها الخاصة بها ( فى حيز خاص بها ) ولها ممر (ناقل) بيانات خاص بها وهى مفصولة عن ذاكرة البيانات ( اى التركيب البنائى هارفارد ) فلا يوجد اى سبب يمنع من تصميم وحدة المعالج بحيث عند ( اثناء) تنفيذها احد التعليمات فى نفس الوقت تقوم باحضار (تجلب) الاخرى وهو ما يعرف باسم Pipelining . وهذه الطريقة تعمل بكفاءة اذا كان زمن دورة الجلب يساوى زمن دورة التنفيذ وهو المتوفر بواسطة التركيب البنائى للكومبيوتر ذو التعليمات المخفضة RISC . وهو يؤدى الى مضاعفة سرعة التنفيذ . فكل تعليمة تجلب اثناء تنفيذ التعليمة السابقة لها . وتفشل طريقة Pipelining فقط للتعليمات التى تسبب تغيير قيمة عداد البرنامج مثل تفرع البرنامج او القفز . فى هذه الحالة لا يتم جلب التعليمة فى دورة بل فى عدة دورات . المخطط يمثل عملية خطوط النقل pipelining لعائلة الميكروكونترولر الوسطى 16 series . وفيه نرى انه اثناء تنفيذ التعليمة رقم 1 فان التعليمة رقم 2 يتم جلبها ( احضارها) . وبالمثل يحدث للتعليمة رقم 2 وهكذا . كمثال لتتابع التعليمات موضح على يسار الشكل . ليس مهما الان ان تفهم معنى التعليمة ولكن المهم فهم المخطط حيث التعليمة CALL تسبب تفرع البرنامج ( القفز) . نجد انه يتم جلب التعليمة رقم 4 بينما يتم تنفيذ التعليمة رقم 3 . نتيجة لتفرع البرنامج لانحتاج الى التعليمة رقم 4 ويتم فقد دورة اثناء جلب التعليمة الجديدة . فى معظم ال 8 bit الميكروكونترولر يتم جلب ( احضار ) التعليمات وتنفيذها بالتعاقب ( على التوالى ) لانه لا يوجد الا ناقل (ممر) واحد للبيانات . طريقة pipelining اعطت امكانية عمل حدثين فى نفس الوقت بين خطوات جلب او احضار التعليمة وتنفيذها لزيادة سرعة تنفيذ التعليمة . [img] [/img] | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الجمعة 14 أغسطس 2009 - 13:46 | |
| الان ماذا يحدث للتعليمات بعد وضعها فى حيز ذاكرة البرنامج سوف نوضح ذلك بمثال يبين كيف نحصل على دورة تنفيذ واحدة وعمل تراكب (حدثين فى ان واحد ) overlap بين كل من تعليمات الجلب ( الاحضار) وعملية التنفيذ . فى هذا المثال سوف ننفذ 4 تعليمات وسوف نلاحظ كيف ان التعليمات تم جلبها وتنفيذها من خلال خمسة 5 دورات من دورة التعليمات . دورات التعليمات موضحة بالرموز Tcy0 الى Tcy4 .سوف ترى ان كل من الاربعة تعليمات يجب اولا جلبها ( احضارها) ثم تنفيذها خلال دورت التعليمات التالية . كل تعليمة تأخذ دورة تعليمة واحدة فيما عدا التعليمات التى تعدل من عداد البرنامج . وهذا التعديل يحدث مع تعليمات القفز والقفز الى برنامج فرعى sub-routine او اى تعليمة تكتب مباشرة على عداد البرنامج . هذة التعليمات سوف تأخذ دورتين من دورات التعليمة كما سنرى فى المثال . التعليمة الاولى : تقوم باداء MOVLW 55h وحيث انها التعليمة الاولى التى سوف تنفذ لايوجد شىء فى خطوط النقل pipeline للتجهيز للجلب المسبق لذلك سوف نقوم بعمليةالجلب ( الاحضار) لنحصل على (نضع) التعليمة فى مسجل التعليمة instruction register خلال الدورة الاولى Tcy0 . التعليمة MOVLW تعنى نقل ( وضع) محتويات القيمة المباشرة الثابتة literal للتعليمة ( فى هذه الحالة 55h ) الى مسجل العمل W .بينما هذه التعليمة تنفذ خلال الدورة الثانية Tcy1 ايضا نجهز لجلب التعليمة التالية . التعليمة الثانية : هى نقل ( نسخ) محتويات المسجل W الى ملف ( مسجل عام) وتكتب بالصيغة (MOVWF) وهى سوف تقوم فى حالتنا بنقل ( نسخ) محتويات المسجل W الى المسجل المسمى PORTB وهو منفذ دخل وخرج .فى نهاية الدورة الثانية Tcy1 فان المسجل W يكون به القيمة 55h والتى تم تحميلها من التعليمة . الدورة الثالثة Tcy2 : يتم تنفيذ التعليمة MOVWF ويكون نتيجتها نسخ محتويات المسجل W الى المسجل PORTB . خلال نفس الدورة يتم التجهيز لجلب التعليمة التالية وهى التعليمة رقم 3 .لاحظ انه بنهاية الدورة الثالثة Tcy2 فان المسجل W لازال يحتوى على 55h والمسجل PORTB ايضا يحتوى على 55h .اى ان التعليمة MOVWF تحافظ على القيمة الاصلية فى المسجل W . التعليمة التالية التى تم جلبها فى الدورة الثالثة Tcy2 هى التعليمة CALL SUB_1 والتى تخبر البرنامج بالقفز الى البرنامج الفرعى حيث يوجد عنوانه وهو SUB_1 . الدورة الرابعة : Tcy3 ننفذ القفز الى تعليمة البرنامج الفرعى وفى نفس الوقت نجهز لجلب التعليمة التالية .فى هذه الحالة التعليمة التالية هى BSF Port A, Bit 3 . بعبارة اخرى خذ الخانة المسماة Bit 3 للمسجل PORTA واجعلها مرتفعة high . واثناء جلب هذه التعليمة نكون انهينا تنفيذ التعليمة CALL SUB _1 والتى بدأت من قبل ( تأخد دورتين من دورات التعليمة ) الدورة الخامسة : Tcy4 نبدأ فى ترتيب جديد للتعليمات (نتيجة القفز) والذى يعنى اننا نزيل او نغسل flush التعليمة الرابعة التى جلبناها ( احضرناها ) وهى BSF PORT A, BIT3 . بعمل ذلك نكون اوقفنا تنفيذ التعليمة BSF بوحدة الحساب والمنطق واثناء ذلك تم جلب التعليمة التى بالموقع SUB_1 . وهذا يوضح انه حيثما وجد اى شىء يؤدى الى تعديل عداد البرنامج سواء اكان قفز الى برنامج فرعى او حتى قفز عادى فان وحدة التحكم والمنطق اتوماتيكيا سوف تقوم بعمل غسيل للتعليمة التى تم جلبها وتتخلص منها ( تستبعدها) . عند استخدام برنامج فرعى فان التعليمة RETURN سوف تسبب فى رجوع البرنامج الى الترتيب الاصلى للبرنامج من عند التعليمة التى تلى التعليمة CALL فى هذه الحالة هى التعليمة BSF PORTA, BIT3 .
القادم :
ثالثا كلمة تعليمة طويلة : | |
|
| |
metwally.mustafa فريق أول
عدد الرسائل : 4226 العمر : 38 الموقع : Egypt العمل/الترفيه : automation engineer تاريخ التسجيل : 12/01/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف السبت 15 أغسطس 2009 - 2:44 | |
| شكرا لك اخى الكريم _________________ I am so far behind, I think i am first
| |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف السبت 15 أغسطس 2009 - 5:14 | |
| - metwally.mustafa كتب:
- شكرا لك اخى الكريم
شكرا جزيلا وكل عام وانت ومن تحب والقائمين على المنتدى والمشاركين فيه والمشاهدين له بالف خير بمناسبة شهر رمضان الكريم | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف السبت 15 أغسطس 2009 - 15:41 | |
| ثالثا كلمة تعليمة طويلة : الان دعنا نلقى نظرة على معنى ان كلمة التعليمة طويلة .كان من نتيجة استخدام ممرات منفصلة لكل من التعليمات والبيانات السماح باستخدام كلمة تعليمة طويلة ففى حالتنا الان فان كل تعليمة تمثل بكلمة واحدة تسمى كلمة التعليمة بطول 14 بت وتنفذ فى دورة تعليمة واحدة . بسبب ان التعليمة فى كلمة واحدة ادى الى قوة التعليمة نفسها . ولنقارن فان ذاكرة برنامج ذات حيز 2k x 14 words فى الميكروكونترولر PIC16 تقريبا تعادل 4k x 8 words للميكروكونترولر الاخرى ذات ال 8 bits . كما ان التنفيذ فى دورة واحدة ادى الى سرعة عالية فى تنفيذ البرنامج دون استخدام حيز كبير من الذاكرة . مثال لكلمة التعليمة الطويلة : نوضح هنا مثال لتعليمة بكلمة طويلة فالتعليمة MOVLW #IMM والتى تحمل المسجل w ( تضع ) بالقيمة الفورية الثابتة التى نرمز لها بالرمز #IMM . فى التركيب البنائى الخاص بنا فان هذه القيمة دائما عدد ذو 8-bits . ويمكن ان نخزن هذه القيمة فى التعليمة بعرض 14-bits . فى هذه الحالة تخصص اربعة خانات لكود العملية op-code وهو فى هذه الحالة MOVLW يترجم الى الشفرة 1100b . [img] [/img] | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف السبت 15 أغسطس 2009 - 15:44 | |
| شكل ( هيئة ) التعليمه Instruction Format كل اعضاء عائلة المدى الاوسط لها تعليمات بعرض 14-bits ومجموعة التعليمات عددها 35 تعليمة .وشكل او هيئة التعليمة تتبع اربع نماذج مختلفة : تعليمات خاصة بالبايت byte وتعليمات خاصة بالخانة او البت bit وتعليمات خاصة بالثوابت وتعليمات التحكم . الاشكال توضح توضيح لهذه الانواع . [img] [/img] [img] [/img] | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف السبت 15 أغسطس 2009 - 15:47 | |
| [img] [/img] [img] [/img] لاحظ ان مجال (مكان) شفرة او كود التعليمة متغير فى عدد الخانات . وذلك ليسمح بوجود 35 تعليمة مختلفة . ايضا لاحظ ان التعليمات التى بها مسجل ملف يكون مكون من 7 خانات . والمدى العددى للسبع خانات هو 128 قيمة . ولهذا السبب فى هذه العائلة الميكروكونترولر الذى يحتوى على اكثر من 128 موقع ذاكرة بيانات يجب ان توزع بتقنية البنوك . فى هذه الحالة يتم اختيار البنك الذى به العنوان بمساعدة مسجل خاص يعرف باسم مسجل الحالة STSTUS . ونفس الموقف يحدث عند عنونة ذاكرة البرنامج بعدد 11-bits . فان الاحدى عشرة خانة تسمح بعدد 2048 عنوان ولذلك اذا احتوى الميكروكونترولر على اكثر من 2k من ذاكرة البرنامج يجب ان يحتوى على مخطط صفحات حيث يستخدم مسجل خاص لاختيار الصفحة التى يوجد بها العنوان . | |
|
| |
metwally.mustafa فريق أول
عدد الرسائل : 4226 العمر : 38 الموقع : Egypt العمل/الترفيه : automation engineer تاريخ التسجيل : 12/01/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الأحد 16 أغسطس 2009 - 12:27 | |
| بارك الله فيك اخى الكريم _________________ I am so far behind, I think i am first
| |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الأحد 16 أغسطس 2009 - 16:16 | |
| - metwally.mustafa كتب:
- بارك الله فيك اخى الكريم
شكرا لك اخى الفاضل وكل عام وانت بالف خير | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الأحد 16 أغسطس 2009 - 16:20 | |
| ملخص لطريقة معالجة البرنامج بالمعالج الدقيق والذاكرات [img] [/img] الشكل يوضح وحدة المعالجة المركزية والذاكرات ومعهما ممران (ناقلان) للبيانات وممرات العنونة المناظرة . يمكن اعتبار ان وحدة المعالجة المركزية بصفة عامة مقسمة الى شطرين . الدوائر التى فى اقصى اليسار تتناول (تختص)عملية جلب اواحضار شفرات التعليمة وعرضها (تقديمها) بالتتابع (التناوب) الى مسجلات فك شفرة التعليمات . اما القسم باقصى اليمين يقوم بتنفيذ كل تعليمة وفق تعليمات التحكم من مسجلات فك هذه الشفرة . لنبحث اولا فى عملية الاحضار او الجلب fetch : يشمل هذا القسم : 1- عداد البرنامج Program Counter ( PC) تخزن التعليمات على التتابع فى ذاكرة البرنامج وعداد البرنامج هو مسجل عداد والذى يقوم بالحفاظ على تتابع (تعاقب) كلمة التعليمة الحالية . هذا العداد المتزايد يسمى احيانا بمؤشر التعليمات. وحيث ان عداد البرنامج متصل بوحدة التنفيذ من خلال ممر البيانات فان وحدة الحساب والمنطق ALU يمكن استخدامها فى استغلال هذا المسجل وتعطل التسلسل ( التعاقب) المنظم للتنفيذ. بهذه الطريقة يمكن تنفيذ مختلف طرق القفز الى جزء اخر من عمليات البرنامج . 2-مسجل التعليمة رقم 1 ( IR1) محتويات خلية تخزين البرنامج والمشار اليها بعداد البرنامج ولتكن كلمة التعليمة رقم n يتم الامساك بها latched داخل مسجل التعليمة IR1 للمعالجة خلال الدورة التالية . 3- -مسجل التعليمة رقم 2 ( IR2) خلال نفس الدورة اى اثناء احضار او جلب كلمة التعليمة رقم n يتم نقل كلمة التعليمة رقم n-1 والتى تم جلبها من قبل من المسجل IR1 الى المسجل IR2وتغذى الى دائرة فك شفرة التعليمة . 4- حلال شفرة التعليمة Instruction Decoder ID حلال شفرة التعليمة هو مخ ( العقل المفكر) لوحدة المعالجة المركزية حيث يقوم بفك شفرة كلمة التعليمة فى المسجل IR2 ويرسل اشارات خرج بالتسلسل المناسب الى وحدة التنفيذ حسب الاحتياج (الضرورة) لتحديد مكان العملية فى ذاكرة البيانات (ان وجدت) ويعمل على تهيئة وحدة الحساب والمنطق لتعمل بالطريقة المناسبة . فى المخطط التعليمة المبينة هى movf 5,w ( وتعنى نقل او نسح محتويات مسجل الملف رقم 5 الى مسجل العمل W ) قسم التنفيذ : يتناول قسم التنفيذ الوصول الى ذاكرة البيانات وتهيئة وحدة الحساب والمنطق ALU . دوائر التنفيذ يتم التحكم فيها من حلال شفرة الكود والذى بدوره يؤمر(يقاد) بواسطة كلمة التعليمة رقم n-1 الموجودة بالمسجل IR2 . يحتوى هذا القسم على : 1- مسجل عنوان الملف : FAR عندما ترغب وحدة المعالجة المركزية فى الوصول الى خلية ( تسمى ملف file واختصارا f ) فى ذاكرة البيانات فانها تضع عنوان الملف فى المسجل FAR( مسجل عنوان الملف) .وهذه الطريقة تعطى عنوان الذاكرة ( الملف) مباشرة من خلال ممر عنونة الملفات . كما هو موضح بالمخطط فان الملف رقم 5 يقرأ من ذاكرة البيانات والبيانات الناتجة يتم امساكها فى فى المسجل FDR ( مسجل بيانات الملف) التابع لوحدة المعالجة المركزية . 2- مسجل بيانات الملف : FDR هو مسجل يعمل فى اتجاهين وهو اما : * الاحتفاظ بمحتويات الملف المحدد بالعنوان اذا كانت وحدة المعالجة المركزية تنفذ دورة قرأة Read cycle كما هو الحال فى التعليمة رقم 1 (movf 5,w ) اى نقل او نسخ اى قرأة بيانات من الملف 5 الى المسجل W . ** الاحتفاظ بالبيانات التى ترغب وحدة المعالجة المركزية ان ترسلها ( اى كتابة )الى الملف المحدد بالعنوان . وهذه هى دورت الكتابة Write cycle كما هو فى التعليمة رقم 3 movwf 6 والتى تعنى نقل او نسخ ( اى كتابة) محتويات المسجل W الى الملف رقم 6 3- وحدة الحساب والمنطق : ALU تقوم وحدة الحساب والمنطق بتنفيذ العمليات الحسابية والمنطقية كما تامرها وظائف الشفرة والتى تم توليدها بمعرفة حلال الشفرة . 4- مسجل العمل Working Register W المسجل W هو مسجل العمل لوحدة الحساب والمنطق غالبا ما يقوم بالاحتفاظ باحد معاملات التعليمة اما كمصدر او كهدف . على سبيل المثال subwf 20,w تقوم بعمل عملية طرح لمحتويات المسجل W من محتويات الملف رقم 20 ووضع النتيجة مرة اخرى فى المسجل W . | |
|
| |
metwally.mustafa فريق أول
عدد الرسائل : 4226 العمر : 38 الموقع : Egypt العمل/الترفيه : automation engineer تاريخ التسجيل : 12/01/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الإثنين 17 أغسطس 2009 - 10:09 | |
| شكرا لك اخى الكريم _________________ I am so far behind, I think i am first
| |
|
| |
metwally.mustafa فريق أول
عدد الرسائل : 4226 العمر : 38 الموقع : Egypt العمل/الترفيه : automation engineer تاريخ التسجيل : 12/01/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الإثنين 17 أغسطس 2009 - 10:22 | |
| ولكن ماذا نفعل اذا اردنا عمل Delay
مقداره 10 sec
حيث ان زمن التنفيذ للتعليمه 1 micro sec
وكيفيه تنفيذ الامر NOP
مع الDelay
والرجاء شرح الامر INC و DEC
وما هى تطبيقاته؟
وشكرا........ _________________ I am so far behind, I think i am first
| |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الإثنين 17 أغسطس 2009 - 16:00 | |
| - metwally.mustafa كتب:
- ولكن ماذا نفعل اذا اردنا عمل Delay
مقداره 10 sec
حيث ان زمن التنفيذ للتعليمه 1 micro sec
وكيفيه تنفيذ الامر NOP
مع الDelay
والرجاء شرح الامر INC و DEC
وما هى تطبيقاته؟
وشكرا........ اخى الكريم اشكرك شكرا جزيلا ان شاء الله سوف تجد الاجابة على الاسئلة فى الجزء الخاص بالبرمجة بلغة الاسمبلى | |
|
| |
F.Abdelaziz عقيد
عدد الرسائل : 639 تاريخ التسجيل : 20/05/2009
| موضوع: رد: الميكروكونترولر من البداية وحتى الاحتراف الخميس 20 أغسطس 2009 - 5:46 | |
| المخطط الصندوقى هو البداية فى دراسة اى جهاز المخطط الصندوقى هو البداية فى دراسة اى جهاز او معدة سواء اكانت ميكروكونترولر او حتى بوابة منطقية بسيطة .الشكل يبين المخطط الصندوقى للميكروكونترولر PIC الاساسى للعائلة الوسطى PIC16 وبه كل المعلومات الازمة التى تحتاجها لفهم وبدأ العمل مع الميكروكونترولر. [img] [/img] لسوء الحظ قد يسبب المخطط الصندوقى الازعاج عند النظر اليه لاول مرة . حتى ان البعض يتجاوزه دون اعطاءه ما يستحق من الدراسة وفهم كيفية سريان البيانات . والغرض من هذا الجزء هو مساعدتك فى فهم كيف يتم تنفيذ البرنامج وتناول البيانات فى معالج الميكروكونترولر . بعد فهم المخطط الصندوقى سوف تكون قادرا على فهم كيفية تنفيذ كل تعليمة مما يساعدك على تركيب البرامج بلغة الاسمبلى بكفاءة . وسوف ندرسه جزء جزء حتى يسهل فهمه . نبدأ المخطط الصندوقى بحيز ذاكرة البرنامج : | |
|
| |
| الميكروكونترولر من البداية وحتى الاحتراف | |
|