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

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

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



8- تفاصيل مجموعة تعليمات الميكروكونترولر PIC16

أولا : تعليمات نقل البيانات DATA

يجب أن تمر البيانات من خلال سجل العمل W (عيب لابدأن نقبله ) قبل أن توضع فى السجل المقصود (الهدف).

سجل العمل W قد يكون هو المصدر أو قد يكون الهدف أى المقصود .

تعليمات تحميل السجل W

يستخدم فى ذلك تعليمتان أساسيتان .

1- التعليمة movlw :

تقوم بتحميل ثابت(قيمة ثابتة) ذو 8خانات

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


movlw k ; Load “w” with Constant k

وتعنى حمل أو ضع أو إجعل السجل "w" بالثابت k

هذه التعليمة هى التعليمة الأساسية لتحميل السجل w بقيمة ثابتة .

لا يتغير (يتأثر ) أى علم flag من أعلام سجلالحالة status نتيجة لهذه التعليمة .

مثال :



movlw 0x12


أى :
حمل سجل العمل بقيمة ثابتة على شكل رقم سداسى عشر

كما فى الشكل التالى :


اعلانات

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


2- التعليمة movf


لتحميل السجلW بمحتويات سجل آخر أى نقل أو نسخ محتويات سجل إلى السجل W نستخدم التعليمة movf


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


movf f,d

movf Variable, d


المعنى :
تعنى إنسخ محتويات المتغير (السجل) “Variable” من خلال وحدة الحساب والمنطق ALU وتبعا للنتيجة حدد قيمة العلم “Zero” وخزن (إحفظ) المتغير “Variable” تبعا لقيمة “d” والتى يمكن أن تكون السجلw أو السجل f نفسه .
حيث d هى هدف محتويات المتغير أو السجل وتكون إما 0 (الهدف ( w أو 1(الهدف السجل f نفسه) وعند استخدامك للأسمبلر MPASM فيمكنك وضع w بدل 0 ووضع f بدل 1 .

فاذا كان d=0 أو w فإن محتويات السجل المتغير سوف تنقل وتحفظ فى السجل w
وإذا كان d=1 أو f فإن محتويات السجل المتغير سوف تمر خلال وحدة الحساب والمنطق ALU وتغير علم الصفر Z بسجل الحالة حسب قيمته ثم تدون (تكتب) مرة أخرى فى السجل المتغير نفسه دون أى تغير فى محتويات السجل W

ملحوظة :

يجب التفكير فى هذه التعليمة movf على أنها تستعمل أساسا فى تحديد علم الصفر Z تبعا لمحتوى السجل وكخيار آخر تحميل السجل W بمحتويات السجل المتغير .

هام :

لاختبار محتويات أى سجل :

نجعل وحدة الحساب والمنطق ALU تنفذ عملية أو OR بين كل من ناتج قراءة (نسخ-نقل) محتويات السجل و القيمة صفر وإذا كانت النتيجة صفر فإن وحدة الحساب والمنطق تجعل علم الصفر Z=1



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

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


التعليمتان : clrw و clrf

وهى طريقة أخرى لوضع قيمة صفرية فى السجلات باستخدام التعليمتان clrw و clrf

التعليمة clrw

تجعل محتويات السجل W صفر وكنتيجة لذلك يصبح علم الصفر Z=1 و clr تعنى clear وهنا تعنى وضع القيمة صفر فى السجلw

التعليمة clrf

تجعل محتويات السجل المحدد بالتعليمة صفر وهى أيضا تؤدى إلى Z=1

التعليمة clrw ليس لها أى معامل فقط clrw .

التعليمة clrf لها معامل واحد هو عنوان السجل المراد تصفيره وتكون clrf Register




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


التعليمة movwf

تستخدم لنسخ أو لنقل وتخزين محتويات السجل W إلى سجلاخر.

لا تؤثر على أى علم من أعلام سجل الحالة .

شكلها هو :


movwf Register







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


التعليمة swapf

هى واحدة من التعليمات ولكنها أكثر إثارة للاهتمام .

هذه التعليمة تعمل على التبديل بين (وهى معنى كلمة( swap محتويات النبل nibble (أربعة خانات) العلوى والنبل السفلى لسجل المصدر و حفظ أو تخزين النتيجة إمافىW أو فى الملف نفسه مرة أخرى حسب قيمة خانة الهدف d


الشكل :

swapf Register, d




swapf f,d



الاستخدام الملحوظ و الأكثر وضوحا للتعليمة swapf هو استخدامها لعرض بايت على شكل عدد 2 نبل برموز الأسكي ASCII



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


التعليمتان bcf و bsf

هما أخر التعليمات المستخدمة فى نقلالبيانات .

التعليمة bcf

تقوم بوضع 0 فى الخانة المحددة بالسجل (تسمى عملية reset

التعليمة bsf

تقوم بوضع 1 فى الخانة المحددة بالسجل (تسمى عملية set

عمل التعليمة bcf موضح بالشكل

شكل الكود :





bcf Register, Bit



bcf f,Bit


bsf Register, Bit

bsf f,Bit


إضافة رد

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

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

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


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

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