مجموعة تعليمات متحكمات...

51
ر ش عا ل ل ا ص ف ل ا مات ك ح ت م مات ي ل ع ت وعة م ج مPIC 10-1 مات ك ح ت م مات ي ل ع ت ف ي ن ص تPIC ة ي) ب سا ح مات ي ل ع ت. ن0 ي ب ر ي0 ي م ي ل ن. ا ك م ي ذ9 , ا ات ف ي صن ت عدة ق ف ة و هد مات ي ل ع ي ل ا وعة م ج م ف ي ص ت. نE ا ا نG كن م ي رة ف ي ش ع ي وز ت ة ي ف ي ك و ه ا ن ه ر ي ي ع م ل ا ي س ساE الأ ف ي صن ت ل م, وا حك ت مات ي ل ع ت و ة ان خ مات ي ل ع ت وE ا ة ي ف ط ت م رى خE وا وعة م ج م ف ي ص ت. نE ن. ا ك م ي از ن ع م ل ا ا ي هد علذا ما ي ع , وا مة ي ل ع ي ل ا وعات م ج م. ن م وعة م ج م ل ك ي ف مة ي ل ع ي ل ا مات ك ح ت م مات ي ل ع تPIC : ة ي س يE ب ز وعات م ج م لأت ث ق ف و1 ( ت ي ا ن ل ا مات ي ل ع ت وعة م ج م. byte-oriented operations ) 2 ( ة ان ح ل ا مات ي ل ع ت وعة م ج م. bit-oriented operations ) 3 ( ت ي وا ث ل ا مات ي ل ع ت م و حك ت ل ا مات ي ل ع ت وعة م ج م. literal and control operations ) مات ك ح ت م مات ي ل ع ت ع م ل م عا ي ل ل ا ن ه س ت هدف بPIC داول: خ لأت ث ا ن ه دم ف ي ش( دول ح ل ول:اE الأ دول ح ل ا10 - 1 م حك ت م ل ا مات ي ل ع ت ع ي م ج ي عل وى ث ح ت) PIC ي ط س و لل ا ا ح م ل ا لةE عاث ت اصة ح ل ا( Mid-Range عا ج ر م دول ح ل ا ا ر هد ي ي ع ت ها.و ب رة ثE ا ن م ل لأم ا عE والأ مة ي ل ع ت ل ك ة غ ي ص دول ح ل ا ا ن. هد0 ي ن0 ب و) ل. ك مات ي ل ع ي ل ن. ا ع لة ام س ومات ل ع م د خE عا لأ ت ر ش( دول ح ل ي ن ا ن ل دول ا ح ل ا10 - 2 . مات ي ل ع ي ل ا ي ف دمة ح ت س م ل ا وز م رل ل ف ص ي و عل وى ث ح ت) ( دول ح ل ت ل ا ن ل دول ا ح ل ا10 - 3 . مات ي ل ع ي ل ا وعات م ج م ل ة ف ل ت ح م ل ا رات ف ي س ل ا ف ي ص ت) 133

Upload: buidat

Post on 18-Dec-2018

221 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

الفصل العاشرPICمجموعة تعليمات متحكمات

PICتصنيف تعليمات متحكمات 10-1 يمكننا أن نصنف مجموعة التعليمات هذه وفق عدة تصنيفات, إذ يمكن التمييز

بين تعليمات حسابية وأخرى منطقية أو تعليمات خانة وتعليمات تحكم, والتصنيف األساسي المعتبر هنا هو كيفية توزيع شيفرة التعليمة في كل مجموعة من

مجموعات التعليمة, واعتمادا على هذا المعيار يمكن أن نصنف مجموعة تعليمات وفق ثالث مجموعات رئيسية:PICمتحكمات

(byte-oriented operations.مجموعة تعليمات البايت )1 (bit-oriented operations.مجموعة تعليمات الخانة )2 (literal and control operations.مجموعة تعليمات التحكم وتعليمات الثوابت )3

سنقدم هنا ثالث جداول:PICبهدف تسهيل التعامل مع تعليمات متحكمات الخاصةPIC( يحتوي على جميع تعليمات المتحكم 1-10الجدول األول:الجدول)

( ويبين هذا الجدول صيغة كل تعليمةMid-Rangeبعائلة المجال الوسطي ) واألعالم المتأثرة بها.ويعتبر هذا الجدول مرجعا سريعا ألخذ معلومات شاملة عن

التعليمات ككل. ( يحتوي على وصف للرموز المستخدمة في2-10الجدول الثاني:الجدول )

التعليمات. ( يصنف الشيفرات المختلفة لمجموعات3-10الجدول الثالث :الجدول )

التعليمات .

NotesStatus Affected

14-Bit instruction wordCyclesDescription Mnemonic,Operands

MSB LSBBYTE-ORIENTED FILE REGISTER OPERATIONS

1,21,22

1.21.21.2.3

1.2

C,D,C,ZZZZZZ

Z

00 0111 dfff ffff 00 0101 dfff ffff 00 0001 ifff ffff

00 0001 0xxx xxxx 00 1001 dfff ffff 00 0011 dfff ffff 00 1011 dffff ffff 00 1010 dfff ffff 00 1111 dfff ffff

111111111

Add Wand fAND W WITH fClear fClear WComplement f

Decrement fDecrement f, Skip if 0Increment fIncrement f. Skip if 0

ADDWF f,dANFWF f,dCLRF f

CLRW_ COMF f,dDECF f,dDECFSZ f,dINCF f,dINCFSZ f,d

133

Page 2: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

1.2.3

1..21.2

1.21.21.21.21.21.2

ZZ

CC

C,D,C,Z

Z

00 0100 dfff ffff 00 1000 dfff ffff 00 0000 ifff ffff

00 0000 0xx0 0000 00 1101 dfff ffff 00 1100 dfff ffff 00 0010 dfff ffff 00 1110 dfff ffff 00 0110 dfff ffff

111111111

Inclusive or W with fMove fMove W to fNO operation

Rotate left f through carryRotate Right f through carrySubtract W from fSwap nibbles in fExclusive OR W with f

IORWF f,dMOVF f,dMOVWF f

NOP_ RLF f,dRRF f,dSUBWF f,dSWAPF f,dXORWF f,d

BIT-ORIENTED FILE REGISTER OPERATIONS1.21.233

01 00bb bfff ffff01 01bb bfff ffff01 10bb bfff ffff01 11bb bfff ffff

1111

Bit Clear fBit Set f

Bit Test f, Skip if ClearBit Test f, Skip if Set

BCF f,b

BSF f,b

BTFCS f,b

BTFSS f,b

LITRAL AND CONTROL POERATIONC.D.C.Z

Z

TO, PDZ

C,D,C,ZZ

11 111x kkkk kkkk11 1001 kkkk kkkk10 0kkk kkkk kkkk0 0000 0110 010010 1kkk kkkk kkkk11 1000 kkkk kkkk11 00xx kkkk kkkk00 0000 0000 100111 01xx kkkk kkkk00 0000 0000 000000 0000 0110 001111 110x kkkk kkkk11 1010 kkkk kkkk

1121211222111

Add literal and WAND literal with WCall subroutineClear WatchdogGo to addressInclusive OR literal with WMove literal to WReturn from interrupt

Return with literal in WReturn from SubroutineGo into standby modeSubtract W from literalExclusive OR literal with W

ADDLW KANDLW K CALL KCLRWDT -GOTO KIORLW KMOVLW KRETFILE -

RETLW KRETURN -SLEEP -SUBLW KXORLW K

PICتعليمات المتحكم ( 1-10الجدول )

DescriptionField

Register file address (0x00 to 0x7F)f

Working register (accumulator)w

Bit address within an 8-bit file register ( 0 to 7)b

Literal field ,constant date or label (may be either an 8-bit or an 11-bit value)

k

Don t care (0 or 1)The assembler will generate code with x=0 it is the recommended from of use for compatibility with all Microchip software tools

x

Destination select; d=0: store result in W, d=1 : store result in file register f:

d

134

Page 3: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

Destination either the W register or the specified register file Locationdest

Label namelabelTop of stackTOS

Program counter PC

Program counter high latchPCLATH

Global interrupt enable bitGIE

Watchdog timerWDT

Time _out bitTOPower –down bitPDOptional}{Contents)(Assigned to

Register bit field><In the set ofE

User defined term(font is courier)italics

وصف للرموز المستخدمة في التعليمات( 2-10الجدول)

Byte –oriented file register operations13 8 7 6 0

f(FILE#)dOPCODE d=0 for destination W d=1 for destination f f=7-bit file register addressBit –oriented file register operations

13 8 7 6 0f(FILE#)b(BIT#)OPCODE

b =3- bit bit address f =7- bit file register addressLiteral and control operations General 13 8 7 0

OPCODEK(literal) K=8- bit literal (immediate) value CALL and GOTO instruction only 13 11 10 0

OPCODEK(literal)

135

Page 4: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

K=11-bit literal (immediate) value

الشيفرات المختلفة لمجموعات التعليمات( 3-10 )الجدول

وشيفراتهاPIC زمن تنفيذ تعليمات متحكمات 10-2األساسية

: زمن التعليمة10-2-1 أن أحد مظاهر قوته البارزة , أن زمنPICذكرنا في بداية رحلتنا مع المتحكم

تنفيذ جميع تعليماته إنما هو دورة ساعة واحدة باستثناء تعليمات تفريغ البرنامج Call أو التفريغ غير المشروط كتعليمة BTFSSسواء التفريغ المشروط كتعليمة

أو بكلمات أخرى فإن التعليمات التي تؤدي إلى تغير قيمة عدادgo toوتعليمة .2TCYالبرنامج تحتاج إلى دورتين من دورات التعليمة

واحدة أو دورتينTCY ذات دورة PICحيث أن أي تعليمة من تعليمات متحكمات و2Tcyفسيمكنك ببساطة أن تقوم بحساب الزمن الكلي لتنفيذ البرامج خصوصا

تتضمن أربع Tcy. وكما نعلم أن دورة التعليمة 4MHZإذا كان الهزاز ذو تردد ، أي أنTcy=4*0.25=1µs( وبالتالي فإن MHZ=0.25µS÷1)أدوار من أدوار الهزاز حسب نوع التعليمة.µ2أو 1µsزمن تنفيذ التعليمة هو

,برمجيةومن المفيد أن نذكر هنا أن تصور صغر قيمة هذا الزمن يعطينا مرونة حيث ستكون عطالتنا البشرية عند تنفيذنا لألعمال حاجزاً أمام تصور كيفية إنجاز

عدد كبير من التعليمات التي تخدم أكثر من غرض, وخصوصاً أثناء مسح لوحة المفاتيح والشاشة والقنوات التشابهية وغير ذلك كلها بنفس الفترة القصيرة

وهو زمن ال يذكر لدى حواسنا البشرية(, في حينms 5بالنسبة لدينا )نحو )حيث يستطيع PICسيكون هذا الزمن كبير جداً جداً بالنسبة إلمكانية المتحكم

تعليمة(.5000 نحو ms 5أن ينفذ خالل الزمن المذكور وعند دراستك لتطبيق مقياس الجهد التشابهي ذو األربع قنوات قياس ولوحة

ستجد أهميةsegment- 7 والشاشة ذات األربع وحدات من نوع 4×4المفاتيح التصور, وأنصح بالتركيز الشديد على هذا التطبيق حيث سيكون بحق اللبنة

. PICاألساسية عندك الستثمار صناعي وخدمي أفضل للمتحكم PIC شيفرات تعليمات المتحكم 10-2-2

( وصفاً للشيفرات األساسية لكل مجموعة من التعليمات .1-10يبين الجدول ) تحدد الخانات السبع األولى فيها عنوانشيفرة تعليمات البايت :

(, أما7F – 00 مسجالً في المجال ) 27المسجل حيث بإمكانها عنونة فهي تحدد أين ستوضع نتيجة التعليمة أو أين هدفها. dالخانة الثامنة

.W المراكم ستوضع النتيجة حصراً في d= 0 فعندما .f نفسها بالتعليمة ستوضع النتيجة في الملف المعين d=1 وعندما :

أما الخانات الست األخيرة فهي تشفر نوع العملية المنفذة على المسجلf.كما في تعليمات البايت فإن أول سبع خاناتشيفرة تعليمات الخانة :

محجوزة لعنوان المسجل المراد تطبيق التعليمة على أحد خاناته, أما فهي التي تحدد عنوان الخانة الهدف داخلdالخانات الثالث التالية

, والخانات األربع األخيرة تشفر نوع العملية المطبقة على الخانةfالمسجل b من المسجل f.

136

Page 5: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

من أجل تعليمتي تفريغشيفرة تعليمات التحكم وتعليمات الثوابت : الذيK تحجز أول إحدى عشرة خانة لقيمة الثابت GOTO, CALLالبرنامج

ويعطي فكرة عن مجال هاتين التعليمتين )الذيLABELيمثل عنوان الفتة أمGOTOتعليمة(, وتمثل الخانات الباقية شيفرة التعليمة أهي قفز 211هو

.CALLاستدعاء أما باقي تعليمات المجموعة فمنها التعليمات

SLEEP ,RETURN ,RETFILE ,CLRWDTالتي تعتبر كتعليمات مباشرة ال عالقة لذا فجميع الخانات هي شيفرة. kلها بالثابت

ثماني الخانات الذي يعبر عن أحدkوالتعليمات األخرى تحتوي على قيمة الثابت أطراف عملية حسابية أو منطقية أو تحميل.

دورة تنفيذ التعليمة10-2-3 وكلQ1 Q2 وهي الدوراتQ على أربع فترات Tcyتشتمل دورة التعليمة

المتحكم بالقاعدةQ ,وتزود الدورات Toscمنها هو نفسه دورة هزاز الشريحة الزمنية التي تضبط تنفيذ فعاليته المتعددة )القراءة –معالجة المعطيات –

الكتابة.....( ,وبإمكاننا توزيع تنفيذ التعليمةQ تتألف من أربع دورات Tcyإن دورة كل تعليمة كما يلي :Tcyخالل كامل دورتها

- no( أو عدم وجود أي عملية )Decode cycle:دورة فك الشيفرة )Q1خالل operation)

- No( أو عدم وجود أي عملية )Read cycle:دورة قراءة التعليمة )Q2خالل operation)

.Date:معالجة المعطيات Q3خالل (.no - operation( أو عدم وجود أي عملية )Write cycle:دورة كتابة )Q4خالل

byte oriented operationsمجموعة تعليمات البايت 10-3 MOVF التعليمةMOVF f , d الصيغة

¿f¿ 127 المعامالت 0(0 ,1 )∈ d

d (f) العمليةz ألعالم المتاثرةا

شيفرة التعليمة

التعليمة وصف w الذي هو المراكم d (destination) إلى الهدف fتقوم بنقل محتويات المسجل

,وفائدة التعليمة في هذه الحالة هيd=1 نفسه عندما f أو المسجل d=0عندما .z عن طريق العلم fفحص محتويات المسجل

األمثلة: : 1 مثال

MOVF FSR ,0 قبل تنفيذ التعليمة:

×00 W=0 FSR= 0 × C2 بعد تنفيذ التعليمة:

C2 W= 0 × C2 × Z=0 FSR= 0 137

ffffdfff100000

Page 6: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

: 2 مثال MOVF INDF, 0 )عنونة غير مباشرة(

قبل تنفيذ التعليمة: FSR (FSR) = 0 × 00 FSR = 0 × C2 W = 0 ×17هذه القيمة محتواة في المسجل الذي

عنوانه بعد تنفيذ التعليمة: ( FSR = )0 × 00 FSR = 0 × C2 W = 0 × 00

Z = 1 : 3 مثال

MOVF FSR, 1 فحص محتويات المسجل عن طريق العلم( Z)الحالة األولى

قبل تنفيذ التعليمة: FSR = 0 × 43

بعد تنفيذ التعليمة: Z = 0 FSR = 0 × 43

الحالة الثانية قبل تنفيذ التعليمة :

FSR = 0 × 00 بعد تنفيذ التعليمة:

Z = 1 FSR = 0 × 00 MOVWF التعليمة

MOVWF Fالصيغة .Fوصف التعليمة: نقل المعطيات من المركم إلى المسجل

ADDWF التعليمة ADDWF f, d الصيغة

¿ المعامالت f≤1270 d∈(0,1)

d W+(F) العملية C, DC, Z األعالم المتأثرةشيفرة التعليمة

التعليمة وصف مع محتوياتWتقوم هذه التعليمة بعملية جمع حسابية لمحتويات المراكم

نفسهf أو توضع في المسجل d =0 وتوضع النتيجة في المراكم ألجل fالمسجل d =1ألجل

األمثلة: : 1 مثال

ADDWF FSR, 0 قبل تنفيذ التعليمة:

FSR=0×c2 w=0×17 بعد تنفيذ التعليمة:

FSR=0×c2 w=0×D9 : 2 مثال

ADDW INDF, 1)عنونة غير مباشرة( قبل تنفيذ التعليمة:

138

ffffdfff011100

Page 7: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

(FSR)=0×37 FSR=0×c2 w=0×17بعد تنفيذ التعليمة:

(FSR)=0×37 FSR=0×c2 w=0×17 : 3 مثال

ADDWF PCL الحالة األولى

قبل تنفيذ التعليمة:C=x PCL=0×37 W=0×10

بعد تنفيذ التعليمة:C=x PCL=0×47 W=0×10

الحالة الثانية :قبل تنفيذ التعليمة:

C=x PCH=0×08 PCL=0×F7 W=0×10 بعد تنفيذ التعليمة:

C=1 PCH=0×08 PCL=0×07 W=0×10 SUBWF التعليمة

SUBWF f, d الصيغة ¿ المعامالت f≤1270

( 0 ,1 )∈ d W d (F)-العملية

C, DC, Z األعالم المتأثرةشيفرة التعليمة

التعليمة وصف وتوضع النتيجةfمن محتويات المسجل Wتقوم التعليمة بطرح محتويات المراكم

d=1 نفسه عندما f أوعندما توضع في المسجل d=0في المراكم عندما complement method2: )يتم إنجاز الطرح وفق عملية المتمم الثنائي)األمثلة .1 ))

: 1 مثال SUBWF REG1, 1

الحالة األولى قبل تنفيذ التعليمة:

Z = X C = X W = 2 REG1= 3 بعد تنفيذ التعليمة:

Z= 0 C= 1 W= 2 REG1= 1 positiveوهذه النتيجة موجبة

الحالة الثانية قبل تنفيذ التعليمة:

Z= X C= X W= 2 REG1=2 بعد تنفيذ التعليمة:

Z= 1 C= 1 W= 2 REG1= 0 النتيجة صفر الحالة الثالثة

بعد تنفيذ التعليمة:Z= X C= X W= 2 REG1= 1

بعد تنفيذ التعليمة: Z= 0 C= 0 W= 2 REG1= 1

REG1= 0000 0001النتيجة سالبة قيمتها المطلقة هي متمم محتويات

139

ffffdfff001000

Page 8: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

0010 0000- 0001 0000=1-بعد اإلتمام + 1111 1110

1111 1111= FF بشأن علم الحمل/االستعارة.SUBLW مراجعة التعليمة مالحظة:

ANDWF التعليمة ANDWF f, d الصيغة

¿ المعامالت f≤1270( 0 ,1 )∈ d

AND (F) d(.w )العمليةZ األعالم المتأثرة

شيفرة التعليمة

التعليمة وصف f والمسجل W المنطقية بين محتويات المراكم AND تقوم بإجراء عملية

d=1 نفسه لألجل fأو في المسجل d=0ووضع النتيجة في المراكم عدما : األمثلة

: 1 مثال ANOWD FSR, 1 قبل تنفيذ التعليمة:

FSR=0×c2 w=0×17 بعد تنفيذ التعليمة:

FSR=0×02 w=0×17 : 2 مثال ANOWD FSR , 0

قبل تنفيذ التعليمة: FSR=0×c2 w=0×17

بعد تنفيذ التعليمة: FSR=0×c2 w=0× 02

0001 0111( 0×17 ) AND 1100 0010 (0×c2) 0000 0010 0×02

: 3 مثال ANDWF INDF, 1

قبل تنفيذ التعليمة: (FSR =)0×5A FSR= 0×C2 W= 0×17

بعد تنفيذ التعليمة: (FSR =)0×15 FSR= 0×C2 W= 0×17

الذي نشير إليهINDF هو مسجل العنونة غير المباشرة AND)نالحظ أن طرفي عملية (.5A×0, ومحتويات هذا العنوان FSRبالعنوان الموجود في المسجل

IORWF التعليمة IORWF f, dالصيغة

f≤127≥0 المعامالت 140

ffffdfff010100

Page 9: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

( 0,1)∈ d W.OR. (f) d العملية

Z األعالم المتأثرة شيفرة التعليمة

تقوموصف التعليمة ORبإجراء عملية

=d( في المراكم عندما Result ووضع النتيجة )wالمنطقية بين محتويات المراكم . d= 1 نفسه ألجل f, أو في المسجل 0األمثلة:

: 1 مثال IORWF Result, 0

قبل تنفيذ التعليمة: Result= 0×13 ( مسجل أغراض عامة )w= 0×91

بعد تنفيذ التعليمة: Z= 0 W= 0×93 Result= 0×13

: 2 مثال IORWF RESULT , 1

الحالة األولى قبل تنفيذ التعليمة:

W=0×91 Result=0×13 بعد تنفيذ التعليمة:

W=0×91 Result=0×93 z=0الحالة الثانية

قبل تنفيذ التعليمة:W=0×00 Result=0×00

بعد تنفيذ التعليمة:W=0×00 Result=0×93 z=0

XORWF التعليمة XORWF f, d الصيغة

f≤127≥0 المعامالت (0,1)∈ d

d w.XOR.(F) العملية Z األعالم المتأثرة

شيفرة التعليمة

إجراءوصف التعليمة المنطقيةXORعملية

f ومحتويات المسجل Wبين محتويات المراكم d=1 عندما f أو في المسجل d=0ووضع النتيجة في المراكم عندما

األمثلة: : 1 مثال

XORWF REG, 1 قبل تنفيذ التعليمة:

W=0×B5 REG=AF بعد تنفيذ التعليمة:

W=0×00 REG=0×1A

141

ffffffff000100

ffffdfff011000

Page 10: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

: 2 مثال XORWF REG/ 0

قبل تنفيذ التعليمة: W= 0×B5 REG= 0×AF

بعد تنفيذ التعليمة: W= 0×1A REG= 0×AF

: 3 مثال XORWF INDF, 1

قبل تنفيذ التعليمة : (FSR )0×AF FSR =0×c2 W=0×B5

بعد تنفيذ التعليمة : (FSR=)0×1A FSR=0×c2 W=0×B5

COMF التعليمة COMF f, d الصيغة

f≤127≥0 المعامالت (0.1 )∈d

d f العمليةZ األعالم المتأثرة شيفرة التعليمة

وصف التعليمة تقوم بإيجاد المتمم

والعكس ووضع النتيجة في 0 بـ 1 , أي إبدال كل fاألحادي للمسجل .d=1 نفسه عندما f أو وضعها في المسجل d=0المراكم عندما

األمثلة:: 1 مثال

COMF REG1, 0 قبل تنفيذ التعليمة :

W=0×xx REG1=0×13

بعد تنفيذ التعليمة: W=0×EC REG1=0×13

: 2 مثالCOMF INDF, 1)عنونة غير مباشرة(

قبل تنفيذ التعليمة : (FSR=)0×FF FSR=0×c2

بعد تنفيذ التعليمة: (FSR=)0×00 FSR=0×c2 Z=1

DECF f,d التعليمة DECF f, d الصيغة

f≤127≥0 المعامالت(0.1 )∈d

1 d(-f )الهدف( )العمليةZ األعالم المتأثرة شيفرة التعليمة

وصف التعليمة

142

ffffdfff100100

ffffdfff001100

Page 11: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

بمقدار واحد ثم تخزن النتيجة فيfتقوم بإنقاص القيمة المخزنة في المسجل المراكم عندما

d =0 أو في المسجل ,f عندماd=1األمثلة:

: 1 مثالDECF CNT, 1

قبل تنفيذ التعليمة : Z=0 CNT=0×01

بعد تنفيذ التعليمة: Z=1 CNT=0×00

: 2 مثال DECF CNT, 0

قبل تنفيذ التعليمة : W=x Z=0 CNT=0×01

بعد تنفيذ التعليمة: W=0×0F Z=1 CNT=0×00

INCF التعليمة INCF f, d الصيغة

f≤127≥0 المعامالت(0.1 )∈d

1 d(+ f )الهدف( )العمليةZ األعالم المتأثرة شيفرة التعليمة

وصف التعليمة بمقدار واحد ثم تخزن النتيجة فيfتقوم بزيادة القيمة المخزنة في المسجل

d=1 نفسه عندما f أو في المسجل d=0المراكم عندما األمثلة:

:1مثال INCF CNT ,1

قبل تنفيذ التعليمة : Z=0 CNT=0×FF

بعد تنفيذ التعليمة: Z=1 CNT=0×00

: 2 مثال INCF INDF,1 (عنونة غير مباشرة)

قبل تنفيذ التعليمة : Z=0 (FSR)=0×ff FSR=0×c2

بعد تنفيذ التعليمة: Z=1 (FSR)=0×00 FSR=0×c2

: 3 مثال INCF CNT, 0

قبل تنفيذ التعليمة : Z=0 w=x CNT=0×10

بعد تنفيذ التعليمة: Z=1 w=0×11 CNT=0×10

DECFSZ التعليمة

143

ffffdfff1010 00

Page 12: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

DECFSZ f,d الصيغة f≤127≥0 المعامالت

(0.1 )∈d 1 d(-f )الهدف( )العملية

0تجاوز التعليمة التالية عندما تصبح النتيجة ال يوجداألعالم المتأثرة شيفرة التعليمة

وصف التعليمة بمقدار واحد ثم تخزن النتيجة فيfتقوم بإنقاص القيمة المخزنة في المسجل

d=1 نفسه عندما f أو في المسجل d=0المراكم عندما NOP وتنفذ كتعليمة DECFSZ تهمل التعليمة التالية للتعليمة 0فإذا كانت النتيجة

حيث يتم عندها تفرع البرنامج وتغيير قيمة2Tcyوتصبح التعليمة بدورتين ,أما إذا كانت النتيجة ليست صفرا تنفذ التعليمة التالية وال يوجد قفز.PCالمسجل

األمثلة: : 1 مثال

HERE DECFSZ CNT, 1 GOTO LOOP

CONTINUE . .

قبل تنفيذ التعليمة: CNT= 0×01 PC= address HERE

بعد تنفيذ التعليمة: CNT= 0×00 PC= address CONTINUE تم تحقيق شرط القفز

الحالة الثانية قبل تنفيذ التعليمة:

CNT= 0×02 PC= address HERE بعد تنفيذ التعليمة:

CNT= 0×01 PC= address HERE + 1 لم يتحقق شرط القفز INCFSZ التعليمة

INCFSZ f, d الصيغة f≤127≥0 المعامالت

(0.1 )∈d ال يوجداألعالم المتأثرة شيفرة التعليمة

وصف التعليمة بمقدار واحد ثم تخزن النتيجة فيfتقوم بزيادة القيمة المخزنة في المسجل

d=1 نفسه عندما f أو في المسجل d=0المراكم عندما NOP وتنفذ كتعليمة INCFSZ تهمل التعليمة التالية للتعليمة 0فإذا كانت النتيجة

حيث يتم عندها تفرع البرنامج وتغيير قيمة2Tcyوتصبح التعليمة بدورتين ,أما إذا كانت النتيجة ليست صفرا تنفذ التعليمة التالية وال يوجد قفز.PCالمسجل

األمثلة: : 1 مثال

144

ffffdfff1011 00

ffffdfff1111 00

Page 13: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

HERE INCFSZ CNT, 1 GOTO LOOP

CONTINUE . .

.الحالة األولى

قبل تنفيذ التعليمة: CNT= 0×FF PC= address HERE

بعد تنفيذ التعليمة: CNT= 0×00 PC= address CONTINUE

الحالة الثانية قبل تنفيذ التعليمة:

CNT= 0×00 PC= address HERE بعد تنفيذ التعليمة:

CNT= 0×01 PC= address HERE + 1 RRF التعليمة RRF f,dالصيغة

f≤127≥0المعامالت ( 0,1)∈ d

C bit7;bit7 bit6....;bit0 C العملية Cاألعالم المتأثرة شيفرة التعليمة

يتموصف التعليمة C بمقدار خانة واحدة باتجاه اليمين عبر علم الحمل fتدوير محتويات المسجل

, أو فيd=0 عندما w)أي دوران بتسع خانات(, وتوضع النتيجة في المراكم , والشكل التالي يبين كيفية تنفيذ هذه التعليمة.d= 1المسجل نفسه عندما

األمثلة: : 1 مثال

RRF REG1, 0 قبل تنفيذ التعليمة:

C= 0 W= xxxx xxxx REG1= 1110 0110 بعد تنفيذ التعليمة:

C= 0 W=0111 0011 REG1= 1110 0110 : 2 مثال

RRF INDF, 1الحالة األولى

قبل تنفيذ التعليمة: C= 1 (FSR )=0011 1010 FSR=0 ×c2 W= xxxx xxxx

بعد تنفيذ التعليمة: C= 0 (FSR) =1001 1101 FSR=0 ×c2 W= 0 ×17

الحالة الثانية قبل تنفيذ التعليمة:

C المسجلf

145

ffffdfff110000

Page 14: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

C= 0 (FSR) =0011 1001 FSR=0 ×c2 W= xxxx xxxx بعد تنفيذ التعليمة:

C= 1 (FSR) =0001 1100 FSR=0 ×c2 W= 0 ×17 RLF التعليمة RLF f,d الصيغة

f≤127≥0المعامالت ( 0,1)∈ d

C biy0, bit0 bit1….; bit7 C العملية Cاألعالم المتأثرة شيفرة التعليمة

يتموصف التعليمة C بمقدار خانة واحدة باتجاه اليسار عبر علم الحمل fتدوير محتويات المسجل

, أو فيd=0 عندما w)أي دوران بتسع خانات(, وتوضع النتيجة في المراكم , والشكل التالي يبين كيفية تنفيذ هذه التعليمة.d= 1المسجل نفسه عندما

األمثلة : 1 مثال

PLF REG1, 0 قبل تنفيذ التعليمة:

C= 0 REG1= 1110 0110 بعد تنفيذ التعليمة:

C= 1 W=1100 1100 REG1= 1110 0110 : 2 مثال

RLF INDF, 1 )عنونة غير مباشرة( الحالة األولى

قبل تنفيذ التعليمة: C= 1 (FSR)= 0011 1010 FSR= 0×C2

بعد تنفيذ التعليمة: C= 0 (FSR) = 0111 1010 FSR= 0×C2

الحالة الثانية قبل تنفيذ التعليمة :

C=0 (FSR)= 1011 1001 FSR= 0×C2 بعد تنفيذ التعليمة:

C=1 (FSR)= 0111 0010 FSR= 0×C2 SEAPF التعليمة SWAPF f,d الصيغة

f≤127≥0المعامالت ( 0,1)∈ d

( النيبل السفلي <f<3:0 الهدف( النيبل العلوي )<d< 7:4)العملية (d<3:0>الهدف )( النيبل السفليf<7:4>النيبل العلوي )

ال يوجد األعالم المتأثرة شيفرة التعليمة

C المسجلf

146

ffffdfff110100

ffffdfff111000

Page 15: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

وصف التعليمة SWAPF( هو مصطلح يعني نصف البايت أي أربع خانات ,والتعليمة Nibble)النبيل

تقوم بتبد يل النبيل العلوي مع النبيل السفلي والعكس .ويتم وضع نتيجة التبديل أو المسجلd=0 عدما wفي المراكم األمثلة

: 1 مثال SWAPF REG1, 0

قبل تنفيذ التعليمة: W=0× xx, REG1= 0 ×A5

بعد تنفيذ التعليمة: W=0× 5A, REG1= 0 ×A5

: 2 مثال SWAPF INDF, 1

قبل تنفيذ التعليمة: (FSR) =0×20 FSR=0×c2 W=0×17

بعد تنفيذ التعليمة: (FSR) =0×02 FSR=0×c2 W=0×17

CLRF التعليمة f CLRF الصيغة

f≤127≥0المعامالت f 00h العملية

Z 1 zاألعالم المتأثرة شيفرة التعليمة

يتموصف التعليمةzمما يؤدي إلى توضيع العلم fمسح محتويات المسجل

األمثلة: : 1 مثال

CLRF FLAG-REG قبل تنفيذ التعليمة:

FLAG-REG=0×5A)المسجل أغراض عامة( بعد تنفيذ التعليمة:

FLAG-REG=0×00Z=1

: 2 مثالCLRF INDF

قبل تنفيذ التعليمة: (FSR) =0×AA FSR=0×c2

بعد تنفيذ التعليمة: FSR=0×c2 (FSR)=0×00 Z=1

CLRW التعليمة CLRW النص

ال يوجدالعامالت147

ffff1fff000100

Page 16: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

00h wالعملية Z 1

zاألعالم المتأثرة

شيفرة التعليمة

يتموصف التعليمةzمما وتفعيل )توضيع( العلم wمسح محتويات المراكم

األمثلة: : 1 مثال CLRW

قبل تنفيذ التعليمة: W=0×5A

بعد تنفيذ التعليمة: W=0×00

Z=1 NOP التعليمة NOPالصيغة

ال يوجدالمعامالت ال يوجدالعملية

ال يوجداألعالم المتأثرة

شيفرة التعليمة

ال تنفذ هذه التعليمة أي عملية. وصف التعليمةاألمثلة

: 1 مثال HERE NOP

قبل تنفيذ التعليمة:PC= address HERE

بعد تنفيذ التعليمة PC= address HERE+1

bit oriented operation مجموعة تعليمات الخانة 10-4 BCF التعليمة

BCF f, d الصيغة f≤127≥0 المعامالت

0≤b≤7 < f<b→ 0 العملية

ال يوجد األعالم المتأثرة شيفرة التعليمة

148

xxxx0xxx000100

00000xx0000000

Page 17: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

يتموصف التعليمة .f من المسجل bتصفير الخانة رقم

األمثلة: : 1 مثال

BC F FLAG-REG, 7 قبل تنفيذ التعليمة :

FLAG-REG= 0×C7h= 1100 0111 بعد تنفيذ التعليمة :

FLAG-REG= 0×47h= 0100 0111 : 2 مثال

BCF INDF, 3 قبل تنفيذ التعليمة:

(FSR =)0×2F FSR= 0×C2; W= 0×17 بعد تنفيذ التعليمة:

(FSR =)0×27 FSR= 0×C2 W= 0×17

BSF f, b التعليمة BSF f ,b الصيغة

f≤127≥0 المعامالت 0≤b≤7

< f<b→ 0 العملية ال يوجد األعالم المتأثرة

شيفرة التعليمة

تقوموصف التعليمة .f من المسجل b الخانة رقم (set)بتفعيل

األمثلة : : 1 مثال

BSF FLAG-REG, 7 قبل تنفيذ التعليمة:

FLAG-REG=0×0A=(0000 1010) B :بعد تنفيذ التعليمة

FLAG-REG=0×8A = (0000 1010) 2 مثال : ( مباشرة غير BSF INDF ,3 (عنونة

: التعليمة تنفيذ قبل(FSR)=0×20 FSR=0×c2 W=0×17

: التعليمة تنفيذ بعد(FSR)=0×28 FSR=0×c2 W=0×17

BTFSC التعليمة BTFSC f, b الصيغة ت f≤127≥0 المعامال

0≤b≤7كان (العملية التالية) f<b>=0إذا التعليمة تجاوز يتم

149

ffffbfff00bb01

ffffbfff01bb01

Page 18: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

المتأثرة يوجد األعالم الالتعليمة شيفرة

وصف التعليمة عندها"0"مساوية للصفر f من المسجل bإذا كانت الخانة رقم

كتعليمةBTFSC, أي تصبح تعليمة NOPيتم تجاوز التعليمة التالية وتنفذ كتعليمة ( عند التنفيذ. 2Tcyتفريغ للبرنامج ذّات دورتي تعليمة )

. BTFSC فيتم تنفيذ التعليمة التالية مباشرة "1"أما إذا كانت هذه الخانة األمثلة :

1 مثال HERE BTFSC FLAG,4 FALSC Go To PROCESS_CODE TRUE . .

الحالة األولى قبل تنفيذ التعليمة :

FLAG =xxx0xxx PC=address HERE)مسجل أغراض عامة( بعد تنفيذ التعليمة :

مساوية للصفر فإن عداد البرنامج سيأخذ القيمة <FLAG<4 وحيث أن الخانة PC= address TRUE

الحالة الثانية قبل تنفيذ التعليمة :

FLAG =xxx1xxxx PC = address [HERE] التعليمة : تنفيذ بعد

مساوية للواحد فإن عداد البرنامج سيأخذ القيمة FLAG(4) وحيث أن الخانة PC = address (FALSE)

BTFSS التعليمة BTFSSf, b الصيغة

f≤127≥0 المعامالت 0≤b≤7

كان لعملية ا التالية f<b = (<1(إذا التعليمة تجاوز يتمالمتأثرة يوجد األعالم ال

التعليمة شيفرة

ffff bfff 11bb 01 "1" مساوية للواحد f من المسجل bإذا كانت الخانة رقم وصف التعليمة

BTFSS, أي تصبح NOPعندها يتم تجاوز التعليمة التالية التي ستنفذ كتعليمة عند التنفيذ 2Tcyتعليمة تفريغ للبرنامج ذات دورتي تعليمة

BTFSS فيتم تنفيذ التعليمة التالية مباشرة لتعليمة "0"أما إذا كانت هذه الخانة األمثلة:

: 1 مثالHERE BTFSS FLAG, 4

FLASE Go To PROCESS-CODE TRUE

الحالة األولى 150

ffffbfff10bb01

Page 19: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

قبل تنفيذ التعليمة :FLAG = xxx0xxxx PC = address [HERE]

التعليمة : تنفيذ بعدأن القيمة FLAG <4> = 0وحيث سيأخذ البرنامج عداد فإن

PC = address <false< الثانية الحالة

التعليمة : تنفيذ قبلFLAG = xxx1 xxxx PC = address [HERE]

بعد تنفيذ التعليمة : فإن عداد البرنامج سيأخذ القيمة FLAG <4> =1 وحيث أن

PC= address <TRUE > مجموعة تعليمات التحكم وتعليمات الثوابت 10-5

Literal and Control Operation MOVLW التعليمة

MOVLW k الصيغة k≤255≥0 المعامالت

w k العملية ال يوجد األعالم المتأثرة

شيفرة التعليمة

ذات الثمانية خانات فيk تقوم بتحميل القيمة الثابتة وصف التعليمة : wمسجل العمل

األمثلة: : 1 مثال

MOVLW 0×5A بعد تنفيذ التعليمة :

w =0×5A : 2 مثال

MOVLW MYREG قبل تنفيذ التعليمة :

w = 0×10 Address of MYREG = 0×37 حيث أن MYREGهو نموذج والهدف من التعليمة تحميل عنوان موقع ما في(data memory)لموقع في ذاكرة المعطيات

wالمراكم بعد تنفيذ التعليمة :

w = 0×37 3 مثال

MOVLW HIGH (LU- TABLE) قبل تنفيذ التعليمة :

w =0×10 LU- TABLE =0×9375 وهو TABLE هوLookup tableعنوان بداية جدول البحث

بعد تنفيذ التعليمة :w = 0×93 هي قطع برمجية فيها مجموعة منLookup table: جداول التفتيش )البحث( مالحظة

.التعليمات, سندرسها بالتفصيل في وقتها ADDLW التعليمة

ADDLW k الصيغة

151

kkkk kkkk 00xx 11

Page 20: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

k≤255≥0 المعامالت w w + k العملية

C, DC, Z األعالم المتأثرة شيفرة التعليمة

مع الثابتw: تقوم هذه التعليمة بجمع محتويات المراكم وصف التعليمة حصراً .w وتوضع النتيجة في المراكم kثماني الخانات

األمثلة: : 1 مثال ADDLW 0×15

قبل تنفيذ التعليمة :W=0×10

بعد تنفيذ التعليمة :w = 0×25

: 2 مثال ADDLW MYREG جمع( W)مع عنوان موقع ذاكري للمعطيات

قبل تنفيذ التعليمة :W=0×10

Address of MYREG=0×37 هو عنوان موقع ذاكري في ذاكرة المعطياتMYREGحيث

بعد تنفيذ التعليمة :w = 0×47

: 3 مثال ADDLW HIGH (LU_TABLE) جمع( w)مع عنوان موقع ذاكرة البرنامج

قبل تنفيذ التعليمة :W=0×10

Address LU-TABLE =0×9375 وهي الفتة تقابل عنوان في ذاكرة البرنامج.LU- TABLEحيث

بعد تنفيذ التعليمة :W=0×A3

: 4 مثال ADDLW PCL

قبل تنفيذ التعليمة: W=0×10 02×0 عنوان المسدل= PCL

بعد تنفيذ التعليمة :W=0×10

SUBLW التعليمة SUBLW k الصيغة

k≤255≥0 المعامالتw k-w العملية

C, DC, Z األعالم المتأثرةشيفرة التعليمة

وصف التعليمة

ثماني الخانة وفق طريقة المتمم k من الثابتwيتم طرح محتويات المراكم .wويتم وضع نتيجة الطرح في المراكم )s Complement Method'2 )الثنائي

األمثلة:152

kkkk kkkk 111x 11

kkkk kkkk 110x 11

Page 21: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

: 1 مثال SUBLW 0×02

الحالة األولى:قبل تنفيذ التعليمة :

Z =x c = x W =0×01 بعد تنفيذ التعليمة :

Z=0 c=1 w =0×01 )النتيجة موجبة( الحالة الثانية :

قبل تنفيذ التعليمة :Z =x c = x W =0×02

بعد تنفيذ التعليمة : Z=1 c=1 w =0×00 (صفر )النتيجة

الحالة الثالثة: قبل تنفيذ التعليمة :

Z =x c = x W =0×03 بعد تنفيذ التعليمة :

Z=0 c=0 w =0×FF )النتيجة سالبة( : 2 مثال

SUBLW MYREG قبل تنفيذ التعليمة :

W =0×10 73×0 هو MYREG عنوان مسجل المعطيات

بعد تنفيذ التعليمة :C = 1 W =0×27 الناتج سالب

المسمى بعلم االستعارة )الطرح ( / الحملC: من المفيد هنا أن نذكر أن العلم مالحظة C=1 أي عندما يكون هناك حمل سيكونCarry / borrow)الجمع( ذو منطق متعاكس

والعكس بالعكس, وذلك يعود ألن أصل عملية الطرحC=1عندما ال تحدث استعارة سيكون و تتم بالجمع من المتمم الثنائي. لذا وخروجا من أللبث في هذا الموضوع نقدم الجدول التالي

الذي يبين نتيجة عملية الطرح:

ANDLW التعليمة

ANDLW k الصيغة k≤255≥0 المعامالت

w →w. AND. k العملية Z األعالم المتأثرة

شيفرة التعليمة

153

ZCالنتيجة1Xصفر

00سالب10موجب

kkkk kkkk 1001 11

Page 22: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

W المنطقية بين محتويات المراكم AND : يتم إنجاز عملية وصف التعليمة .w ثماني الخانة ثم توضع النتيجة في المراكم kوالثابت

األمثلة:: 1 مثال

ANDLW 0×5F قبل تنفيذ التعليمة :

W =0×3A 0×5F 0101 1111 0×3A 1010 0011 بعد تنفيذ

0011 0000 03×0 التعليمة :W =0×03

: 2 مثال ANDLW MYREG

قبل تنفيذ التعليمة : 0×37 = MYREG عنوان الموقع W =0×3A

بعد تنفيذ التعليمة :W =0×23

IORLW التعليمة IORLW k الصيغة

k≤255≥0 المعامالت w →w. OR .k العملية

Z األعالم المتأثرةشيفرة التعليمة

التعليمة وصف

وخانات الثابتw المنطقية بين محتويات المراكم OR: تنفذ هذه التعليمة عملية k , أما المراكم الثمان في فتوضع العملية .w نتيجة

األمثلة: : 1 مثال

IORLW 0×25 قبل تنفيذ التعليمة :

W =0×9A بعد تنفيذ التعليمة :

Z =0 W =0×BF : 2 مثال

IORLW MYREG قبل تنفيذ التعليمة:

W= 0×9A الموقع MYREG 37×0عنوان: التعليمة تنفيذ بعد

Z= 0 W= 0×9F : 3 مثال

IORLW HIGH (LU, TABLE) : التعليمة تنفيذ قبل

لالفتة المقابلة البرنامج ذاكرة في تعليمة 9375×0هو LU-TABLEعنوان W= 0×9A

: التعليمة تنفيذ بعدZ= 0 W= 0×9B

: 4 مثال IORLW 0×00

154

kkkk kkkk 1000 11

Page 23: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

: التعلية تنفيذ قبلW= 0×00

: التعليمة تنفيذ بعدZ= 1 W= 0×00

XORLW التعليمة

XORLW kالصيغة

k≤255≥0 المعامالت

w →w × OR kالعملية

المتأثرة Z األعالم شيفرة التعليمة

التعليمة عملية وصف التعليمة هذه المراكم ORتنفذ محتويات بين wالمنطقيةالثابت المراكم , k وخانات في النتيجة وتوضع .wالثمانالأمثلة:

: 1 مثال XORLW 0×AF

قبل تنفيذ التعليمة :W =0×B5

بعد تنفيذ التعليمة :Z=0 W =0×1A

CLRWDT التعليمة CLRWDT الصيغة

ال يوجد المعامالتWDT→00 العملية

0→WDT prescaler count WDT مقسم المؤقت

1→TO 1→PD

المتأثرة PD TO األعالم

شيفرة التعليمة

: تقوم هذه التعليمة بتصفير مؤقت المراقبة , باإلضافة إلىوصف التعليمة وتقوم هذه التعليمة أيضا بتفعيلWDTتصفير خانة المقسم الخاص بالمؤقت

PD, TOالخانتين األمثلة:

: 1 مثال 155

kkkk kkkk 1010 11

0100 0100 0000 00

Page 24: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

CLRWDT قبل تنفيذ التعليمة:

WDT counter= x WDT prescaler= 1:128 )نسبة القسم(

بعد تنفيذ التعليمة: WDT counter = 0×00

WDT prescaler count = 0 =1 T 0

= 1PDWDT perscaler = 1:128

SLEEP التعليمة SLEEP الصيغة

ال يوجدالمعامالت 00h→WDTالعملية

0h→WDT prescaler count T 01→PD0→

PD األعالم المتأثرة ,T 0شيفرة التعليمة

( وعدادwatchdog timer يتم تصفير كل من مؤقت المراقبة )وصف التعليمةPD( ويتم تصفير خانة حالة انخفاض الطاقة prescaller countالمقسم )

power down status git( أما خانة الحالة ) )time-out.فيتم تفعيلها ) حيث سيتوقف الهزاز )SLEEPويتم وضع المعالج في نمط الـ )الراحة(

OSCILLATOR.)األمثلة:

: 1 مثالSLEEP

CALL التعليمة CALL Kالصيغة

k≤2047≥0المعامالت PC+1→TOSالعملية

TOP OF STACKقمة المكدس →PC (10:0) K

(PCLATCH<4:3>)→PC<12:11 <ال يوجد األعالم المتأثرة

شيفرة التعليمة

( أوالً يتم دفعsubroutineعندما يستدعي برنامج فرعي ما )وصف التعليمة , وهو العنوان الذي سيتم تنفيذ تعليمتهstack( إلى المكدس pc+1عنوان العودة )

( إلىkبعد العودة من البرنامج الفرعية, ويتم تحميل اإلحدى عشرة خانة )الثابت 156

0011 0110 0000 11

kkkk kkkk 0kkk 10

Page 25: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

. أما الخانتان العلويتان لعداد<pc<10:0 الخانات األولى من عداد البرنامج أي , وتذكر<PC LATH<4:3 فيتم الحصول عليهما من الخانتين <pc <12:11البرنامج

. Tcyبأن هذه التعليمة هي ذات دورتي ساعة األمثلة :

: 1 مثال HERE CALL THERE

قبل تنفيذ التعليمة: PC= address (HERE)

بعد تنفيذ التعليمة:TOS= HERE + 1

PC= address (THERE) GOTO التعليمة GOTO k الصيغة

k≤2047≥0المعامالت PC<10:0> K→ العملية

PC LATCH<4:3>→PC <12:11 < ال يوجداألعالم المتأثرة شيفرة التعليمة

تقوم هذه التعليمة بعملية تفريغ للبرنامج بشكل غير مشروطوصف التعليمة unconditional branch ويتم تحيل الثابت ,kذو اإلحدى عشرة خانة إلى خانات

<pc<0:10إعداد البرنامج فتحمل من خانتي المسجل<pc<11:12أما الخانتان العلويتان لعداد البرنامج

PCLATCH <4:3>( ونذكر بأن هذه التعليمة هي تعليمة ذات دورتي تعليمة 2TCY.)

األمثلة: : 1 مثال

GOTO THERE بعد تنفيذ التعليمة:

PC = address (THERE) RETURN التعليمة

RETURN الصيغة ال يوجد المعامالت

TOS →PC العملية Top Of Stake هي مصطلح مختصر للعبارة TOS حيث ال يوجد األعالم المتأثرة

شيفرة التعليمة

) هذه التعليمة مخصصة للعودة من برنامج فرعي وصف التعليمةSubbroutione)

وعند تنفيذ هذه التعليمة يتم سحب القيمة المخزنة أخيرا في قمة المكدس والتي تمثل عنوان العودة الذي تم دفعه عند تنفيذ عملية االستدعاء, حيث يعاد تحميلها

PCإلى عداد البرنامج 157

Kkkk Kkkk 1kkk 10

1000 0000 0000 00

Page 26: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

عند التنفيذ .(2Tcy)وهذه التعليمة ذات دورتي تعليمة األمثلة:

مثال: HERE RETURN بعد تنفيذ التعليمة :

PC = TOS RETFIF التعليمة

RETFIE الصيغة ال يوجد المعامالت

) قمة المكدس (TOS →PC العملية GIE → 1( GIE)خانة تمكين المقاطعة العامة

ال يوجداألعالم المتأثرةشيفرة التعليمة

. Interrupt هذه التعليمة هي تعليمة عودة من المقاطعة وصف التعليمة: (TOS) الموجود في قمة المكدس bit 13 ويتم عند تنفيذها نقل العنوان ذو الـ

, باإلضافة إلى ذلك يتم تفعيل خانة تمكين المقاطعةPCإلى عداد البرنامج وهيoption< 7>( الموجودة في المسجل Global Interrupt Enable botالعامة )

(.2Tcy)تعليمة ذات دورتين األمثلة:

مثال: RETFIE

بعد تنفيذ التعليمة :PC = TOS

GIE =1

RETLW التعليمة RETLW k الصيغة

k≤255≥0 المعامالتw → k العملية

TOS → PC ) قمة المكدس( ال يوجد األعالم المتأثرة

شيفرة التعليمة

ثماني الخانة إلىK تقوم هذه التعليمة بتحميل الثابت وصف التعليمة (TOS( قيمة عداد البرنامج من المكدس )POP وكذلك تسحب )Wالمراكم

Tcyوالذي يشير إلى التعليمة التي ستنفذ بعد العودة وهي تعليمة ذات دورتي وكثيرا ما تستخدم هذه التعليمة مع جداول التفتيش

(Lookuptables.)األمثلة:

: 1 مثالHEAR CALL TABEL

158

1001 0000 0000 00

KKKK KKKK 01KK 11

Page 27: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

بقيمة .W هنا يتم تحميل المراكم .Offset ضبط

. TABLE ADDWF PC; W=Offset

RETLW K1; W=0 قيمة معينة تقابل K RETLW K2; W=1 قيمة معينة تقابل K RETLW K3; . . . . RETLW Kn;

مالحظة يرجى لتحقيق فهم أعمق لهذه التعليمة مراجعة جداول التفتيش في فصل تنظيم وتصميم

البرنامج.قبل تنفيذ التعليمة:

W= 0×02 بعد تنفيذ التعليمة:

PC= TOS= HERE + 1 W=K4 تعليمات خاصة 10-6

Option التعليمة بل مع متحكمات عائلةPIC16CXX ال تستخدم هذه التعليمة مع متحكمات عائلة مالحظة

PIC16C5X. Option الصيغة

ال يوجد المعامالت w →option العملية

ال يوجداألعالم المتأثرةشيفرة التعليمة

التعليمة وصف ,وهذه التعليمة تستخدم معoption في المسجل wيتم نسخ محتويات المراكم

هو مسجل قابل للقراءة والكتابة )option حيث إن المسجل PIC16C5Xالعائلة readable/writeable.ويمكن للمستخدم أن يعنونه بشكل مباشر )

ينصح دائما بعدم استخدام هذهPIC16CXX :لتأمين الموافقة مع أفراد عائلة مالحظةالتعليمة والتي نستعيض عنها بالتعليمتين :

MOVLW B'0000 0111'MOVWF option

األمثلة: : 1 مثال

Vovlw B'0000 0111' OPTIPN

بعد تنفيذ التعليمة: 0000111 بأخذ القيمة Option المسجل

TRIS التعليمة .PIC16C5X :تستخدم هذه التعليمة مع العائلة مالحظةTRIS f الصيغة

159

0010 0110 0000 00

Page 28: مجموعة تعليمات متحكمات PICsadamkhaled.weebly.com/uploads/5/3/3/9/5339706/_-___pic.docx  · Web viewPIC تصنيف تعليمات متحكمات PIC يمكننا

f≤7≥5 المعامالت w TRIS register العملية

Top Of Stake هي مصطلح مختصر للعبارة TOS حيث ال يوجد األعالم المتأثرة

شيفرة التعليمة

وصف التعليمة حيثf إلى مسجل التحكم بالنافذة wتقوم هذه التعليمة بنقل محتويات المراكم

f=5,6,7 وهي قيم تمثل العناوين المقابلة للمسجالت PORTA,PORTB,BORTC .PIC16CSXعلى الترتيب, وهذه التعليمة خاصة بعائلة

مالحظة ينصح بعدم استخدام هذه التعليمة.PIC16cxللموافقة مع تعليمات العائلة

األمثلة ::1مثال

TRIS PORTB قبل تنفيذ التعليمة :

W =0×A5 بعد تنفيذ التعليمة :

TRISE=0×A5

160

1000 0000 0000 00