30

Pic16F84 Cours

Embed Size (px)

DESCRIPTION

à propos pic16F84A

Citation preview

Page 1: Pic16F84 Cours
Page 2: Pic16F84 Cours

(microcontrôleur )

كوينيى ت

ملتق

الموضوع:ومراقب PIC16F84المكر

مفتش: تااألستقديم إشراف تحت ذةالوطنبة التربية

Hamza cherifKemmar Ahmed

Bouzeboudja

BAOUCH ALI

Page 3: Pic16F84 Cours

مراقب- 1 :MICROCONTRÔLEURS الميكرو

كل مندمج

في

Page 4: Pic16F84 Cours

Microcontrôleur: الميكرو مراقب تعريف

الميكرو مراقب عبارة عن دارة مندمجة قابلة للبرمجة، و لذالك يحتوي في علبة

واحدة، علي عناصر أساسية منها:

RAMEEPROM

-وحدة المعالجة

والذاكرة الميتة القابلةEEPROMللبرمجة

الذاكرة RAMالحية)المؤقته(

Page 5: Pic16F84 Cours

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

الميكرو نجد أين؟ مراقب

Page 6: Pic16F84 Cours

شرح التسمية

الميكرو مراقب

PIC 16F84A

االنجليزية للجملة اختصار Peripheral Interface Controller

في التحكم جهاز معناها والتيالمحيطة األجهزة

PIC

16

F

84

A

عائلة إلى -MideتشيرRange

نوع من ذاكرةFLASH

بالميكرو الخاص النوعمراقب

األعظمي التواتر20MHz

Page 7: Pic16F84 Cours

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

) سعتها ) فالش نوع البرنامج بـ كلمة 1024ذاكرة(bitsبت )14 مؤقتة أوكتي 68سعتها RAMذاكرة

(octets) المعطيات 64سعتها EEPROMذاكرة(octetsأوكتي) كدسةPILE) ) 8

( Niveauxمستويات) منخفض التعليمات 35عددتعليمة خاصة Watch dog timer ميقاتية

WDT مبرمج التردد prescalerقاسم 4 للقطع sourceمنابع

d’interruption إستهالك بأدنى modeإشتغالsleep التغذية نأخذ 2V-6V توتر V 5مستمر

البرمجة -12V توتر14Vمستمر

Page 8: Pic16F84 Cours

مراقب : الميكرو إختيارومراقب المبكر يختار معين إستعمال أجل من

التالية : العوامل حسببنيتــه.

السوق في توفرهاستعماله . سهولة

مراقب : الميكرو إختيارومراقب المبكر يختار معين إستعمال أجل من

التالية : العوامل حسببنيتــه.

السوق في توفرهاستعماله . سهولة

االستعمـــــــال مزايا

المعالجــة .قوة التكلفة

المنخفضــة . إنجاز بساطة

تطبيقاته.

Motorola , Atmel , Intel STMicroelectronics , Micro chip

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

Page 9: Pic16F84 Cours

PIC16F84A : توصيالت

VDD=+5VVSS/GND

MCLR OSC1/CLKINOSC2/CLKOUT

RA1RA0

RA2RA3

RA4/TOCKI

RB7RB6

RB5RB4

RB0/INTRB1

RB2RB3

12

34

56

789

1817

1615

1413

1211

10

16F84A

الساعة التغذية التهيئة وصل PORTAPORTBإلعادة

Page 10: Pic16F84 Cours

الخارجية الزمن قاعدة قطبي

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

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

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

4MHz ) من HPبلــور ذو تــواتر ـعالي RCدارة كهربائيـــة مقاومـــة ومكـثف (20MHzإلى

وقــد يســتخدم في بعض التطبيقــات ــة في ــة عالي ــاج إلى دق ــتي ال تحت ال

المذبذب

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

السابقة( 15 األنماط أحد الختيار

Page 11: Pic16F84 Cours

الساعة ) ( : المهتزة الدارة OSC1 , OSC 2

استعماال األكثر

Page 12: Pic16F84 Cours

الداخلي التكوين

Page 13: Pic16F84 Cours

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

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

CPUالمعالج

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

PIC 16F84Aالهيكلة القاعدية للميكرو مراقب

PIC 16F84A

SRAM

EEPROM

Page 14: Pic16F84 Cours

Mémoire flash de

programme

1k "mots" de 14 bits

compteur de programme

Pile8NIVEAUX

ADRESSE

MÉMOIRE DE DONNEES

RAMREGISTRES

MÉMOIRE DE DONNEES

EEPROM648

MPX

FSR

MPX

UAL

WSTATUS

BASEDE TEMP

TEMPPRISATEURMISE

EN ROUTETEMPPRISATEUR

DEMARAGEOSCILLATEUR

RESETCONNEXION

ALIMENTAION

CHIENDE GARDE

DECODEURD’INSTRUCTION

ET UNITE DECOMMANDE

REGISTRE D’INSTRUCTION

TMRO

TEMPORISATEUR

PORTS E/ S

PORT

A A

PORT

A B

VSS

/GN

D

MCL

RRA2RA3

RA4/TOCKI

RB0/INTRB1RB2RB3

VD

D=+

5V

OSC

1/CL

KIN

OSC

2/CL

KOU

T

RA1RA0

RB7RB6RB5RB4

ADRESSAGE DIRECT

الداخلي التكوين

Page 15: Pic16F84 Cours

ذاكرةالبرنامج

1024

1k "mots" de 14 bits

البرنامج عداد

العودة ذاكرةمستويات 8

ADRESSE

MÉMOIRE DE DONNEES

الحية الذاكرةالساكنة

MÉMOIRE DE DONNEES

EEPROM648

المعلومات منتخب

FSR

UAL

WSTATUS

الزمن قاعدة

وضع مؤقتالتشغيل

البداية مذبذب

التشغيل إعادة

الحراسة كلب مؤقت

األوامر ترميز مفككتحكم وحدة و

سجل األوامر

TMRO

TEMPORISATEUR

PORTS E/ S

ذ نف

لما

نفلم

ا B

VSS

/GN

D

MCL

RRA2RA3

RA4/TOCKI

RB0/INTRB1RB2RB3

VD

D=+

5V

OSC

1/CL

KIN

RA1RA0

RB7RB6RB5RB4

ADRESSAGE DIRECT

المعلومات منتخب

العمل سجلالخاص سجل الداخلي Oالتكوين

SC2/

CLKO

UT

Page 16: Pic16F84 Cours

: البرنامج ذاكرةسعتها فالش 1024ذاكرة

يمكن البرنامج تخزن كلمةشئنا حيث البرنامج كتابة

أننا الى غير نشيرالم يبدأ يأن ومراقب كر

عندتطبيق 0000العنوانمن إعادة )ـل

القطع ( التهيئة حالة وفيفي 0004العنوان يتموقع

البرنامج كتابة ينصح لذلكالعنوان برمجة 0004بعد و

بالعنوان في 0004توصيلقطع وجود حالة

البرنامج عداد

Pile8NIVEAUX

Page 17: Pic16F84 Cours

البيانات ذاكرة

PIC 16F84Aالهيكلة القاعدية للميكرو مراقب

: نوعان وهي الساكنة الحية والتي RAM STATIQUEالذاكرة

شركة الملفات Micro chipتسميها Special)سجل

Function Register)(SFR)

المحو و للبرمجة القابلة فقط القراءة ذاكرةالساكنة EEPROMالكهربائي الحية الذاكرة

SRAM

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

أثناء المعالج يستخدمها الكهربائي، للتيار : إلي أفقيا� تقسيمها تم وقد البرنامج تنفيذ

الخاصة الوظائف من SFR (2x12)سجالتالعنوان 0Bإلى 00العنوان من إلى 80و

8B العامة األغراض GPR ( 2x68)وسجالتoctets العنوان العنوان 4Fإلى 0Cمن من و

8CإلىCF إلي رأسيا� و مستغل غير والباقي 1والصفحة 0الصفحة

1

صةخا

الف

ائظ

لوتا

الج

سSF

R

مة

عاال

ضرا

ألغتا

الج

سG

PR

لة

عمست

مير

غحة

سام

Page 18: Pic16F84 Cours

البيانات ذاكرة

PIC 16F84Aالهيكلة القاعدية للميكرومراقب

و للبرمجة القابلة فقط القراءة ذاكرةالكهربائي المحو

سعتها فالش نوع من ذاكرة هي العنوان 64octetsو منالعنوان 00 إال F 3إلى إليها الدخول يتم ال بحيث

بالذاكرة موجودة خاصة سجالت أربعة SRAMبواسطةEEADRوهي: ، EEDATA ، EECON1 ، EECON2 .يمكن

و القراءة عمليات في البرنامج قبل من استخدامهاتتم غرفة حرارة درجة في التحكم عند فمثال� الكتابة

لوحة بواسطة المستخدم قبل من النظام برمجةفيتم المطلوبة الحرارة درجة لتحديد خاصة مفاتيح

ذاكرة في االحتفاظ EEPROMتخزينها على لقدرتها. الكهربائي التيار فصل بعد بمحتوياتها

E E P R O M

ROM

2

Electricity Erasable Programmable

Page 19: Pic16F84 Cours

الذاكــــرة RAM تنظيــــــم0بنك 1بنك

00h 80h

0Bh 8Bh0Ch 8Ch

4Fh CFh

الخاصــــة السجــــالتالثابتة

العامــــة السجــــالتRAMللمستعمل

فراغ

صةخا

الف

ائظ

لوتا

الج

سSF

R

مة

عاال

ضرا

ألغتا

الج

سG

PR

لة

عمست

مير

غحة

سام

عام سجل

صورة طبق

األصل لسجل

عام

Page 20: Pic16F84 Cours

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

تعريف

ذات سجالت 8هيفي موجودة خانات

األولى العناوين SRAMللذاكرة

في منها قسمواآلخر 0الصفحة

الصفحة كما 1فيفي يوجد بعضها أن

معا الصفحتينالوصول لتسهيل

أنظر ) إليهوهي ( ، الشكل

طرف من تستعملالمعالجة وحدة

للتحكم المركزيةأداء في الجيد

مراقب الميكرو

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

الخاصة الوظائفSFR

Page 21: Pic16F84 Cours

STATUS EQU 0x03 : p16F84.inc

في

  EQU في

p16F84.incالتعريفاإلختصا

ررقم البت

0x07  : في به يحتفظ أن يجن مستعمل Bit 7 0غير

0x06  : يحتفظ أن يجن مستعمل غيرفي 0به

 Bit 6

0x03NOT_PDSLEEP القيمة التعليمة 1يأخذ PDBit 3بعد

0x04NOT_TO القيمة تجاوز 1يأخذ هناك يكون عندماالحراسة ) لمؤقت الزمن (Watchdogفي

TOBit 4

0x05RP0 / سجل البنك الختيارالبنك : البنك : 1 00اختيار 1اختيار

RP0Bit 5

0x02Z القيمة لبعض 1يأخذ التتيجة تنعدم عندماالتعليمات

ZBit 2

0x01DC : Digit carryالقيمة تجاوز 1يأخذ هناك يكون عندما

9للرقم

DCBit 1

0x00C القيمة محتفظ 1يأخذ هناك يكون عندماCarry :به

CBit 0

STATUS - : سجل الخاصة السجالت الحاالت

Page 22: Pic16F84 Cours

OPTION_REG - سجل الخيارات

OPTION_REG EQU 0x81 : p16F84.inc في

EQUفي  p16F84.inc

البت اإلختصارالتعريف رقم

0x07NOT_RBPUBit 7 RBPU يساوي ( البيت هذا Pull-Up 0إذاكانمقاومات) المرفأ Bإضافة تعليق

0x06INTEDGRB0 علي لالنقطاع النشطة الجبهة INTEDGBit 6اختيار

0x05T0CSTMRO للمؤقت التوقيتية T0CSBit 5اختيار

0x04T0SETMRO للمؤقت النشطة الجبهة T0SEBit 4إختيار

0x03PSA: القاسم تعيينWatchdog : 1 , TMRO : 0

PSABit 3

0x00PS0PS0Bit 0

0x01PS1PS1Bit 1

0x02PS2N = PS < 2,0> 2N+1 : TMROالقاسم =

2N :Watchdogالقاسم =

PS2Bit 2

Page 23: Pic16F84 Cours

INTCON - اإلعدادات سجل الداخلية

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

INTCON )addr 0Bh ou 8Bh( [ INTCON EQU 0x0B] :p16F84.inc

في

اإلختصاالتعريفر

رقم البت

EQUفي p16F84.inc

0x07GIE1 : ، مقنعة الغير اإلنقطاعات جميع التمكين: 0تمكين GIEBit 7عدم

0x06EEIEالتمكين : 0، الذاكرة : EEPROM 1عدم في الكتابة تمكن

EEIEBit 6

0x05T0IE1 : ، المؤقت علي التجاوز التمكين : 0تمكين عدم

T0IEBit 5

0x04INTE ،0 : التمكين اإلنقطاع : RB 0/INT 1للمرفأ Bعدم INTEBit 4تمكين

0x03RBIE ،0 : التمكين تغيير : B 1عدم حدوث عند اإلنقطاع تمكينالمرفأ علي حالة

RBIEBit 3

0x02T0IFTMR0 القيمة المؤقت 1تأخذ في تجاوز حدوث T0IFBit 2عند

0x01INTFB للمرفأRB0 القيمة الجبهة 1تأخذ علي إنقطاع حدوث عند

للـــ INTFBit 1النشطة

0x00RBIFB القيمة في 1تأخذ حالة تغير جراء إنقطاع حدوث عند

RBIFBit 0المرفأ

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

العنواالسجلEQUفي p16f84.incن

TRISA0x05 Tris A 0x85PORTAA المرفأ

TRISB0x06 Tris B 0x86PORTBB المرفأ

Page 24: Pic16F84 Cours

0

0

1

1

1

1

0

0

RB7

RB6

RB5

RB4

RB3

RB2

RB1

RB0

bit7

Bit6

Bit5

Bit4

Bit3

Bit2

Bit1

Bit0

trisb

PIC

خروج

دخول

RB7 RB6 RB5 RB4 RB3 RB2 RB1 RB0

1 0 0 1 1 0 1 1

خاص عمل PORTA سجلRA7 RA6 RA5 RA4 RA3 RA2 RA1 RA0

x x x 1 1 0 1 خاص 1 عمل PORTB سجل

Page 25: Pic16F84 Cours

التعليمــــــــــــــــــــــــــات

، ثاني رمز لها مراقب للميكرو تعليمة كلبرمز ثنائي رمز كل يعوض بها التعامل لتسهيل

يسمي) ( باإلنجليزية للعملية إختصار حرفيبـــ الحرفي الميكرو Mnémoniqueالرمز لتعليمات الميمونيك مختلف قواعد

مراقبأبيات : ثمانية علي مرمزة رمز k قيمة

لسجل .f موافق

النتيجة تخزين مكان d : تحدد

Page 26: Pic16F84 Cours

التعليمات مجموعةالتحكم عنصر � PIC16F84يملك في 35نظريا استخدامهما يمكن تعليمتين إلى إضافة تعليمة

األمور . لتبسيط وذلك األحيان بعضالتحكم عنصر في التعليمات كلمات عرض خانة .14هي PIC16F84إن

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

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

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

f CLRF .0تصفير السجل الذي تم اختياره أي جعله   CLRW .0أي جعله W تصفير السجلf , d COMF W إتمام محتوى السجل الذي تم اختياره . كل الواحدات إلى أصفار وكل األصفار إلى واحدات والنتيجة في

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

.F أو W وستوضع في FF هيf , d INCF 0سيعطي النتيجة FF إضافة واحد إلى محتوى السجل الذي تم اختياره . إضافة واحد إلى سجل محتواه

.F أو W وستوضع هذه النتيجة فيf , b BCF .0تصفير الخانة المحددة في السجل المعين أي جعلها f , b BSF .1جعل قيمة الخانة المححدة في السجل المعين f , d RLF � إلى اليسار . تتم عملية التدوير عبر خانة في سجل carry تدوير الخانات في سجل معين موقعا� واحدا

.F أو W األعالم والنتيجة فيf , d RRF � إلى اليمين . تدور الخانات عبر خانة في سجل األعالم carry تدوير الخانات في سجل معين موقعا� واحدا

Flag النتيجة في W أو F. f , d SWAPF .F أو W الدنيا للسجل المعين . والنتيجة في LS العليا والـ MS التبديل ما بين الـ

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

Page 27: Pic16F84 Cours

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

f CLRF جعله أي اختياره تم الذي السجل .0تصفير  CLRW السجل جعله W تصفير .0أي

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

Page 28: Pic16F84 Cours

العمليات تعليمات مراقب

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

Page 29: Pic16F84 Cours

شيء أي تنفذ ال تعليمات

التحكم تعليمات

منطقية تعليمات

حسابية تعليمات

  NOP قم بـ ) ال شيء ( لحلقة تعليمة واحدة ، عملية تأخير زمني ، أو افساح مجال ألنماط ترميز الحقة أو هي في أثناء تنفيذ البرنامج . Break عملية

  clrwdt .Watchdog تصفير مؤقت الـ  option نموذج الخانات ( إلى سجل الخيار وذلك لمراقبة معدل عداد القيمة ) W يتم نقل محتوى الـ

المرجعية وجهة قدح ساعة التوقيت الحقيقي ومصدر عداد ساعة التوقيت الحقيقي .   sleep تجعل عنصر التحكم في حالة خمود وذلك لتخفيض استهالك الطاقة ، تتم عملية اإليقاظ من خالل

.Reset عملية إعادة التهيئة

k andlw .W مع قيمة معينة موجودة في التعليمة ، النتيجة في W لمحتوى AND تنفذ عمليةf , d andwf .W النتيجة في ، مع محتوى سجل معين W لمحتوى AND تنفذ عمليةk iorlw .W مع قيمة معينة الموجودة في التعليمة ، النتيجة في W لمحتوى OR تنفذ عمليةf , d iorwf .W النتيجة في ، مع محتوى سجل معين W لمحتوى OR تنفذ تعليمةk xorlw .W مع قيمة معينة موجودة في التعليمة ، النتيجة في W لمحتوى XOR تنفذ عمليةf , d xorwf .F أو W النتيجة في ، مع محتوى سجل معين W لمحتوى XOR تنفذ عملية

f , d addwf .W إلى محتوى سجل معين ، النتيجة في W يجمع محتوىk addlw .W يجمع قيمة محددة إلى ، النتيجة فيk sublw .W من قيمة محددة ، النتيجة في W يطرحf , d subwf أو W من محتوى سجل معين بالمتمم الحسابي الثاني ، النتيجة في W يطرح محتوى

F.

Page 30: Pic16F84 Cours

حسن على وشكرااإلصغاء