الفصل العاشر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
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
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
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
من أجل تعليمتي تفريغشيفرة تعليمات التحكم وتعليمات الثوابت : الذي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
: 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
(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
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
( 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
: 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
بمقدار واحد ثم تخزن النتيجة في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
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
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
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
وصف التعليمة 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
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
يتموصف التعليمة .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
المتأثرة يوجد األعالم الالتعليمة شيفرة
وصف التعليمة عندها"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
قبل تنفيذ التعليمة :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
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
: 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
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
: التعلية تنفيذ قبل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
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
. أما الخانتان العلويتان لعداد<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
عند التنفيذ .(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
بقيمة .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
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
Top Related