Download as pptx, pdf, or txt
Download as pptx, pdf, or txt
You are on page 1of 30

‫ت‬ ‫ل‬‫م‬

‫ك‬‫ت‬ ‫قى‬
‫ي‬ ‫وين‬ ‫الموضوع‪:‬‬
‫المكر ومراقب ‪PIC16F84‬‬
‫(‪)microcontrôleur‬‬
‫تحت إشراف مفتش التربية الوطنبة‬

‫‪BAOUCH ALI‬‬
‫‪ -1‬الميكرو مراقب ‪:MICROCONTRÔLEURS‬‬

‫كل مندمج‬
‫في‬
‫تعريف‪ :‬الميكرو مراقب ‪Microcontrôleur‬‬
‫الميكرو مراقب عبارة عن دارة مندمجة قابلة للبرمجة‪ ،‬و لذالك يحتوي في‬
‫علبة واحدة‪ ،‬علي عناصر أساسية منها‪:‬‬
‫‪ - ‬وحدة المعالجة‬
‫‪ ‬الذاكرة الحية(المؤقته) ‪RAM‬‬
‫‪ ‬والذاكرة الميتة القابلة للبرمجة ‪EEPROM‬‬

‫‪O‬‬ ‫‪M‬‬
‫‪RAM‬‬ ‫‪E‬‬ ‫‪PR‬‬
‫‪E‬‬
‫أين نجد الميكرو مراقب ؟‬

‫استعماالت الميكرو مراقب عديدة منها ‪ :‬األلعاب ‪ ،‬التلفاز‪ ،‬مفاتيح ‪ ، USB‬الغساالت‬


‫العمومية ‪...............‬‬
‫‪PIC 16F84A‬‬ ‫الميكرو مراقب‬

‫شرح التسمية‬

‫اختصار للجملة االنجليزية‬ ‫‪PIC‬‬


‫‪Peripheral Interface Controller‬‬
‫والتي معناها جهاز التحكم في األجهزة المحيطة‬
‫‪16‬‬
‫تشير إلى عائلة ‪Mide-Range‬‬

‫‪F‬‬
‫ذاكرة من نوع ‪FLASH‬‬

‫النوع الخاص بالميكرو مراقب‬ ‫‪84‬‬

‫التواتر األعظمي ‪20MHz‬‬ ‫‪A‬‬


‫مميزات الميكرو مراقب‪: PIC 16F84‬‬

‫‪ ‬ذاكرة البرنامج نوع (فالش) سعتها ‪ 1024‬كلمة بـ ‪ 14‬بت (‪)bits‬‬


‫‪ ‬ذاكرة مؤقتة ‪ RAM‬سعتها ‪ 68‬أوكتي (‪)octets‬‬
‫‪ ‬ذاكرة المعطيات ‪ EEPROM‬سعتها ‪ 64‬أوكتي(‪)octets‬‬
‫‪ ‬كدسة‪ PILE) ) 8‬مستويات(‪)Niveaux‬‬
‫‪ ‬عدد التعليمات منخفض ‪ 35‬تعليمة‬
‫‪ ‬ميقاتية خاصة ‪Watch dog timer WDT‬‬
‫‪ ‬قاسم التردد مبرمج‪prescaler‬‬
‫‪4 ‬منابع للقطع‪source d’interruption‬‬
‫‪ ‬إشتغال بأدنى إستهالك ‪mode sleep‬‬
‫‪ ‬توتر التغذية ‪2V-6V‬مستمر نأخذ ‪V 5‬‬
‫‪ ‬توتر البرمجة ‪12V-14V‬مستمر‬
‫مزايا االستعمـــــــال‬
‫‪ ‬قوة المعالجــة ‪.‬‬
‫‪ ‬التكلفة المنخفضــة ‪.‬‬
‫‪ ‬بساطة إنجاز تطبيقاته‪.‬‬
‫إختيار الميكرو مراقب ‪:‬‬
‫من أجل إستعمال معين يختار المبكر ومراقب حسب العوامل التالية ‪:‬‬
‫بنيتــه‪.‬‬
‫توفره في السوق‬
‫سهولة استعماله ‪.‬‬

‫‪-‬الشركات المصنعة ‪:‬‬


‫‪Motorola , Atmel , Intel STMicroelectronics , Micro chip‬‬
PIC16F84A : ‫تـوـصـيـالـت‬
RA2 PORTB
PORTA
‫التهيئة‬
‫الساعة‬ ‫إلعادة‬
‫وصل‬
‫التغذية‬
1 18
RA3 2 RA1
17
RA4/TOCKI 3 RA0
16
MCLR 4 OSC1/CLKIN
15
VSS/GND 16F84A OSC2/CLKOUT
5 14
RB0/INT 6 13 VDD=+5V
RB1 7 12 RB7
RB2 8 RB6
11
RB3 9 10 RB5
RB4
‫قطبي قاعدة الزمن الخارجية‬

‫يمكن للميكرومراقب أن يشتغل بأربعة أنماط مختلفة من المذبذبات هي‬

‫بلور ذو تواتر منخفض ‪ ( LP‬من ‪ 32KHz‬إلى ‪) 200KHz‬‬

‫بلور ذو تواتر متوسط ‪ ( XT‬من ‪ 100KHz‬إلى ‪ ) 4MHz‬وهو األكثر استعماال‬

‫بلور ذو تواتر عالي ‪ ( HP‬من ‪ 4MHz‬إلى ‪) 20MHz‬‬

‫دارة كهربائي> >>ة مقاوم> >>ة ومكث> >>ف ‪ RC‬وق> >>د يس> >>تخدم ف> >>ي بع> >>ض‬
‫التطبيقات التي ال تحتاج إلى دقة عالية في المذبذب‬

‫بإمكان المستعمل التعامل مع القطبين ‪ ( OSC1/CLKIN‬الرجل ‪،)16‬‬


‫‪ ( OSC2/CLKOUT‬الرجل ‪ )15‬الختيار أحد األنماط السابقة‬
‫األكثر استعماال‬
‫‪ OSC1 , OSC 2‬اــلدارة اــلمهتزة ( اــلساعة ) ‪:‬‬
‫ت‬‫ل‬ ‫ا‬
‫ل‬ ‫ا‬ ‫ن‬ ‫كوي‬
‫خ‬ ‫ا‬‫د‬
‫لي‬
‫الهيكلة القاعدية للميكرو مراقب ‪PIC 16F84A‬‬

‫البنية العامة للميكرو مراقب ‪ PIC 16F84A‬تحوي أربعة مكونات أساسية هي‪:‬‬

‫‪SRAM‬‬

‫ذاكرة البرنامج‬
‫ذاكرة البيانات‬

‫‪EEPROM‬‬

‫المعالج‪CPU‬‬

‫المحيطات أو المنافذ اإلضافية‬


‫‪PIC 16F84A‬‬
MÉMOIRE DE DONNEES
MÉMOIRE DE DONNEES
compteur de programme

Mémoire ADRESSE EEPROM


flash de RAM 648
programme REGISTRES
Pile
1k "mots" de 14 bits 8NIVEAUX

TEMPORISATEUR
ADRESSAGE DIRECT
REGISTRE MPX TMRO RA4/TOCKI
D’INSTRUCTION

PORTS E/ S
DECODEUR FSR
D’INSTRUCTION TEMPPRISATEUR RA1

PORTA A
ET UNITE DE MISE RA0
COMMANDE EN ROUTE RA2
TEMPPRISATEUR RA3
DEMARAGE MPX
OSCILLATEUR RB0/INT
BASE RESET RB1
DE TEMP CONNEXION RB2

PORTA B
ALIMENTAION
RB3
CHIEN RB4
DE GARDE
UAL RB5
RB6
OSC2/CLKOUT

OSC1/CLKIN

RB7
VSS/GND
VDD=+5V

MCLR

W
STATUS
‫التكوين الداخلي‬
‫‪MÉMOIRE DE DONNEES‬‬
‫‪MÉMOIRE DE DONNEES‬‬
‫ذاكرة‬ ‫عداد البرنامج‬
‫البرنامج‬ ‫‪ADRESSE‬‬ ‫‪EEPROM‬‬
‫الذاكرة الحية‬ ‫‪648‬‬
‫‪1024‬‬ ‫الساكنة‬
‫ذاكرة العودة‬
‫‪1k "mots" de 14 bits‬‬ ‫‪ 8‬مستويات‬

‫‪TEMPORISATEUR‬‬
‫‪ADRESSAGE DIRECT‬‬
‫منتخب المعلومات‬ ‫‪TMRO‬‬ ‫‪RA4/TOCKI‬‬
‫سجل األوامر‬

‫‪PORTS E/ S‬‬
‫‪FSR‬‬
‫مفكك ترميز األوامر‬ ‫مؤقت وضع‬ ‫‪RA1‬‬
‫و وحدة تحكم‬

‫المنفذ ‪A‬‬
‫التشغيل‬ ‫‪RA0‬‬
‫‪RA2‬‬
‫مذبذب البداية‬ ‫‪RA3‬‬
‫منتخب المعلو‪4‬مات‬
‫‪RB0/INT‬‬
‫‪RB1‬‬
‫قاعدة الزمن‬ ‫إعادة التشغيل‬
‫‪RB2‬‬

‫المنفذ ‪B‬‬
‫‪RB3‬‬
‫مؤقت كلب الحراسة‬ ‫‪RB4‬‬
‫‪UAL‬‬ ‫‪RB5‬‬
‫‪RB6‬‬
‫‪OSC2/CLKOUT‬‬

‫‪OSC1/CLKIN‬‬

‫‪RB7‬‬
‫‪VSS/GND‬‬
‫‪VDD=+5V‬‬

‫‪MCLR‬‬

‫‪W‬‬
‫سجل العمل‬ ‫‪STATUS‬‬
‫سجل الخاص‬ ‫التكوين الداخلي‬
‫عـدـاـدـ اـلـبـرـنـاـمـج‬ ‫ذاكرة البرنامج‪:‬‬
‫‪Pile‬‬ ‫ذاكرة فالش سعتها ‪ 1024‬كلمة‬
‫‪8NIVEAUX‬‬
‫تخزن البرنامج يمكن كتابة البرنامج‬
‫حيث شئنا غير أننا نشير الى‬
‫أن الميكر ومراقب يبدأ من‬
‫العنوان‪0000‬عندتطبيق لـ(إعادة‬
‫التهيئة) وفي حالة القطع يتموقع في‬
‫العنوان ‪ 0004‬لذلك ينصح كتابة‬
‫البرنامج بعد العنوان ‪ 0004‬و برمجة‬
‫توصيل بالعنوان ‪ 0004‬في حالة وجود‬
‫قطع‬
‫الهيكلة القاعدية للميكرو مراقب ‪PIC 16F84A‬‬

‫ذاكرة البيانات‬
‫سجالت الوظائف الخاصة‪SFR‬‬

‫وهي نوعان‪:‬‬
‫‪ ‬الذاكرة الحية الساكنة ‪ RAM STATIQUE‬والتي تسميها شركة‬
‫‪ Micro chip‬سجل الملفات (‪)SFR()Special Function Register‬‬

‫‪ ‬ذاكرة القراءة فقط القابلة للبرمجة و المحو الكهربائي ‪EEPROM‬‬


‫سجالت األغراض العامة‪GPR‬‬

‫الذاكرة الحية الساكنة ‪SRAM‬‬ ‫‪1 ‬‬

‫وهي ذاكرة مؤقتة سعتها ‪2x128 octets‬تزول معلوماتها في‬


‫كل انقطاع للتيار الكهربائي‪ ،‬يستخدمها المعالج أثناء تنفيذ‬
‫البرنامج وقد تم تقسيمها أفقيا ً إلي‪ :‬سجالت الوظائف‬
‫الخاصة)‪ SFR (2x12‬من العنوان ‪ 00‬إلى ‪ 0B‬و من العنوان‬
‫‪ 80‬إلى ‪8B‬وسجالت األغراض العامة ‪GPR ( 2x68) octets‬‬
‫مساحة غير مستعملة‬

‫من العنوان ‪ 0C‬إلى ‪ 4F‬و من العنوان ‪8C‬إلى‪ CF‬والباقي غير‬


‫مستغل و رأسيا ً إلي الصفحة ‪ 0‬والصفحة‪1‬‬
‫الهيكلة القاعدية للميكرومراقب ‪PIC 16F84A‬‬
‫ذاكرة البيانات‬

‫‪EEPROM‬‬ ‫ذاكرة القراءة فقط القابلة للبرمجة و المحو الكهربائي‬ ‫‪2 ‬‬

‫‪Electricity‬‬ ‫‪Erasable Programmable‬‬ ‫‪ROM‬‬

‫و هي ذاكرة من نوع فالش سعتها ‪ 64octets‬من العنوان ‪ 00‬إلى العنوان ‪F‬‬


‫‪ 3‬بحيث ال يتم الدخول إليها إال بواسطة أربعة سجالت خاصة موجودة بالذاكرة‬
‫‪ SRAM‬وهي‪ .EEADR، EEDATA، EECON1، EECON2 :‬يمكن‬
‫استخدامها من قبل البرنامج في عمليات القراءة و الكتابة فمثالً عند التحكم في‬
‫درجة حرارة غرفة تتم برمجة النظام من قبل المستخدم بواسطة لوحة مفاتيح‬
‫خاصة لتحديد درجة الحرارة المطلوبة فيتم تخزينها في ذاكرة ‪EEPROM‬‬
‫لقدرتها على االحتفاظ بمحتوياتها بعد فصل التيار الكهربائي‪.‬‬
‫تنظيــــــم الذاكــــرة ‪RAM‬‬
‫بنك ‪0‬‬ ‫بنك ‪1‬‬

‫سجالت الوظائف الخاصة‪SFR‬‬


‫‪00h‬‬ ‫‪80h‬‬

‫السجــــالت الخاصــــة‬
‫الثابتة‬
‫سجالت األغراض العامة‪GPR‬‬

‫‪0Bh‬‬ ‫‪8Bh‬‬
‫‪0Ch‬‬ ‫‪8Ch‬‬

‫صورة طبق‬ ‫السجــــالت العامــــة‬


‫األصل‬ ‫للمستعمل‪RAM‬‬
‫سجل عام‬ ‫لسجل عام‬
‫‪4Fh‬‬ ‫‪CFh‬‬
‫مساحة غير مستعملة‬

‫فراغ‬
‫سجالت الوظائف الخاصة ‪SFR‬‬

‫تعريف‬

‫هي سجالت ذات ‪ 8‬خانات‬


‫موجودة في العناوين األولى‬
‫للذاكرة ‪ SRAM‬قسم منها‬
‫في الصفحة ‪ 0‬واآلخر في‬
‫الصفحة‪ 1‬كما أن بعضها‬
‫يوجد في الصفحتين معا‬
‫لتسهيل الوصول إليه (أنظر‬
‫الشكل )‪ ،‬وهي تستعمل من‬
‫طرف وحدة المعالجة‬
‫المركزية للتحكم الجيد في‬
‫أداء الميكرو مراقب‬

‫جدول تفصيلي لسجالت‬


‫الوظائف الخاصة ‪SFR‬‬
‫اــلسجالتاــلخاصة ‪ :‬ســجلاــلحاــالت‪STATUS -‬‬
‫‪STATUS‬‬ ‫‪EQU 0x03‬‬ ‫‪: p16F84.inc‬‬
‫فـــي‬

‫في ‪EQU‬‬
‫رقم البت‬ ‫اإلختصار‬ ‫التعريف‬ ‫‪p16F84.inc‬‬ ‫‪ ‬‬
‫‪Bit 7‬‬ ‫‪ ‬‬ ‫غير مستعمل ‪ :‬يجن أن يحتفظ به في ‪0‬‬ ‫‪ ‬‬ ‫‪0x07‬‬
‫‪Bit 6‬‬ ‫‪ ‬‬ ‫غير مستعمل ‪ :‬يجن أن يحتفظ به في ‪0‬‬ ‫‪ ‬‬ ‫‪0x06‬‬
‫‪Bit 5‬‬ ‫‪RP0‬‬ ‫الختيار البنك‪ /‬سجل‬ ‫‪RP0‬‬ ‫‪0x05‬‬
‫‪ :‬اختيار البنك ‪ : 1 00‬اختيار البنك ‪1‬‬
‫‪Bit 4‬‬ ‫‪TO‬‬ ‫يأخذ القيمة ‪ 1‬عندما يكون هناك تجاوز في الزمن لمؤقت‬ ‫‪NOT_TO‬‬ ‫‪0x04‬‬
‫الحراسة ( ‪)Watchdog‬‬
‫‪Bit 3‬‬ ‫‪PD‬‬ ‫‪ SLEEP‬يــأخذ اــلقيمة ‪ 1‬بــعـد اــلتعليمة‬ ‫‪NOT_PD‬‬ ‫‪0x03‬‬
‫‪Bit 2‬‬ ‫‪Z‬‬ ‫يأخذ القيمة ‪ 1‬عندما تنعدم التتيجة لبعض التعليمات‬ ‫‪Z‬‬ ‫‪0x02‬‬

‫‪Bit 1‬‬ ‫‪DC‬‬ ‫‪Digit carry :‬‬ ‫‪DC‬‬ ‫‪0x01‬‬


‫يأخذ القيمة ‪ 1‬عندما يكون هناك تجاوز للرقم ‪9‬‬
‫‪Bit 0‬‬ ‫‪C‬‬ ‫يأخذ القيمة ‪ 1‬عندما يكون هناك محتفظ به ‪Carry:‬‬ ‫‪C‬‬ ‫‪0x00‬‬
‫س جل ا لخيارات ‪OPTION_REG -‬‬

‫‪OPTION_REG‬‬ ‫‪EQU 0x81‬‬ ‫فـــي‪: p16F84.inc‬‬

‫رقم البت‬ ‫اإلختصار‬ ‫التعريف‬ ‫في‪EQU‬‬ ‫‪ ‬‬


‫‪p16F84.inc‬‬
‫‪Bit 7‬‬ ‫‪RBPU‬‬ ‫) إذاكان هذا البيت يساوي ‪ ( Pull-Up 0‬إضافة‬ ‫‪NOT_RBPU 0x07‬‬
‫مقاومات ‪ B‬تعليق المرفأ‬
‫‪Bit 6‬‬ ‫‪INTEDG‬‬ ‫‪ RB0‬اـختيار اــلجبهـة اــلنشطة لــالنقطاع علي‬ ‫‪INTEDG‬‬ ‫‪0x06‬‬

‫‪Bit 5‬‬ ‫‪T0CS‬‬ ‫‪ TMRO‬اـختيار اــلتوقـيتية لــلمؤقـت‬ ‫‪T0CS‬‬ ‫‪0x05‬‬


‫‪Bit 4‬‬ ‫‪T0SE‬‬ ‫‪ TMRO‬إـختيار اــلجبهـة اــلنشطة لــلمؤقـت‬ ‫‪T0SE‬‬ ‫‪0x04‬‬

‫‪Bit 3‬‬ ‫‪PSA‬‬ ‫تعيين القاسم ‪:‬‬ ‫‪PSA‬‬ ‫‪0x03‬‬


‫‪Watchdog : 1 ,‬‬ ‫‪TMRO : 0‬‬

‫‪Bit 2‬‬ ‫‪PS2‬‬ ‫‪> N = PS < 2,0‬‬ ‫‪PS2‬‬ ‫‪0x02‬‬


‫‪2‬‬ ‫‪N+1‬‬
‫‪:‬‬ ‫اــلقاسمـ = ‪TMRO‬‬
‫‪Bit 1‬‬ ‫‪PS1‬‬ ‫‪2N‬‬ ‫اــلقاسمـ = ‪:Watchdog‬‬ ‫‪PS1‬‬ ‫‪0x01‬‬
‫‪Bit 0‬‬ ‫‪PS0‬‬ ‫‪PS0‬‬ ‫‪0x00‬‬
‫ســجلاــإلعداداـتاــلداـخلية ‪INTCON -‬‬

‫‪INTCON‬‬ ‫فـــي‪(addr 0Bh ou 8Bh) [ INTCON EQU 0x0B] :p16F84.inc‬‬

‫في‪EQU‬‬
‫رقم البت‬ ‫اإلختصار‬ ‫التعريف‬ ‫‪p16F84.inc‬‬

‫‪Bit 7‬‬ ‫‪GIE‬‬ ‫‪ : 1‬تمكين جميع اإلنقطاعات الغير مقنعة ‪ :0 ،‬عدم التمكين‬ ‫‪GIE‬‬ ‫‪0x07‬‬
‫‪Bit 6‬‬ ‫‪EEIE‬‬ ‫‪EEIE‬‬ ‫‪0x06‬‬
‫‪ : 0 ،‬عدم التمكين‪ : EEPROM 1‬تمكن الكتابة في الذاكرة‬
‫‪Bit 5‬‬ ‫‪T0IE‬‬ ‫‪T0IE‬‬ ‫‪0x05‬‬
‫‪ : 1‬تمكين التجاوز علي المؤقت ‪ : 0 ،‬عدم التمكين‬
‫‪Bit 4‬‬ ‫‪INTE‬‬ ‫‪ : 0‬عدم التمكين‪ B‬للمرفأ ‪ : RB 0/INT 1‬تمكين اإلنقطاع‬ ‫‪،‬‬ ‫‪INTE‬‬ ‫‪0x04‬‬
‫‪Bit 3‬‬ ‫‪RBIE‬‬ ‫‪RBIE‬‬ ‫‪0x03‬‬
‫‪ : 0‬عدم التمكين‪ : B 1‬تمكين اإلنقطاع عند حدوث تغيير حالة علي المرفأ‬ ‫‪،‬‬
‫‪Bit 2‬‬ ‫‪T0IF‬‬ ‫‪ TMR0‬تــأخذ اــلقيمة ‪ 1‬عند حـدوثتــجاوز فـــياــلمؤقـت‬ ‫‪T0IF‬‬ ‫‪0x02‬‬
‫‪Bit 1‬‬ ‫‪INTF‬‬ ‫‪ B‬لــلمرفأ ‪ RB0‬تــأخذ اــلقيمة ‪ 1‬عند حـدوثإـنقطاع علياــلجبهـة اــلنشطة لــلـــ‬ ‫‪INTF‬‬ ‫‪0x01‬‬
‫‪Bit 0‬‬ ‫‪RBIF‬‬ ‫‪ B‬تــأخذ اــلقيمة ‪ 1‬عند حـدوثإـنقطاع جـراء تــغير حـاــلة فـــياــلمرفأ‬ ‫‪RBIF‬‬ ‫‪0x00‬‬

‫ا لسجالتا لخاصة ‪ :‬ا لمنافذ ( ا لمرافئ)‪ , PORT E/S‬س جل ا لعمل ‪W‬‬

‫السجل‬ ‫‪p16f84.inc‬‬ ‫‪EQU‬فـــي‬ ‫العنوان‬ ‫سجل التحكم‬ ‫‪ EQU‬فـــي‪p16f84.inc‬‬ ‫العنوان‬


‫‪ A‬اــلمرفأ‬ ‫‪PORTA‬‬ ‫‪0x05‬‬ ‫‪Tris A‬‬ ‫‪TRISA‬‬ ‫‪0x85‬‬
‫‪ B‬اــلمرفأ‬ ‫‪PORTB‬‬ ‫‪0x06‬‬ ‫‪Tris B‬‬ ‫‪TRISB‬‬ ‫‪0x86‬‬
PORTA ‫سجل عمل خاص‬

RA7

RA6

RA5

RA4

RA3

RA2

RA1

RA0
x x x 1 1 0 1 1
PORTB ‫سجل عمل خاص‬
RB7

RB6

RB5

RB4

RB3

RB2

RB1

RB0
1 0 0 1 1 0 1 1
trisb
bit7 0 RB7
Bit6 0 RB6 ‫خروج‬
Bit5 1 RB5

PIC
Bit4 1 RB4
Bit3 1
‫دخول‬
RB3
Bit2 1 RB2
Bit1 0 RB1
Bit0 0 RB0
‫التعليمــــــــــــــــــــــــــات‬

‫كل تعليمة للميكرو مراقب لها رمز ثاني ‪ ،‬لتسهيل التعامل بها يعوض‬
‫كل رمز ثنائي برمز حرفي( إختصار للعملية باإلنجليزية ) يسمي‬
‫الرمز الحرفي بـــ‪Mnémonique‬‬
‫قواعد مختلف الميمونيك لتعليمات الميكرو مراقب‬
‫‪ :‬قيمة مرمزة علي ثمانية أبيات ‪k‬‬
‫‪.f‬‬ ‫رمز موافق لسجل‬
‫تحدد مكان تخزين النتيجة ‪d :‬‬
‫مجموعة التعليمات‬
‫يملك عنصر التحكم ‪ PIC16F84‬نظريا ً ‪ 35‬تعليمة إضافة إلى تعليمتين يمكن استخدامهما في بعض األحيان وذلك لتبسيط األمور ‪.‬‬
‫إن عرض كلمات التعليمات في عنصر التحكم ‪ PIC16F84‬هي ‪ 14‬خانة ‪.‬‬

‫تعليمات نقل أو تعريف بيانات‬


‫‪movlw‬‬ ‫‪k‬‬ ‫قم بشحن السجل ‪ W‬بالمحرف ‪.k‬‬
‫‪movf‬‬ ‫‪f,d‬‬ ‫انقل نسخة من محتوى السجل الذي تم اختياره إلى السجل ‪ W‬أو ‪f‬‬
‫‪movwf‬‬ ‫‪f‬‬ ‫إنقل نسخة من محتوى السجل ‪ W‬إلى السجل الذي تم اختياره ‪.‬‬

‫قم بشحن السجل ‪ W‬بقيمة ‪02‬‬

‫تعليمات تغيير محتوى سجل‬

‫‪f‬‬ ‫‪CLRF‬‬ ‫تصفير السجل الذي تم اختياره أي جعله ‪. 0‬‬


‫‪ ‬‬ ‫‪CLRW‬‬ ‫تصفير السجل ‪ W‬أي جعله ‪. 0‬‬
‫‪f,d‬‬ ‫‪COMF‬‬ ‫إتمام محتوى السجل الذي تم اختياره ‪ .‬كل الواحدات إلى أصفار وكل األصفار إلى واحدات والنتيجة في ‪ W‬أو ‪. F‬‬
‫‪f,d‬‬ ‫‪DECF‬‬ ‫إتمام محتوى السجل الذي تم اختياره ‪ .‬عندما يكون محتوى سجل هو ‪ 0‬وقمنا بعملية ‪ DECF‬فإن النتيجة هي ‪FF‬‬
‫وستوضع في ‪ W‬أو ‪. F‬‬
‫‪f,d‬‬ ‫‪INCF‬‬ ‫إضافة واحد إلى محتوى السجل الذي تم اختياره ‪ .‬إضافة واحد إلى سجل محتواه ‪ FF‬سيعطي النتيجة ‪0‬‬
‫وستوضع هذه النتيجة في ‪ W‬أو ‪. F‬‬
‫‪f,b‬‬ ‫‪BCF‬‬ ‫تصفير الخانة المحددة في السجل المعين أي جعلها ‪. 0‬‬
‫‪f,b‬‬ ‫‪BSF‬‬ ‫جعل قيمة الخانة المححدة في السجل المعين ‪. 1‬‬
‫‪f,d‬‬ ‫‪RLF‬‬ ‫تدوير الخانات في سجل معين موقعاً واحداً إلى اليسار ‪ .‬تتم عملية التدوير عبر خانة ‪ carry‬في سجل األعالم‬
‫والنتيجة في ‪ W‬أو ‪. F‬‬
‫‪f,d‬‬ ‫‪RRF‬‬ ‫تدوير الخانات في سجل معين موقعاً واحداً إلى اليمين ‪ .‬تدور الخانات عبر خانة ‪ carry‬في سجل األعالم ‪Flag‬‬
‫النتيجة في ‪ W‬أو ‪. F‬‬
‫‪f,d‬‬ ‫‪SWAPF‬‬ ‫التبديل ما بين الـ ‪ MS‬العليا والـ ‪ LS‬الدنيا للسجل المعين ‪ .‬والنتيجة في ‪ W‬أو ‪. F‬‬
‫‪f‬‬ ‫‪CLRF‬‬ ‫تصفير السجل الذي تم اختياره أي جعله ‪. 0‬‬
‫‪ ‬‬ ‫‪CLRW‬‬ ‫تصفير السجل ‪ W‬أي جعله ‪. 0‬‬

‫‪f,b‬‬ ‫‪BCF‬‬ ‫تصفير الخانة المحددة في السجل المعين أي جعلها ‪. 0‬‬


‫‪f,b‬‬ ‫‪BSF‬‬ ‫جعل قيمة الخانة المحددة في السجل المعين أي جعلها ‪. 1‬‬

‫‪f , d DECF‬‬ ‫إتمام محتوى السجل الذي تم اختياره ‪ .‬عندما يكون محتوى سجل هو ‪ 0‬وقمنا بعملية ‪ DECF‬فإن النتيجة هي ‪ FF‬وستوضع‬
‫في ‪ W‬أو ‪. F‬‬
‫تعليمات مراقب العمليات‬

‫‪k‬‬ ‫‪goto‬‬ ‫االنتقال إلى عنوان محدد ‪.‬‬


‫‪k‬‬ ‫‪call‬‬ ‫استدعاء برنامج فرعي عند عنوان بداية محدد ‪.‬‬
‫‪ ‬‬ ‫‪return‬‬ ‫عودة من إجرائية فرعية ‪.‬‬
‫‪k‬‬ ‫‪retlw‬‬ ‫عودة من إجرائية فرعية ‪ ،‬إشحن ‪ W‬بحرف ‪.‬‬
‫‪ ‬‬ ‫‪retfie‬‬ ‫عودة من انقطاع‪.‬‬
‫‪f,d‬‬ ‫‪btfsc‬‬ ‫اختبار خانة محددة في سجل معين ‪ .‬تجاوز التعليمة التالية إذا كانت قيمة الخانة التي جرى اختبارها ‪. 0‬‬
‫‪f,d‬‬ ‫‪btfss‬‬ ‫اختبار خانة محددة في سجل معين ‪ .‬تجاوز التعليمة التالية إذا كانت قيمة الخانة التي جرى اختبارها ‪. 1‬‬
‫‪f,d‬‬ ‫‪decfsz‬‬ ‫إنقاص ‪ 1‬من محتوى سجل معين ‪ .‬تجاوز التعليمة التالية إذا كان محتوى السجل مساوياً ‪ . 0‬الهدف ‪ W‬أو ‪. F‬‬
‫‪f,d‬‬ ‫‪incfsz‬‬ ‫أضـف ‪ 1‬لسجل معين ‪ ،‬تجاوز التعليمة التالية إذا كان محتوى السجل ‪ . 0‬الهدف ‪ W‬أو ‪. F‬‬
‫تعليمات ال تنفذ أي شيء‬
‫‪  NOP‬‬ ‫قم بـ ( ال شيء ) لحلقة تعليمة واحدة ‪ ،‬عملية تأخير زمني ‪ ،‬أو افسـاح مجال ألنماط ترميز الحقة أو هي عملية‬
‫‪ Break‬في أثناء تنفيذ البرنامج ‪.‬‬

‫تعليمات التحكم‬
‫‪ ‬‬ ‫‪clrwdt‬‬ ‫تصفير مؤقت الـ ‪. Watchdog‬‬
‫‪ ‬‬ ‫‪option‬‬ ‫يتم نقل محتوى الـ ‪ ( W‬نموذج الخانات ) إلى سجل الخيار وذلك لمراقبة معدل عداد القيمة المرجعية‬
‫وجهة قدح ساعة التوقيت الحقيقي ومصدر عداد ساعة التوقيت الحقيقي ‪.‬‬
‫‪ ‬‬ ‫‪sleep‬‬ ‫تجعل عنصر التحكم في حالة خمود وذلك لتخفيضـ استهالك الطاقة ‪ ،‬تتم عملية اإليقاظ من خالل عملية‬
‫إعادة التهيئة ‪. Reset‬‬
‫تعليمات منطقية‬
‫‪k‬‬ ‫‪andlw‬‬ ‫تنفذ عملية ‪ AND‬لمحتوى ‪ W‬مع قيمة معينة موجودة في التعليمة ‪ ،‬النتيجة في ‪. W‬‬
‫‪f,d‬‬ ‫‪andwf‬‬ ‫تنفذ عملية ‪ AND‬لمحتوى ‪ W‬مع محتوى سجل معين ‪ ،‬النتيجة في ‪. W‬‬
‫‪k‬‬ ‫‪iorlw‬‬ ‫تنفذ عملية ‪ OR‬لمحتوى ‪ W‬مع قيمة معينة الموجودة في التعليمة ‪ ،‬النتيجة في ‪. W‬‬
‫‪f,d‬‬ ‫‪iorwf‬‬ ‫تنفذ تعليمة ‪ OR‬لمحتوى ‪ W‬مع محتوى سجل معين ‪ ،‬النتيجة في ‪. W‬‬
‫‪k‬‬ ‫‪xorlw‬‬ ‫تنفذ عملية ‪ XOR‬لمحتوى ‪ W‬مع قيمة معينة موجودة في التعليمة ‪ ،‬النتيجة في ‪. W‬‬
‫‪f,d‬‬ ‫‪xorwf‬‬ ‫تنفذ عملية ‪ XOR‬لمحتوى ‪ W‬مع محتوى سجل معين ‪ ،‬النتيجة في ‪ W‬أو ‪. F‬‬

‫تعليمات حسابية‬
‫‪f,d‬‬ ‫‪addwf‬‬ ‫يجمع محتوى ‪ W‬إلى محتوى سجل معين ‪ ،‬النتيجة في ‪. W‬‬
‫‪k‬‬ ‫‪addlw‬‬ ‫يجمع قيمة محددة إلى ‪ ،‬النتيجة في ‪. W‬‬
‫‪k‬‬ ‫‪sublw‬‬ ‫يطرح ‪ W‬من قيمة محددة ‪ ،‬النتيجة في ‪. W‬‬
‫‪f,d‬‬ ‫‪subwf‬‬ ‫يطرح محتوى ‪ W‬من محتوى سجل معين بالمتمم الحسابي الثاني ‪ ،‬النتيجة في ‪ W‬أو ‪. F‬‬
‫وشكرا على حسن اإلصغاء‬

You might also like