میهن داکیومنت                میهن داکیومنت                      میهن داکیومنت              میهن داکیومنت

مرکز دانلود پایان نامه ، پروژه ، روش تحقیق ، مقاله 


میهن داک - میهن داکیومنت

مقاله طراحی مینیمم سیستم با میکرو کنترلر 80196


کد محصول : 10001079 نوع فایل : word تعداد صفحات : 33 صفحه قیمت محصول : رایگان تعداد بازدید 429

دانلودرایگان فایل رمز فایل : m3d1079

فهرست مطالب و صفحات نخست


طراحی مینیمم سیستم با میکرو کنترلر 80196


   در سال 1981 شركت اينتل ميكروكنترلر 8 بيتي خود را با نام 80196 معرفي كرد كه داراي 128 بايت RAM، 4 كيلو بايت ROM، دو تايمر، يك درگاه سريال و 4 درگاه كه تماماً بر روي يك تراشه بود. 80196 يك ريزپردازنده 8 بيتي است به اين معني كه CPU آن در هر بار مي تواند فقط بر روي 8 بيت داده كار كند و داده هاي بزرگتر بايد به قسمتهاي 8 بيتي شكسته شود.
   پس از اينكه اينتل اجازة ساخت و فروش 80196 را با شرط حفظ سازگاري كد با 80196 به سازنده گان ديگر داد، 80196 از محبوبيت زيادي برخوردار شد.
   اين نكتة بسيار مهمي است كه با وجود ويژگيهاي مختلف در سرعت و مقدار ROM به كار رفته در انواع 80196، سازگاري كامل با 80196 اصلي و دستورالعملهاي مربوطه هنوز هم وجود دارد. يعني اگر برنامه اي براي يكي از 80196ها نوشته شود مي توان آن را بر روي 80196هاي ديگر اجرا كرد. صرفنظر از سازندة ميكروكنترلر 80196.
 ويژگيهاي 80196   
        ROM                      1            Serial Port                         4kbytes
RAM                  6            Interrupt Sources               28bytes
Timer                          2
I/O Pins                      32

   ميكرو كنترلر80196  عضو اصلي خانوادة 80196  است كه شركت ايتل از آن به عنوان MCS-51  ياد مي كند.
   اعضاي ديگر خانوادة 80196، 8052، 8031، 8751 و... مي باشد.
80196 
 درون 80196

   در يكCPU  از ثباتها ، Register به عنوان مكاني براي ذخيره سازي موقت اطلاعات مورد استفاده قرار مي گيرد. اكثر ثباتهاي 80196 ، 8 بيتي هستند.
   در ثباتهاي 80196 فقط داده 8 بيتي مي تواند قرار داد. در دياگرام زير يك ثبات با 8 بيت خود به ترتيب از با ارزشترين D7 تا كم ارزشترين D0 نشان داده شده است.

D7    D6    D5    D4    D3    D2    D1    D0

تعدادي از ثباتها كه بيشترين كاربرد را دارند عبارتند از:
   A (انباشتگر) B ، R0، R1، R2، R3، R4، R5، R6، R7، DPTR (شانگر داده) و PC        (Program counter شمارندة برنامه) كه همگي 8 بيتي اند به جزء DPTR و PC .
   ثبات PC يا شمارندة برنامه به آدرس دستورالعمل بعدي كه اجرا خواهد شد اشاره       مي كند. زماني كه CPU كه عملي را از برنامة موجود در ROM واكشي مي كند شمارندة برنامه افزايش يافته و به دستورالعمل بعدي اشاره مي كند. اين ثبات 16 بيتي است.
   به هنگام روشن شدن ميكروكنترلر 80196 همگي از آدرس0000  شروع به كار مي كنند. به عبارت ديگر هنگام روشن شدن PC مقدار 0000 را در خود خواهد داشت.

پايه هاي 80196

   در شكل زير 32 پايه از مجموع 40 پايه در 80196 به چهار درگاه P0، P1، P2، P3 اختصاص دارند. (شكل صفحة                )
   دو پايه PSEN و ALE به طور عمده توسط سيستمهاي مبتني بر 8031 به كار گرفته   مي شوند.

 XTAL1 و XTAL2
   با وجود اينكه 8052 تراشه اي است كه داراي نوسانساز اما نيازمند يك ساعت خارجي براي راه اندازي آن است كه بيشتر از يك كريستال نوسانساز از نوع كوارتز به وروديهاي XTAL1 (پايه 19) و XTAL2 (پايه 18) متصل مي شود.
EA
   اعضاي خانوادة 80196 همگي به همراه يك ROM بر روي تراشه براي ذخيره برنامه ها ارائه مي شوند در چنين مواردي بايد پايه EA (پايه اكو) به VCC متصل شود در غير اين صورت پايه به GND وصل مي شود.

پايه هاي درگاه I/O
   چهار درگاه P0، P1، P2، P3 هر كدام با استفاده از 8 پايه درگاههاي 8 بيتي ايجاد         مي كنند، كه تمتماً به صورت خروجي پيكربندي شده اند كه اگر به صورت ورودي بخواهد مورد استفاده قرار گيرد بايد به وسيلة مقاومتهاي متصل شده به درگاه و با برنامه، تمام بيتهاي درگاه را به 1 تبديل كرد.
MOV  A,#0FFH
MOV  P0.A
در اين مثال درگاه P0 به ورودي تبديل مي شود.

نقش دوگانه درگاه 0
   همانطوري كه در شكل مشاهده مي شود درگاه 0 براي AD0 تا AD7 نيز طراحي شده است كه امكان استفاده از داده و آدرس را به درگاه مي دهد. هنگامي كه 80196 يا 8031 به يك حافظة‌خارجي متصل است درگاه تدارك بيننده آدرس و داده براي آن است. ALE نشان دهنده اين است كه آيا P0 داراي آدرس است يا داده اگر ALE صفر باشد داده و اگر ALE=1 باشد آدرس تدارك ديده مي شود.
   درگاه 2 براي A8 تا A15 نيز طراحي شده است. 8031 قابليت دسترسي به 64K بايت حافظة را دارد، از اين رو يك مسير 16 بيتي آدرس دهي خواهد داشت. 8 بيت به وسيلة درگاه 0 و 8 بيت ديگري به وسيلة درگاه 0


دستورالعمل MOV
   دستورالعمل MOV داده اي را از يك مكان به مكان ديگر كپي مي كند، كه فرمت آن به صورت زير است

MOV Deest,Source
   اين دستور به CPU مي گويد كه عملوند آن را به عملوند مقصد كپي كند. براي مثال در دستورالعمل “MOV A,R3 “ محتويات ثبات R3 به A منتقل مي شود كه پس از اجرا ثبات A محتويات R3 را در بر خواهد داشت. دستور MOV هيچ تأثيري در عملوتد منبع ندارد. انتقال مقدار بزرگتر از ظرفيت ثبات خطا به دنبال خواهد داشت.
نكته: علامت “#”  پوند نشانگر مقدار است كه هر كدام از ثباتهاي A و B و R0-R7      مي توانند با مقدار كپي شود. كه اگر علامت “#” قرار داده نشود. مفهوم آن بار شدن از يك مكان حافظه است. براي مثال دستور “MOV A و 17H”  به معني انتقال محتويات مكان حافظه 17H به ثبات A است، كه دمي تواند هر مقداري را در خود داشته باشد.

دستورالعمل ADD
”ADD  A,Source”
   افزودن عملوند   انباشتگر (A) است.
در دستور محاسباتي  ثبات A حتماُ بايد مقصد تمام عمليات محاسباتي باشد.

ORG
     نشان دهندة اين است كه برنامه اي كه مي خواهد شروع شود از چه خانه اي آغاز شود.

DB
 
   DB (DeFile Byte) براي تعريف داده هاي 8 بيتي استفاده مي شود كه در برنامه به اسم مشخص است.
                ORG  1000H
MY DATA : DB        1,5,7
                      MOV     A, My Data
                      MOV     A, My Data
در DB اعداد مي توانند به فرمهاي هگزا، اسمال باينري يا اسكي به كار رود.


EQU (Eguate)
   اين دستور دهنده براي تعريف يك مقدار ثابت استفاده مي شود به نحوي كه مكاني از حافظه اشغال نمي شود و وابسته به يك مقدار با چسب است.
Count    EQV    25
MSV     R3,#Count
   پس از اجرا ثبات R3 مقدار25 را خواهد داشت مزيت EQV اين است كه اگر مقدار ثابتي در جاهاي مختلفي تكرار شده باشد و برنامه نويس بخواهد تمام آنها را تغيير دهد با استفاده از EQV اين كار انجام مي گيرد.

END
   پايان برنامه را نشان مي دهد.
برنامه هاي تأخير
   براي اجراي يك دستورالعمل توسط CPU تعداد مشخص چرخه ساعت (Clock Cycles) مورد نياز است كه در خانوادة 80196 با عنوان چرخه هاي ماشين نام برده مي شود.                                       در 80196 طول چرخة ماشين بستگي به فركانس توليد شده توسط كريستال نوسانسازي دارد كه بر روي مدار تراشه قرار دارد. و منبع ساعت براي 80196 مي باشد.
   اغلب كريستال نوسانساز 11.0592 MHZ است كه يك چرخة ماشين 1/12 فركانس كريستال را دريافت و سپس آنرا معكوس مي كنند.
مثال: اگر فركانس كريستال 11.0592 MHZ باشد چرخة ماشين 1.085 MS مي باشد زيرا 1/921.6 KHZ                      11.0592/12=921.6 KHZ                                        
   هر دستور براي تعيين ميزان تأخير تعداد چرخه هاي ماشين آن دستور را در 1.085 ضرب مي كنند.
مثلاً دستور “MOV   R5,#3” و يك چرخة ماشين دارد كه زمان اجراي آن \X\ .085 MS  مي باشد.
يا “MVL AB” 1.085 MS=4.34 MS ×4
برنامه ريزي تايمر
   80196 دو تايمر/ شمارنده دارد، تايمر براي توليد تأخير زماني و شمارنده براي شمارش حوادث اتفاق افتاده كاربرد دارد. تايمرها به وسيلة فليپ فلاپ ساخته مي شوند 80196 دو تايمر دارد تايمر 0 و تايمر 1 كه هر دو 16 بيتي اند.
   ثبات تايمر ها به وسيلة دو بايت كم ارزش و پردازش قابل دسترسي است. كم ارزش را براي تايمر 0، TL0 و براي تايمر 1، TL1 و پردازش را براي تايمر 0، TH0 و براي تايمر 1،TH1 مي نامند.
D15    D14    D13    D12    D11    D10    D9    D8    D7    D6    D5    D4    D3    D2    D1    D0
 
        TH                                                                       TL                     


ثبات TM0D (حالت تايمر)
   هر دو تايمر براي تنظيم حالات كاري از ثبات TM0D استفاده مي كنند. كه 8 بيت دارد، كه 4 بيت كم ارزش آن براي تايمر 0 است.  
GATE    4T    M1    M0    GATE    CLT    M1    M0
                                                    
                         تايمر0                                                       تايمر 1  
حالت عمل                                                                     حالت                 M0        M1
حالت تايمر 13 بيتي. 8 بيت بالاي تايمر (THX)                     0            0                     0 با 5 بيت پائيني از 8 بيت پائين تايمر (TLX)

حالت تايمر 16 بيتي. تايمر 16 بيتي كه THX                        0           1                      1
و TLX به هم پيوسته اند.

بار شدن خودكار 8 بيتي1           0                      2                                                  
 
حالت تايمر دو قسمتي1            1                      3                                                     

حالت 1 و 0
   تايمر 16 بيتي است از 0000 تا FFFF
   بعد از مقدار دهي TH و TL تايمر با دستور “SETB TR0” يا “SETB TR1” شروع    مي شود.
   بعد از اينكه تايمر شروع به شمارش كرده و افزايش مي كند تا به مقدار FFFF# برسد. هنگامي كه از FFFF# به 0000 بر مي گردد بيت پرچم (TF) يك مي شود. كه با دستور       “CLR TR0” يا “CLR TR1” تايمر متوقف مي شود سپس بايد ثباتهاي TH و TL جهت تكرار عمليات دوباره با مقادير اصلي و TF با 0 مقدار دهي شود.
   نتيجه پرچم TF براي اينكه يك مي شود يا نه را مي توان با دستور “JNB TFX, Target” بررسي كرد.
پيدا كردن مقادير TH و TL
فرض XTAL=11.0592 باشد. تأخير زماني را بر 1.085 MS تقسيم مي شود.
65536-N مي شود كه N مقدار دهدهي از تقسيم بالايي است.
حاصل را به مبناي 16 مي بريم YYXX كه TH=YY و TL=XX.
مثال: اگر XTAL=11.0592 MHZ باشد براي تأخير زماني 5 MS مقادير عبارتند از:
5/1.085 ms/MS =4608 پس 65536-4608=EE00H پس TH=EE ، TL=00
   حالت0 دقيقاً مشابه حالت1 است با اين تفاوت كه تايمر13 بيتي است كه مي تواند مقادير 0000 تا1FFFH را درTH وTL نگه دارد.
حالت 2
   حالت 2، 8 بيتي است پس مقادير بين 00 تا FFH را در TH ذخيره مي كند. بعد از اينكه TH بار دهي شد،80196 يك كپي از آن را درون TL قرار مي دهد. بعد از شروع تايمر TL افزايش پيدا مي كند تا به FFH برسد و از آنجا به 00 برگردد پرچم TF يك مي شود. TL به طور خودكار با مقدار اصلي اوليه كه توسط ثبات TH نگهداري مي شد، مقدار دهي مي شود.  در ثبات TMOD دو پايه GATE و C/T نيز مي باشد. C/T اگر صفر باشد حالت تايمر و اگر يك باشد حالت شمارنده است. هنگامي كه پايه GATE يك است تايمر/ شمارنده وقتي فعال مي شود كه INTxيك بوده و پايه كنترل TRx تنظيم شده باشد.

ثبات TCON
   TR0 و TR قسمتي از ثبات 8 بيتي TCON(Timer Control) است. كه در زير مشاهده مي شود.


TF1    TR1    TF0    TR0    IE1    IT1    IE0    IT0


چهار بيت پرارزش آن براي ذخيره بيتهاي TF و TR از دو تايمر 0 و تايمر 1 مي باشند و چهار بيت كم ارزش آن براي كنترل وقفه مي باشند.

نرم افزار مربوطه

LS            EQU    30H
HS            EQU    31H
LM            EQU    32H
HM            EQU    33H
LH            EQU    34H
HH            EQU    35H
COUNT0        EQU    36H
COUNT1        EQU    37H

CLOCK_FLAG    BIT    00H
F_DOT        BIT    01H

ORG 00H
JMP MAIN

ORG 0BH
JMP CHECK_TIME

MAIN:
MOV LS,#5
MOV HS,#5
MOV LM,#9
MOV HM,#5
MOV LH,#2
MOV HH,#1
CLR    P3.3
CLR    P3.2
CLR    P3.1
CLR    P3.0
MOV    DPTR,#TABLE0
MOV IE,#82H
MOV TMOD,#1
MOV TL0,#LOW(-49998)
MOV TH0,#HIGH(-49998)
SETB TR0
MOV     COUNT0,#10
MOV     COUNT1,#2

BEGIN:
JNB        P0.6,B_1
CALL    SHOW_HOUR
JMP            B_2
B_1:    CALL     SHOW_SECOND
B_2:JMP        BEGIN

CHECK_TIME:
;    PUSH    ACC
MOV     TL0,#LOW(-49998)
MOV     TH0,#HIGH(-49998)
INC        COUNT1
MOV        R1,COUNT1
CJNE    R1,#10,DDD0
MOV        COUNT1,#0
CPL        F_DOT

DDD0:
DJNZ    COUNT0,Z0
MOV        COUNT0,#20
CALL    EDIT_TIME
Z0:    ;POP    ACC
RETI


DELAY002:
C4:   MOV R2,#10
C3:   MOV R3,#1
C2:   NOP
DJNZ R3,C2
DJNZ R2,C3
RET
;///////////////FOR CHECKING THE TIME SITUATION (24,60,60)
EDIT_TIME:
INC LS
MOV A,LS
CJNE A,#10,Z1
MOV LS,#0
INC HS
MOV A,HS
CJNE A,#6,Z1
INC LM
MOV HS,#0
MOV A,LM
CJNE A,#10,Z1
INC HM
MOV LM,#0
MOV A,HM
CJNE A,#6,Z1
MOV HM,#0
INC LH
MOV A,LH
CJNE A,#10,Z2
MOV LH,#0
INC HH
JMP Z1
Z2:  MOV A,HH
CJNE A,#1,Z1
MOV A,LH
CJNE A,#3,Z1
MOV HH,#0
MOV LH,#1
CPL    P2.2
Z1:RET


SHOW_HOUR:
MOV        A,HH
MOVC    A,@A+DPTR
CLR        P3.0
MOV        P1,A
SETB    P1.7
SETB    P3.3
CALL    DELAY002
MOV        A,LH
MOVC    A,@A+DPTR
CLR        P3.3
MOV        P1,A
SETB    P1.7
SETB    P3.2
MOV        C,F_DOT
MOV        P1.7,C
CALL    DELAY002
SETB    P1.7
MOV        A,HM
MOVC    A,@A+DPTR
CLR        P3.2
MOV        P1,A
SETB    P1.7
SETB    P3.1
CALL    DELAY002
MOV        A,LM
MOVC    A,@A+DPTR
CLR        P3.1
MOV        P1,A
SETB    P1.7
SETB    P3.0
CALL    DELAY002
RET

SHOW_SECOND:
MOV        A,HS
MOVC    A,@A+DPTR
CLR        P3.0
MOV        P1,A
SETB    P1.7
SETB    P3.1
CALL    DELAY002
MOV        A,LS
MOVC    A,@A+DPTR
CLR        P3.1
MOV        P1,A
SETB    P1.7
SETB    P3.0
CALL    DELAY002
RET

TABLE0:DB 3FH,6,5BH,4FH,66H,6DH,7DH,7,7FH,6FH
END

توضيح نرم افزار ساعت ديجيتالي

ابتدا در RAM نامگذاري صورت گرفنه است سپس ميكرو به قسمت MAIN پرش مي كند كه با شش دستوراول مقدار 12:59:55” در سون سگمنت مقدار دهي مي شود . با دستور CLR  P3.3 پايه هاي 10  تا13 ميكرو مقدار صفر مي گردد . سپس DPTR مقدار جدول را مي گيرد و اينتراپت 1 اتنخاب مي شود و حالت صفر از تايمر صفر را اتخاب مي كند مقدار TL0و TH0تقريبا 5 ms مقدار دهي مي شود . آنگاه تايمر روشن مي شود ( با دستور SETB  TR0 ) با دستور MOVE   COUNTO, #10   پنجاه ميلي ثانيه 10بار تكرار مي شود كه نيم ثانيه بدست مي أيد و LED  از سون سگمنت مربوط به دقيقه چشمك زدن را شروع مي كند
BEGIN 
پايه P0.6 به كليد وصل شده است كه اگر كليد فشار داده شود سون سگمنت ها فقط ثانيه را نشان مي دهند و اين سيكل تكرار مي شود در غير اين صورت ساعت نشان داده مي شود
مقدار ساعت اصلي در قسمت EDIT_TIME است
مقدار LS (مقدار 5) يك واحد افزوده مي شود و در رجيستر A ريخته مي شود اگر رجيستر A  با مقدار 10 برابر نبود ، پاين مي يابد و اگر A=10 باشد مقدار  LS  با صفر پر مي شود .
سپس مقدار HS (مقدار 5 ) يك واحد افزوده مي شود و در رجيستر A  ذخيره
 مي گردداگر به 6رسيد LM زياد مي شود و HS صفر مي گردد .
به همين ترتيب  LM زياد مي شود سپس  HMو…
DELAY 002
اين زير برنامه تاخير ايجاد مي كند بدين صورت كه R2را برابر 10و R3 را برابر 10 قرار مي دهد سپس NOP تاخير ايجاد مي كند R3  را كم مي كند (R3=0) و دو باره تاخير ايجاد مي كند بعد R2 را يكي كم كرده و R3  را برابر 1  قرار مي دهد و دوباره سيكل قبلي تكرار مي شود اگر R2=0  شد أنگاه زير برنامه تمام مي شود .

واحد پردازش مركزي
CPU‌،به عنوان «مغز» سيستم كامپيوتري،تمامي فعاليت هاي سيستم را اداره كرده و همه عمليات روي داده را انجام مي دهد.انديشة اسرار آميز بودن CPU در اغلب موارد ناردست است زيرا اين تراشه فقط مجموعه اي از مدارهيا منطقي است كه بطور مداوم دو عمل انجام مي دهند:واكنشي دستورالعمل ها و اجراي آنها،CPU‌توانايي درك و اجراي دستورالعمل هاي را براساس مجموعه اي از كدهاي دورويي دارد كه هريك از اين كدها نشان دهندة يك عمل ساده است.اين دستورالعمل ها معمولاً حسابي (جمع،تفريق،ضرب و تقسيم)،منطقي (AND،OR،NOT و غيره)انتقال داده يا عمليات انشعاب هستند و يا مجموعه اي از كدهايي دروريي با نام مجموعه دستورالعمل ها نشان داده مي شوند.

حافظه نيمه رسانا:RAM‌ وROM
برنامه ها و داده ها در حافظه ذخيره مي شوند.حافظه هاي كامپيوتر بسيار مشوعند و اجزاي همراه آنها بسيار و تكنولوژي بطور دائم و پي در پي موانع را برطرف مي كند.بگونه اي كه اطلاع از جديدترين پيشرفت ها نياز به مطالعة جامع و مداوم دارد.حافظه هايي كه به طور مستقيم توسط CPU قابل دستيابي مي باشند،IC‌ هاي (مدار مجتمع)نيمه رسانايي هستند كه RAM‌و ROM  ناميده مي شوند.دو ويژگي RAM  و ROMرا از هم متمايز سازد:اول آنكه RAM حافظه خواندني /نوشتني است‌.در حاليكه ROM حافظه خواندني است و دوم آنكه RAM فرّار است(يعني محتويات آن هنگام عبور ولتاژ تغذيه مي شود)در حالي كه ROM‌ غيرفرّار است.
ابزارهاي كنترل /نظارت
به كمك ابزارهاي كنترل/نظارت در برخي نرم افزارها و روابط هاي الكترونيكي (دقيق)كامپيوترها مي توانند كارهاي كنترلي زيادي را بي وقفه،بدون خستگي و بسيارفراتر از توانايي انسان انجام دهند.
كاربردهايي نظير كنترل حرارت يك ساختمان،محافظت از خانه، كنترل آسانسور،كنترل وسايل خانگي و حتي جوش دادن قطعات مختلف يك خودرو همگي با استفاده از اين ابزارها امكان پذير هستند.ابزارهاي كنترل،ابزارهاي خروجي يا عمل كننده هستند.آنها وقتي كه با يك ولتاژ با جريان،تغذيه شوند مي توانند بر جهان پيرامون خود اثر بگذارند(مثل موتورها مولدها).ابزارهاي نظارت،ابزارهاي ورودي يا مسگر هستند كه با كميت هايي نظير حرارت،نور،فشار،حركت و مانند آن،تحريك شده و آنها را به جريان يا ولتاژي كه توسط CPU خوانده مي شود تبديل مي كنند(مثل فتوترانزيستورها و ترميستورها و سوئيچ ها).ولتاژ يا جريان توسط مدارهاي واسطه، به يك دادة دورويي تبديل مي وشد و يا برعكس و سپس نرم افزار،يك رابطه منطقي بين ورودي ها و جروجي ها برقرارمي كند.

مقايسه ريز پردازنده ها با ميكروكنترلرها
پيش از اين خاطرنشان شد كه ريز پردازنده ها CPU هايي تشكيل تك تراشه هستند و در ميكروكامپيوترها به كار مي روند.پس فرق ميكروكنترلرها با ريز پردازنده ها چيست؟با اين سؤال از سه جنبه مي توان برخورد كرد:معماري سخت افزار،كاربردهاي و ويژگي هاي مجموعه دستورالعمل ها.

معمار سخت افزار
در حالي كه زيز پردازنده يك CPU‌ تك تراشه اي است،ميكروكنترلر در يك تراشه واحد شامل يك CPU‌و بسياري از مدرارات لازم براي يك سيستم ميكروكامپيوتري كامل مي باشد. علاوه بر CPU‌ ميكروكنترلرها شامل RAM و ROM يك رابطه سريال،يك رابط سريال،يك رابط موازي،تايمر و مدارات زمانبدي البته مقدار RAM‌روي تراشه حتي به ميزان آن در يك سيستم ميكروكامپيوتري كوچك هم نمي رسد اما آن طور كه خواهيم ديد اين مسأله محدوديتي ايجاد نمي كند زيرا كاربردهاي ميكروكنترلر بسيار متفاوت است.يك ويژگي مهم ميكروكنترلرها،سيستم وقفة موجود در داخل آنهاست.ميكروكنترلرها به عنوان ابزار هاي كنترل گرا اغلب براي پاسخ بي درنگ به محركهاي خارجي (وقفه ها)مورد استفاده قرار مي گيرند.يعني بايد در پاسخ به يك «اتفاقي» سريعاً يك فرآيند را معدق گذاره،به فرآيند ديگر بپردازند.باز شدن در يك اجاق مايكروويو مثالي است از يك اتفاق ممكن است باعث ايجاد يك وقفه در يك سيستم ميكروكنترولي شود.البته اغلب ريز پردازنده ها مي توانند سيستم هاي وقفة قدرتمندي را به اجرا بگذارند،اما برا اين كار معمولاً نياز به اجزاي خارجي دارند.مدارات روي تراشه يك ميكروكنترولر شامل تمام مدارات مورد نياز براي بكارگيري وقفه هاي مي باشد.
 
«كاربردها»
ريز پردازنده اغلب به عنوان CPU در سيستم هاي ميكروكامپيوتري بكار مي روند.اين كاربرد دليل طراحي آنها و جايي است كه مي توانند خود را به نمايش بگذارند.با اين وجود ميكروكنترلرها در طراحي هاي كوچك با كمترين اجزاء ممكن كه فعاليت هاي كنتري گرا انجام مي شد.يك ميكروكنترلر مي تواند در كاهش تعداد كل اجزاء كمك كند.آنچه كه مورد نياز است عبارت است از يك ميكروكنترلر،تعداد كمي اجزاء‌پشتيبان و يك برنامه كنترلي در ROM ميكروكنترلرها براي «كنترل» ابزارهاي I/O در طراحي هايي با كمترين تعداد اجزاء ممكن مناسب هستند،اما ريزپردازنده ها براي «پردازش» اطلاعات در سيستم هاي كامپيوتري مناسبند.

«ويژگي هاي مجموعة دستورالعمل ها»
به علت تفاوت در كاربردها،مجموعه دستورالعمل هاي مورد نياز براي ميكروكنترلرها تاحدودي با ريز پردازنده ها تفاوت دارد.مجموعه دستورالعمل هاي ريز پردازنده ها بر عمل پردازش تمركز يافته اند و در نتيجه داراي روش هاي آدرس دهي قدرتمند به همراه دستورالعمل هايي براي انجام عمليات روي حجم زياد داده مي باشند. دستورالعمل هاي روي چهار بيت ها،بايتها،كلمه ها يا حتي كلمه هاي مضاعف عمل مي كنند.روش هاي آدرس دهي با استفاده از فاصله هاي نسبي و اشاره گر هاي آدرس امكان دسترسي به آرايه هاي بزرگ داده را فراهم مي كنند.حالت هاي افزايش يك واحدي اتوماتيك و كاهش يك واحدي اتوماتيك حركت گام به گام روي بايت ها،كلمه ها  كلمه هاي مضاعف را درآرايه ها آسان مي كنند.دستورالعمل هيا رمزي نمي توانند در داخل برنامه كاربرد اجرا شوند وبسياري ويژگي هاي ديگر از اين قبيل.از طرف ديگر ميكروكنترلرها مجموعه دستورالعمل هايي مناسب براي كنترل ورودي ها و خروجي ها دارند.ارتباط با بسياري از ورودي ها و خروجي ها تنها نيازمند يك بيت است.براي مثال يك موتور مي تواند توسط يك سيم پيچ كه توسط يك درگاه خروجي يك بيتي انرژي دريافت مي كند،روشن و خاموش شود.ميكروكنترلرها دستورالعمل هايي براي 1 كردن و0‌كردن بيت هاي جداگانه دارند و ديگر عمليات روي بيت ها مثل AND،OR‌ يا XOR كردن منطقي بيت ها،پرش در ثورت ايا پاك بودن يك بيت و مانند آن ها را نيز انجام مي دهند.اين ضميمة مفيد بندرت در ريزپردازنده يافت مي شود زيرا آنها معمولاً براي كار روي بيت ها يا واحدهاي بزرگتر داده طراحي مي شوند.براي كنترل و نظارت بر ابزارها (شايد توسط يك رابط تك بيتي)،ميكروكنترلرها مدارات داخلي و دستورالعمل هايي براي عمليات ورودي/خروجي،زمان بندي انفاقات و فعال كردن و تعيين اولويت وقفه هاي ناشي از محرك هاي خارجي دارند.ريزپردازنده ها اغلب به مدارات اضافي (IC‌ هاي رابط سريال،كنترل كننده هاي وقفه،تايمرها و غيره)براي انجام اعمال مشابه نيازدارند.با اين همه در قدرت پردازش محض،يك ميكروكنترلر هرگز به ريزپردازنده نمي رسد(اگر در بقيه موارد يكسان باشند)زيرا بخش عمدة «فضاي واقعي».IC ميكروكنترلر صرف تهيه امكانات روي تراشه مي شود البته به قيمت كاهش توان پردازش.از آنجا كه فضاهاي واقعي در تراشه براي ميكروكنترلر اهيمت دارند دستورالعمل ها بايدبي نهايت فشرده باشند و اساساً در يك بايت پياده سازي شوند.يكي از نكات در طراحي جادادن برنامه كنترلي در داخل ROM‌ روي تراشه است.زيرا افزودن حتي يك ROM خارجي هزينه نهايي توليد را بسيار افزايش مي دهد.به ريزدرآوردن فشرده براي مجموعه دستورالعمل هاي ميكروكنترلر اساسي است،در حاليكه ريزپردازنده بندرت داراي ويژگي مي باشند،روش هاي آدرس دهي قدرتمند آنها باعث به رمز درآوردن غيرفشردة دستورالعمل ها مي شود.
«مفاهيم جديد»
ميكروكنترلر مانند ديگر فرآورده هايي كه پيش از آن براي برطرف كردن موانع كار مورد ملاحظه بودند،توسط دو نيروي مكمل هم يعني نياز بازار و تكنولوژي جديد بوجود آمده اند.تكنولوژي جديد همان است كه پيش از اين ذكر شد،يعني نيمه رساناهايي با ترانزيستورهاي بيشتر در فضاي كمتر كه با قيمت پايين تري به صورت انبوه توليد مي شوند.نياز بازار،تقاضاي صنعت و مصرف كنندگان وسايل و اسباب بازي هاي هوشمند مي باشد.اين تعريف گسترده اي است،بهترين مثال شايد داشبورد خودور باشد كه شاهد تغيير «مركز كنترل» خودرو در طي دهه گذشته بوده است.زماني راننده ها بايد با دانستن سرعت خوداكتفا مي كردند،اما امروزه نمايشي از سرعت صرفه جويي شده و زمان تقريبي رسيدن را دراختيار دارند.زماني دانستن اين كه يك كمربند ايمني در شروع حركت محكم شده است يا نه كافي بود.امروزه به ما گفته مي شود كه كدام كمربند ايمني ايراد دارد- اگر دري نيمه باز بماند بموقع توسط كلمات به ما اطلاع داده مي شود(شايد كمربند ايمني لاي درگير كرده باشد)
همه اين موارد اين مطلب را در ذهن تداعي مي كنند كه ريز پردازنده ها (و دراين مورد ميكروكنترلر)به راه حل هايي تبديل شده اند كه به دنبال يك مسأله مي گردند.به نظر مي رسد كه آنها در كاهش پيچيدگي مدارات فرآورده هاي مصرفي بسيار مؤثر عمل كرده اند بطوري كه توليدكنندگان اغلب براي افزودن امكانات اضافي اشتياق زيادي دارند،فقط به اين علت كه ميكروكنترلرها خيلي راحت براي فرآورده هاي قابل طراحي هستند.نتيجه كار،اغلب فاقد سادگي لازم مي باشد.بهترين مثل ممكن ظهور فرآورده هاي سخنگو درسال هاي اخير است.اين فرآورده ها،چه خودرو،چه اسباب بازي معمولاً مثال هايي از زياده روي ها و طراحي هاي اضافه برنياز، و شايد گوشه اي از هر دهه هشتاد هستند.در آن زمان هم بسياري معتقد بودند كه همين كه گردكهنگي روي اين وسايل بنشيند،تنها چيزي كه براي آنها باقي مي ماند قابليت كاري آنها خواهد بود.ميكروكنترلرها پردازنده هايي اختصاصي هستند آنها به خودي خود در كامپيوترها به كار نمي روند بلكه در فرآورده هاي صنعتي و وسايل مصرفي مورد استفاده قرار مي گيرند.استفاده كنندگان اين فرآورده ها اغلب از وجود ميكروكنترلرها كاملاً بي اطلاع هستند.از ديد آنها اجزاي داخلي وجود دارند اما جزو جزئيات بي اهميت طراحي به شمار مي روند.براي مثال اجاق هاي مايكروويو،ترموسات قابل برنامه ريزي،ترازو هاي الكترونيكي و حتي خودروها را مي توانيد در نظر بگيريد.قسمت الكترونيكي هر يك از اين فرآورده ها عموماً شامل ارتباط ميكروكنترلر با كليدهاي فشاري،سوئيچ ها، وسايل هشدار دهنده و لامپ هاي روي يك تابلو مي باشد.در نتيجه به استثناي برخي امكانات اضافي،طرز استفادة آنها يا فرآورده هاي الكترومكانيكي قبلي تفاوتي نكرده است و ميكروكنترلر آنها از ديد استفاده كنندگان مخفي است.برخلاف سيستم هاي كامپيوتري كه توسط قابليت برنامه ريزي و دوباره برنامه ريزي شدن،باز شناخته مي شوند،ميكروكنترلها يك بار براي هميشه و براي يك كار برنامه ريزي مي شوند.اين مقايسه به يك تفاوت اساسي در معماري اين دو سيستم منجر مي شود.سيستم هاي كامپيوتري نسبت RAM‌به ROM بالايي دارند و برنامه هاي كاربران در يك فضاي نسبتاً بزرگ ROM اجرا مي شوددر حاليكه روالهاي ارتباط با سخت افزار در يك فضاي كوچك ROM‌ اجرا مي گردد.از طرف ديگر ميكروكنترلرها نسبت ROM به RAM بالايي دارند،برنامه كنترلي آنها كه شايد نسبتاً بزرگ سيم باشد در ROM ذخيره مي شود،در حالي كه RAM فقط براي ذخيره موقت مورد استفاده قرار مي گيرد.از آنجا كه برنامه كنترلي براي هميشه در ROM ذخيره مي شود در مرتبة ميان افزار قرارمي گيرد.يعني چيزي بين سخت افزار(مدارهاي واقعي) ونرم افزار (برنامه هايي در RAM‌كه هنگام خاموش شدن سيستم پاك مي شوند)تفاوت بين سخت افزار و نرم افزار تا حدي شبيه به تفاوت بين يك صفحه كاغذ (سخت افزار)وكلمات نوشته شده روي آن (نرم افزار)مي باشد.ميان افزار را مي توان به صورت فرم هاي استانداردي كه براي يك كاربرد مشخص طراحي و چاپ شده اند درنظر گرفت.
 


منابع :


دانلود پایان نامه,خرید پایان نامه,فروش پایان نامه,پایان نامه,آرشیو پایان نامه,پایان نامه عمران,پایان نامه روانشناسی,

پایان نامه حقوق,پایان نامه اقتصاد,پایان نامه برق,پایان نامه معدن, پایان نامه کارشناسی ,پایان نامه صنایع,پایان نامه علوم سیاسی ، پایان نامه کاردانی

طراحی سایت : سایت سازان