فرمت فایل:word (قابل ویرایش)
تعداد صفحات :95
فهرست مطالب :
فصل اول
آشنایی با میکروکنترلرها
1-1 مقدمه 2
2-1 اصطلاحات فنی 4
3-1 واحد پردازش مرکزی 5
4-1 حافظه نیمه رسانا: RAM و ROM 7
5-1 گذرگاهها: آدرس، داده و کنترل 7
6-1 ابزارهای ورودی/خروجی 9
1-6-1 ابزارهای ذخیره سازی انبوه 9
2-6-1 ابزارهای رابط انسان 10
3-6-1 ابزارهای کنترل/ نظارت 11
8-1 میکروها، مینیها و کامپیوترهای مرکزی 11
9-1 مقایسه ریز پردازندهها با میکروکنترلرها 12
1-9-1 معماری سخت افزار 12
2-9-1 کاربردها 13
3-9-1 ویژگیهای مجموعه ی دستوالعملها 14
فصل دوم
خلاصه سخت افزار
1-2 مروری بر خانواده MCS–50TM 17
2-2 بررسی اجمالی پایهها 18
1-2-2 درگاه 0 19
2-2-2 درگاه 1 20
3-2-2 درگاه 2 20
4-2-2 درگاه 3 20
5-2-2 PSEN (Program Store Enable) 20
6-2-2 ALE (Address Latch Enable) 21
7-2-2 EA (External Access) 21
8-2-2 RST (Reset) 22
9-2-2 ورودیهای نوسان ساز روی تراشه 22
10-2-2 اتصالات تغذیه 22
3-2 ساختار درگاه 22
4-2 سازمان حافظه 24
1-4-2 RAM همه منظوره 25
2-4-2 RAM بیت آدرس پذیر 27
3-4-2 بانکهای ثبات 27
5-2 ثباتهای کاربرد خاص 28
1-5-2 کلمه وضعیت برنامه 29
1-1-5-2 پرچم نقلی 29
2-1-5-2 پرچم نقلی کمکی 30
3-1-5-2 پرچم 0 30
4-1-5-2 بیتهای انتخاب بانک ثبات 30
5-1-5-2 پرچم سرریز 30
6-1-5-2 بیت توازن2 31
2-5-2 ثبات B 31
3-5-2 اشاره گر پشته 31
4-5-2 اشاره گر داده3 32
5-5-2 ثباتهای درگاه 4 33
6-5-2 ثباتهای تایمر 34
7-5-2 ثباتهای درگاه سریال 34
8-5-2 ثباتهای وقفه 34
9-5-2 ثبات کنترل توان4 35
1-9-5-2 حالت معلّق 35
2-9-5-2 حالت افت تغذیه 35
فصل سوم
عملیات درگاه سریال
1-3 مقدمه 37
2-3 ثبات کنترل درگاه سریال 38
3-3 حالت عملکرد 39
1-3-3 ثبات انتقال 8 بیتی (حالت 0) 39
2-3-3 UART بیتی با نرخ ارسال متغیر (حالت1) 40
3-3-3 UART بیتی با نرخ ارسال ثابت (حالت 2) 44
4-3-3 UART بیتی با نرخ ارسال متغیر (حالت 3) 44
4-3 مقدار دهی اولیه و دستیابی به ثباتهای درگاه سریال 44
1-4-3 فعال ساز گیرنده 44
2-4-3 بیت داده ی نهم 45
3-4-3 افزودن یک بیت توازن 45
4-4-3 پرچمهای وقفه 46
5-3 ارتباط چند پردازنده ای 46
فصل چهارم
وقفهها
1-4 مقدمه 49
2-4 سازمان وقفه 8051 50
1-2-4 فعال و غیر فعال کردن وقفهها 50
2-2-4 تقدم وقفه 51
3-2-4 ترتیب اجرا 52
3-4 وقفههای پردازنده 53
1-3-4 برداری وقفه 54
4-4 طراحی برنامه با استفاده از وقفه 54
1-4-4 روالهای سرویس وقفه کوچک 55
5-4 تفاوت میکروپروسسور و میکروکنترلر 56
میکروپروسسورها
فصل اول
معرفی میکروپروسسورهای Z-80، 8080 و 8085
1-1 مدلهای CPU برای میکروپروسسورهای 8080، 8085 و Z-80 58
1-2 مدلهای برنامه نویسی برای 8080، 8085 و Z-80 63
فصل دوم
ساخت میکروکامپیوتر
2-1 تولید سیگنال ساعت سیستم 66
فصل سوم
ساخت میکروکامپیوتر
3-1 سلسله مراتب حافظه 69
فصل چهارم
ساخت میکروکامپیوتر
4-1 طراحی یک دریچة ورودی 8 بیتی 71
4-2 طراحی یک دریچه خروجی 8 بیتی 71
فصل پنجم
آی سیهای پشتیبان ویژه:خانواده 8085/ 8080
5-1 A8755، 16KEPROM با I/O 73
5-2 متصل کننده قابل برنامه ریزی وسیله جانبی A8255 73
فصل ششم
آی سیهای پشتیبان ویژه: خانواده Z-80
6-1 کنترل کنندة ورودی/خروجی موازی Z8400 75
منابع 77
فصل اول
آشنایی با میکروکنترلرها
1-1 مقدمه
گرچه کامپیوترها تنها چند دههای است که با ما همراهند، با این حال تاثیر عمیق آنها بر زندگی ما با تاثیر تلفن، اتومبیل و تلویزیون رقابت میکند. همگی ما حضور آنها را احساس میکنیم، چه برنامه نویسان کامپیوتر و چه دریافت کنندگان صورت حسابهای ماهیانه که توسط سیستمهای کامپیوتری بزرگ چاپ شده و توسط پست تحویل داده میشود. تصور ما از کامپیوتر معمولاً داده پردازی است که محاسبات عددی را بطور خستگی ناپذیری انجام میدهد.
ما با انواع گوناگونی از کامپیوترها برخورد میکنیم که وظایفشان را زیرکانه و بطرزی آرام، کارا و حتی فروتنانه انجام میدهند و حتی حضور آنها اغلب احساس نمی شود. ما کامپیوترها را به عنوان جزء مرکزی بسیاری از فرآوردههای صنعتی و مصرفی از جمله، در سوپر مارکتها داخل صندوقهای پول و ترازوها؛ در خانه، در اجاق ها، ماشینهای لباسشویی، ساعتهای دارای خبر دهنده و ترموستات ها؛ در وسایل سرگرمی همچون اسباب بازیها، VCRها، تجهیزات استریو و وسایل صوتی؛ در محل کار در ماشینهای تایپ و فتوکپی؛ و در تجهیزات صنعتی مثل متههای فشاری و دستگاههای حروفچینی نوری مییابیم. در این مجموعهها کامپیوترها وظیفه ی کنترل را در ارتباط با دنیای واقعی، برای روشن و خاموش کردن وسایل و نظارت بر وضعیت آنها انجام میدهند. میکروکنترلرها (برخلاف میکروکامپیوترها و ریزپردازنده ها) اغلب در چنین کاربردهایی یافت میشوند.
با وجود این که بیش از بیست سال از تولد ریز پردازنده نمی گذرد، تصور وسایل الکترونیکی و اسباب بازیهای امروزی بدون آن کار مشکلی است. در 1971 شرکت اینتل، 8080 را به عنوان اولین ریزپردازنده موفق عرضه کرد. مدت کوتاهی پس از آن، موتورولا، RCA و سپس MOS Technology و Zilog انواع مشابهی را به ترتیب به نامهای 6800، 1801، 6502، Z80 عرضه کردند. گرچه این مدارهای مجتمع (ICها) به خودی خود فایده چندانی نداشتند اما به عنوان بخشی از یک کامپیوتر تک بورد (SBC)، به جزء مرکزی فرآوردههای مفیدی برای آموزش طراحی با ریزپردازندهها تبدیل شدند.
از این SBCها که بسرعت به آزمایشگاههای طراحی در کالج ها، دانشگاهها و شرکتهای الکترونیکی راه پیدا کردند میتوان برای نمونه از D2 موتورولا، KLM-1 ساخت MOS Technology و SDK-85 متعلق به شرکت اینتل نام برد.
میکروکنترلرقطعه ای شبیه به ریزپردازنده است. در 1969 اینتل 8748 را به عنوان اولین قطعه خانوادهی میکروکنترلرهای MCS-48 TM معرفی کرد. 8748 با 17000 ترانزیستور در یک مدار مجتمع، شامل یک CPU، 1 کیلو بایت EPROM، 64 بایت RAM، 27 پایه I/O و یک تایمر 8 بیتی بود. این IC و دیگر اعضای MCS-48 TM که پس از آن آمدند، خیلی زود به یک استاندارد صنعتی در کاربردهای کنترل گرا تبدیل شدند. جایگزین کرن اجزاء الکترومکانیکی در فرآوردههایی مثل ماشینهای لباسشویی و چراغهای راهنمایی از ابتدای کار، یک کاربرد مورد توجه برای این میکروکنترلرها بودند و همین طور باقی ماندند. دیگر فرآوردههایی که در آن میتوان میکروکنترلر را یافت عبارتند از اتومبیل ها، تجهیزات صنعتی، وسایل سرگرمی و ابزارهای جانبی کامپیوتر. (افرادی که یک IBM-PC دارند کافی است به داخل صفحه کلید نگاه کنند تا مثالی از یک میکروکنترلر را در یک طراحی با کمترین اجزاء ممکن ببینند).
توان و ابعاد پیچیدگی میکروکنترلرها با اعلام ساخت 8051، یعنی اولین عضو خانواده ی میکروکنترلرهای MCS-51 TM در 1980 توسط اینتل پیشرفت چشمگیری کرد.در مقایسه با 8048 این قطعه شامل بیش از 60000 ترانریستور، K 4 بایت ROM، 128 بایت ROM، 32 خط I/O، یک درگاه سریال و دو تایمر 16 بیتی است. که از لحاظ مدارات داخلی برای یک IC بسیار قابل ملاحظه است.، (شکل 1-1 را ببینید). امروزه انواع گوناگونی از این IC وجود دارند که به صورت مجازی این مشخصات را دو برابر کرده اند. شرکت زیمنس که دومین تولید کننده ی قطعات MCS-51 TM است SAB80515 را به عنوان یک 8051 توسعه یافته در یک بسته 68 پایه با شش درگاه I/O 8 بیتی، 13 منبع وقفه و یک مبدل آنالوگ به دیجیتال با 8 کانال ورودی عرضه کرده است. خانواده ی 8051 به عنوان یکی ار جامعترین و قدرتمندترین میکروکنترلرهای 8 بیتی شناخته شده و جایگاهش را به عنوان یک میکروکنترلر مهم برای سالهای آینده یافته است. این کتاب درباره ی خانواده ی میکروکنترلرهای MCS-51 TM نوشته شده است. فصلهای بعدی معماری سخت افزار و نرم افزار خانواده MCS-51 TM را معرفی میکند و از طریق مثالهای طراحی متعدد نشان میدهند که چگونه اعضای این خانواده میتوانند در طراحیهای الکترونیکی با کمترین اجزاء اضافی ممکن شرکت داشته باشند.
در بخشهای بعدی از طریق یک آشنایی مختصر با معماری کامپیوتر، یک واژگان کاری از اختصارات و کلمات فنی که در این زمینه متداولند (و اغلب با هم اشتباه میشوند) را ایجاد خواهیم کرد. از آن جا که بسیاری اصطلاحات در نتیجه تعصب شرکتهای بزرگ و سلیقه مولفان مختلف دچار ابهام شده اند، روش کار ما در این زمینه بیشتر عملی خواهد بود تا آکادمیک. هر اصطلاح در متداول ترین حالت با یک توضیح ساده معرفی شده است.
2-1 اصطلاحات فنی
یک کامپیوتر توسط دو ویژگی کلیدی تعریف میشود:
(1) داشتن قابلیت برنامه ریزی برای کار کردن روی داده بدون مداخله انسان و
(2) توانایی ذخیره و بازار یابی داده. عموماً یکی سیستم کامپیوتری شامل ابزارهای جانبی برای ارتباط با انسانها به علاوه ی برنامههایی برای پردازش داده نیز میباشد. تجهیزات کامپیوتر سخت افزار، و برنامههای آن نرم افزار نام دارند. در آغاز اجازه بدهید کار خود را با سخت افزار کامپیوتر و با بررسی شکل 2-1 آغاز میکنیم.
شکل 1-1: نمودار بلوکی یک سیستم میکروکامپیوتری
نبود جزئیات در شکل عمدی است و باعث شده تاشکل نشان دهنده ی کامپیوترهایی در تمامی اندازهها باشد. همان طور که نشان داده شده است، یک سیستم کامپیوتری شامل یک واحد پردازش مرکزی (cpu) است که از طریق گذرگاه آدرس 2، گذرگاه داده 3 و گذرگاه کنترل 4 به حافظه قابل دستیابی تصادفی 5 (RAM) و حافظه فقط خواندنی6 (RAM) متصل میباشد. مدارهای واسطه7 گذرگاههای سیستم را به وسایل جانبی متصل میکنند. حال اجازه بدهید تا هر یک از اینها را بطور مفصل بررسی کنیم.
3-1 واحد پردازش مرکزی
CPU، به عنوان «مغز» سیستم کامپیوتری، تمامی فعالیتهای سیستم را اداره کرده و همه ی عملیات روی داده را انجام میدهد. اندیشه ی اسرار آمیز بودن CPU در اغلب موارد نادرست است، زیرا این تراشه فقط مجموعه ای از مدارهای منطقی است که بطور مداوم دو عمل را انجام میدهند: واکنش 8 دستورالعملها و اجرای آنها. CPU توانایی درک و اجرای دستورالعمل ها، را بر اساس مجموعه ای از کدهای دودویی دارد که هر یک از این کدها نشان دهنده ی یک عمل ساده است. این دستورالعملها معمولاً حسابی (جمع، تفریق، ضرب و تقسیم) منطقی (AND، OR، NOT و غیره)، انتقال داده یا عملیات انشعاب هستند و یا مجموعه ای از کدهای دودویی با نام مجموعه ی دستورالعملها نشان داده
می شوند.
شکل 1-2 یک تصویر بی نهایت ساده شده از داخل یک CPU است. این شکل مجموعه ای از ثبات را برای ذخیره سازی موقت اطلاعات، یک واحد عملیات حسابی و منطقی2 (ALU) برای انجام عملیات روی این اطلاعات، یک واحد کنترل و رمزگشایی دستورالعمل 3 (که عملیاتی را که باید انجام شود تعیین میکند و اعمال لازم را برای انجام آنها شروع مینماید). و دو ثبات اضافی را نشان میدهد.
ثبات دستورالعمل(IR) کد دودویی هر دستورالعمل را در حال اجرا نگه میدارد و شمارنده برنامه (PC) آدرس حافظه دستورالعمل بعدی را که باید اجرا شود نشان میدهد.
واکشی یک دستورالعمل از RAM سیستم یکی از اساسی ترین اعمالی است که توسط CPU انجام میشود و شامل این مراحل است: (الف) محتویات شمارنده ی برنامه در گذرگاه آدرس قرار میگیرد (ب) یک سیگنال کنترل READ فعال میشود (پ) داده (کد عملیاتی4 دستورالعمل) از RAM خوانده میشود و روی گذرگاه داده قرار میگیرد (ت) کد عملیاتی در ثبات داخلی دستورالعمل CPU ذخیره میشود و (ث) شمارنده ی برنامه یک واحد افزایش مییابد تا برای واکنش بعدی از حافظه آماده شود. شکل 4-1 نشان دهنده ی جریان اطلاعات برای واکشی یک دستورالعمل است.
شکل 1-3: فعالیت گذرگاه در یک سیکل واکنشی کد عملیاتی
مرحله اجرا مستلزم رمزگشایی کد عملیاتی و ایجاد سیگنالهای کنترلی برای گشودن ثباتهای درونی به داخل و خارج از ALU است. همچنین باید به ALU برای انجام عملیات مشخص شده فرمان داده شود. به علت تنوع زیاد عملیات ممکن، این توضیحات تا حدی سطحی میباشند و در یک عملیات ساده مثل «افزایش یک واحدی ثبات»1 مصداق دارند. دستورالعملهای پیچیده تر نیاز به مراحل بیشتری مثل خواندن بایت دوم و سوم به عنوان داده ی برای عملیات دارند.
یک سری از دستورالعملها که برای انجام یک وظیفه ی معنادار ترکیب شوند برنامه یا نرم افزار نامیده میشوند، و نکته واقعاً اسرار آمیز درهمین جا نهفته است. معیار اندازه برای انجام درست وظایف، بیشتر کیفیت نرم افزار است تا توانایی تحلیل CPU سپس برنامهها CPU را راه اندازی میکنند و هنگام این کار آنها گهگاه به تقلید از نقطه ضعفهای نویسندگان خود، اشتباه هم میکنند. عباراتی نظیر کامپیوتر اشتباه کرد، گمراه کننده هستند. اگر چه خرابی تجهیزات غیر قابل اجتناب است اما اشتباه در نتایج معمولاً نشانی از برنامههای ضعیف یا خطای کاربر میباشد.
4-1 حافظه نیمه رسانا: RAM و ROM
برنامهها و دادهها در حافظه ذخیره میشوند. حافظههای کامپیوتر بسیار متنوعند و اجزای همراه آنها بسیار، و تکنولوژی بطور دائم و پی در پی موانع را برطرف میکند، بگونه ای که اطلاع از جدیدترین پیشرفتها نیاز به مطالعه ی جامع و مداوم دارد. حافظههایی که بطور مستقیم توسط CPU قابل دستیابی میباشند، ICهای (مدارهای مجتمع) نیمه رسانایی هستند که RAM و ROM نامیده میشوند. دو ویژگی RAM و ROM حافظه خواندنی / و نوشتنی است در حالی که ROM حافظه ی فقط خواندنی است و دوم آن که RAM فرّار است (یعنی محتویات آن هنگام نبود ولتاژ تغذیه پاک میشود) در حالی که ROM غیر فرّار میباشد.
اغلب سیستمهای کامپیوتری یک دیسک درایو و مقدار اندکی ROM دارند که برای نگهداری روالهای نرم افزاری کوتاه که دائم مورد استفاده قرار میگیرند و عملیات ورودی/ خروجی را انجام میدهند کافی است. برنامههای کاربران و داده، روی دیسک ذخیره میگردند و برای اجرا به داخل RAM بارمی شوند. با کاهش مداوم در قیمت هر بایت RAM، سیستمهای کامپیوتری کوچک اغلب شامل میلیونها بایت RAM میباشند.
5-1 گذرگاهها: آدرس، داده و کنترل
یک گذرگاه عبارت است از مجموعه ای از سیمها که اطلاعات را با یک هدف مشترک حمل میکنند. امکان دستیابی به مدارات اطراف CPU توسط سه گذرگاه فراهم میشود: گذرگاه آدرس، گذرگاه داده و گذرگاه کنترل. برای هر عمل خواندن یا نوشتن، CPU موقعیت داده (یا دستورالعمل) را با قرار دادن یک آدرس روی گذرگاه آدرس مشخص میکند و سپس سیگنالی را روی گذرگاه کنترل فعال مینماید تا نشان دهد که عمل مورد نظر خواندن است یا نوشتن. عمل خواندن، یک بایت داده را از مکان مشخص شده در حافظه بر میدارد و روی گذرگاه داده قرار میدهد. CPU داده را میخواند و در یکی از ثباتهای داخلی خود قرار میدهد. برای عمل نوشتن CPU داده را روی گذرگاه داده میگذارد. حافظه تحت تاثیر سیگنال کنترل، عملیات را به عنوان یک سیکل نوشتن، تشخیص میدهد و داده را مکان مشخص شده ذخیره میکند.
اغلب، کامپیوترهای کوچک 16 و 20 خط آدرس دارند. با داشتن n خط آدرس که هر یک میتوانند در وضعیت بالا (1) یا پایین (0) باشند، n2 مکان قابل دستیابی است. بنابراین یک گذرگاه آدرس 16 بیتی میتواند به 65536=16 2 مکان، دسترسی داشته باشد و برای یک آدرس 20 بیتی 1048576=20 2 مکان قابل دستیابی است. علامت اختصاری K (برای کیلو) نماینده ی 1024=10 2 میباشد، بنابراین 16 بیت میتواند K 64=10 2 ×6 2 مکان را آدرس دهی کند در حالی که 20 بیت میتواند K 1024=10 2×10 2 (یاMeg1) را آدرس نماید.
گذرگاه داده اطلاعات را بین CPU و حافظه یا بین CPU و قطعات O/I منتقل میکند. تحقیقات دامنه داری که برای تعیین نوع فعالیتهایی که زمان ارزشمند اجرای دستورالعملها را در یک کامپیوتر صرف میکنند، انجام شده است نشان میدهد که کامپیوترها دو سوم وقتشان را خیلی ساده صرف جابجایی داده میکنند. از آنجا که عمده ی عملیات جابجایی بین یک ثبات CPU، RAM و ROM خارجی انجام میشود تعداد خطهای (یا پهنای) گذرگاه داده در کارکرد کلی کامپیوتر اهمیت شایانی دارد. این محدودیت پهنا، یک تنگنا به شمار میرود: ممکن است مقادیر فراوانی حافظه در سیستم وجود داشته باشد و CPU از توان محاسباتی زیادی برخوردار باشد اما دسترسی به داده – جابجایی داده بین حافظه و CPU از طریق گدرگاه داده – توسط پهنای گذرگاه داده محدود میشود.
به علت اهمیت این ویژگی، معمول است که یک پیشوند را که نشان دهنده ی اندازه این محدودیت است اضافه میکنند. عبارت کامپیوتر 16 بیتی به کامپیوتری با 16 خط در گذرگاه داده اشاره میکند. اغلب کامپیوترها در طبقه بندی 4 بیت، 8 بیت، 16 بیت یا 32 بیت قرار میگیرند و توان محاسبات کلی آنها با افزایش پهنای گذرگاه داده، افزایش مییابد.
فصل دوم
خلاصه سخت افزار
1-2 مروری بر خانواده MCS–50TM
MCS–50TM خانواده ای از میکروکنترلرهاست که توسط شرکت اینتل به بازار عرضه شده است. دیگر تولید کنندگان IC نظیر زیمنس، AMD، فوجیتسو و فیلیپس به عنوان تولید کنندگان ثانویه، ICهای این خانواده را تحت مجوز اینتل تولید میکنند. هر میکروکنترلر این خانواده از امکاناتی مناسب با یک سری طراحیهای مشخص برخوردار است.
در این فصل معماری سخت افزار خانوادهی MCS–50TM معرفی میشود. برگه اطلاعات اینتل را برای ابزارهای سطح ورودی 1 (مثل8051AH) در ضمیمه ی ث میتوان یافت. برای جزئیات بیشتر، مثل مشخصات الکتریکی این ابزارها باید به این ضمیمه مراجعه کرد.
بسیاری از مشخصات سخت افزاری با چند دستوالعمل توضیح داده شده اند. برای هر مثال شرح مختصری داده شده، اما جزئیات کامل مجموعه دستوالعملهای 8051 به فصل 3 موکول شده است. همچنین برای خلاصه دستوالعملهای 8051 به ضمیمه الف و برای تعریف هر دستور میتوانید به ضمیمه پ مراجعه کنید.
8051 یک IC نوعی و اولین عضو این خانواده است که بصورت تجاری مطرح شد. خلاصه مشخصات این IC از این قرار است:
4K بایت ROM
128 بایت RAM
چهار درگاه I/O (ورودی- خروجی) هشت بیتی دو تایمر
دو تایمر/ شمارنده2 16 بیتی
رابط سریال3
K64 بایت فضای حافظه خارجی برای کد
K64 بایت فضای حافظه خارجی برای داده
پردازندهی بولی4 (که عملیات روی بیتها را انجام میدهد)
210 مکان بیتی آدرس پذیر5
انجام عملیات ضرب و تقسیم در 4 میکروثانیه
دیگر اعضای خانواده MCS–50TM هر یک امکانات دیگری از قبیل ROM روی تراشه6، EPROM،RAM روی تراشه و یا یک تایمر سوم را دارا هستند. در ضمن هر یک از انواع ICهای این خانواده یک نسخه مشابه با CMOS کم مصرف7 نیز دارد (جدول1-2).
عبارت 8051 از روی تسامح به کل خانواده ی میکروکنترلرهای MCS–50TM اطلاق میشود. هرگاه بحث روی IC خاصی از این خانواده متمرکز شود شماره ی قطعه مورد نظر ذکر خواهد شد. مشخصاتی که در بالا به آنها اشاره شد در نمودار بلوکی شکل 1-2 نشان داده شده اند.
2-2 بررسی اجمالی پایهها
در این بخش، معماری سخت افزار8051 با نگاهی از بیرون به پایههای آن، معرفی میشود (شکل 2-2) و در ادامه شرح مختصری از عملکرد هر پایه ارائه میگردد.
همانطور که در شکل 2-2 دیده میشود 32 پایه از 40 پایه 8051 به عنوان خطوط درگاه I/O عمل میکنند. معهذا 24 خط از این خطوط دو منظوره هستند (26 خط در 8032/8052). هر یک از خطوط میتوانند به عنوان I/O یا خط کنترل و یا بخشی از گذرگاه آدرس یا گذرگاه داده به کار روند. در طراحیهایی که با کمترین مقدار حافظه و دگر قطعات خارجی انجامی میشوند، از این درگاههابه عنوان I/O همه منظوره استفاده میکنند. هر هشت خط یک درگاه میتواند به صورت یک واحد در ارتباط با وسایل موازی مانند چاپگرها و مبدلهای دیجیتال به آنالوگ بکار رود. و یا خط به تنهایی با وسایل تک بیتی مثل سوئیچ ها، LEDها، ترانزیستورها، سیم پیچ ها1، موتورها و بلندگوها ارتباط برقرار کند.
شکل 2-2: پایههای 8051
1-2-2 درگاه 0
درگاه 0، یک درگاه دو منظوره از پایهی 32 تا 39 تراشه 8051 میباشد. این درگاه در طراحیهای با کمترین اجزای ممکن به عنوان یک درگاه I/O عمومی استفاده میشود. در طراحیهای بزرگتر که از حافظه خارجی استفاده میکنند، این درگاه یک گذرگاه آدرس و داده مالتی پلکس شده میباشد.
2-2-2 درگاه 1
درگاه 1 درگاه اختصاصی I/O روی پایههای 1 تا 8 است. پایههای 0.P1 تا 7.p1 در صورت نیاز برای ارتباط با وسایل خارجی بکار میروند. وظیفه دیگری برای پایههای درگاه 1 درنظر گرفته نشده است، بنابراین آنها گهگاه برای ارتباط با وسایل خارجی بکار میروند. استثناء در ICهای 8032/8052 که از p1.0 و p1.1 به عنوان خطوط I/O و یا ورودی تایمر سوم استفاده میشود.
3-2-2 درگاه 2
درگاه 2 (پایههای 21تا 28) یک درگاه دو منظوره است که به عنوان I/O عمومی و یا بایت بالای گذرگاه آدرس در طراحی با حافظه کد خارجی به کار میرود. این درگاه همچنین د طراحیهایی که به بیش از 256 بایت از حافظه داده خارجی نیاز دارند نیز استفاده میشود.
4-2-2 درگاه 3
درگاه 3 یک درگاه دو منظوره روی پایههای 10 تا 17 میباشد. علاوه بر I/O عمومی این پایهها هر یک وظایف دیگری نیز در رابطه با امکانات خاص 8051 دارند. وظایف خاص پایههای درگاه 3 و درگاه2 در جدول 2-2 خلاصه شده است.
5-2-2 PSEN (Program Store Enable)
پایاننامه بررسی میکروپروسسور و میکروکنترلر