منتدى الإلكترونيات قسم الالكترونكس لمناقشة الافكار والمعلومات المتعلقة بالهندسة الالكترونية للمبتدئين والهواة والفنيين - Electronics

   

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



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




الجزء الاول




مقدمة



ما هو الكمبيوتر (الحاسوب) ؟ Computer
يتكون الكمبيوتر من الأجهزة ( المكونات المادية ) hardware والبرمجيات software.

أولا : المكونات المادية Hardware
تتألف المكونات المادية للكومبيوتر من أربعة أنواع من المكونات هى :

1- المعالج : Processor
المعالج هو المسؤول عن أداء جميع العمليات الحسابية وتنسيق استخدام موارد الكومبيوتر . وقد يحتوى نظام حاسوبى على معالج واحد أو على عدة معالجات . وهناك معالج يمكن أن يؤدى العمليات الحسابية للأغراض العامة وآخر للعمليات الحسابية للأغراض الخاصة . مثل تقديم (عرض) الرسوم البيانية والطباعة ، أو لتجهيز الشبكات ( التشبيك ).
2- أجهزة الدخل (المدخلات ) : Input devices

يصمم الكمبيوتر لتنفيذ البرامج التى تتعامل مع البيانات (المعطيات ) data.واجهزة الدخل ضرورية لتوصيل بيانات الدخل الى البرنامج المطلوب تنفيذه ويتم معالجتها فى الحاسب . هناك طائفة واسعة من أجهزة المدخلات مثل : لوحات المفاتيح keyboards ، والماسحات الضوئية scanners ، وقارئة الشفرة الخطية bar code readers ، وأجهزة الاستشعار
( الحساسات ) sensors ، وهلم جرا.

3- أجهزة الخرج ( الإخراج )Output devices

لا يهم إذا كان المستخدم يستعمل الحاسوب للقيام ببعض العمليات الحساببية أو للحصول على معلومات من شبكة الإنترنت أو قاعدة بيانات ، النتائج النهائية يتم عرضها و / أو طباعتها على الورق حتى يتسنى للمستخدم مشاهدتها.هناك العديد من الوسائل والأجهزةالتي يمكن استخدامها لعرض المعلومات : كالشاشات العادية و المسطحة ، وأجهزة العرض من نوع "السفن سيجمنت" seven-segment والطابعات ، والدايودات المشعة للضوء LEDsوغيرها.
4- أجهزة الذاكرة( التذكر ) : Memory devices

لكى يتم تنفيذ البرنامج ولكى تعالج البيانات يجب أن تخزن فى أجهزة ذاكرة ( تذكر ) بحيث يستطيع المعالج الوصول اليها وبسرعة .

5- المعالج : Processor

يسمى المعالج أيضا وحدة المعالجة المركزية(CPU) . ويتكون المعالج على الاقل من العناصر الثلاثة التالية:

5-1- السجلات :Registers

السجل هو موقع التخزين داخل وحدة المعالجة المركزية.ويستخدم للاحتفاظ و / أو عنونة الذاكرة أثناء تنفيذ التعليمات . ولأن السجل قريب للغاية من وحدة المعالجة المركزية فأنه يوفر وصول سريع إلى المعاملات operands اللازمة لتنفيذ البرنامج . عدد السجلات تختلف من معالج إلى معالج اخر .
5-2- وحدة الحساب والمنطق Arithmetic logic unit (ALU)

تؤدى وحدة الحساب والمنطق كل العمليات الحسابية والمنطقية للمعالج . تستقبل وحدة الحساب والمنطق البيانات من الذاكرة ، وتقوم باجراء العمليات عليها ، وإذا اقتضى الأمر ، تعود لتكتب النتيجة فى الذاكرة.
يستطيع الحاسوب العملاق اليوم أداء تريليونات العمليات في الثانية الواحدة.إن وحدة الحساب والمنطق والسجلات معا يعرفان بانهما ممر (طريق) البيانات data busللمعالج.

5-3- وحدة التحكم Control unit:

تحتوى وحدة التحكم على العتاد hardwareلمنطق التعليمات .وحدة التحكم تقوم بفك (ترجمة) الشفرة
وتراقب ( تتابع ) تنفيذ التعليمات .
وحدة التحكم أيضا تقوم بدور الحكم ( الوسيط) عندما تتنافس مختلف أجزاء الحاسب موارد ( إمكانات ) وحدة المعالجة المركزية.

أنشطة ( أعمال ) وحدة المعالجة المركزية تعمل بتزامن عن طريق ساعة توقيت النظام system clock.
وحدة التحكم يوجد بها مسجل يسمى عداد البرنامج (PC) يحافظ على تتبع عنوان التعليمة التالية فى التنفيذ .
أثناء تنفيذ البرنامج قد يحدث فائض (فيضان) overflow أو حمل carry من عملية الجمع او إستعارة (إستدانة أو سلف) borrow فى عملية الطرح وما إلى ذلك حيث يقوم النظام بالاشارة اليها ( بالعلام عليها ) بأعلام flagged وتخزن فى مسجل يسمى مسجل الحالة status register . الأعلام الناتجة تستخدم بواسطة المبرمج للتحكم فى سير البرنامج واتخاذ القرار .




المعالجات الدقيقة ( الصغيرة )Microprocessor

أدى تقدم تقنية أشباه الموصلات إلى إمكانية تجميع كل مكونات ( وحدات ) المعالج فى دائرة متكاملة واحدة (وتسمى أيضا رقاقة أو شريحة chip) . والمعالج الصغير هو معالج مجمع فى دائرة واحدة . والكومبيوتر الصغير microcomputer هو كومبيوتر يستخدم المعالج الصغير كوحدة معالجة مركزية .والكمبيوتر الشخصى PC هو كمبيوتر صغير .
وتعرف المعالجات على حسب سعته لعدد البتات أو الخانات bits ( وهى أصغر وحدة تعامل فى الأنظمة الرقمية ) التى يمكن أن يتعامل معها ( يعالجها ) فى عملية واحدة . فهناك المعالج الصغير ذو سعة 4 بت وآخر ذو سعة 8 بت وثالث ذو سعة 16 بت ورابع ذو سعة 32 بت وخامس ذو سعة 64 بت. وهذا الرقم هو طول الكلمة word( أو طول مسار البيانات data path length ) . وحاليا المعالجات الدقيقة الأكثر استعمالا هى ذو السعة 8 بت .
المتحكم الدقيق ( الصغير ) الميكروكنترولرMicrocontrollers ( MCU)




الميكروكنترولر هو كومبيوتر تم تنفيذه فى دائرة متكاملة مفردة ( واحدة ) و بالإضافة إلى المكونات الموجودة بالمعالج الصغير ( الميكروبروسسور ) فإن الميكروكونترولر يحتوى أيضا على بعض من المكونات المحيطية ( الطرفية ) وهى :
  • ذاكرات .
  • مؤقتات .
  • معدلات لعرض النبضة (PWM) .
  • محولات من تشابهى إلى رقمى (ADC) .
  • محولات من رقمى إلى تشابهى (DAC) .
  • وسائل ربط متوازى للدخل و الخرج Parallel I/O interface .
  • وسائل ربط للاتصال المتوالى الغير متزامن (UART) .
  • وسائل ربط للاتصال المتوالى المتزامن (SPI, 12C, and CAN) .
مناقشة وظائف وتطبيقات هذه المكونات هو موضوعنا. سنتناول معظم هذه الوظائف بالتفصيل لاحقا.


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


اعلانات

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


الذاكرة Memory

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

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

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

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

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

أنواع ذاكرات ROM
ذاكرة للقراءة فقط مبرمجة مقنعة ( مخبئة ) Masked-programmed
تسمى (MROM) وهى نوع من ROM والتى يتم برمجتها عند تصنيعها.وفيها يقوم صناع أشباه الموصلات بوضع البيانات الثنائية في الذاكرة حسب طلب ومواصفات العميل ليكون المنتج رخيصا من حيث التكلفة حيث يتم عمل عدة آلاف من رقائق الذاكرة MROM كل منها يحتوى على نسخة من البيانات نفسها (أوالبرنامج). كثير من الناس يطلقون على ذاكرة MROM ذاكرة ROM .
ذاكرة للقراءة فقط مبرمجة (PROM)
وهو نوع من أنوع ذاكرة القراءة فقط والتى يمكن برمجتها في مكان العمل (في كثير من الأحيان من قبل المستخدم النهائي) باستخدام جهاز يسمى مبرمج ذاكرة PROM أو حارق PROM. وبمجرد برمجة ذاكرة PROM فإنه لا يمكن تغيير محتواها . وذاكرة PROM تعتمد على مصهرات (فيوزات) fuse بمعنى أن المستخدم النهائى يقوم ببرمجة المصهرات لتكوين محتويات الذاكرة.

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

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

ذاكرة الفلاش
تم اختراع ذاكرة الفلاش لدمج مزايا وتجنب مساوئ تقنيات كل من الذاكرة EPROM و الذاكرة EEPROM . ذاكرة الفلاش يمكن محوها وبرمجتها في النظام دون استخدام جهاز برمجة خاص .
وهى تحقق خصائص ال EPROM لكن لا تحتاج إلى نافذة للمحو. ومثل ذاكرة EEPROM فذاكرة الفلاش يمكن برمجتها ومحوها كهربائيا. ومع ذلك ، لا تسمح بمحو مكان معين من الذاكرة ولكن يمكن للمستخدم فقط محو إما جزء أو كامل الرقاقة . ويزداد اليوم أكثر فأكثر إدراج رقاقة ذاكرة الفلاش داخل رقاقات الميكروكونترولر MCUs لتخزين البيانات والبرامج. مثال ذلك ذاكرة الفلاش المعتمدة داخل الميكروكونترولر PIC .

تذكر المعادلة الاتية :

الميكروكونترولر = ميكروبروسسور + بعض أجهزة الخرج والدخل المختلفة (المحيطة)

أى

Microcontroller = Microprocessor + Some Preipherals


وحتى تكتمل الفائدة ولإزالة بعض الغموض لابد من الإجابة على السؤال :

ماذا عن المتحكمات المنطقية القابلة للبرمجة PLC

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

ومن ثم نحصل على المعادلة :
PLC = Microcontroller + Some hardware + Somesoftware

والشكل يوضح تركيب متحكم منطقى مبرمج




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

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


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






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

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


ونظرا لاهمية وجود نظام كهربائى فى العمل كما فى الشكل 1التالى , يتضح إنه من الممكن أن تكون هناك أنظمة صغيرة داخل أو ضمن ( مدمجة فى ) الأنظمة الأكبر . فالسيارة هى مجرد جزء من نظام النقل.







نظام المعالجات الدقيقة microprocessor system
شأنها في ذلك شأن أى نظام آخر ، فالمعالجات الدقيقة لها مدخلات ومخرجات وعملية معالجة كما هو مبين بالشكل التالى .
مدخلات ومخرجات المعالجات الدقيقة هى سلسلة من الجهود أو الفولتيات التى يمكن استخدامها للتحكم فى الأجهزة الخارجية.
وتنطوى العملية على تحليل جهود أو فولتيات المدخلات واستخدامها فى 'اتخاذ قرار' على أى المخارج المطلوب عليها الجهد أو الفولتية ؟. ويتم اتخاذ هذا القرار بناء على التعليمات التى سبق أن أدخلت والتى تتبع إتباعا أعمى سواء أكانت معقولة أم لا.





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




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






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


ثانيا : البرمجيات Software

تعرف البرامج Programs بالبرمجيات Software.والبرنامج هو عبارة عن مجموعة من التعليمات التي يمكن أن ينفذها الكمبيوتر (أو أى نظام حاسوبى) .يخزن البرنامج في ذاكرة الكمبيوتر في شكل أرقام ثنائية تسمى تعليمات الآلة ( الماكينة ) machine instructions . طول تعليمات الآلة للكمبيوتر قد يكون ثابتا أو متغيرا.تثبيت (تحديد) طول التعليمات يجعل فك رموز التعليمات ( ترجمتها أو تفسيرها) سهل (بسيط) وبالتالي يمكن تبسيط تصميم المعالج.ومع ذلك هناك واحدا من أوجه القصور المحتملة.طول البرنامج يكون أطول بسبب عدم كفاءة فك الشفرة .

لغة التجميع (الاسمبلى) Assembly Language
ليس من الصعب إستنتاج أن تطوير البرمجيات بلغة الآلة صعبا للغاية للأسباب الاتية :

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

2- تصحيح أخطاء البرنامج debugging
كلما لا يحقق البرنامج الأداء المتوقع منه ، سيجد المبرمج صعوبة فى التعرف على التعليمات التي تسببت فى المشكلة وسوف يحتاج المبرمج إلى تحديد كل تعليمة آلة ثم التفكير فى ما هى العملية التى تقوم بها تلك التعليمة. هذه ليست مهمة سهلة.
3- برنامج الصيانة :
معظم البرامج تحتاج إلى الصيانة على المدى الطويل. والمبرمج الذى لم يكتب البرنامج سيكون من الصعب عليه قراءة البرنامج وكشف منطق البرنامج .
ولهذه الأسباب أخترعت لغة التجميع ( الأسمبلى ) لتبسيط عملية البرمجة .
يتألفبرنامج الأسمبلى من تعليمات لغة الأسمبلى , و تعليمات لغة الأسمبلى هى تمثيل مختصر للتذكير أو للتفكير mnemonic بتعليماتالآلة.
باختراع لغة الأسمبلى لم يعد المبرمج بحاجة للعمل من خلال الأرقام الثنائية (الصفر والواحد ) بغرض تحديد ما هي التعليمة فى البرنامج.وهذا يمثل تحسنا كبيرا على البرمجة بلغة الآلة.
برنامج لغة الأسمبلى الذى يقوم المبرمج بكتابته ( إدخاله ) يسمى البرنامج المصدر أو شفرة (كود) المصدر source code.
يحتاج المستخدم إلى برنامج لترجمة البرنامج المصدر إلى لغة الآلة حتى يمكن للكومبيوتر تنفيذ هذا البرنامج وهذا البرنامج يسمى الأسمبلر assembler. خرج الأسمبلر يسمى شفرة (كود) الهدف (الغاية -المقصود) object code .
يوجد نوعان من الأسمبلر : أسمبلر طبيعى ( محلى – فطرى) native وأسمبلر متقاطع (متعارض ) cross.
النوع الأول native يعمل فى جهاز كمبيوتر ويولد كود الآلة والذى ينفذ فى نفس الكومبيوتر أو فى كومبيوتر آخر له نفس مجموعة التعليمات .
أما النوع الثانى cross يعمل فى جهاز كومبيوتر ولكنه يقوم بتوليد شفرة الآلة والتي سيتم تنفيذها من خلال أجهزة الكمبيوتر التي لديها مجموعة تعليمات مختلفة.
وبرنامج MPASM هو أسمبلر شركة ميكروشيب Microchip من النوع الثانى cross assembler والمصمم بحيث يعمل على الكومبيوتر الشخصى PC لترجمة برامج لغة الأسمبلى للميكروكونترولر طراز PIC .




اللغات ذات المستوى الرفيع ( العالى )High-Level Languages
هناك بعض السلبيات للبرمجة بلغة الأسمبلى وهى :
1- يجب أن يكون المبرمج على علم ببنية الجهاز hardware الذي سينفذ البرنامج عليه.
2- البرنامج المكتوب بلغة الأسمبلى (وخاصة الطويل) يصعب على الكثيرين فهمه فيما عدا مؤلفه (كاتبه).
3- إنتاجية برمجية غير مرضية وخاصة لبرمجة المشاريع الكبيرة لأن المبرمج بحاجة للعمل بمنطق برمجى في مستوى منخفض جدا.
لهذه الأسباب تم إيجاد ( إختراع ) لغات البرمجة ذات المستوى الرفيع مثلC لتجنب مشاكل البرمجة بلغة الأسمبلى .
اللغات رفيعة المستوى أقرب إلى اللغة الانجليزية العادية وبالتالي فإن البرامج المكتوبة باللغات الرفيعة المستوى تكون أيسر على الفهم.
فالعبارة الواحدة statement فى اللغات رفيعة المستوى غالبا ما تناظر عشرات بل مئات التعليمات من لغة الأسمبلى . ويمكن للمبرمج العمل بمنطق برمجى عالى المستوى الأمر الذي يجعل مهمة البرمجة أسهل بكثير.
البرنامج المكتوب بلغة عالية المستوى يسمى أيضا شفرة source code ويحتاج إلى برنامج software يسمى الكومبيلر ( المترجم ) compiler لترجمته إلى تعليمات لغة الآلة .
خرج الكومبيلر هو أيضا يسمى شفرة الهدف أو المقصود object code . وكما يوجد أسمبلر متقاطع يوجد كومبيلر متقاطع أى يعمل على جهاز ولكن يترجم التعليمات لتنفذ على جهاز آخر مختلف معه فى التعليمات .
لغات البرمجة عالية المستوى ليست مثالية ايضا .
واحدة من المشاكل الرئيسية التى تواجه البرمجة باللغات رفيعة المستوى هي أن شفرة الآلة الناتجة من برنامج مكتوب بلغة عالية المستوى تكون أطول ولا تستطيع أن تعمل سرع من المكافىء لها بلغة الأسمبلى .ولهذا السبب مازال الكثير من البرامج والتى فيها الوقت ( الزمن ) حرج أو حيوى تكتب بلغة الأسمبلى .
أستخدمت لغةالسى C على نطاق واسع في برمجة الميكروكونترولر فى الصناعة ومعظم مطورى ومصنعى الميكروكونترولر لهم سى كومبيلر C compilers.


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


مقارنة بين أنواع الأنظمة التى تعمل بالكومبيوتر من حيث :

أولا : من حيث مجموعة التعليمات :
أى وحدة معالجة مركزية لها مجموعة من التعليمات التى تتعرف عليها وتستجيب لها . جميع البرامج تبنى بطريقة أو بأخرى من مجموعة من التعليمات . ونحن نرغب فى أن يقوم الكومبيوتر بتنفيذ الشفرة ( الكود) بأسرع ما يمكن ولكن كيف نحقق تلك الرغبة . إحدى الطرق هى تصميم وحدة معالجة مركزية بمجموعة تعليمات بحيث توجد تعليمة خاصة بكل عملية . هذه الطريقة تسمى Complex Instruction SetComputer أو إختصارا CISC , أى الكومبيوتر ذو مجموعة التعليمات المعقدة . وهى تحتوى على تعليمات كثيرة ومعقدة مما يؤدى إلى بطأ فى التشغيل .
الطريقة الثانية هى الحفاظ على وحدة المعالجة المركزية بسيطة جدا واستخدام مجموعة تعليمات محددة . هذه الطريقة تسمى Reduced Instruction Set Computer أو إختصارا RISC , أى الكومبيوتر ذات مجموعة التعليمات المخفضة . وفيها يكون مجموعة التعليمات وبالتالى كل التصميم بسيط ويؤدى إلى سرعة فى التشغيل . وأحد خصائصها أن كل تعليمة تكون محتواه فى كلمة ثنائية binary word هذه الكلمة يجب أن تحتفظ بكل المعلومات المطلوبة بما فى ذلك شفرة التعليمة نفسها بالإضافة إلى أى عنوان أو معلومات مطلوبة . وخاصية أخرى ( تؤكد بساطة هذه الطريقة ) هى أن كل تعليمة تأخذ نفس الزمن فى التنفيذ .

ثانيا : من حيث تنظيم ( التعامل مع ) الذاكرة Organising memory
للتفاعل مع الذاكرة هناك نوعين من الأرقام يجب الإلمام بهما والتحرك حولهما هما العنوان المطلوب لموقع الذاكرة والبيانات الفعلية المطلوب تداولها فى هذا الموقع . وهما يتصلان بمجموعتين من الناقلات أو الموصلات تسميان ممر العناوين address bus وممر البيانات data bus.

يجب التأكد من أن ممرالبيانات وممر العناوين ( أو حتى أى جزء منهما ) يتصل ( يصل ) إلى كل موقع فى الذاكرة .

الطريقة البسيطة لتحقيق ذلك مبينة فى الشكل التالى وتسمى طريقة أو بناء فان نيومان
Von Neumann وفيها يكون للكومبيوتر ممر واحد للعناوين وممر واحد للبيانات ونفس ممر العناوين وممر البيانات يخدم كل من ذاكرة البرنامج وذاكرة البيانات . وبنفس الطريقة يتصل الدخل و الخرج .
أما فى التركيب البنائى المسمى هارفارد Harvard ففيه يكون كل نوع (مساحة) من الذاكرة لها ممر العناوين وممر البيانات الخاصة بها .









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


الجزء الثانى



الميكروكونترولر: MicrocontrollersPic


أولا : مقدمة
التجهيز للانطلاق :
فى عام 1960 بدأت الالكترونات عصرا جديدا باكتشاف المواد شبه الموصلة ومن ثم الترانزستور وسرعان ما تطور إلى الدوائر المتكاملة والمعالجات الدقيقة .
بداية الميكروكونترولر :
فى عام 1971 وبعد ما تطور المعالج الدقيق والذاكرات وأصبح من الممكن تجميع المعالج الدقيق والذاكرات ودوائر الدخل والخرج ودوائر المؤقتات فى شريحة واحدة كان هناك إختياران إما أن نترك الأشياء والمكونات كما هى (منفصلة ) ويكون الاسم كما هو المعالج الدقيق ( كما هو الحال فى الكومبيوتر) أو ندمج الكل معا ونسميه الميكروكونترولر أو المتحكم الدقيق .
معظم المتحكمات الدقيقة متشابهة :
بمجرد أن نتعلم قيادة السيارة فإنه من السهل التعرف على قيادة معظم السيارات لإنها متشابهة . وجميع المتحكمات الدقيقة بينها تشابه . ولقد تعرفنا على بناء المعالج الدقيق ومن ثم يمكننا التحرك ( الانتقال ) بسهولة الى المتحكم الدقيق . وسوف لا نفاجىء بأن كل المتحكمات الدقيقة متشابة جدا فى أساسها .
الأنواع الأكثر انتشارا واستعمالا من المتحكمات الدقيقة هى ثلاثة أنواع (وكل نوع به عائلات منه وكل عائلة بها أفراد) .الميكروكونترولر الاول هو 8051 وربما الأوسع استخداما منذ عشرون عاما ومازال يتم تطويره بشركات متعددة ولا توجد دلائل على هبوطه والثانى هو عائلة AVR المنتجة بمعرفة شركة اتميل Atmel وهى إحدى الشركات القائدة فى هذا المجال . اما الأخير وهو المتحكم الدقيق PIC الذى سنتناوله بالتفصيل .

الميكروكونترولر : PIC
الميكروكونترولر PIC هو الاختيار الشائع المعتاد للبدء فى مجال الميكروكونترولر. والسبب الاساسى هو أن شركة ميكروشيب المنتجة له اعتمدت بجدية نظام الكومبيوتر ذو التعليمات المخفضة RISC . كما أن عدد التعليمات 35 تعليمة فقط ( للعائلة الوسطى كما سنرى بالتفصيل ) ويمكن بعدد قليل منها كتابة برنامج يمكن استخدامه . كما أن كل حركة ( انتقال ) للبيانات تعتمد على مسجل واحد فقط يسمى مسجل العمل ‘W’ إختصارا لكلمة ‘working’ .

عائلة الميكروكونترولر PIC :
الاختصار PIC فى أغلب المراجع هو إختصار للعبارة Peripheral Interface Controllerأى المتحكم ذو الربط ( الاتصال ) بالمحيط الخارجى . وفى بعض المراجع هو إختصار للعبارة
“Programmable IntelligentComputer” أى الكومبيوتر الذكى القابل للبرمجة .
وفى البعض الآخر هو إختصار للعبارة “Programmable InterfaceController.”
أى المتحكم ذو الربط (الاتصال) والقابل للبرمجة .


على الرغم من تواجد المئات من الموديلات للميكروكونترولر PICإلا أنه يمكن تقسيم العائلة الى ثلاث مجموعات رئيسية وهى :
1- مجموعة تعمل بكلمة تعليمة بعرض (بسعة) 12-bit مثال PIC12C508 وتسمى عائلة خط الأساس ‘baseline’ أو العائلة الصغرى .
2- مجموعة تعمل بكلمة تعليمة بعرض 14 – bit مثل (PIC16F84 و PIC16F628 وPIC16F676 وPIC16F877 ) وتسمى العائلة الوسطى “mid-range” أو عائلة المدى الأوسط .
3- مجموعة تعمل بكلمة تعليمة بعرض 16 – bit ( PIC18 ) وتسمى عائلة الخصائص المرتفعة او ‘high-end’.

وسوف نتناول مجموعة العائلة الوسطى بالتفصيل والتى تسمى PICmicro X14 نسبة إلى عدد الخانات (البتات) فى كلمة التعليمة



ثانيا :التركيب البنائى للميكروكونترولر PIC ( العائلة الوسطى المسماه PICmicro x14 )


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


ثانيا :التركيب البنائى للميكروكونترولر PIC ( العائلة الوسطى المسماه PICmicro x14 )

الخصائص العامة للتركيب البنائى
1- يعتمد الميكروكونترولر PIC فى تركبيه البنائى على نظام الكومبيوتر ذو التعليمات المخفضة RISC .
2- يحقق أكبر قدر من الكفاءة نتيجة إعتماده على التركيب البنائى المسمى هارفارد Harvard حيث يوجد ممرات منفصلة لكل من البيانات والعناوين وكذلك حيزان منفصلان لكل من ذاكرة البرنامج وذاكرة البيانات .
3- تنفيذ التعليمة بما يعرف بطريقة خطوط النقل pipelining مما يعطى سرعة أعلا .
4- تعليمات ذو دورة واحدة : بما يسمح بسرعة عالية فى تنفيذ الكود واستخدام تعليمات ذو كلمة واحدة يحسن الاداء الانتاجى ويخفض من مساحة الذاكرة المطلوبة .
5- استخدام تعليمة بكلمة كبيرة : يعطى إمكانية حفظ البيانات من النوع الفورى أو المباشر immediate فى نفس سطر الكود كالتعليمة نفسها والذى يؤدى إلى تخفيض مجموعة التعليمات إلى أقل عدد .
6- التعليمات متعامدة ومتماثلة : وهذا يعنى أن لكل مجموعة من التعليمات هناك تعليمة مسح Clear ولكل تعليمة "تزايد" بواحد Increment يوجد تعليمة "تناقص" بواحد Decrement وهكذا .

يمكنك إجراء كل التعليمات مع أى من السجلات وبالتالى لا يوجد وظيفة خاصة أو تعليمة خاصة للتعامل مع مسجل بعينه . وسوف نتناول هذه الخصائص بشىء من التفصيل .

أولا :
مقارنة بين التركيب البنائى نوع هارفارد والتركيب البنائى نوع فون نيومان
التركيب البنائى نوع فون نيومان به حيز واحد فقط لحفظ كل من ذاكرة البرنامج وذاكرة البيانات . وهذا يعنى أنه من الضرورى جلب fetch التعليمات والبيانات من نفس حيز الذاكرات . مما يحدد مجال العمل لإنك تستطيع فقط إرسال إما قطعة من البيانات أو تعليمة واحدة فى نفس الوقت .
مع التركيب البنائى نوع هارفارد يوجد حيزان منفصلان للذاكرات . حيز للتعليمات ( ذاكرة البرنامج ) وحيز آخر للبيانات ( ذاكرة البيانات ) مما يمكنك من زيادة الطاقة الانتاجية لأنه أثناء جلب التعليمة التالية يمكنك فى نفس الوقت كتابة نتائج التعليمة السابقة . والميزة الاخرى هى :
حيث أن الميكروكونترولر نوع 8-bit فإن ذاكرة البيانات تكون بعرض 8-bit ولكن ذاكرة البرنامج يمكن أن تكون بأى عرض نختاره ( لانفصالهما عن بعضهما ) . فى التركيب البنائى الحالى ذاكرة البرنامج المستخدمة تكون بعرض12-bitأو 14-bitأو 16-bit . التركيب البنائى الذى سوف نناقشه يستخدم حيز ذاكرة البرنامج بعرض 14-bit .




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


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


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



الدورة الأولى Tcy0 :
التعليمة الاولى : MOVLW 55h :
حيث أنها التعليمة الأولى التى سوف تنفذ فلا يوجد شىء فى خطوط النقل pipeline للتجهيز للجلب المسبق لذلك سوف نقوم بعملية "الجلب" Fetch1 لنضع التعليمة فى "سجل التعليمة" instruction register خلال الدورة الأولى Tcy0 .
التعليمة MOVLW تعنى "وضع القيمة المباشرة الثابتة literal للتعليمة ( فى هذه الحالة 55h ) بسجل العمل " W .

الدورة الثانية Tcy1 :
يتم "تنفيذ" التعليمة الأولى Execute1خلال الدورة الثانية "Tcy1 وأيضا يتم "التجهيز لجلب التعليمة التالية" Fetch2.
التعليمة الثانية : هى نقل ( نسخ) محتويات السجل W إلى ملف (سجل عام) وتكتب بالصيغة (MOVWF) وهى سوف تقوم فى حالتنا بنقل ( نسخ) محتويات السجل W إلى السجل المسمى PORTB وهو منفذ دخل وخرج .
فى نهاية الدورة الثانية Tcy1 فإن المسجل W يكون به القيمة 55h والتى تم تحميلها عند تنفيذ التعليمة الأولى .

الدورة الثالثةTcy2 :
يتم "تنفيذ" Execute2التعليمة MOVWF ويكون نتيجتها نسخ محتويات السجل W إلى السجل PORTB .
خلال نفس الدورة يتم "التجهيز لجلب التعليمة التالية" Fetch3 وهى التعليمة رقم 3 .
لاحظ أنه بنهاية الدورة الثالثة Tcy2 فإن السجل W لازال يحتوى على 55hوالسجل PORTB أيضا يحتوى على 55h . أى أن التعليمة MOVWF تحافظ على القيمة الأصلية فى السجل W .
التعليمة التالية التى تم جلبها فى الدورة الثالثة Tcy2 هى التعليمة CALL SUB_1 والتى تخبر البرنامج بالقفز إلى البرنامج الفرعى حيث يوجد عنوانه وهو SUB_1 .


الدورة الرابعة : Tcy3
يتم تنفيذ تعليمة القفز إلى عنوان البرنامج الفرعى وفى نفس الوقت نجهز لجلب التعليمة التالية .
التعليمة التالية هى BSF Port A, Bit 3 . وهى تعنى "جعل الخانة المسماة Bit 3 للسجل PORTA فى الحالة المنطقية المرتفعة set" .
أثناء جلب هذه التعليمة نكون قد أنهينا تنفيذ التعليمة CALLSUB _1 والتى بدأت من قبل ( تأخد دورتين من دورات التعليمة ) .

الدورة الخامسة : Tcy4
نبدأ فى ترتيب جديد للتعليمات (نتيجة القفز) والذى يعنى اننا نزيل أو نغسل flush التعليمة الرابعة التى جلبناها وهى BSF PORT A, BIT3 . بعمل ذلك نكون قد أوقفنا تنفيذ التعليمة BSF بوحدة الحساب والمنطق وأثناء ذلك تم جلب التعليمة التى بالعنوان SUB_1 .
وهذا يوضح أنه حيثما وجد أى شىء يؤدى إلى تعديل عداد البرنامج سواء أكان قفز إلى برنامج فرعى أو حتى قفز عادى فإن وحدة الحساب والمنطق تلقائيا سوف تقوم بعمل غسيل للتعليمة التى تم جلبها وتتخلص منها ( تستبعدها) . عند استخدام برنامج فرعى فان التعليمة RETURN سوف تسبب فى رجوع البرنامج الى الترتيب الاصلى للبرنامج من عند التعليمة التى تلى التعليمة CALL فى هذه الحالة هى التعليمة BSF PORTA, BIT3 .

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



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