میکروپروسسور8085
8085از 40 پايه تشكيل شده است كه هر يك را در زير به اختصارشرح
ميدهيم.
4-1-1 0AD-7AD
اين 8 پايه دو استفاده دارند، هم 8 بيت كم ارزش باس آدرس هستند و
هم 8 بيت داده ميباشند كه بوسيلة يك '138 مالتي پلكس ميشوند. ALE كه شرح آن ذكر خواهد شد به پايه فعالکننده '138 وصل میشود. اگر ALE صفر باشد، اين 8 بيت ديتا هستند در غير اين صورت
8 بيت پايين آدرس است.
4-1-2 15A-8A
يك پاية خروجي است و سيگنال Low روي اين خط باعث ميشود كه اطلاعات روي باس
داده در حافظه يا I/O نوشته شود.
4-1-4 READY
يك پاية ورودي است و در خلال سيكل خواندن يا نوشتن اگر High باشد يعني اينكه حافظه يا مدار جانبي آمادة
انتقال داده است اگر Low باشد، CPU صبر ميكند تا دوباره High شود قبل از آنكه خواندن يا نوشتنكامل شود.
4-1-5 HOLD
يك پاية ورودي است و اگر فعال باشد باعث ميشود كه خطوط آدرس و
داده در اختيار يك مدار جانبي قرار گيرد. پس CPU باس را رها خواهد كرد و پس از خارج شدن از
حالت HOLD دوباره باس را در اختيار خواهد گرفت.
4-1-6 HLDA
يك پاية ورودي است و پس از ورود به حالت Hold فعال خواهد شد و به معناي تأييد سيگنال HOLD ميباشد.
4-1-7 INTR
پاية ورودي وقفه محسوب ميشود و اگر فعال شود اجراي برنامة در
دست اجرا متوقف شده و برنامة مربوط به وقفه اجرا مي شود. بحث وقفه بعداً بيان
خواهد شد.
4-1-8 INTA
پايةخروجي است و تأييد وقفه ميباشد.
4-1-9 (7.5, 6.5) RST5.5
اين پايهها ورودي هستند و مثل INTR ورودي وقفة ميباشند و اولويت از 5.5 به 7.5 افزايش مييابد.
4-1-10 TRAP
يک وقفه ورودي است که نمیتوان آن را غير فعال است, به عبارت
ديگر "غير فعال نشدنی" است. اين ورودي وقفه, بالاترين اولويت را دارد.
4-1-11 RESET IN
ورودي ميباشد و سيگنال Low
روي اين آدرس باعث reset شدن سيستم ميگردد.
4-1-12 RESET OUT
خروجي است و نشاندهندة آن است كه CPU در حال reset شدن است.
4-1-13 X1,X2
ورودياند و به يك كريستال 4MHZ
وصل هستند كه کلاک سيستم را بوجود ميآورند.
4-1-14 CLK OUT
خروجي است. اين خروجي کلاک ميكروپروسسور, با فركانس نصف فركانس
كريستال براي استفاده ديگر اجزاء سيستم ميكرو فراهم شده است.
4-1-15 SID
ورودي داده سريال (تكبيتي) توسط دستور RIM روي پين SID در داخل بيت هفتم (MSB) آكومولاتور قرار ميگيرد.
4-1-16 SOD
خروجي دادة سريال (تكبيتي) توسط دستور SIM، بيت هفتم آكومولاتور روي اين پين قرار ميگيرد.
يك پاية خروجي است و سيگنال Low روي اين خط باعث ميشود كه محتوي حافظه يا I/O روي باس داده قرار گيرد.
4-2 شاخصها
همان طور كه در شكل (4-1)مشاهده ميكنيم 8 بيت به عنوان بيتهاي
شاخص وجود دارند كه 5 بيت آن تعريف شده و 3 بيت آن تعريف نشده است (X).
CY: اگر نتيجه حاصل از دستورالعملي، رقم نقلي
داشته باشد (از جمع) يا قرضي از بالاترين بيت بوقوع بپيوندد (در تفريق يا مقايسه)،
اين پرچم 1 ميشود و در غير اين صورت صفر خواهد
شد.
P: بيت توازن نام دارد و اگر باقيمانده
تقسيم جمع بيتهاي نتيجه عملي بر 2 صفر باشد اين پرچم 1 ميشود و در غير اين صورت صفر خواهد شد.
AC: بيت نقلي كمكي نام دارد و اگر
دستورالعملي موجب توليد رقم نقلي از بيت 3 به بيت 4 در مقدار نتيجه گردد، اين بيت
يك خواهد شد و در غيراين صورت صفر خواهد شد، اصولاً اين بيت براي جمع و تفريقهاي اعداد BCD قبل از دستور DAA به كار ميرود.
Z: شاخص صفر است و اگر نتيجة عمل يك
دستورالعمل مقدار صفر باشد اين شاخص يك ميشود و گر نه صفر باقي ميماند.
S: شاخص علامت است و اگر با ارزشترين بيت نتيجه
عملي، مقدار يك باشد اين بيت 1 خواهد شد و اگر صفر باشد، صفر خواهد شد.
يادآوری میشود به مجموع 16 بيت آکومولاتور و شاخصها, PSW گفته میشود.
4-3 انواع آدرسدهی در 8085
مجموعه دستورات يك ريزپردازنده انواع دستورات موجود را براي كار
ريزپردازنده روي داده ارائه ميدهد. پنج روش آدرس دهي در 8085 وجود دارد كه در زير
شرح داده خواهند شد.
4-3-1 روش آدرسدهي مستقيم
در اين روش همة 16 بيت آدرس به عنوان بخشي از دستور تعريف ميگردد
مثل : LDA 1000H
و اين دستور به آدرس 1000 Hرفته و داده اين آدرس از حافظه را در آکومولاتور ميريزد.
4-3-2 روش آدرسدهي ثبّاتي
گفتيم كه 6 ثبات علاوه بر
آكومولاتور در 8085 وجود دارند. روش آدرسدهي مستقيم، روش سرراستي است براي دستيابي به
حافظه ولي عيب آن نياز به سه برداشت از حافظه در ازاء هر دستورالعمل ميباشد. براي
حل اين مشكل، طراحان ريزپردازندهها معمولاً تعدادي ثبات همه منظوره كه با يك بايت
آدرس دهي ميشوند را در پردازنده لحاظ كردهاند. مثلاً دستورالعمل B و AMOV
دادة ذخيره شده در B را در A كپي ميكند.
4-3-3 روش آدرسدهي فوري
مسلمآً بايد زمينههاي باركردن ثباتهاي همه منظوره فراهم گردد.
روش آدرسدهي فوري براي نوشتن يك بايت در يكي از ثباتها به كار ميرود. مثلاً A,00HMVI عدد 00H را در آكومولاتور ذخيره ميكند.
4-3-4 روش آدرسدهي غير مستقيم
در اين روش جفت ثبات HL
قبلاً با آدرس يك خانةحافظه بار ميشود و سپس هر يك از دستورات غير مستقيم ثباتي
قابل استفاده است. مثلاً اگر HL
با عدد 1000H بار شده باشد پس از اجراي دستور MOV A , M دادة موجود در آدرس 1000H
در داخل ACC ذخيره ميشود.
4-3-5 روش آدرسدهي مستتر
بعضي از دستورات 8085 احتياجي به آدرسدهي ندارند و لذا هيچ بيتي به آدرس اختصاص داده نشده و به اينها آدرسدهي مستتر ميگويند.در کد اين دستورات آدرس وجود ندارد, مثلا HLT, POP,
PUSH, CMA
... .
در ادامه به شرح و آوردن چندين مثال از هر مجموعه مي پردازيم.
4-4-1 انتقال داده
اين دستورات انتقال داده بين ثباتها و حافظه را انجام ميدهند
MVI:MVI r,data
اين دستور مستقيماً data
كه شامل يك بايت در حافظه هست را در ثبات ذخيره ميكند.منظور
از r هر يک از رجيسترهايA, B,
C, D,
E, H
و L ميباشند. نيز اين دستور به صورت :
MVI M,data
بکار می رود و به مفهوم اين است که دادة مورد نظر, در آدرسی که در HL قرار دارد ذخيره شود.
MOV:MOV r1, r2
اين دستور محتواي r2
را در r1 كپي ميكند. نيز دستور LXI rp,data
داده 16 بيتي را در جفت رجيستر (rp) ذخيره ميكند. منظور
از rp هر يک ازجفت ثباتهايBC, DE
و HL ميباشند.
STA : STA address
اين دستور محتواي ACC
را در خانهاي از حافظه كه آدرسش در دستورالمعل آمده است قرار ميدهد.
مثال 4-1 : ميخواهيم در مكان 20A0H
حافظه مقدار F8H را بنويسيم.
LXI H,20A0Hحل :
MVI M,F8 H
مثال 4-2 : ميخواهيم محتواي حافظه در مكان 20B0H را
به مكان 20C0H كپي كنيم :
حل : راه اول : LDA 20B0H
STA 20C0H
راه دوم :
LXI H,20B0H
MOV B, M
MOV
سلام به همه دوستای خوبم