منتديات الالكترونيات العصرية  
yoursite.com page title .

استرجاع كلمة المرور طلب كود تفعيل العضوية تفعيل العضوية
العودة   منتديات الالكترونيات العصرية > منتدى الحاكمات الدقيقة Microcontroller > منتدى المتحكمات ميكرو بلغة الاسمبلي

  #11  
قديم 09-13-2009, 05:28 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: الميكروكونترولر من البداية وحتى الاحتراف -الفصل الاول

ملحوظات :

1- نظام نبضات الساعة ومفهوم دورةالتعليمة :

تعرف دورة تنفيذ التعليمة بانها الزمن الازم لتنفيذ التعليمة ويرمز لها بالرمز Tcy
نظام التوقيت ( الساعة ) clock : مصمم بحيث يتم احضار ( جلب) fetched التعليمة و فك شفرتها decoded وتنفيذها executed كل اربع دورات من دورة الساعة . وبهذه الطريقة اذا كان الميكروكونترولر يعمل بمذبذب توقيت (ساعة) بمعدل 4MHZ ( عند الطرف OSC1 ) اى زمن الفترة الواحدة ( الدورة ) 0.25μs وحيث ان كل تعليمة تنفذ بالكامل فى اربع دورات فان زمن دورة التعليمة هو μs 1.


2- عداد البرنامج

عداد البرنامج program counter واختصاره PC هو مسجل على شكل عداد بعرض 13bit وظيفته الحفاظ على تتابع التعليمات ( لذلك يسمى احيانا مؤشر التعليمة) .
تحفظ التعليمات ( البرنامج) على التتابع فى ذاكرة البرنامج ويقوم عداد البرنامج عن طريق ناقل عناوين البرنامج بالاشارة الى عنوان التعليمة التى عليها الدور فى الاحضار حيث تخرج التعليمة نفسها خلال ناقل بيانات التعليمة خارج حيز ذاكرة البرنامج الى مسجل التعليمة .
ونظرا لان عداد البرنامج متصل بوحدة التنفيذ ( خلال ممر البيانات الداخلى ) فان وحدة الحساب والمنطق يمكنها التعامل مع هذا المسجل وتعديل مسار تتابع التنفيذ ( مثل تعليمة Goto و Call ) .



رد مع اقتباس
  #12  
قديم 09-13-2009, 05:33 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: الميكروكونترولر من البداية وحتى الاحتراف -الفصل الاول

ثانيا: عملية نقل التعليمات بطريقة خطوط النقل Pipelining

ادى استخدام كل من نظام الكومبيوتر ذو التعليمات المخفضة RISC والتركيب البنائى للذاكرات بطريقة هارفارد فى الميكروكونترولر PIC الى ميزة اضافية : هى امكانية تداول التعليمات على شكل خطوط نقل متفرعة بما يعرفربأسم Pipelining.
كل تعليمة فى ذاكرة برنامج الكومبيوتر يجب اولا احضارها (جلبها) ثم بعد ذلك تنفيذها . فى كثير من وحدات المعالجة المركزية تتم هاتان الخطوتان واحدة تلو ( بعد ) الاخرى .
اولا تقوم وحدة المعالجة المركزية بجلب التعليمة ثم بعد ذلك تنفيذها . فاذا كان لذاكرة البرنامج عناوينها الخاصة بها ( فى حيز خاص بها ) ولها ممر (ناقل) بيانات خاص بها وهى مفصولة عن ذاكرة البيانات ( اى التركيب البنائى هارفارد ) فلا يوجد اى سبب يمنع من تصميم وحدة المعالج بحيث عند ( اثناء) تنفيذها احد التعليمات فى نفس الوقت تقوم باحضار (تجلب) الاخرى وهو ما يعرف باسمPipelining.
وهذه الطريقة تعمل بكفاءة اذا كان زمن دورةالجلب يساوى زمن دورة التنفيذ وهو المتوفر بواسطة التركيب البنائى للكومبيوتر ذو التعليمات المخفضة RISC . وهو يؤدى الى مضاعفة سرعة التنفيذ .
فكل تعليمة تجلب اثناء تنفيذ التعليمة السابقة لها . وتفشل طريقة Pipelining فقط للتعليمات التى تسبب تغيير قيمة عداد البرنامج مثل تفرع البرنامج او القفز . فى هذه الحالة لا يتم جلب التعليمة فى دورة بل فى عدة دورات .
المخطط يمثل عملية خطوط النقل pipelining لعائلة الميكروكونترولر الوسطى 16 series . وفيه نرى انه اثناء تنفيذ التعليمة رقم 1 فان التعليمة رقم 2 يتم جلبها ( احضارها) . وبالمثل يحدث للتعليمة رقم 2 وهكذا . كمثال لتتابع التعليمات موضح على يسار الشكل . ليس مهما الان ان تفهم معنى التعليمة ولكن المهم فهم المخطط حيث التعليمة CALL تسبب تفرع البرنامج ( القفز) . نجد انه يتم جلب التعليمة رقم 4 بينما يتم تنفيذ التعليمة رقم 3 . نتيجة لتفرع البرنامج لانحتاج الى التعليمة رقم 4 ويتم فقد دورة اثناء جلب التعليمة الجديدة .
فى معظم ال 8 bit الميكروكونترولر يتم جلب ( احضار ) التعليمات وتنفيذها بالتعاقب ( على التوالى ) لانه لا يوجد الا ناقل (ممر) واحد للبيانات . طريقة pipelining اعطت امكانية عمل حدثين فى نفس الوقت بين خطوات جلب او احضار التعليمة وتنفيذها لزيادة سرعة تنفيذ التعليمة .

الان ماذا يحدث للتعليمات بعد وضعها فى حيز ذاكرة البرنامج سوف نوضح ذلك بمثال يبين كيف نحصل على دورة تنفيذ واحدة وعمل تراكب (حدثين فى ان واحد ) 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 .
رد مع اقتباس
  #13  
قديم 09-13-2009, 06:19 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: الميكروكونترولر من البداية وحتى الاحتراف -الفصل الاول

ثالثا كلمة تعليمة طويلة :

الان دعنا نلقى نظرة على معنى ان كلمة التعليمة طويلة .كان من نتيجة استخدام ممرات منفصلة لكل من التعليمات والبيانات السماح باستخدام كلمة تعليمة طويلة ففى حالتنا الان فان كل تعليمة تمثل بكلمة واحدة تسمى كلمة التعليمة بطول 14 بت وتنفذ فى دورة تعليمة واحدة .
بسبب ان التعليمة فى كلمة واحدة ادى الى قوة التعليمة نفسها . ولنقارن فان ذاكرة برنامج ذات حيز 2k x 14 words فى الميكروكونترولر PIC16 تقريبا تعادل 4k x 8 words للميكروكونترولر الاخرى ذات ال 8 bits. كما ان التنفيذ فى دورة واحدة ادى الى سرعة عالية فى تنفيذ البرنامج دون استخدام حيز كبير من الذاكرة .

مثال لكلمة التعليمة الطويلة :
نوضح هنا مثال لتعليمة بكلمة طويلة فالتعليمة MOVLW #IMM والتى تحمل المسجل w ( تضع ) بالقيمة الفورية الثابتة التى نرمز لها بالرمز #IMM . فى التركيب البنائى الخاص بنا فان هذه القيمة دائما عدد ذو 8-bits . ويمكن ان نخزن هذه القيمة فى التعليمة بعرض 14-bits . فى هذه الحالة تخصص اربعة خانات لكود العملية op-code وهو فى هذه الحالة MOVLW يترجم الى الشفرة 1100b.






شكل ( هيئة ) التعليمه Instruction Format

كل اعضاء عائلة المدى الاوسط لها تعليمات بعرض 14-bits ومجموعة التعليمات عددها 35 تعليمة .وشكل او هيئة التعليمة تتبع اربع نماذج مختلفة :
تعليمات خاصة بالبايت byte وتعليمات خاصة بالخانة او البت bit وتعليمات خاصة بالثوابت وتعليمات التحكم .
الاشكال توضح توضيح لهذه الانواع .
















لاحظ ان مجال (مكان) شفرة او كود التعليمة متغير فى عدد الخانات . وذلك ليسمح بوجود 35 تعليمة مختلفة . ايضا لاحظ ان التعليمات التى بها مسجل ملف يكون مكون من 7 خانات . والمدى العددى للسبع خانات هو 128 قيمة . ولهذا السبب فى هذه العائلة الميكروكونترولر الذى يحتوى على اكثر من 128 موقع ذاكرة بيانات يجب ان توزع بتقنية البنوك .
فى هذه الحالة يتم اختيار البنك الذى به العنوان بمساعدة مسجل خاص يعرف باسم مسجل الحالة STSTUS .
ونفس الموقف يحدث عند عنونة ذاكرة البرنامج بعدد 11-bits . فان الاحدى عشرة خانة تسمح بعدد 2048 عنوان ولذلك اذا احتوى الميكروكونترولر على اكثر من 2k من ذاكرة البرنامج يجب ان يحتوى على مخطط صفحات حيث يستخدم مسجل خاص لاختيار الصفحة التى يوجد بها العنوان
رد مع اقتباس
  #14  
قديم 09-13-2009, 06:27 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: الميكروكونترولر من البداية وحتى الاحتراف -الفصل الاول

ملخص لطريقة معالجة البرنامج بالمعالج الدقيق والذاكرات






الشكل يوضح وحدة المعالجة المركزية والذاكرات ومعهما ممران (ناقلان) للبيانات وممرات العنونة المناظرة .
يمكن اعتبار ان وحدة المعالجة المركزية بصفة عامة مقسمة الى شطرين .
الدوائر التى فى اقصى اليسار تتناول (تختص)عملية جلب اواحضار شفرات التعليمة وعرضها (تقديمها) بالتتابع (التناوب)الى مسجلات فك شفرة التعليمات . اما القسم باقصى اليمين يقوم بتنفيذ كل تعليمة وفق تعليمات التحكم من مسجلات فك هذه الشفرة .

لنبحث اولا فى عملية الاحضار او الجلب fetch :
يشمل هذا القسم :

1- عداد البرنامج Program Counter( PC)

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

2-مسجل التعليمة رقم 1 ( IR1)

محتويات خلية تخزين البرنامج والمشار اليها بعداد البرنامج ولتكن كلمة التعليمة رقم n يتم الامساك بها latched داخل مسجل التعليمة IR1 للمعالجة خلال الدورة التالية .

3- -مسجل التعليمة رقم 2 ( IR2)

خلال نفس الدورة اى اثناء احضار او جلب كلمة التعليمة رقم n يتم نقل كلمة التعليمة رقم n-1 والتى تم جلبها من قبل من المسجل IR1 الى المسجل IR2وتغذى الى دائرة فك شفرة التعليمة .

4- حلال شفرة التعليمة Instruction DecoderID

حلال شفرة التعليمة هو مخ ( العقل المفكر) لوحدة المعالجة المركزية حيث يقوم بفك شفرة كلمة التعليمة فى المسجل 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 RegisterW
المسجل W هو مسجل العمل لوحدة الحساب والمنطق غالبا ما يقوم بالاحتفاظ باحد معاملات التعليمة اما كمصدر او كهدف . على سبيل المثال subwf 20,w تقوم بعمل عملية طرح لمحتويات المسجل W من محتويات الملف رقم 20 ووضع النتيجة مرة اخرى فى المسجل W .
رد مع اقتباس
  #15  
قديم 09-13-2009, 06:33 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: الميكروكونترولر من البداية وحتى الاحتراف -الفصل الاول

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

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





لسوء الحظ قد يسبب المخطط الصندوقى الازعاج عند النظر اليه لاول مرة . حتى ان البعض يتجاوزه دون اعطاءه ما يستحق من الدراسة وفهم كيفية سريان البيانات .
والغرض من هذا الجزء هو مساعدتك فى فهم كيف يتم تنفيذ البرنامج وتناول البيانات فى معالج الميكروكونترولر . بعد فهم المخطط الصندوقى سوف تكون قادرا على فهم كيفية تنفيذ كل تعليمة مما يساعدك على تركيب البرامج بلغة الاسمبلى بكفاءة .
وسوف ندرسه جزء جزء حتى يسهل فهمه .
رد مع اقتباس
  #16  
قديم 09-13-2009, 06:45 PM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: الميكروكونترولر من البداية وحتى الاحتراف -الفصل الاول

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

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





اذا نظرنا الى الشكل وجدنا به ثلاثة اجزاء : عداد البرنامج و المكدس وذاكرة البرنامج الفعلية وهى تعمل معا . يتم تحميل ذاكرة البرنامج بكود ( شفرة ) البرنامج المطلوب من الميكروكونترولر تنفيذها . البرنامج يكون على شكل قائمة من التعليمات ويقوم عداد البرنامج بحفظ عنوان التعليمة التالية التى عليها الدور فى التنفيذ اى انه يعمل كمؤشر لذاكرة البرنامج ويمكن لقيمة عداد البرنامج ان تنتقل الى المكدس ويحدث ذلك عند تنفيذ برنامج فرعى او حدوث مقاطعة كما فى تعليمات CALL, RETURN, RETFIE and RETLW . وسوف نتناولها فيما بعد .
عداد البرنامج ذو 13-bit ومن ثم فان الميكروكونترولر يمكنه نظريا العنونة من 0000 الى 1FFFH .
اول موقع فى ذاكرة البرنامج يسمى reset vector ( متجه او شعاع البداية ) . عند بدء تشغيل البرنامج لاول مرة ( عند توصيل التغذية مثلا ) فان عداد البرنامج يوضع على الصفر (تصفير ) 0000 وبالتالى فان اول موقع سوف يشير اليه هو reset vector ( متجه البداية ). ومن ثم فعلى المبرمج ان يضع اول تعليمة له فى هذا الموقع . وهناك متجهات اخرى تعمل بنفس الطريقة مثل متجه مقاطعة المحيطات peripheral interrupt vector .

لابد انك لاحظت ان عداد البرنامج له مكدس مصاحب له هذا المكدس هو مسجل ( ذو 13 bits ) وهو جزء من العتاد الصلب hardware وفى حالتنا ( عائلة المدى الاوسط ) ففى التركيب البنائى يوجد مكدس بعمق 8 مستويات .
هذا المكدس يستعمل فقط فى حفظ قيمة عداد البرنامج عند القفز Jump الى برنامج فرعى او عندما تحدث مقاطعة للبرنامج .
فعند حدوث هذه الاحداث فان قيمة عداد البرنامج يضاف اليه 1 ويدفع الى المكدس . وهذا يسمح لعداد البرنامج نفسه باعادة تحميله بعنوان لتعليمة جديدة المطلوب تنفيذها .
فى حالة القفز الى تعليمة برنامج فرعى فان هذا العنوان يكون ضمن تعليمة CALL .
فى حالة حدوث مقاطعة للبرنامج فان عداد البرنامج يوضع على 04h وعو عنوان متجه المقاطعة .






سوف نتتبع التعليمة MOVF PORTB,W خلال التركيب البنائى . هذه التعليمة سوف تأخد محتوى المسجل PORTB وتنسخه copy فى المسجل W .
رد مع اقتباس
  #17  
قديم 03-28-2010, 04:08 AM
عليوي عليوي غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Dec 2009
المشاركات: 16
معدل تقييم المستوى: 0
عليوي is on a distinguished road
افتراضي رد: الميكروكونترولر من البداية وحتى الاحتراف -الفصل الاول

السلام عليكم و رحمة الله وبركاته
شرح رائع ومتميز يا أستاذ
الرجاء اكمال البقية و شكرا
رد مع اقتباس
  #18  
قديم 03-28-2010, 11:05 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: الميكروكونترولر من البداية وحتى الاحتراف -الفصل الاول

اقتباس:
المشاركة الأصلية كتبت بواسطة عليوي مشاهدة المشاركة
السلام عليكم و رحمة الله وبركاته
شرح رائع ومتميز يا أستاذ
الرجاء اكمال البقية و شكرا
اخى الكريم شكرا جزيلا لك

تابع الموضوع على الرابط

http://www.dbaasco.com/vb/t4296.html

مع تنمنياتى بدوام التوفيق
رد مع اقتباس
  #19  
قديم 03-29-2010, 02:10 AM
عليوي عليوي غير متواجد حالياً
عضو جديد
 
تاريخ التسجيل: Dec 2009
المشاركات: 16
معدل تقييم المستوى: 0
عليوي is on a distinguished road
افتراضي رد: الميكروكونترولر من البداية وحتى الاحتراف -الفصل الاول

السلام عليكم يا أستاذ عبد العزيز
و شكرا على الرد السريع لكن لدي طلب , اطمع في كرمك و هو الشرح الوافي لهذه الصورة
رد مع اقتباس
  #20  
قديم 03-29-2010, 02:56 AM
الصورة الرمزية F.Abdelaziz
F.Abdelaziz F.Abdelaziz غير متواجد حالياً
استاذ الكترونيان
 
تاريخ التسجيل: May 2009
المشاركات: 2,658
معدل تقييم المستوى: 21
F.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to beholdF.Abdelaziz is a splendid one to behold
افتراضي رد: الميكروكونترولر من البداية وحتى الاحتراف -الفصل الاول

اخى الكريم

شكرا جزيلا لك

اخى الكريم

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

مع تمنياتى بدوام التوفيق
رد مع اقتباس
إضافة رد

مواقع النشر (المفضلة)

الكلمات الدلالية (Tags)
ما هو الكمبيوتر, الميكروكونترولر, البداية, pic, processor, ram

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

تعليمات المشاركة
لا تستطيع إضافة مواضيع جديدة
لا تستطيع الرد على المواضيع
لا تستطيع إرفاق ملفات
لا تستطيع تعديل مشاركاتك

BB code is متاحة
كود [IMG] متاحة
كود HTML معطلة



الساعة الآن 08:16 PM.


Powered by vBulletin® Version 3.8.7
Copyright ©2000 - 2018, Jelsoft Enterprises Ltd.
الحقوق محفوظة لمنتديات الاليكترونيات العصرية

Security team

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77